Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

Let there be Flash

It might sound surprising, but there are so many reasons why Adobe never had a chance on mobile platforms. But they still had to try. Let me share my insight on why Adobe entered this market and how it might still redeem itself after years of failure.

Anatoly Ropotov, Blogger

November 9, 2011

9 Min Read

 




"Adobe ceases development on mobile browser Flash"

It might sound surprising, but there are so many reasons why Adobe never had a chance on mobile platforms. But they still had to try. Let me share my insight on why Adobe entered this market and how it might still redeem itself after years of failure.

(*disclaimer* I started using Adobe Flash over 10 years ago. I'm still big proponent of a desktop web with Flash, and I'm what you might call an opponent of browser-specific HTML5 and crapware like Java. I prefer native code on mobile platforms. *disclaimer*)

One might think the whole initiative to put Macromedia Flash on mobile was devised for a single reason, to have the "mobile" box checked for investors. You can read about how it all started on Wikipedia. It all started with a wrong vibe: having a "Flash Lite"-enabled phone never actually meant anything. I guess Japan was the only market that cared about this technology. Carriers elsewhere never gave it the chance to become an App Store. For the next 6 years, Adobe tried to improve things, leading only to an increased sense of confusion among the userbase. They were left wondering, "Why does it say Flash is enabled, but there's no Flash in the browser?". The most advanced users who knew how to download SWF (Shockwave) files haven't seen a killer title. A similar story with "Flash Player" repeated itself on... Sony PSP that was able to launch standalone SWF files with poor performance.

Let’s be honest now, have you actually TRIED using Flash on Android, the first platform to fully utilize Flash inside the browser? A year ago, some of us were excited to run Farmville on Android phones, only to find out it takes an entire minute to load and the game runs at few frames per second. "Well, it's the first release, they are going to address it", some of my friends told me. My reply was a resounding no.

When iPhone came out, there was much excitement around a perfect mobile browsing experience based on Safari/WebKit. However, counter-intuitive to the expectations set on the desktop, Flash was missing. It was a bold move on behalf of Apple and it clearly made sense from the standpoint of user-experience. It is impossible to leverage Flash into an underpowered platform.

Say you visit a site with 5 Flash banners and a video set to autoplay, several instances of Flash player might spawn automatically, depending on the plugin and browser architecture. It's fine on a PC with enough power, but it is a miserable experience on low-end netbook. Now, time-travel 10 years into the past and imagine a Pentium III-833 trying to render the same site. It would be a total disaster, crawling at a few frames per second. The entire experience would be as repugnant as playing Doom on your 3DO: sure, you can do it, but all your friends would be making fun of you for it. The original iPhone, iPhone 3 and even the 3GS have processing power comparable to a P3-833. With the single-tasking of early iOS, a web-page with five instances of Flash player had no hope of performing well. And that's not the only problem. The content from each Flash player instance had to be scaled down to the confined dimensions of the browser, and scaling in flash has NEVER been a lightweight operation. So, Apple's move was justified and reasonable. The entire core user experience would've been bogged down by Flash. 

As the App Store gained steam, Adobe thought that another flavor of a "Flash Lite", AIR VM would be just right for the iOS. Apple did the right thing again by preventing a flood of crappy, slow Flash games, which would not only have undermined the importance of high-quality native content, but would also have raised questions about why the iPhone was so slow running Flash. In 2011, Adobe took another shot at improving their mobile AIR VM this summer and with a lot of pressure on Apple, the floodgates for Flash applications for iPhone were opened. Six months later, we could find very little sign of Flash-developed content in Top Grossing of App Store and Android, except for some rare exceptions of non-demanding media content. I'd be grateful to anyone who can provide a trace of high-quality content in the App Store that has been authored with Adobe, like Machinarium (iPad 2 only).

Let’s also look at it from the developer’s perspective, what's the story of Flash on Android? It's similar to that of Flash on Linux. It was easy for Adobe to say "yes" to Android, and Android benefited greatly from real Flash support. With it, they have finally gotten rid of an obscure "Flash Lite" branch that didn't make sense anyway.  I guess it must have been easy to port Flash, since there were many flavors on Linux, for a variety of architectures. However, they were always obsolete and outdated due to Adobe’s AWESOME, strict QA policy, to the effect of, "do not release early an RC to the public." This has since been changed, and posed an even bigger problem of segregation on Desktop, but that's a different story.

