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.

Amethyst from SapphireSteel: Develop Flex in Visual Studio, an alternative to Tofino

Not long ago I looked at an early preview of Ensemble’s Tofino, an extension to Visual Studio for developing Flex applications that target the Adobe Flash runtime. It was disappointing, though I’ve been assured that an improved build is in preparation. Ensemble had better be quick: I’ve just been informed of an alternative called Amethyst, from SapphireSteel software, creators of the Ruby Visual Studio extension Ruby in Steel. Here’s what I know so far about Amethyst:

  • ActionScript and MXML editing and project management
  • Installs into commercial editions of Visual Studio or the free Visual Studio shell
  • Initial beta of free personal edition available next week
  • Planned for the 2nd quarter of 2009: commercial Professional Edition with drag-and-drop Flex/AIR visual design environment, IntelliSense and graphical debugging tools
  • Can integrate with Ruby In Steel to create a multi-language Visual Studio solution with Flex at the front end and Rails at the back
  • Amethyst Personal will remain completely free

All sounds good; and Ruby in Steel is well-regarded so this is worth watching out for if you have any interest in developing for Flex in Visual Studio.

A high quality Visual Studio design tool for Flex would help Adobe gain adoption for Flex and AIR among Microsoft-platform developers.