By now, many may have heard about or read in full Steve Jobs’ “Thoughts on Flash” statement released yesterday. While much of what was written in the statement (and discussed around the Internet) was specific to Adobe and Flash, a statement by Jobs in the section entitled “Sixth, the most important reason”, can have a far broader effect on mobile device development -
“We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.”
While the context in which this is spoken is in relation to Flash, the term “cross-platform development tool” can also be aimed at cross-platform development platforms as well. Many of you may not be aware that there are development platforms oriented towards developing in one language and deploying across mobile devices. These tools are becoming extremely enticing for enterprises in two scenarios -
- A business desires to build consumer-facing applications (mobile banking, for example). In these cases, where the business has little to no control over what devices their customers are using, developing separate versions of a single application to support a variety of mobile phones can be a very costly endeavor.
- A business supports multiple mobile device platforms and wishes to deploy line of business applications. Different cause than #1, but same net effect; having to consider multiple versions of the same application or applications.
For these scenarios, a multi-platform mobile device development tool/technology can greatly reduce initial and ongoing development costs. Is Steve Jobs saying, however, that these types of tools should not make it to the iPhone and iPad? The reason I ask this question is – some already are there today.
There are several companies that currently support the iPhone as one of the mobile devices to target with their development platforms. Based on Jobs’ rationale, these types of applications have no business on the iPhone. the same risks he describes with Flash apply with these platforms as well. Do these platforms run the risk of future exclusion based upon Jobs’ stance on Flash?
I have always been a major proponent of developing in “native code” when it comes to mobile devices. The benefits are obvious, as Steve Jobs points out. However, I am also a realist. The real world of mobility consists of more than just the iPhone, contrary to some popular beliefs
From a business perspective, there are often times when you cannot choose to develop for just one platform without hurting your business. At the same time, developing natively for multiple platforms is simply not economical, be it for time or resource reasons. In such cases, the only effective solution is to have a platform that allows for one application developed, multiple platforms supported.
I can see taking the position of rigorous testing and certification for applications written for multiple platforms to ensure meeting acceptable performance and usability. Actually, I thought that was the purpose of the iPhone application submission process. Taking a rather Draconian stance on the issue, however, puts a few vendors and a lot of enterprises in quite a bind. Ironically, this may result in some companies choosing to support a lot of mobile devices… except for the iPhone (at least until such time as an iPhone version of the application can be developed and maintained apart from the “everyone else” version of the application).
Maybe I’m causing a bit of a “tempest in a teapot” here. Maybe the arguments Steve Jobs brought forth in his “letter” are really only intended for Adobe and Flash. If that is the case, though, it would be a bit of a double-standard. If Jobs is serious about third-party multi-platform development tools and the iPhone and iPad, the ramifications could be pretty large. It will be interesting to watch how this develops in the coming months.