As a bold marketing move for the entire Android platform, stating "we are Flash enabled "created a lot of buzz and sparked a holywar between Apple and Google fans on the scale of "Windows vs Mac.” The motto worked, with a few kinks. There was confusion created by handset manufacturers promising phones to be "Flash-enabled," and some of the handsets never actually got Flash support, since vendors didn't want to provide upgrades for outdated Android 2.1. Some vendors knew that Flash support on low-end phones would be sub-par and took a firm stance, similar to Apple’s. And those users who ended up with Flash on their Android device never had anything worthwhile running on their screens to show their iOS-touting opponents, except for some banners and very light Flash games. And let's not forget about the "battery hog" issue. 

Anyway, let's skip forward to 2011. There are 600+ types of Android handsets, hundreds of millions of mid- to high-end smartphones, just few million tablets, several CPU architectures, and a variety of resolutions, screen densities and video chips, some so bad as not supporting modern versions of mobile OpenGL (GLes 2.0). 

Yet, there’s still very little content worthy of being mentioned as produced for mobile AIR. Some companies, for instance Kongregate, made a bold move in creating their own marketplaces and establishing eco-systems for Flash developers, however they didn’t grow big enough on Android to improve the situation. 

How did Adobe end up in this position? With thousands of exceptional Flash games available, Adobe ended up without their own standalone Marketplace due to... lack of content that actually works. Social and flash game developers didn’t even have access to micro-transaction support in AIR until a very late release last month, so they didn’t make the first move. Adobe didn’t attract high-quality showcase content to the mobile AIR platform either, so great developers didn’t follow. Compare that to Unity, which boasts ambitious MMO projects and has hundreds of developers on board. Adobe only started caring about high-profile titles when Angry Birds was released for Google Chrome using HTML5, showcasing a competing technology and exposing their vulnerability. In contrast to Google, Adobe doesn't market showcase products to end-users. Their mobile showcase products are overly simplistic, i.e. games with a single object on a scrolling background. Entire effort feels like it's not aligned with their brilliant Desktop strategy.

So what's coming next? Another year for Adobe AIR on mobile. One of the latest products released using new, revised technology is Age of Defenders, a nice 2D tower-defense game that features online multiplayer. This time Adobe did a lot more to make sure things work, but their efforts have still fallen short. It only works on iPad 2, since it would run too slow on the original iPad. It only works on 1280x800 Android tablets. Did I mention that there are only a few million of those in the wild? What’s worse, it requires a separate install of Adobe AIR once you have the game, so if AIR fails for some reason, it's time to ask for a refund. This brings even more uncertainty of whether AIR will work fine on lower-end Android smartphones...

If Adobe is to make a difference on mobile platforms, they will have to fix AIR for both iOS and Android yet again, and play another round of catch-up game with Unity on mobile. What's worse, frustrated developers are beginning to realize that Flash doesn’t offer anything to them on mobile. In reality, it isn’t a cross-platform game engine like Unity, it’s still a slow virtual machine for a scripting language that ended up recompiling code to speed-up itself. Dozens of social game developers aren't betting on Adobe, but develop their own native versions of mobile social games. The only hope for Adobe is high-end hardware: iPad 2, iPhone 4G and high-end Android smartphones and tablets. That's quite a small piece of market for now, but it'll keep growing. Will I bet on AIR for my next project? No, I want 100% of the devices, not just 20% - that's the premise of Flash on Desktop.

Will HTML5 overtake Flash in the meantime? This won't happen on Android due to hundreds of millions of phones with outdated WebKit, which will remain like that FOREVER. A reasonable reach for HTML5 games might be on iOS through Facebook, they are making a certain progress there, however the battle with Apple gives them hard time increasing userbase (and frankly speaking, Facebook isn't fond of promoting games for free).

There's no reason for Adobe to worry about increasing HTML5 adoption on desktop as well. It’s just as fragmented by the discordant implementations of Canvas, WebGL and Sound and endless monthly browser updates breaking things around. The only place where HTML5 games gain traction so far is Chrome WebStore, where Google is making a major push, but that's a totally different story which has it's own segregation issues that will last for years. 

I sincerely hope that Adobe will succeed in improving things with mobile AIR. Their upcoming Flash 11 showcase products are awesome. The UE3 engine, and Unity export will definitely redefine desktop Flash yet again, but this has nothing to do with their mobile venture. For that, they will need strong allies at their backs.  Will anyone deliver great content with Flash for Mobile? We might see something in the next few weeks, with the Adobe AIR App Challenge.

Read more about:

Featured Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like