Saturday, 3 March 2007

What is a smartphone?

So, let's get started.

What is a "smartphone"? This is pretty important to get right in the first place.

My definition betrays my origin (as usually happens with definitions):
A smartphone is a phone that can have third party
software added by the user with native access.

Let's unpack that:

A phone

A phone is simply a device with voice communications as its primary purpose.

Third party software

Third party software creates an "ecosystem" around a device. Or, to put it another way, it transforms a device (or family of devices) into a "platform" for delivery of all types of services. Third party software is what has kept Windows (the PC/laptop version) so dominant. And MS's greatest strength is that they are well and truly aware of this.

Symbian, Palm OS, Windows Mobile, and one or two variants of Linux usually qualify for this requirement. However, most Japanese Symbian phones cannot be considered smartphones because they are locked down, and cannot accept native third party software. Most Linux phones are in the same boat.

RIM is a peculiar case because their API's and, supposedly, their own apps are coded in Java.

Added by the user

If third party software can only be added by the manufacturer or operator, it may as well not be third party software. The beauty of third party software is that it can do things that the manufacturer or operator may never even dream of doing. And these things may turn out to be things that the users never thought of, but suddenly discover they've always really wanted.

This is the key to the success of the PC.

With native access

What "native access" means, when applied to third party software, is that this add-on software runs with the same privileges and access (potentially) as the native software. In the case of Symbian, Windows Mobile, and Palm OS, for example, the native software is written in C++, and third party software can be written in C++ with access to the same API's.

There are some limits. For example, Symbian has a "Platform Security" framework, that requires special signing to allow applications to access certain API's. But this is applied to all Symbian software, including their own. Other exceptions include phone features that have private API's (such as the "magic word", or voice activation, technology on Sony Ericsson UIQ phones). However, so long as this is constrained to features on the periphery, it's unlikely to cause issues.

Why is this important?

This is important because it has a huge impact on the development of the phone. Feature phones (powerful, feature-rich phones without a native programming environment) are only able to do what their manufacturers equip them to do, or possibly do something dinky in a clumsy fashion via a Java applet. The user cannot almost transparently replace the calendar interface on their phone, for example.

This means feature phones are merely devices, not platforms. They are doomed to being constrained to their manufactured purpose, or at best, thin clients to the mobile web.

Smart phones, on the other hand, can potentially do anything.

The fact that most owners of smartphones aren't aware that their phone is a smartphone is, ultimately, irrelevant. Many people don't install software on their PC until there is suddenly a compelling reason (such as the invention of a new category of software, like a web browser, say).

Where does this leave someone like Apple, with their closed iPhone (which, by my definition, is merely a very high-end feature phone)? It leaves them hoping desperately that no-one makes a breakthrough app on other platforms, or that they can copy it in time if that does happen. Apple's used to this, though. Still, this limitation has firmly kept their products in a niche. A quite profitable niche, but a niche nonetheless.

Nokia, like MS, is not happy with being in a niche. They want to dominate. And they, at least, are giving themselves a chance to do that with their S60 smartphones.