This article will help you understand Shumway — Mozilla's open standards-based Flash renderer — and what it means for the community of developers currently creating the Adobe Flash platform. The project is not exactly a developer tool but it is something that content creators should test against (and report bugs or performance issues to). For even more information, please refer to the external links.
The whats and whys of Shumway
about:config (you need to find the
shumway.disabled preference and set it to
false). It is expected to be included in Firefox at some point to allow plugin-free compatibility with SWF-based games and animations. Shumway has certain limitations compared to Adobe Flash Player especially when unavoidable patents (such as those surrounding Flash DRM) get in the way. Some of its current limitations are just temporary, however.
There are a few situations where a user may use Shumway to view your content:
- Their platform does not support Adobe Flash Player.
- The user did not install Adobe Flash Player.
- The user has Adobe Flash Player disabled (or set to "click-to-enable") for performance or security reasons.
- There might be a time where users want to experience your content but Flash is no longer supported by Adobe.
Testing and what to do in case of trouble
The first step is to directly test your Flash content. The simple method is to install the Shumway extension (or run a browser version with Shumway included and enabled) and browse to your Flash content with Adobe Flash Player set "Ask to Activate" or "Never Activate" in Firefox's Add-ons menu (this will be listed as "Shockwave Flash" under the Plugins tab). This will be the experience met by your users who are running that version of Shumway. Hopefully, this displays your content with acceptable quality.
The next step is to use the Inspector included as one of Shumway's examples. It can be run locally through a web server or you can use the version hosted on Mozilla's GitHub. Several methods exist to allow Inspector access to your SWF file. Once your Flash content is loaded, you can see how Shumway manages it in detail. Several buttons are available at the bottom of the screen to enable or disable various Shumway options.
Note: If your applet runs at an abnormal speed, try toggling "Turbo" at the bottom of the inspector window. You may wish to do this before opening your SWF file.
Limitations of Shumway might be encountered through testing. There are two places where Shumway bugs are tracked:
- GitHub (via Issues and Pull Requests) manages problems relating to Shumway, itself.
- Bugzilla is intended for problems with integrating Shumway into Firefox.
End-users and less involved developers may report issues by hovering over "Shumway" within Flash content, clicking "Report Problems", and filling the form.
Performance and compatibility issues with Flash content should be reported through GitHub. From the main page for Shumway at GitHub, click on "Issues" and browse the outstanding issues for similar bugs to contribute to. Click on "New Issue" to file a new entry if a duplicate is not found. Please note that source code will be requested for the Shumway developers to use as small test cases. There does not currently exist a private method to contribute source code.
You could also directly commit bug fixes as pull requests. This would be very much appreciated. If interested, do not hesitate to contact the team on #shumway at irc.mozilla.org or through the Shumway mailing list.
- Shumway main website for examples and the extension
- How to load your content into Shumway Inspector
- Shumway project on GitHub
- A more in-depth overview of the similarities between Flash and HTML5 from the Shumway developers
- Shumway developer wiki for FAQs and instructions for how to contribute
- Shumway planning on Mozilla Wiki