Peter Elst had a good post updating us on the ecosystem of Flash on Mobile. His point about Flash Lite 3 vs. Tamarin-Tracing got me thinking.
As an American, I’m uber-confused on which VM to hedge my bets on. Do I continue writing components for Flash Lite in AS2 awaiting the day when I’ll actually get a paying gig/job doing it? Or, do I bide my time for Tamarin-Tracing? Or are phones getting fast enough where they can run Flash Player 9 natively? I think the last question is irrelevant because Adobe wouldnâ€™t have spent all that effort on Tamarin-Tracing if it wasnâ€™t valid.
If you were Steve Jobs, which one would you put on the iPhone?
Remember, Flash Lite is MADE for phones. The runtime has been tweaked amazingly so to run on VERY low powered, VERY low RAM devices. The fact that animations and even pretty hefty AS2 actually works amazes me at the talents Adobe employs. The device integration through FSCommand2 is staggering in things you can do that regular browser based Flash Player cannot. There is a lot of incentives here for manufacturers. There is a cost, yes, and its starting to make Adobe more and more money from those licensing costs.
Flash Lite, however, is not the web. Its primary purpose is allow people in Japan to create Flash Portals (aka Flash websites) on phones. Some phones have entire GUI’s built in Flash. There other countries, I just use Japan as the panacea example. So, to rephrase more accurately, Flash Lite is not the “American” web. Yes, with Flash Lite 3, it should support YouTube and Albinoblacksheep but not Buzzword.
Furthermore, while there is still a lot of money left in the Flash market if you keep Flash Designers happy with pimp new features in Flash and Flash Player, Adobe’s drive right now is focused squarely on Flex. Namely, to get Java devs on board with the hotness. J2ME already p@wns most content on devices already. Most of the Flash Lite work I see is extremely designer / agency focused. Those doing actual development are rare, and also have a rarer skillset. Not only can they “optimize AS1/AS2” but they really understand mobile development.
Developing for mobile devices is a completely different work flow for creating desktop apps or browser based apps. There are so many things that are different that coding skills alone will not ensure you are successful.
Now, while it’d be great to get Flash Player 9 on the devices so we can “move forward”, is the developer base ready? Flash Designers have had it damn good. Anyone who remembers Flash 4 development can actually make a living today just fine doing Flash Lite work. They have a really neat set of tools provided by Adobe, by commercial institutions around the world supporting the Flash Lite ecosystem, and the open source community. Most importantly, they have “the mindset” for mobile. I’m sure if you could somehow empower J2ME developers with this set of tools, then MAYBE you’d start getting inroads at least with the developers. That’s insanely hard though… like at LEAST 2 release cycles of Flex and yet more resources Adobe would need to put on the case.
So, while all of us Flex Developers are chomping at the bit to get our Flex apps on phones, its not as simple as getting Flash Player 9 running on it. The tools are not there yet, there is no comparable component set that I’ve seen that’s written in AS3 and is meant for devices both in architecture and visual design. I read more about UX guys doing web work, fewer still doing desktop work. I bet you if I started reading more international blogs, that’d be different.
This doesn’t deny the fact that Skyfire looks really damn pimp if it works as advertised. Regardless, just because it can run 1 or 2 Flex apps decently on one phone doesn’t mean the app itself will behave the same on all phones. When I was testing Flash Lite 2.1 AS2 components over a year ago all over the world on various devices, the results were staggeringly different on different phones. We’re talking seconds apart, not milliseconds. Would AS3 really change that? No clue.
The only performance improvements I have to worry about nowadays are, “IE is pimp, Firefox is slow, and Safari hates my animations…”.
Granted, Flash Player 9 is free AND the mobile version of the VM, Tamarin-Tracing, is open source. So, there are additional incentives here for manufacturers not having to pay Adobe licensing fee’s. At least as of my reading. I’m sure there is a clause in the SWF legal docs stating that if you do a embedded implementation like phones do, you have to license it. :: shrugs ::
Bottom line, it doesn’t matter. I fully believe that even if Flash Player 9 worked on the iPhone, or ANY phone for that matter IN America tomorrow, Flex would still be slow to go on phones. We don’t have the tools and we don’t have the components. On the plus side, most UX dudes I know would get mobile pretty damn quick. The nail in the coffin is the distrubtion market. Buying apps… hell, buying ANYTHING on phones currently, at least the 3 I remember owning, is painful. Really painful. I fail to see how ad based revenue models would work on such a small screen real-estate so service based ones would have to be the only valid way to run a profitable endeavor unless A ) it was a marketing funded game or app for a brand or B ) it is R&D for tax purposes.
Flash? No problem. Flash Player 9 still supports Flash 4 and Flash 8… so a lot of existing Flash Lite content could be ported by the existing distribution networks and other custom created content by agencies would be quick to follow. This assumes that the Flash Player 9 implementation supports all the FSCommands that Flash Lite supports.
If I were Steve Jobs, I’d use Flash Lite 3. While I’d personally rather use Flash Player 9, Flash Lite is here for a long while, specifically in America where Opertors refuse to lower their walled gardens.