Developers Perspective: Strengths/Weaknesses of Mobile Platforms

In my last post, commenter David pointed out that Symbian OS controls the biggest slice of the smartphone pie but I never talk about that platform.

One hard won lesson over the years is that the platform with the biggest market share isn’t necessarily the best platform for development. And that’s why I rarely talk about Symbian. It’s not that I have some European bias or that I don’t want to develop for overseas markets, it’s that no one knows they have a Symbian device! And if the customer doesn’t know it then the developers can’t sell to them.

So I thought I’d do a little SWOT Analysis from a developers perspective on why each platform has and does not have merit. I’m going to focus this post on the S (strengths) and W (weaknesses) portion. I’ve written many times on various platforms O (opportunities) and T (threats). In alphabetical order:

Android

Strengths:

  • Growing rapidly, lots of buzz
  • Multiple hardware partners (potentially more devices)
  • Deep-pocketed backer (Google) who sees this as strategic
  • Attracting name-brand developers
  • NDK supports C engine
  • On all carriers

Weaknesses:

  • Poor app store experience (hear say)
  • Customers aren’t buying tons of software yet
  • Development environment is Java (this is great if you are a Java developer but most of the mobile world is focused around C)

BlackBerry

Strengths:

  • Strong growth, second largest smartphone OS sold
  • Entrenched in enterprise
  • On all carriers worldwide

Weaknesses:

  • Poor app store experience/not installed on all devices
  • Biggest sales to enterprise and consumers. Enterprise has devices locked down, consumers don’t buy software
  • Development environment is Java (this is great if you are a Java developer but most of the mobile world is focused around C)
  • Fundamentally two different operating systems between touch and non-touch devices

iPhone OS

Strengths:

  • Strong growth, not lacking for buzz
  • Controlled infrastucture means incredible user experience (easy to buy apps and install, syncs seamlessly with desktop, etc.)
  • Attracting name-brand developers
  • Development in C (or off-shoot anyway that supports ANSII C/C++)
  • Customers buying tons of software

Weaknesses:

  • Lengthy release cycles
  • Apps are really cheap and expectations are set
  • On only one carrier per country
  • App Store as only purchase location means limited means to market, apps easily lost in the noise

Symbian

Strengths:

  • On more smartphones than any other operating system
  • Development in C
  • Multiple sales locations
  • On all carriers worldwide
  • Has leading hardware vendor (Nokia) backing it

Weaknesses:

  • Most users don’t know they have a Symbian device
  • Multiple versions of the OS makes development costlier

webOS

Strengths:

  • Development in standard web technologies with (rumor has it) the best mobile development environment
  • Moving to Verizon and AT&T this year
  • Very few developers

Weaknesses:

  • Minuscule market share
  • Very US centric at this point
  • Does the perception that Palm won’t survive turn into reality?
  • Very few name brand developers

Windows Mobile

  • Uh… hmmm…

The bottom line, to me, is that platforms like Windows Mobile and Symbian are hard on developers. There just isn’t the momentum, recognition to make that work. Android and iPhone are clearly outpacing everyone else at this point and generating the buzz. The platforms keep improving and changing. BlackBerry is border line. While it has lots of die-hard users, the app store experience is poor (mostly because it’s not pre-installed) and the customers aren’t buying en masse.

In my mind, webOS is a wild card. If the goal is to maximize revenue in 2010 and 2011, I’d look very closely at it. I think device sales are going to triple or quadruple with AT&T and Verizon on board. With all the buzz on iPhone and Android, and all that buzz attracting developers, a smaller pool might mean less competitors and higher prices, which in turn could translate to higher revenues.

Let’s be honest, though. We are talking about the potential to build small businesses. If you’re goal is to support a family, right on! This SWOT analysis is for you. If your goal is to build an Angel or VC fund-able business, focus on a more global approach that incorporates the web and how mobile is an extension. After 13 years, I just don’t see a big business for third-party developers writing only for the mobile device.

Of Android, iPhone and Mobile Development

The launch of Google’s Nexus One phone is great news for mobile developers. Now that Android can show the kind of functional and market presence as the iPhone, the market for mobile applications is quickly coalescing around these two platforms and they will likely dominate mobile computing for the vast majority of consumers and prosumers.*

First I want to comment that when I talk about mobile computing I’m not just talking about smartphones. I’m actually talking about the rise of an array of mobile computing machines that includes smartphones but also includes other notebook-sized devices traditionally called tablets. (It’s only a matter of time before we start replacing spiral bound notebooks with some sort of computing device. Microsoft is expected to show one today at CES, Apple has an announcement coming up in late January, and don’t let anyone fool you into believing that we won’t see Android/ChromeOS-powered notepads real soon.)

The beauty is that, in order to support all of these devices, developers will have to be an expert in only a couple of development languages and device-specific APIs. And with the market forming around two platforms we will start to see real innovation around third-party development tools that allow us to write once, use everywhere as these tools can be honed for a small group of devices and screen sizes.

Will 2010 be the year of mobile computing? I think so. I think this is the year where standardized form factors become the norm, where a couple of platforms take control and become the thought and market leaders in the space, and where consumers start to adopt these devices en masse.

