Why it’s hard to compete with Apple in mobile app development and deployment

One OS – one device – one AppStore – easy over-the-air purchase for end users. Apple’s development and deployment model delivers results, despite mutters about lock-in and Apple helping itself to a generous slice of the revenue.

Here at Adobe MAX Europe we’ve been hearing about the future of Flash on mobile devices and even seen a demo of what many would like to be able to do: simple over-the-air download of both the Flash runtime and Flash applications. Flash is a great runtime for a mobile device. A while back I reviewed the LG Viewty phone, which has a Flash UI, and despite some imperfections it convinced me of the potential of Flash for mobile devices.

Even so, it will be difficult for Adobe to create an application platform that works as well as Apple’s AppStore. Here are some of the problems.

  • Device-specific APIs. I spoke to the folk on the Sony Ericsson stand here at MAX. If you want your Flash application to do things like talking to the GPS, or integrating with the PIM (Personal Information Manager) on the phone, then you have to write a device-specific version of your Flash application. This adds to the development effort and creates friction in the deployment process. Will Adobe wrap device functions in Flash APIs? I asked about this at the press briefing today. The answer from Senior Principal Scientist Mark Anders was yes … maybe. He mentioned that API bloat became a negative for Java. It really is a difficult thing to get right.
  • Operator interference. Apple has bullied the operators it works with into doing things its way, and gets away with it because the device is so desirable. The operators though are reluctant to be no more than data carriers. They lock down devices, run their own application stores or music services, and make it difficult to mount a convincing challenge to Apple’s single store.
  • Diversity of devices. Diversity is good, sure. It’s tough for developers though. Maybe there’s a keyboard, maybe there is a touch screen, maybe there is a joypad, maybe the screen is big or small. Your app has to work well in every scenario, or else limit the number of devices it supports. Much easier with Apple, just one device to target. That will change somewhat as Apple bring out new iPhone variants, but there will always be more consistency from a single vendor.

It was similar factors that caused Microsoft to abandon its third-party vendors and create Zune, in an effort to compete with the iPod. Microsoft was too late. I am sure we will see increasing use of Flash and Flash-based applications on mobile devices; but it will be hard to displace Apple’s iPhone as the foremost mobile platform for downloaded applications.

Flash in the mobile browser is another matter, of course. If Apple continues to exclude Adobe’s runtime – which I guess it does to protect its application business – then it makes a nice selling point for competitors which do support Flash.