The Future of Flash
An anonymous reader writes "Adobe is celebrating the 10th anniversary of Flash, and News.com has an article looking at the company's plans for the future of the technology. No longer just a choice for 'innovative' web designers, Adobe is positioning Flash as an application development platform, with special emphasis on video delivery and mobile device applications." From the article: "On Tuesday, the company intends to launch a microsite showing the evolution of Flash over the past 10 years, including video interviews with developers. Those videos will no doubt be played with the Flash Video Player, something many high-profile Web sites, including YouTube, have chosen to use as well. The success of Flash in the next 10 years rides largely on whether leading-edge customers like YouTube will design their Web sites with Flash, Lynch said. Adobe, which gained the Flash technology when it bought Macromedia, is trying to build an 'ecosystem' of developers and partners, he said. "
... "just say no".
Well, since I am on Linux and a 64 bit variant, I guess it will be another 10 years when I get to see the presentation.
[RIAA] says its concern is artists. That's true, in just the sense that a cattle rancher is concerned about its cattle.
a-aaaaa! He'll save every one of us!
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
In the past I've always classified flash as a cute toy that web designers play with to get some interactivity that consisted of timelines and hiding little snippets of code in obscure places in the timeline.
However over the past month I've been imersing myself in the Flash world and have been amazed.
Did you know...
- You don't have to use the Flash IDE to create applications, you can use:
Eclipse (My preferred environment for this)
FlashDevelop
Notepad/Emacs/vi + a compiler
A crapton of other environments
Flex Builder (another adobe product)
- You never have to deal with a timeline if you don't want to.
- Real object-orientated programming is possible.
- Actionscript 3 (available in Flash Player 9) is clearly targetted at developers and not designers and removes many of the oddities of AS2 that you may have heard about.
- Real applications, not web toys can be created.
- With the upcomming apollo runtime, native applications can be created with full access to all machine resources.
- There's a ton of open source libraries out there
Want an IoC container like Spring? Sure!
Want a port of the java swing library? Sure!
- The new version of Flex Builder (the environment targetted at developers) is simply an eclipse plugin.
- Adobe is now making tools and libraries available free of charge to developers. (not the whiz-bang IDE's, but compilers, libraries, etc.)
I've been doing Flash/AS professionally since the 5.0 days. The plattform has come a long way. For one, it actually has become a plattform, and not just some crappy IDE with a little scripting bolted on. Allthough not percieved as such, it's even closer to open source right now than Java. AS 2&3, MTASC, osflash.org and the GNU Gnash project continue to add OSS credibility and non-slashdot-bullshitting awareness in the developer community. I didn't like the hickup in the release line of the official Linux Flash Player though. If Flash won't reliably support Linux, it's a no-go for me and quite a few other serious Flash developers. The dev-laps of Macromedia where a nice place to get that straight to the devteam of flash and they got the message.
All in all it's clear that if Adope doesn't screw around to much they can't do much wrong. It's still the most widespread plattform ever with nearly zero-fuss cross plattform deployment via the web. You get a high profile independant VM, with a security model and security policy that remains unmatched in RIAs. And a rock-solid ECMA compliant OOP language along with it.
Ajax just isn't in that league. Nice for the one or other drag-and-drop gadget or small-scale data sync but that's about it.
XUL maybe will get there someday, if they get their stuff sorted out and manage to build a hassle-free XUL-Runner plugin for all major browsers. But I don't see that happening anytime soon.
We suffer more in our imagination than in reality. - Seneca
As an application development platform? Sure, why not. As a web application development platform? No chance.
The fundamental problem with Flash is the same as it ever was. You have a presentation format that wraps up presentation, scripting and content into one binary bundle that couples everything together so tightly it's impossible to decompose. You might as well stick a Powerpoint presentation on the web. Virtually all of Flash's other problems that people complain about are merely symptoms of this one underlying design flaw.
With a normal web application, you can do all kinds of things with the various pieces. On a slow connection? Turn off the graphics. Indexing content? Just parse the HTML. Security worries? Switch off scripting. Hate the design? Use a user stylesheet. Missing a feature? Add it with Greasemonkey. Concerned with a particular part of the web application? Link directly to it.
Flash either makes these things impossible or way more difficult than they should be because everything is tightly coupled instead of loosely coupled the way all the other web technologies are. By itself, this single factor limits interoperability, which is the whole basis for the WWW's strength. Sure, you might be able to produce a fancy interface, but you're doing it at the expense of cutting off ties to the rest of the web's technologies. It's Flash's fundamental design flaw that Adobe/Macromedia don't seem to understand or care about fixing.
Ajax, on the other hand, works with all the other WWW technologies. It doesn't invent its own way of representing content, it uses HTML. It doesn't have its own layout system, it uses CSS. Its constituent components already all exist, and, more importantly, lots of other software is built to manipulate them.
For example, if I have my browser set up to automatically make tables sortable, this works with tables in an Ajax application because Ajax applications would just use a normal, standard HTML table. The same thing hasn't got a chance of working in Flash because it doesn't build on top of existing technologies, it throws them all away and does its own thing.
Flash isn't a way of creating web applications. It's a way of creating traditional applications and making them appear in a browser window. If that's what you want, then fine, go ahead and do that. But don't pretend they are web applications, because they've thrown away everything that makes the web so powerful and replaced it with something else.
Bogtha Bogtha Bogtha
Flash should be used where one needs to use Flash, and HTML/JS/CSS (+XML+XSLT) likewise.
Flash behaves consistently cross-browser, cross/platform -- and most features cannot be disabled by the user. (compare that to a user being able to turn off JS, or Java -- something often mandated in a corporate environment.) It's either "all on" or "all off." (w/ a few minor exceptions, eg: local storage and camera/mic access.)
Flash has a large install base. It's arguably the most widely available platform for delivering media-rich "applications" over the web.
Flash does not rely on anywhere near the number of kludges and workarounds necessary to replicate similar features -- where possible -- in different browsers and browser *versions.* (Unlike various browser technologies, supported features are more stable across updates of the Flash Player.)
Not to sound like I work for MM/Adobe, but, here's what the Flash Player can do at *run time*: