| « Flash/Flex Builder <-> Flash Professional Asset Workflows | OpenGL, DirectX and Devices » |
"The World is Moving to HTML 5" and Other Flights of Fancy
Flash, General, AJAX, 3D, DHTML, Development Add commentsDisclaimer: This post is not about defending Flash. I couldn’t care less whether Flash sees another year, nor do I care what language I type into my computer as long as it does the job better than anything else. I would rather just the one option, but more on that later.
“The World is moving to HTML 5″
This poignant, yet immediately dated and tautological quote is supposedly from Steve Jobs, as reported by Wired. The article speaks of HTML 5 being used to create sophisticated web pages, and I wholeheartedly agree. If you are building web pages, HTML and JavaScript are almost always the right technologies to use, but we went beyond solely building web pages many years ago. Web pages are not the only type of internet destination, even though the ever vocal standardistas seem to think that’s what everyone wants. I say get your head out of the sand, it’s nice out.
Types of Web Content
We can break down web content into four main categories:
Pages
Pages were once the only type of content to be found in a web browser, primarily there for information display with very little user interaction, they are designed to provide the desired content as fast as possible, as such they tend to use text as the primary method of communication, they work very well with search engines, and they date just as fast as anything else (Microsoft’s first web presence).
Dynamic Pages
We have in this category the semi-interactive stuff that AJAX has found a home with, adding dynamism to an otherwise static page, and it does this stuff very well indeed. In short, it’s all very direct and to the point, it works outstandingly well. If you had to wait for an intro to play before you found out the price of the avocado you want to buy from your online supermarket you’d go elsewhere.
Experience and Brands
Then again, if you’re a 14 year old boy who loves watching Top Gear and you’re being delivered a loud, visceral and engaging experience for a super-car brand, this is the 21st century equivalent of that Ferrari F40 poster on your wall, that aspirational experience now even more compelling; one day you’ll drive that car. It may be interesting to some people to scroll through a highly efficient search engine friendly static page to see this kind of thing, but it’s really very boring for most people. There is a world of purely enjoyable content out there; don’t paint it grey. If you’re trying to build a brand, you have to tell a story.
Applications and Games
This is really a big part of what the web is today. Web-deployed applications and games have proven their worth. Open to wide audiences across multiple platforms, secure, immediately updateable, cheap to develop, and getting ever more sophisticated. If you look at these examples all done in Flash, I’d ask you what else you’d use that ticks all those boxes:
- Aviary - everything from bitmap and vector editors, texture generator to an audio editor, truly incredible.
- Hobnox audio tool - emulates in real time, hardware instruments for creating electronic music.
- Big and Small - Content for kids, it has to be fun and interactive to compete with TV.
- Google Street View - The reality is, the transitions and interaction that make it so impressive, require Flash, and we know Google are pretty much the best in the business at AJAX.
I wouldn’t underestimate the shift to web-based applications, IMHO nearly all applications will be web-based in the next 5 years; applications that include office suites, image and video editors, casual and hardcore games, music production software, and of course the most ubiquitous, social networking and media sharing. All of these are equally deserving of being available to users of a web browser, all of these requiring the most cutting edge technology available in order to stand out from the crowd and avoid being locked into the glacial flow of web standards progression.
Plugins
Plugins drive things forward by letting non-techies bolt on new functionality. Director, Flash, Unity all did or still do their part. Zoom forward 5 years and let us visit a perfect world where all the major browser vendors, including the behemoth Microsoft, have agreed on the various parts of “HTML 5″. Miraculously IE supports the same Canvas abilities and video codecs as the iPhone, Android and Nokia browsers, Mozilla (Firefox) has conceded to paying h264 royalty fees, sites with video content have conceded to paying h264 broadcast fees, everything is gonna be allllright. The issue now is that things are looking a bit dated, the browser can now natively do what Flash applications were doing 5 years ago. This is a never ending game of cat and mouse, no-one can argue one is better than the other when nothing is standing still.
And so what now? What about new technologies, where’s the now ubiquitous multitouch we’re used to seeing since Flash 10.1, since iPhone and Android devices dominated the markets. Maybe that’s in the HTML 6 spec, maybe just in Firefox, how many more years after we start using it does it become standard. Along with multi-touch there will be many more features missing, we will still need plugins. Flash has added a myriad new features that game programmers and web developers are using to create a whole new level of experience that has obliterated the console and desktop software markets. HTML 5 is starting to look a lot like HTML 4 used to. Long in the tooth.
HTML 5
If we come back to today, I think it’s important to clear up just what this HTML 5 really means. It’s more than a spec, in general the term is used to refer to the many sub-technologies involved, including new HTML markup, the Canvas tag for 2D (and possibly in future 3D) static and dynamically scripted graphics, fast JavaScript VM’s like Tamarin (donated by Adobe), a video tag for playing back a choice of video files, and possibly WebGL which aims to bring OpenGL 3D graphics to the web on par with Unity3D perhaps. I need to make it clear that I really want this to happen, no matter how open to feedback Adobe are, no matter how open the SWF format is, it does not sit well with me that one vendor controls what will and will not go in to the runtime, and it’s still a plugin, no matter how easy and fast it installs, something doesn’t quite feel right about it.
But I live in the real world, it’s mainly this technology that I’ve used to pay my way since I was 16, and that doesn’t show any signs of slowing. I am 100% willing to use HTML 5 if it suits the job. I’m not sitting around either, trust me. No flash developers are tied in to using it. But there are too many things stopping me from switching. Let’s take the hot topic of the day, the <video> tag; it doesn’t even replace what you could do with Flash 8 or 9 let alone some of the cool things you can do *right now* (no waiting)…
Video
Flash is not video. The Flash Player was installed on over 90% of internet connected computers before YouTube, when Flash video was limited to the early Sorenson Spark codec, optimised for small files that performed really badly at anything larger than 320x240, and 8 years ago when performance was so bad with Flash video we were using postage stamp sized video, but it was the immediacy of the playback that made it successful over more powerful plugins like Quicktime, WMV or Real Player. Either way, Flash video clearly changed the web, no more picking a plugin, picking your bandwidth, looking at truly ugly system chrome, so let’s look at what we need to see from HTML 5 video for it to displace Flash as the most efficient, cost effective and flexible solution:
- DRM - Boo, evil. Whatever your personal view on DRM, broadcast corporations want it.
- True multi-bitrate streaming - Efficient live feeds across the globe that alters bitrate to suit current bandwidth, multicast (Flash Player 10 also supports a P2P UDP to take pressure off the server, or provide much faster messaging in games).
- Internet Explorer - The truth of the matter is that it has to work with IE. If you’re using Flash as a fallback, as suggested by ALL current HTML 5 video player supporters, why are you making more work for yourself? For a simple video player fine, but a lot of video is increasingly interactive. YouTube for example overlay recommendations, annotations, detected music, and even live commenting, you really want to do this twice?
If >this< is the cream of the crop right now, and it doesn’t even work in Firefox or Internet Explorer (percentages?), what is there to shout about?
Yeah but Flash eats 100% of my CPU
In a sentence: so do the most basic HTML 5 experiments (link).
An empty SWF consumes ~0% of my CPU, funnily enough the same amount as an empty web page. When something eats 100% of the CPU, it’s because is is doing something computationally expensive, possibly animating high quality 32-bit images whilst applying real time bitmap effects so that you can see just how that logo will look on this crumpled T-Shirt before you send it off to be printed. The CPU usage is not automatically higher with Flash, it’s down to the design and programmer to figure out what they want to achieve, and optimise it to whatever they find acceptable for their intended audience. JavaScript can and does use 100% CPU in some of the best apps out there, we just don’t see many apps that are up to the level of the Flash apps linked to earlier in this post. Video acceleration is a fair point until you consider video is also a display object in the Flash Player that can have these filters, transformations and so on applied in real time, that comes at a cost, however with Flash Player 10.1 hardware acceleration is starting to come into play, a truly impressive feat for such a small cross platform runtime.
If we kill Flash, we kill annoying banner ads
It’s also the case that displacing Flash will not get rid of annoying banner ads, agencies will just use <canvas> and <video>, don’t kid yourself, it’ll be those same Flash developers making it, they would simply re-tool and utilise their existing experience to produce infuriating ads in whatever makes the biggest impact. The internet is only less annoying with things like FlashBlock because only a tiny drop in the ocean of internet users use Flash block so they scoot under the radar. They are excluding themselves from the mainstream for this small benefit and more power to you for doing that, it’s up to you.
Browser integration
This is a major sorepoint for me as my primary job has been developing ever more complex Flash applications that are deployed on the web and on the desktop (indeed to replace existing desktop apps). You can communicate in real time between JavaScript and Flash, passing simple and complex data types between them, but it’s still a black box on the page. This is a really tough nut to crack, if you spend just 10 minutes asking yourself how you could get a native desktop application that you’ve embedded in a page to play well with the HTML around it, you’ll see why it simply doesn’t make sense, we shouldn’t try to shoe-horn these things.
The Semantic Web and Accessibility
Another gotcha. I can absolutely agree these things are so very important, depending on the content. What on earth is the point of making accessible a site where the entire aim is to build a burger out of people dressed up as beef, buns and lettuce, running and jumping on one another in a video montage. You may think the site should not exist anyway, but who are we to dictate what kind of content can be put online. Some idiots love this stuff and clearly so did Burger King! What about a game like Dofus? Semantics and accessibility don’t apply to everything. You can build Flash sites to be accessible, you can build them on top of a CMS like Drupal to make sure you get the best of both worlds. In summary, use the right tool for the job.
Mobile
This one is very important to me. Hand on heart, devices that we now consider mobile: phones and tablets; these are going to be how 90% of people use computers, period. There’s simply no need for bulky laptops and desktops for non-professionals. Wireless TV connections let you get that big screen experience when you need it, but the redundancy in devices will be huge. This became clear in my own circle of entirely non-geek friends already, almost exclusively using mobile devices for everything, and this at the very beginning of the full-on shift to web-apps.
It became quite clear to me in 2007 (link) that Flash was never going to do well on mobile until it was the same runtime as the one we were using on the web, especially when it was licensed per handset. Funnily enough I called that convergent version “Flash X", and it turns out “X", by pure coincident, was right, in a roman numerals kinda way. Flash 10.1 has been optimised to run on lower powered CPUs like ARM chips found in iPhones and Android devices.
Hating Adobe
The animosity directed at Adobe is unusual. They simply invest in whatever proves popular in order to generate revenue, and they’ve had a lot of popular HTML/JS editing tools, even demoing Canvas support in the next Dreamweaver IDE. When Director started to die, occasionally being used for the odd online 3D game, and Flash took off, they invested time and money into creating what they like to call the Flash Platform. A range of commercial and open source tools, open-spec file formats for rich media, binary data transfer and a video container, a runtime, and a few free and commercial serverside offerings. They are not forcing anyone to use this stuff, if we stop using it they will move on like they have in the past, investing in whatever it is people do want to code in. In my opinion, Adobe will be the second big player, after Apple, to fully embrace HTML 5 in their software, with Microsoft lagging behind a very long way.
Conclusion
To everyone shouting support for HTML 5 as the flash killer, if that were really possible don’t you think Flash developers would already be doing it? We are a thriving community positively chomping at the bit to try out new stuff, I’m presenting on Android at a Flash user group shortly, we don’t hang around. We weren’t born knowing ActionScript 1, 2 or 3 and we have to live in the real world, we may even be right next to you
Indeed many Flash developers are also HTML/JS developers and may practice a serverside language in smaller companies. It just leads to frustration when we hear “use HTML 5″ when it is not supported even across desktop browsers. What version of IE should we be targeting before we can start building the rich compelling experiences we’re used to.
The world will move to HTML X when Flash X is not needed, it is a non-argument, no amount of insane zealous preaching from within the idealist world of either side will make this happen in the real world. The market will use whatever tools provide the best solutions for the best return on investment.
I can’t wait till we get through this next transitionary period, with web designers having to spend twice the effort providing Flash fallbacks to video, companies encoding and hosting their videos twice for Firefox, licenses and royalties for h264, this will be another messy, frustrating time for web users and progress may slow, but I can’t see a way around it.
Follow me on Twitter
HTML5 seems to be a spec that will take years to become fully established, and is barely capable of competing with flash right now. If Microsoft have proved anything with silverlight, it's that being as good as flash isn't enough, you really have to stand head and shoulders above it to be noticed and taken up.
One of the original appeals of flash was browser congruency that you couldn't get with javascript and html. If that's still going to be an issue, html5 is going nowhere.
Plug-Ins don't kill CPUs. People do.
It won't work for animated games, but could do well for Flex apps.
More on this at:
http://blog.digitalneurosurgeon.com/?p=646
Take care,
Pieter Kubben, MD
@Pieter This is what I imagine they are working toward too (although I really don't know). The Dreamweaver CS5 link showing Flash animation copy and pasted as a Canvas animation certainly points to that.
::thumbs up::
Derek
What am I supposed to do till then? Oh yeah, use Flash.
The web developers who hate Flash are the ones who were never multi-talented enough or skilled enough to code in it to begin with.
I say, good luck making a cool and interactive web site with feature-limited HTML 5.
Can't get last.fm on the Web? Download the app. YouTube doesn't work? We built you an app. Want to play games? Welcome to the App Store.
This new wave in mobile browsing is changing the way we think of the Web and the Internet, thinking outside the browser, if you will. Apple's business model created a new wave of Cocoa Touch programmers and those are the guys competing with actionscript developers.
HTML 5 will be great to fix some of the common issues that require Flash right now (embedding videos, music etc.) But I don't think it's the thing developers should be worried about just yet.
@Chris, regarding Apps on the iPhone. I see what you're saying, I didn't get into the whole debate about Flash eating into Apple's app-store profits on here but suffice to say there could be truth in that. Certainly the YouTube app is good, but it's a bit of an island away from the site, and lacks many of the features Google have added to the web-based version. Added to that it's a little unfair to require small companies and individuals to build an iPhone app, along with a web app and a native app for all the other manufacturers, it certainly raises the cost of getting out there pretty high.
SVG/canvas has some potential but you rely on each browser to optimize their rendering and be consistent with the others. Without high performance you have to dumb your art assets and animation/interaction down. Lets not even talk about what html5 has to compete with papervision 3d. Maybe in a few years they will.
The unspoken key here is that flash has dev tools that make the work quick/profitable. I can just see how long a course would take to build with a stack of svg assets and javascript driving it all. I wouldn't mind adobe adding html/svg/js output from flash (w/caveats for where AS kicks the snot out of js.)
The html5 crowd is focused on video as that is popular but it is just 1 small thing flash player does-it's just a type of asset to flash.
Standards do not come up with new, they codify that which has been done on the fly and has been shown to have value. In that way they really are the guys who walk behind the horses in parades cleaning up...
*deleted pointless/abusive comment*
>firefox paying h264 licensing fees
And here's where I stopped reading, because you obviously have no connection with the real world.
@bbot.org The Firefox/h264 line has been updated to be more accurate. You can read more about it here: http://streaminglearningcenter.com/articles/h264-royalties-what-you-need-to-know.html
I agree that software moves to web. But what about that every software we have one the web has a desktop client? RSS readers, gmail clients, Twitter clients etc
@Kaan Yeah that's an interesting one, also interesting to note that all the examples you give are notifiers, something that really shows up the down-side of using a browser are things that need to get your attention in real-time (e.g. Google Wave), tabs don't provide a way to do this, they tend to hide content away, and one tab bringing down the rest is also a problem that desktop apps don't tend to suffer.
I really don't understand how apple gets or deserves such a pass on this behavior from its customers. Firefox mobile on the n900 has adopted the same stance: the flash runtime is too slow so we will not render flash content by default. The nokia microB browser which is also a gecko browser renders flash9 content just fine.
I find it extremely hypocritical that proponents of net neutrality at the protocol level are advocating discrimination in the browser.
The web will move to adopt html5 if it proves itself advantageous to do so. safari has never had very good svg support and yet steve jobs is free to call adobe lazy and everyone applauds. I don't understand this fanboish acrimony.
Applause.
We all know the answer as it stands for now. Dreamweaver'll do it someday.... someday.
laters Legggget.
I wish every people open there eyes to noticed, that flash is not only video.
And that flash was the plugIn with the widest range before the video feature came.
I often get the feeling, that the mostly flash bashing people are only developers which are annoyed from developing html with JS. But don't want to learn actionscript.
Steve Jobs aimed this guys for a big prcoup for his new iPad.
Maybe, flash is not available, while the battery is not strong enough to get 10 hours of working in real situations ;)
The funny thing is: 5 years later, I still am using that flash engine, because browsers still can't do that. I could use SVG in most browsers, with svgweb as IE fallback library, but it would be too slow. Until IE has native SVG, and all my users move to it (in another 5 years), flash remains the best solution for that product.
https://wiki.mozilla.org/Plugins:PlatformIndependentNPAPI
http://www.youtube.com/watch?v=2xV_0pTpNj0
PDF http://portal.acm.org/citation.cfm?id=1538795&coll=GUIDE&dl=GUIDE&CFID=74123120&CFTOKEN=54810732&ret=1#Fulltext
NPAPI allows for better integration between plugins, other plugins and HTML. NativeClient allows you to run desktop application code at desktop application speed, hopefully securely, and integrate with HTML and OS through NPAPI.
The only way we'll see video editors for YouTube is through things like NativeClient. The old concept of bundling lots of features to a browser or a plugin will also become obsolete, as you can download small chunks of needed functionality from websites with NativeClient. That means we won't need a video standard or even image standards.
Like it or not, Flash will only be a few steps ahead of canvas, a few steps behind WebGL, and has the same central distribution model as browsers. If HTML5 steals its core features, penetration will suffer, and every plugins' future is dependent on penetration.
If you're only building short "web poster" projects you're not tied to any platform, but most of the popular sites on the web are tied to HTML, and any serious project is tied to its platform.
That's why there are so few apps like Hobnox and Aviary. Developers are unsure of where to invest serious time in a plugin where the support is uncertain. Will Adobe burn money on the plugin when they could just switch to HTML5? Will all the features of the plugin, the language, ease of development, have equivalents in HTML5? No.
But one thing that will be in HTML5 is consistent performance, it will work on Macs, which Flash essentially doesn't because of performance, and it will work on the most popular mobile devices, also Macs.
It's not a good idea to use examples from the past to make predictions about the future. Who could have guessed that Apple would take such a stance against Flash, and that mobile devices would get so popular, and that Apple would own a huge market share of those devices?
Only with something like NativeClient would the worries about whether to code a big app in JS, AS3 or Golang, ObjectiveC be alleviated. The choice will be much clearer, write web apps the same way you would write normal apps and worry not about standards, politics, and penetrations.
Hi Detrus,
Thanks for your very interesting comments. I didn't mention NativeClient because it's strictly x86 at present, no ARM (Flash Player 10.1 is optimised for ARM), and that doesn't provide portability into the soon dominant internet device market, mobile devices. Also no IE support coming?
With regards to video editing I'm not sure we'll need native apps for most users, these apps are already coming out in Flash, through fast code via Alchemy (Adobe's C/C++ -> ActionScript super-fast optimised bytecode) and PixelBender (shaders), it's really not far off.
I agree it's a risk to invest in building tools like HobNox or Aviary if you are uncertain about the future of the platform. The way things are going with cross-compilation, LLVM and such, I'm always hopeful there's a fairly fast route for porting such things should a sudden disaster strike. If they are using things like Alchemy behind the scenes anyway, this goes in their favour. I'll look into NPAPI, thanks again for your enlightening comments I was missing both NativeClient and NPAPI from the discussion so it's appreciated.
@JulesLt I'm pretty sure that's not going to be the case given they already moved from desktop to Web for many good reasons described above. The battery problem is a serious one, we're sorely waiting on those super long life batteries they keep demoing at trade shows then the whole problem goes away.
Prime reason - I lose a whole hour of battery life using Flash - and I've benchmarked enough Canvas and CSS 3 transitions to know they are not significantly better. (Equally, right now there is an unavoidable cost to running the Flash VM on top of the operating system - a lot of that is down to the way Flash has to integrate with the browser and OS - i.e. Flash can't simply bypass and capture events directly from the hardware).
Also once these apps get reasonably complex (like Aviary) there isn't a whole lot of difference between an app deployed in the browser and kept up to date by downloading the binary from a remote server, and a program that contains it's own auto-updated (Chrome, Firefox, any Sparkle app) - the 'deployment problem' seems largely solved for consumers.
@JulesLt The issue here is that update mechanism. How many people do you hear groan about iTunes and Quicktime updates every week. Even VLC's slick update is a step I'd rather not be hassled with. This happens transparently with a web app and you don't have to write platform specific code to do it, one alternative is Adobe AIR, take your Flash or HTML web app and add desktop capabilities, a platform independent app updater, and even the ability to run native apps in AIR 2, perhaps this is the best solution for that middle ground without having to write your app in multiple languages (development costs).
The iPhone App Store also shows the appetite for downloaded apps, even though as many people point out, 90% of them could be done in HTML 4.
Another example - I showed my father-in-law Google Docs was free, so he didn't have to buy Office for his new PC. He said he'd get Office from somewhere.
I don't see online office suites replacing MS Office in 5 years either (not until businesses force them on employees to save money).
Basically - I don't see web apps replacing software users already have installed, only where they do something new.
@JulesLt This I agree with... but a new machine doesn't come with much installed at all, and the first thing anyone seems to do now is fire up a browser, get on Wifi and get going.
You can update this part of the post:
it doesn’t even replace what you could do with Flash 8 or 9 let alone some of the cool things you can do *right now* (no waiting)…
*right now* is right now :)
http://eu.wrangler.com/bluebell/
IE could support it like any other plugin, and integrate with HTML through JS. HTML5 NPAPI might allow better integration. Either way, it won't get far as a plugin, it needs to be a standard.
As far as Alchemy, "performance can be considerably faster than ActionScript 3.0 and anywhere from 2-10x slower than native C/C++ code."
NativeClient aims to have a 10% performance loss at most.
I've seen the Quake demo for Alchemy, but only the video, not a single ported game out there except Doom? Are there some integration issues that need to be worked out?
I know there are integration issues with PB Shaders and Alchemy sending data back and forth to AS3, which limits what can be done. They must have hacked things up to run those demos.
Now if Alchemy could ever deliver what NaCl can I'd be all for it, but it sounds like a fundamentally inferior approach. It seems to sacrifice a lot of speed to fit into Flash Player's security protections.
--
I think you made a very important point about using a lot of Alchemy C code behind the scenes to run a web app. You're basically writing a desktop app. Why go through the pain of integrating desktop app code with HTML/JS or AS3 UIs? Then run the risk of rewriting that UI code should plugins or browsers lose political battles and penetration?
You have to write UI code in a different language than normal code, requiring different types of developers and at the same time limiting the possibilities of the UI.
The advantages of easy coding in AS3 disappear, as you have to use C for key functionality.
Google seems to have a saner approach to this problem with it's new language http://golang.org. Potentially allows web developers to code about as fast as C in an easy, web looking language.
The thing is no matter how much better or faster other solutions are, the point is it's all for nothing if you have to do something special in one browser or one OS IMHO.
I think it was Radley Marx that said, "The problem solved by Flash video wasn’t can I show a video? Instead, Flash solved can everyone watch my video?". This resonated with me and hopefully the previous point I mentioned. There are always faster ways to do thing, e.g. native code, but the portability and consistency across PCs and later Macs was what won it.
With regards to your last point of writing Alchemy (let's say C++ code) behind the scenes being the same as writing a desktop app. This is only true of the ported games mentioned. Generally you'd only write the most hardcore routing in C++, e.g. some sort of image or audio processing algorithm. You'd then benefit from writing the other 90% of the app in a far more rapid development environment, such a Flex. I have in the past written applications using Visual C++ with MFC and previously some Delphi, Pascal and assembly, so I'm not unaware of the sort of work involved. Generally the Alchemy written libraries will replace the open source Zip classes and so on that are out there already, so your average developer will benefit without writing any C code themselves.
I checked out Golang when they announced it, seems cool. Not too different from what people are used to. I hope it gains some high profile users in the same way Ruby received attention, that would certainly help it out.
The Flash team actually has a much harder time porting to different OSs, which is why the Mac player is so different on the same hardware.
I guess the real difference is Flash, Java, JS VMs were conceived 15 years ago at this point. There were different concerns back then.
NaCl is from 2009, it is a significant advancement in computer science that has the potential to make browsers and OSs obsolete.
The Microsoft Xax team, which is working on the same concept is aware of the implications:
http://delivery.acm.org/10.1145/1540000/1538795/p16-kroeker.html?key1=1538795&key2=3147845621&coll=GUIDE&dl=GUIDE&CFID=74123120&CFTOKEN=54810732
I believe any web / mobile technology's fast pickup is mostly dependent on developer tools offered for it. Free or commercial, but they must be good.
Just an example, Macromedia Central. The product died because the development tools were not really supporting it. While AIR came when the tools were all set for it (Flex).
I think Flash is not going anywhere, Adobe just need to fix their strategy a little bit.
My 2 cents :)
// chall3ng3r //