Posted October 30, 2008 by senocular
There are a couple big ones that could require re-working existing media, namely the new user initiated actions (UIA) restriction. The UIA model is similar to that of popup blockers requiring a sort of "user permission" for invoking many actions, especially those that have a popup nature such as load/save dialogs, by requiring that a mouse button is clicked or keyboard key pressed for the action to occur. If you've become familiar with the recent clipboard attacks, this also addresses that.
Finally you have the depressing parts of a release - the things that really bring me down - the bugs. And these aren't necessarily limited to the new features (which might be expected to not be perfect at first, as with the case with any software); existing features, even those not being added on to or enhanced in the new release, can suddenly break. You see, Flash Player reuses a lot of its code paths for different features to help maintain a small file size for the plugin. Any modification to one of those code paths could potentially affect any number of features or break existing functionality. Because of the dependence of so much media out there in the world that depends on Flash Player and its backwards compatibility, it is crucial that these bugs are caught and fixed as soon as they are found, before a release gets out the door. This is especially important for a platform on which other software is being developed.
** I CANNOT STRESS ENOUGH THE IMPORTANCE OF BETAS **
You've probably heard the numbers. Flash Player is out there. And there are a LOT of sites with Flash content. Adobe cannot test everything and needs your help and participation in public betas to help identify issues so they can be fixed before release. PLEASE, once a beta comes out, test test (developers!) test!
Let me throw some additional data your way. There are currently 10 major versions of Flash Player. Each of these versions have related media versions, or SWF versions that media can be published to that requires that version of a player or higher to function. For example, if you create a Flash Player 10 SWF using Flash CS4, you need at least Flash Player 10 or higher to play that file. You also have two versions of ActionScript, or more specifically, virtual machine versions that execute different versions of ActionScript (AVM1 and AVM2). Most legacy features are supported by both VMs, though new features are primarily targeting AVM2. Then you have the different kinds of players - about 4 (and we're not even counting AIR here). You have the plugin version for Netscape-compatible browsers (Firefox, Safari, etc.), Active X for Internet Explorer, the standalone player to be run from the desktop, and what is known as the external player which is embedded in applications like authoring tools and Acrobat Reader. On top of that each browser is different. They, and the player, also behave differently among the 5 available WMODE options available for the player when embedded in an HTML page. There are also a number of different security sandboxes for each. And then you have operating systems. Flash Player supports, primarily, Windows, Mac OS, Linux, and Sun. Each of those OSes also have variations of themselves (XP, Vista, different versions of OS X, and the 17323863 Linux distributions...). Now that Flash Player has been using hardware acceleration (as of 9,0,115,0), hardware is also now a factor. And you can imagine how many different kinds of video cards and other configurations there are out there. Assuming I'm not forgetting anything, which I very well may be, multiply all those numbers together and you'll get an idea of the number of testing environments there are for Flash Player and what each feature should be fully tested against. It's very complex, and I can telly you right now, Adobe is not hitting them all.
The point I'm trying to make is, if you want Flash Player to be successful and bug-free, it needs your help to do the necessary real-world testing, especially to make sure existing content doesn't break. If you're up with testing out the new stuff, that always helps as well, but priority one is making sure a new player is not breaking the interwebs.
I've already seen a number of disturbing issues after the release of Flash Player 10 that almost brings me to tears. In fact, I'll try to point out some of the issues in later posts in an effort to help others avoid them or apply the appropriate workarounds if available.