It’s been a while since my last blog mostly because I’ve been extremely busy. I still am very busy, however a recent topic in the news has been on my mind and I really felt like I needed to write down my thoughts about it. I’m sure you’ve all heard by now about the public battle between Apple and Adobe related to Flash support on the iPhone. Feel free to go search to read the details but here is a quick summary.
It started with Apple putting certain terms in it’s Developer License Agreement that directly prohibit Flash usage in iPhone apps, although not naming Adobe’s product directly. Next, there was a huge outcry by the developer community along with a blog posting by a top Adobe developer telling Apple to “Screw off” although I guarantee that was not the word he first typed. Finally, Mr. Jobs responded by deciding to let us all know his thoughts on Flash. Adobe has since complained to the SEC and this may end up in an AntiTrust investigation. Also others have jumped on the bandwagon praising HTML5 and saying Flash is not the right way to go. Oh tsk tsk Microsoft.
Before you continue reading this posting, I do recommend you read Mr. Jobs’ thoughts on Flash first. Let me also note that I’m usually a very strong supporter of Apple decisions as my previous posts on here would show.
Ignoring the rumours that Apple is working on a Flash alternative themselves, I’d like to concentrate on the main points Mr. Jobs made and give you my thoughts. I will not follow Mr. Jobs’ order to make my point more clear.
First, I’ll comment about the Reliability, Security and Performance argument.
Here is an argument where Jobs is right on point. Flash has a pretty bad record when it comes to security, performance and reliability, especially for mobile devices. They’ve also been known to be very slow in responding to customer demands. Both are signs of a dominant leader that has become somewhat complacent. I’ll use this section to make my critique of Adobe. Adobe obtained a very large market share of dynamic web content and then ignored all innovation and R&D in that sector as they concentrated on other areas.
However, there are many other pieces of software that have similar drawbacks, so this is hardly a good enough reason to drop support for a very widely used technology. Most other organizations would have worked with the vendor to fix the issues. But again, Jobs has a very good point here.
Jobs’ most important reason for his Flash embargo was the introduction of a third party layer to the development model.
I want to address this here because I think Jobs has a good point here as well. Introducing a third party layer into your software development model makes you extremely dependent on the third party providing the layer. If that third party is slow to respond to customer needs, then you find yourself behind the times and ultimately failing.
But wait! Who is the one who will be dependent on this third party layer? Is it Apple? No! It’s the application developer! So why does Apple care in that case. One could argue that Apple wants to ensure that only the best applications are available in its AppStore and as such is insisting that developers utilizing the best design practices to development. Yes, one could make that argument until they decide to browse the AppStore and see the amount of, let me call it Crap, that you can find on there! This is obviously not the reason why Jobs mentioned this. The real reason is that it’s just an excuse. An excuse that has a lot of technical merit, which is probably why he thought it made sense to make it the most important, but still just an excuse.
Apple does not have to have a Flash dependency if they don’t want to. It would be the developer’s call! If they or their application can be successful with the current feature sets and capabilities of the Flash platform, then who is Apple to deny them from doing so.
Touch was another argument that was used against Flash.
Jobs described how Flash was designed for mouse-based usage and as such Flash is not intended for touch devices. So the argument is that developers will need to re-write their websites anyways, so why not write them using HTML5. Firstly, this argument makes the assumption that the majority of Flash website use the mouse-based paradigm Jobs is referring to. I’ve been to many that don’t use Flash in this manner so I’m not sure if that assumption is true. Secondly it assumes that re-writing your website in a new technology is the same as re-writing in Flash. Now that assumption is definitely not true.
Anyone who has ever worked in the technology field knows that re-writing software in a new technology is a lot more expensive than tweaking the software using the existing technology. Now, don’t get me wrong, as I understand that the new technology may have advantages over the existing one making the investment worthwhile, but let’s not make that assumption about HTML5 and Flash. HTML5 is a standard that encompasses a lot more than what Flash is trying to achieve, it’s not like we’re comparing Apples to Apples here.
Jobs also talked about the battery life implications of Flash.
The core of this argument is that most Flash videos are encoded in a fashion that cannot use hardware decoding and as such the software decoding kills battery life. He does note that Flash does support H.264 (for which there are hardware decoders) and then continues to say that once websites convert to H.264 as part of the HTML5 standard, that the hardware decoding can be used. Note that he glosses over the fact that if websites use H.264 encoding via Flash, they would also gain the same benefit and would not have to re-code their website. Sneaky sneaky!
The fact of the matter is, iPhone’s battery life is abismal and it has nothing to do with Flash. Most SmartPhone hardware out there, iPhone included, have terrible battery life mostly due to their poor utilization of network resources combined with high-powered hardware that is required to run the large sized applications that the platform supports. Don’t get me wrong, I think that high powered hardware and large sized applications are a good thing, it’s just that they are not managed properly. Wait until OS 4 comes out and multi-tasking is enabled.
Jobs also felt the need to touch on Adobe arguments that blocking Flash blocks the “full web”.
Adobe claims that there are over 50,000 games or entertainment titles and 75% of the video on the web require Flash. So by blocking it, Apple is blocking their mobile customers access to a large section of the web. Now, I don’t know about the specific numbers (since they do sound exaggerated to me) but I do agree that Flash usage is pretty high up there.
Jobs counters this by saying that YouTube, which is estimated to house 40% of the web’s videos, works with iPhone and there are many Apps, in the AppStore of course, that can fill the void of the other videos and all the games. I find this counter-argument hilarious! Basically, Jobs is saying that you don’t need the whole web because Apple’s got an App for that! Sure, you may have to pay for it, either using actual Dollars or by using up your disk space, but that works well for Apple. By far, my favorite counter argument.
Finally, Jobs decided to actually mention “Openness” or lack thereof of Flash.
This was actually Mr Jobs’ first argument but I thought it’s worth leaving to the end. The summary of this argument is that Flash is proprietary and the web should be open. He continues to say that he acknowledges that Apple has proprietary technology too, but that’s ok since it’s not web technology. He then boasts how Apple was very big on Webkit creation and how all the popular SmartPhones are (or will be) using it.
So I’m going to ignore the hypocritical nature of argument since not only has Apple been a strong believer of “closed” technology, they are also a strong believer of “closed” business models including their stringent and non-transparent AppStore submission process. I’ll ignore that part and focus on my real concern with this argument.
MG Siegler wrote a wonderful blog on TechCrunch titled “Facebook, The App Store, And The Sound of Inevitability”. It’s a great posting explaining the history of open systems and how the open/closed technology cycle is cyclical. The point of the posting is that it’s ok to have closed systems since they drive adoption but if those systems want to continue to survive then need to foster openness, if not become fully open. Let me know if I got that right MG!
So if you follow that train of logic, then it should really be up to the market, the consumers or the developer community to decide when a technology is too closed and/or outdated to be used. If Adobe wants Flash to continue to lead, then they need to make a move towards openness and make it fast. Clearly, it is not up to the platform vendor! This is why RIM, Microsoft and Google are all planning to (or already do) support Flash on their mobile platforms.It seems to me that Apple is trying to make a power play here by cutting out Adobe. Maybe it’s because they really are trying to push their own replacement as mentioned earlier. Maybe it’s to hide the inadequacy of it’s otherwise spotless-looking platform. Or maybe it’s for some other unknown reason. Whatever the reason is, this seems to me more like a public lynching than a move for the sake of openness!
Feel free to comment and please be gentle Apple fans. Remember that I’m a fan too.