- Friday, February 12th, 2010
I used to hate Macs. A work experience with a G3, that seemed to crash every ten minutes, turned me off to anything Apple for years. Everything changed, though, when I got my first Intel based Mac in late 2008. The user interface was flawless, the UNIX shell made it a cinch to do back-end tasks, and I never had to worry about the issues that plagued that old G3. I haven’t bought a PC since (at least not without immediately wiping the hard drive with Linux) and I’m known around work as a hardcore Apple fanboy, but that might be changing really soon.
The vast majority of applications I write are for Flash (written in Flex). I love the ease of Flash development and rarely have any issues with programs I write for it. That’s why I’m particularly troubled with, what seems to be, Steve Jobs’ fevered desire to destroy the platform. If you don’t know what I’m referring to, Jobs reportedly told a group of Apple employees that Adobe, the developers of Flash, are “lazy” and that the platform is “buggy.”
I call shenanigans.
There’s a common myth about Flash circulated by developers not familiar with the platform (also known as “my platform is better than your platform” developers). They say that Flash causes most browser crashes when, in fact, it’s not Flash itself causing most of those crashes, but bad Flash coding by inexperienced developers. To put that into perspective, I’ll pose a rhetorical question. When an iPhone developer makes an app that crashes constantly or leaks so much memory that you have to restart the device, does anyone say that Apple should dump Objective C and Cocoa?
Since making the move to Flex, a while back, I haven’t gotten word of a single one of my applications ever causing a browser to crash. This is after extensive use of these applications, not only by the public, but also by a quality assurance department as well. Flash is a very stable platform when used correctly.
The iPad and Flash
Adobe has had a fully working version of Flash ready for all major mobile devices for a little while now. Other mobile operating systems, like Android and Windows Mobile, are going to use it, so why not iPhone or iPad? Steve Jobs, among others, would have you believe that it’s because the platform isn’t good enough for their devices, but that’s just a cheap cover-up. The real reason is that it would take a massive chunk out of App Store profits.
If you own an iPhone or iPod Touch then you know that the majority of apps for those devices are – and I don’t say this lightly – complete crap. The App Store is overrun with weekend projects by novice developers and rip-off products by companies re-skinning the same worthless app to get more 99-cent sales, and Apple is making a killing off of the suckers that buy them. Don’t believe me? Look at these screen caps from the App Store for latest releases in the Entertainment and Lifestyle categories, taken while I was writing this.
If Flash were allowed on these devices, almost all of those developers would opt to release their apps as “iPhone ready Flash,” raking in all the revenue from dozens of ads for enlargement pills and naked video chat, which they would surely cover the page in. If Apple allowed Flash on iPad and iPhone, App Store profits would drop by a double-digit percentage practically overnight.
Why HTML5 won’t be a Flash killer
Because of this, Apple is publicly throwing their hat in the ring for HTML5, all while completely ignoring some of the glaring problems that come with it. Mind you, HTML5 is a good advancement for the web, but it’s anything but a Flash killer, and here’s why:
1. Video codecs aren’t free. The reason that Flash works with all sorts of video codecs is because Adobe paid for them. When that responsibility is moved to the browser, problems ensue, because not every browser supports all those codecs. Mozilla has chosen Ogg, Apple is with h.264, since that’s what iTunes runs off of, and while Google is also currently with h.264, word is that they might be about to opt for a codec they just gained ownership of. This means that not all HTML5 video players will work in all HTML5 capable browsers. This is a huge headache for developers, since cross-browser is the name of the internet game.
3. Whatever HTML5 will do, Flash can already do it and then some. As time goes on, and more functionality becomes available with HTML5, Adobe will, through their normal development cycle, give Flash more and more features that HTML5 won’t be able to compete with. Two years from now, it might be that video players and simple rich internet applications are best done in HTML5, but, in order to do the latest things available, you’ll still need Flash.
4. Flash has a dedicated user base. 99% of computers in the modernized world have Flash installed. Safari and Chrome, which make up about 14% of total browser penetration, are the only browsers capable of running YouTube’s HTML5 video player. Things might change for HTML5 penetration, but not soon.
The future of my Apple fanboy status
I’m struggling to remain an Apple fanboy, with their ridiculous practices regarding Flash and closed development. The truth is, while I’m not happy with the direction their mobile division is going, I love OSX to death. I guess, as a developer, I still admire the hard working people at Apple who, behind the scenes, actually do all the heavy lifting that results in great products.
On the other hand, Steve Jobs is starting to look less like an innovator to me and more like the delusional cult leader that so many Windows fanboys characterize him as – blindly saying that technologies that don’t conform to his wishes are buggy and that their developers are lazy. I can’t help but think, at least for a while, that I won’t be drinking his special brand of Kool-Aid.
Oh, and he also reportedly trashed Google because they’re making competitive products. When the Google Tablet mockup shows multitasking and multi-touch, the Chrome OS has open development, and the device will almost assuredly run Flash, it feels to me like nothing more than sour grapes.
Follow me on Twitter, @blakecallens