Archive for January, 2004

Getting informed about Flash Player versions

In an ideal world, we'd all be developing for the latest Flash 7 player subversion and every one of our users would have already updated their systems with the latest plugin. As things stand, real-world projects still publish for the Flash 6 Player (even Flash 5 sometimes) and have to support users who may have one of the dozens of minor player versions that exist.

It is a common fallacy to assume that there is such a thing as the "Flash 6 Player" or "Flash 7 Player". In actuality, that's just a blanket term to refer to a family of player subversions that exist for each major version. The "minor version" (or "subversion") nomenclature is nothing more than a marketing gimmick -- an effort to make the Flash Player Penetration Statistics appear higher than they would be if they were calculated separately for each "subversion" of the player.

The major version/minor version categorization is an artificial one as each "minor version" of the Flash Player is as important as a "major version" in terms of its real affect on users. This "real affect" is that users have to download a new player to access applications that use the features found in that version of the player, regardless of whether the player happens to be labeled as a "minor" or "major" version. In an ideal world, without these marketing concerns, each minor version would get a major version number and we would be at something like Flash Player 14 by now.

One side-effect of underplaying the importance of "minor version" players has been the lack of reliable, comprehensive information on the change lists for the various player versions. Release notes exist for the major versions, and, since the community aired its concerns regarding this matter during the early Flash 6 days, subversion change lists have started to be included in the later versions of the Flash 6 Release Notes. (I actually had to a Google search to find that page as I couldn't find a link to it from the Macromedia Flash Player page.)

It is very important that we separate the marketing literature from the engineering information that we require to make informed decisions as to player choice. For example, do you know which version of the player the pixel-shifting bug was fixed? This has a big impact on the display of icons for RIAs. (Answer: 6,0,61,0).

As another example, the press release for the Macromedia 7 Player states the following:

"Macromedia Flash Player is installed across more than 97 percent of Internet-connected desktops"

This statement is not useful to us as it includes all versions of the Flash player. There is no single entity called the "Macromedia Flash Player". Instead, there more than a dozen different versions of the Flash Player, including "major" and "minor versions". A more precise statistic would be that the "Flash 6 Player" has about a 90% user penetration but that still does not give us any useful information as there are about half a dozen "minor versions" of the Flash 6 player.

What the developer community needs is hard statistics of player penetration per "minor version".

"Optimizations in Flash Player 7 double the performance for many operations, with selected areas performing up to eight times faster."

This statement is incomplete as it does not state which player version it is made in reference to. "Double the performance" of which previous Flash player? The Flash player received important optimizations in Player version 6r65: Does the Flash 7 player double the performance of Flash player 6r65? Or Flash player 6r79? Or a previous (or the first) version of the Flash 6 player?

These questions remain unanswered in the Flash 7 Player Release Notes

Although Macromedia has been doing a much better job of documenting change lists for minor versions, I believe it can do even better. For a start, it shouldn't be too much trouble to release internal change lists for earlier Flash 5 and 6 players. Going forward, I would like to see more detailed information in change lists and a single location on Macromedia.com for accessing the change lists and release notes of all released player versions.

In an effort to gather as much information as possible on the various Flash Player releases, I've stared a page on the What Is Flash Wiki on Flash Player Versions. Please feel free to add to it. Perhaps once the page has matured, Macromedia would consider updating their site with the information contained therein to create the "single location" for Flash Player information mentioned above.

The Trouble With Doubles

Thanks, Aral. It's my pleasure to help the RIA developer community.

Yes, I came across two issues. One was with the migration from MM Flash Remoting to OpenAMF. With MM Flash Remoting, some arrays of numbers were passed as Doubles, where with OpenAMF they were Integers. The second issue had to do with the version of OpenAMF.

With the Java type of numbers passed via OpenAMF, diagnosis of this issue was a little tricky. The error manifested itself as what appeared to be a Tomcat connection issue, but it became very obvious when I saw a logged ClassCastException error. The fix was trivial in this application as we only deal with what are effectively Integers, but there are some implications. I hope that OpenAMF isn't trying to intelligently type the numbers that come down the wire (unlikely, but what happens when Flash passes a double or a float?).

The other issue is with the version of OpenAMF, currently 0.9 works but any later version doesn't (in our particular application). I haven't looked into it in any detail but I'll post more about this when I have it.

Introducing Lindsay

I'm very happy to introduce our newest author on FlashAnt, Lindsay Smith. Lindsay is the lead java programmer at Telrock Communications and we have been working together with him for a little while now on Release 2 of Opal.

Our collaboration began back in November of last year when we got together to play the planning game for the second release. Based on the stories that resulted, we planned two iterations for the second release: In the first iteration, Opal would be migrated to Flash MX 2004 and optimized to achieve a further performance boost and in the second, we would be adding some nice new features. The first iteration was successfully completed before the New Year and we started work on the second iteration this week.

During the holidays, I got an email from Telrock alerting me that during continued user testing they had run into an issue related to remoting that apparently cropped up after the move from Flash Remoting to OpenAMF. Working together with Lindsay we were quickly able to narrow it down and, from what I understand, Lindsay will be sharing the details of that with you in his first post.

Welcome, Lindsay, great to have you on board! :)






Bad Behavior has blocked 0 access attempts in the last 7 days.