I don’t understand why people are still so fond of Flash and why there is the illusion that it can become a leading technology in building rich web applications. Let me give you some advice, don’t bet on the Adobe Flash suite to become widely accepted UI practice.
There is the notion that Flash was a big catalyst in enriching the user experience of today’s web. That notion is wrong. Yes, Flash has given birth to the Web-video transformation that has helped spawn giants like Youtube. Where previous pre-2000 startups have failed miserably with Java applets and high bandwidth costs – porn is now flooding the browsers thanks to Flash. Also, Flash has completely driven out Java as a UI-enricher and will continue to do so. Only an idiot would choose to use Java for their web application frontend. With some notable exceptions like sites like ScreenToaster.com who use Java to capture the screen display.
So why won’t Flash work as a UI solution?
1. Re-inventing the UI wheel
Full flash sites are swimming against the stream of the operating system and browser. Browsers provide proven styles and interactions for countless of widely accepted UI metaphors like scrollbars, input boxes and buttons. Flash is in essence re-inventing the wheel here by duplicating that entire set and wrapping that into their sandbox. Have you ever tried using a full Flash site? Try Seesmic.com. For example the first thing you’ll notice is that you can’t use your scrollwheel to scroll down the page. In my case I cannot stroke my Macbook’s touchpad with two fingers (you know I want to).
I do think that a lot of UI innovation is needed, especially since we’ve moved to information abundant web. But right now Flash is not providing anything new, they’re just providing another toolkit.
All content is compiled into static non-human or machine readable .swf files. You need a Flash runtime to make real good sense out of the information. Ichabod is a project that is supposed to provide a workaround for this problem. In the end of the day Flash was never intended to store content, it was yes, the HyperText Markup Language (HTML) files.
3. URL’s and REST
One of the first roadblocks for full Flash sites was the fact that the browser navigation controls didn’t work. When a user had clicked on the a link called ‘products’ and wanted to go back, the back button would take him to the previous site instead of the previous path. This was later fixed by putting in a clever little hack. Now every page is marked in the browser history by putting in a HTTP anchor ’#’ statement. As for example this Seesmic URL: http://seesmic.com/#/video/7q7cStbvjk/watch. Of course, the anchor tag is intended for ‘anchoring’ to a position in page, not requesting the actual resource.
The anchor tag trick also goes against the entire nature of the web: HyperText Transfer Protocol. As defined in REST, resources on the web can be manipulated by using GET, POST, PUT and DELETE statements on certain paths. Full flash sites don’t do any of it.
4. the Flash Community
Macromedia’s Flash was made by a single company, now owned by Adobe. How can a technology like this compete against others that are debated and shaped every day by thousands of developers?
There is some open standards activity, but nothing compared to the W3C. And closed standards like RTMP are a big miss! Also, nothing is open source. Perhaps the Flex IDE? Great..
5. Micro-fication of the Web
So what will be Flash’ future place?
Flash video is here to stay, although Adobe should really consider opening up their video protocol standards to catalyse innovation. Also, recording of audio and video is something that is solely done by Flash at this point.