* This is not a comment about enterprise devices, where BlackBerry and Windows Mobile are still dominant. I still believe RIM can catch up in prosumer but they have a lot of work to do. I also think that we naturally expect touch and this is something that RIM just doesn’t do well yet. The fact that RIM is primarily a non-touchscreen device company also makes it hard for developers. We build expertise in an interaction model and that model, with iPhone and Android leading the way, is touch screens.

Mobile Site v. App: A Project Manager’s Guide

Attention software developers and project managers: please use your brain when developing mobile applications.

I know writing apps for iPhone is all the rage, but why would you write an app if you didn’t need to? Do you realize that it takes speciality skills and specialty knowledge? Aren’t you aware that you write it once and run it on one platform? Oh… and you have to pay to put it in the store and deal with review processes and the like! Why would you subject yourself to that? Don’t you read what other developers are saying?

I’m talking to you, IMDb.com. I’m talking to you, Weather Channel. And I’m sure if I spent 20 minutes perusing the apps in the iPhone App Store I could find another three dozen examples.

There’s this great thing called the Internet. It basically works the same on every platform, under the hood, and can be seamlessly customized for each device with a ton of code re-use. It’s beautiful! In fact, we’d all be writing web apps if we could get away with it.

So I’ve put together a little guide for you here when planning your mobile app. A few questions to help you decide:

  1. Is your app useful without pulling information off the web?
  2. Does your app contain capabilities that are required when you have no Internet connection?
  3. Does your app require special hardware to function well?
  4. Does your app work best only on a single platform?
  5. Does your app require special graphics or other capabilities to work well?
  6. Do you need your app to respond to device orientation changes?

If the answer to all of these is YES, then by all means write a native app. But if your answer is NO to the majority of them then for goodness sake focus on writing a mobile web site instead. In fact, spend some time thinking about the required product before hand. Lop off any features you don’t need first then ask yourself these questions.

And in this last point, I’m particularly talking to you, IMDb.com. You write an app and don’t even have a mobile web site! What’s wrong with you people?

The Real Apple-Developer Goal

Maybe this is Steve Jobs master plan. It seems like the company from Cupertino rarely does anything that isn’t thought out to the nth degree. So why would the App Store be an exception?

The pain is real. Developers are annoyed at Apple, annoyed at the review process, annoyed at the App Store’s winner-take-all approach. The average developer has only made about $8500, after all, barely even worth the time and effort.

At the introduction of the iPhone three years ago, I vaguely remember Steve Jobs saying over my dead body when it came to native apps, saying web apps can be just as good. Eight months later and Apple introduced a development kit.

So maybe this is part of the plan. We’ll allow native apps, Apple decided, and that will allow the developers to write apps. After all, native is really good for certain applications. But when it started getting out of control, we’d just let things stay that way. The reality is developers will go to the money and as long as Apple is killing it in volume, the developers will keep writing.

Apple still talks web development, keeps improving web apps, keeps advancing the capabilities, speed and power of mobile Safari. And now the conversation has started, a swing away from native and a conversation about web.

So Apple will bide it’s time, improving its platform, knowing that more developers will find web development preferential. After all, not all applications are better for being native. The problem of reviews will resolve itself.

And maybe that was the plan all along.

Open Mouth, Insert Foot

In the course of a single week, two behemoths of mobile technology have opened their mouths and inserted their foot. Last week Ray Ozzie, Microsoft’s chief software architect, spoke to a group of developers at Microsoft’s Professional Developers Conference. Among his comments:

It [smartphone application development] is a completely different situation from the PC market, where software’s built to run on a Windows or a Mac. Mobile apps require very little development, so it’s much easier to bring them onto every platform. [emphasis added, source]

Phil Schiller, Apple’s Senior Vice-President for Worldwide Product Marketing, tried to play one-upmanship in an interview with BusinessWeek. In his interview, Schiller claims that:

Developers are generally glad to have this safety net because usually Apple’s review process finds problems they actually want to fix.

While both Microsoft and Apple can have their opinions about mobile applications, it’s not recommended to disparage their developer communities. In Microsoft’s case, belittling the community that they need to help them succeed — in fact, the community that helped make Microsoft highly successful to begin with — doesn’t do much to endear the developer community to Microsoft’s fading Windows Mobile platform.

In Apple’s case, burying their heads in the sand about the problems — treating this situation as a PR opportunity instead of transparently laying out concrete plans for fixing it — doesn’t help the developer community feel better about it’s Apple relationship. Developers do care about the review process — most developers have at least one rejection story even if they don’t make it public and each is annoyed at the multi-week delay in getting their apps to market. There is a growing perception in the community that Apple is transforming into the Big Brother it parodied in its famous 1984 commercial. While it’s not true, at some point perception becomes reality.

The reality is neither platform — Windows Mobile or iPhone — will succeed or fail based on these problems. In Microsoft’s case, they have much larger issues with markets and manufacturers as they have been eclipsed in the enterprise by RIM BlackBerry smartphones, in the consumer market by iPhone, and by device manufacturers dropping Windows Mobile in favor of Android.

And Apple, for all the problems with the app review process, has bigger issues involving carrier relationships and enterprise compatibility. Even developers, who hate the review process and are threatening mass exodus, wouldn’t be complaining as vehemently if their apps were making them living wages.

In the end, none of these comments will have a huge impact on Microsoft’s or Apple’s mobile businesses. But it wouldn’t hurt if both extended olive branches to their developer community rather than smacking them with it.