Version targeting lessons from Flash

In my last post I outlined some of the problems that might arise from the proposed version targeting changes to Internet Explorer 8. My major concern was that by removing the motivation for web authors to update legacy sites, version targeting might hamper the adoption of modern web development techniques. During the week I have given some more thought to this issue, and it occurred to me that in Adobe Flash we have a fantastic real-world test case from which we might learn if version targeting is a viable strategy for a web browser.

Papervision 3D

Papervision 3D logo

If you work with Flash at all, by now you will have heard of Papervision 3D, the open source project that has turned the Flash world on its head by introducing a 3rd dimension. I had a quick play with Papervision 3D a few months ago and found it surprising easy to pick up. It is now in public beta so I decided to dust off my old project and rewrite it in Actionscript 3.

Safari 3 fixes Flash flicker bug

After a quick play with Safari 3 beta on a Mac, I am happy to report that the infamous Safari Flash “flicker” bug has been fixed. If you are a Safari user then I’m sure you have encountered this bug before - it occurs when HTML content containing hover effects appears over Flash, such as when a dropdown menu overlaps a Flash movie embedded further down the page.

Will Silverlight really kill Flash?

Silverlight logo

Silverlight is Microsoft’s new browser plugin for Rich Internet Applications, and since the unveiling of the latest alpha version it has been dubbed a “Flash killer” by many commentators. Silverlight is a Flash competitor to be sure, but a Flash killer? I think that may be overstating the case.

swfIR - a new twist for web images

You’re probably already familiar with sIFR, a technique that replaces boring HTML text with spiffy Flash text, without messing up your HTML markup. In the same vein comes swfIR, which uses Flash to perform a host of desirable modifications to images: borders, rounded corners, rotation and drop shadows.

swfIR example

Flash + Web 2.0 = yourminis

yourminis is Goowy’s foray into the ‘customizable homepage’ space, a veritable smoragasbord of RSS feeds and widgets. The service is very similar to Netvibes, but with one big difference - yourminis is a Flash application.

yourminis screenshot

Flash’s Weaknesses: Then and Now

Back in 2003 Mark Angeletti wrote an article for Sitepoint titled Flash Vs. CSS/HTML: Which Will You Choose?, in which he examined the strengths and weaknesses of Flash. Mark closed his article by suggesting that in the future Macromedia had the opportunity to fix Flash’s weaknesses, and would likely do so. I thought it would be interesting to look at how much progress has been made in the past four years, and see if those weaknesses have indeed been addressed, or if there is still work to be done.

Elastic Flash with scrollbars

In the past couple of years it has been common for Flash developers to design elastic sites, rather than sites with fixed dimensions. These elastic sites fill the browser window, and content is positioned programatically on the stage according to the size of the viewport. The trouble with this approach is that because the width and height of the embedded Flash swf are set to 100%, the browser will never display scrollbars. If the user sizes their browser window too small then content will begin to disappear off screen. Due to the lack of scrollbars, this hidden content is inaccessible to the user.

By writing a small JavaScript function that is triggered when the window is resized, we can overcome this restriction. When the window size is detected to be smaller than a minimum width/height specified by the designer, the Flash movie will stop scaling, and scrollbars will be forced to appear.

DeepLink: Flash deep linking class

The inability to bookmark ‘deep’ content has long been an accessibility criticism leveled at Flash. In fact, with a bit of Javascript and Actionscript trickery it is possible to create bookmarkable URLs that provide direct access to a Flash movie’s internal content. And with the introduction of the ExternalInterface class in Flash 8, this two way communication between Javascript and Flash just got a lot easier.

Inspired by the work of Theo Hultberg and Asual, I have developed a simple Flash class that demonstrates the implementation of deep linking in a Flash movie. While I don’t propose that my DeepLink class should be used as a substitute for Ausual’s excellent SWFAddress, it might provide a useful building block for exploring what the ExternalInterface class is capable of.

A Flash perspective on PHP releases

It strikes me as odd that the uptake of PHP5 has been so slow. The snail’s pace at which web hosts are migrating to PHP5 has been hampered not by lack of user interest, but because a few popular PHP applications (OSCommerce, for one) break under PHP5. In this respect, I suppose the web host’s hands are tied.

 

Pixel Acres is powered by WordPress