Many people thought we would “finally” see Flash on an iOS device with Apple’s tablet introduction, the iPad. They were sorely disappointed. It was never Apple’s intention to bring Flash to iOS for many reasons. Due to the whispers and rumormongering, Steve Jobs put everything out in the open with his Thoughts on Flash article.
Steve mentioned six reasons for the lack of Flash on iOS devices:
- Flash is proprietary software for the web. Steve believed that web software should be open and freely available. No one should have to pay to write web content. HTML5, CSS3 and JavaScript are available to everyone.
- Adobe argued that Apple couldn’t offer the full web experience because 75% of video on the web was served through Flash. Steve explained that most of the popular content was already iPad compatible with more sites converting everyday.
- The reliability, security and performance of Flash has never been good… it was the number one reasons Macs crash.
- Flash drained batteries far quicker than a H.264 encoded video wrapped with CSS and HTML5. Also, even if a video was encoded with H.264, Flash could not utilize the built-in hardware decoding for better performance and battery life.
- You can’t touch Flash. Just like mouse-over effects in JavaScript, most of the Flash content couldn’t understand touch input.
- It adds another layer of complexity (through additional software) to the user experience. Apple wanted to keep things as simple as possible for their customers.
As you can see from that list, Steve wasn’t wrong. Those are six very powerful reasons to abandon Flash. In fact, Apple worked with Adobe over the course of several years to fix the poor experience on the Mac without much improvement or commitment from either side. When Apple introduced iOS, Adobe had no chance of getting their software onto the new system. After seeing a few preliminary demos, Apple realized that Adobe was trying to adapt PC technology to a Post-PC era… and they couldn’t figure out a way to make it work.
After this public spat between Apple and Adobe, things seemed to get better until Apple decided to stop shipping Macs with Flash pre-installed. If you want Flash on your new Mac, you’ll have to download it yourself.
Let’s take a quick look at Steve’s arguments and see how they fit with mobile web in 2011.
- Open web software is really where innovation takes place in 2011. No reputable company is building Flash applications any more. With tools like HTML5, CSS3 and JavaScript, we’ve seen amazing web applications appear in our browsers: Facebook, iCloud, Google. All of these websites utilize cutting-edge web technologies to deliver your content everyday. Also, keep in mind that Apple is responsible for the open source WebKit framework now in use by Google Chrome, Safari, Adobe Air, etc. They obviously like open web standards.
- With the popularity of the iPad, the iPhone and the iPod touch, most people balk at a website when they can’t watch a video on their mobile device. In fact, people consider a flash-only video lazy development. That’s very different from the 2010 era of web video. Did Steve change the market? Maybe, but we think the world is better for it.
- Every tablet I’ve seen demo Flash crashed right in front of me. Flash has been the bane of my existence for a while on both PC and Mac operating systems. Most of my problems were related to performance and reliability. Looking at the security concerns, Apple would open the iOS system to all of the potential vulnerabilities produced by the Flash software.
- My battery life is already bad enough. I’m not interested in Flash making it worse.
- Web developers changed the way they approach new content now that everything is touch input. It’s not just iOS devices; most Android phones are touch-only as well. We can’t use JavaScript mouse-overs on touch devices, so we had to rethink the user experience for the web. Since most Flash software was built heavily on mouse interaction, there’s no way to port that to a touch-based platform.
- I constantly have conversations with developers who want to convert their existing apps to iOS. No developer will ever create a feature-rich experience with conversion software. By discarding Flash support, developers had to learn Cocoa and build feature-rich, native apps. Apple extended a few olive branches by letting Adobe convert Flash to native Cocoa… but it will never be as good as the real thing. Take Machinarium for example: it’s one of the most interesting, yet poorly implemented games in the App Store… because it was built with Flash and converted to iOS. Fewer layers means better software. Period.
As you can tell by the title, today is the day that Adobe finally gave up. They admitted that Steve Jobs was right in April of 2010 without saying those exact words.
However, Adobe is building an army for the next generation of web technology. They recently acquired several companies like Nitobi, Typekit, Auditude, EchoSign, Iridas Technology, PhoneGap, etc. and are building some great HTML5 tools for the modern web developer. It’s not surprising to see them say “HTML5 is the better solution.” It truly is. With so many web developers already dumping Flash because of Apple (that’s not the only reason), Adobe jumped on the HTML5 bandwagon and started developing software for the future.
One important puzzle piece that most people missed today: Adobe is still working hard on the Adobe Air software… and will continue that for quite some time. The biggest difference between Flash and Air is the way it’s packaged: Flash is a plugin while Air is a native application that uses HTML and JavaScript as its framework. Since you can export your Adobe Air application to iOS, this will surely become the platform of choice for Adobe developers.
We’re excited to see what comes with these new developments. We’re excited to see what Adobe can do when they’re not trying to reinvent a dead standard. We’re excited for the future of the web. We expect that one day, all applications will be served from the cloud through web standards we have yet to see… personal computers will just be an interface, not the whole solution. When that happens, we’ll still be here to help you with questions and fix it when it breaks. We’ll see you there.