As someone who has worked with Flash for many years I have witnessed the love / hate dichotomy that circumvents the web. There’s one thing that stands out to me – Flash is the most misunderstood software platform around.
So I decided to contact three of the biggest Flash Gurus around and get some answers from them. We’ll meet our three Flash masters and then look at their answers to these questions: “What do you see as Flash’s key asset(s)?”, “What do you think is Flash’s biggest weakness?”, “If you could change one thing about Flash what would it be?”, “Has Flash’s popularity peaked?” and “What will Flash look like in 3 years?”
And now our three Flash masters:
1. What do you see as Flash’s key asset(s)?
The main asset of Flash is how easy it is to go from launching the IDE, creating the content, and publishing the content to the web for others to access. As long as the user has the Flash plug-in installed, the content displays consistently with little variation across browsers, platforms, etc. If the user does not have the Flash plug-in, downloading and installing it is very straightforward.
It is this, usually hassle-free, experience that makes Flash unique when compared to a host of other development platforms. This focus on simplicity on the deployment side help it to gain a lot of trust both with regular users and designers/developers who want an easy way to create and distribute interactive content.
Certainly the nicest thing about Flash is that it allows you to create almost any kind of interactivity, starting from simple buttons and ending with complex widgets or drag & drop systems. Thanks to this, the interface can be much richer than that of a classic HTML page.
The accessibility of Flash plugin is also a strong point. Almost every user has the plugin nowadays, and if he does not, the process of downloading it and installing in the browser is seamless.
That it can be used by designers for simple things like animation, up to hard core programmers for enterprise applications. When I talk about Flash, it’s more about the whole Flash platform, which includes the Flash IDE (Flash CS3) and Flex Builder, which is used to program Flash applications, as well as the Flash player, which is used to view Flash content on the web, and the Apollo (soon to be renamed) runtime, which will be used to execute specially built Flash applications on the desktop.
2. What do you think is Flash’s biggest weakness?
Macromedia (and now Adobe) spent and continue to spend a great deal of effort trying to make the lives of designers easier. With each subsequent release, the integration between Flash and other applications such as Fireworks, Photoshop, etc. sees marked improvements. Beyond integration with other designer applications, features centering round drawing become much better also.
Despite the improvements made for designers, I feel that Flash could offer a lot more for developers. The introduction of ActionScript 3 is great, but the tools for writing and debugging the code are very rudimentary. Even with Flash CS3, the code editor provides very limited functionality for developers who are accustomed to features found in other popular IDEs.
It is slow, especially when one uses new features like blur/shadows etc. Also the way that Flash deals with text is one of its major weaknesses – the support for HTML/CSS should be better, and especially there should be a way to deal with links, more advanced CSS features and complex formatting.
The poor integration between the Flash IDE and Flex Builder. More on this below…
3. If you could change one thing about Flash what would it be?
The one thing I would change is how the components are loaded in Flash. Right now, using components greatly increases the file size of an animation. A blank Flash SWF file is around 40 bytes, and adding, for example, a simple Button component inflates the file size to 15kb. Creating your own simple button from scratch with Up, Over, and Down states takes up less than 300 bytes. The Button component isn’t alone, for you experience similar file size increases when using the other components also.
Part of the reason is that large parts of these components are defined and stored within the SWF itself. My solution to this problem would be to store the component parts in the Flash Player instead with the SWF, storing only the component parts the user modifies. With this change, adding components will no longer increase the SWF file size as rapidly as it does now.
While the SWF size will decrease, this solution will increase the Flash Player’s file size. In the end, I think the benefit of having smaller SWF files sizes when using components offsets the gain in file size found in the one-time download of the Flash Player.
Lots of small stuff Maybe one of the interesting changes would be to make the snap-to-pixel option as default in all cases. It is an old solution from the vector animation times that an object can be placed on a position that is a tenth of a pixel. Because of this it is very hard to create a page in Flash that does not have elements with blurry edges. Of course ultimately it is up to the designer & developer to create pixel perfect pages, but the IDE should help them to achieve this, not be an obstacle.
More integration between the tools used to create Flash content. If you look at MS’s Visual Studio and Expression Suite, they are built with integration in mind from the ground up. With Adobe, integration seems like an afterthought. There are extensions and special work flows required to make the two work together, rather than just working. You can extend this to integration with other Adobe tools, such as PhotoShop. It’s great that you now can import a PSD into Flash, but compare that to Expression Suite, where you can create an illustration in one program, and simply open it up in another program and add some code to it, and then open it up in another program and publish it to the web.
4. Has Flash’s popularity peaked?
No, I do not think the popularity of Flash for end-users has peaked. A few years ago, nobody outside of a few individuals would have guessed how extensively Flash would be used to deliver videos on the web. As you are reading this right now, I am sure somebody out there is working on something else (maybe using Flex or Apollo) that will push Flash in a new direction.
I believe this increased competition gets a lot of developers familiar with non-ActionScript languages to target the web. This is not a zero-sum game, so while the percentage of RIA projects using Flash might decrease, the quantity of developers who target Flash will continue to increase at the same rate as it has since Flash was first introduced. To look at it another way, Flashers in the future will have a smaller piece of a much, Much, MUCH larger RIA-flavored pie.
It certainly peaked in the advertising sector – all banners and campaign/product pages are executed in Flash, and by the use of advanced video features, animation and interactivity, those productions are miles ahead of anything that could be done in HTML.
But in the area of the Internet where functionality and content counts more then effects and cool animations, Flash is still not the preferred choice. Video players in Google Video, YouTube and all other sites of this type are done in Flash and this is the first really massive usage of Flash technology in the net so far. There is still a lot of things that can be achieved.
Flash designers and developers need to learn a good deal about functionality before Flash will be able to become a tool for creating portals and other massive-content sites. Many companies now choose classic HTML based solutions because they feel safe about them.
No, the whole area of RIAs is just starting to take off. At this point, its popularity has gone beyond the community’s potential to deliver. There simply aren’t enough Flash/Flex developers out there to handle the work. I’m not sure if this will hurt Flash in the long run, making clients turn to other technologies, or will attract more developers to the platform, fostering its growth and popularity.
5. What will Flash look like in 3 years?
In three years, I think Flash will feature hardware graphics acceleration. Right now, even the lowest-end computers feature graphics cards capable of breezing through fairly complex visuals, but Flash’s lack of hardware acceleration leaves such functionality beyond the reach of developers.
Ideally, Flash will combine some of the best elements of the Shockwave Player. The Shockwave Player features hardware acceleration by default with support for DirectX and OpenGL, and the Xtras extensibility model allowed developers to provide more functionality to users on an as-needed basis.
With ActionScript 3, Flash will have a 100% OOP programming language and will thus become an application building platform for the net, with serious programming involved.
On the other side, more video features are coming, and more bitmap animation tools too, because that is what the advertising industry expects. Flash will be closely integrated with Photoshop. Vector animation, the thing that made Flash’s first success a few years ago, is now becoming obsolete and will probably not be developed anymore.
It is very probable that 3D graphic support will be introduced into the Flash player.
I see the Flash IDE getting more and more expressive features, and Flex Builder becoming more and more a professional development tool. I see the Flash player gaining more speed and sophisticated rendering techniques, hardware acceleration, etc. Also, I didn’t mention video at all, but this is obviously a huge field, and one which Microsoft is taking major aim at with Silverlight.