8 Mar 2016

A Diversity of Form Factors

The release of the iPad Pro has created yet another form factor for developers to optimise their apps for. It seems that there has suddenly been a profusion of form factors. It built slowly over time. Each new type of device that launched over the past few years seemed manageable by itself, but put together [1], we now have many: phones, phablets, tablets, hybrid devices like the iPad Pro or Surface, PCs, smartwatches, and now VR. And that’s not counting cars or set-top boxes like the Apple TV.

Before the iPhone, most developers had one platform to build apps for: the PC [2]. When smartphones took off, developers had to build for a very different device, with a different screen size, input mode, OS limitations, resource limitations, usage in short bursts, and so on.

Then came tablets, and three apps seemed manageable.

Then came phablets, on which apps don’t always work well if they are treated just like large phones. I used a Nexus 6 for a while, and neither the OS nor the apps were optimised for the 6-inch screen. Inbox showed too few mails at once in the inbox, but showed them at a huge size, which was a waste of space. The phone app had huge icons for favourites and frequently called people. The Settings app showed one option after another, each with a lot of width and height. And so on. Many apps were poorly optimised for the screen size. Landscape made the phone even worse. Not only were many apps and screens in the OS awkward, but they did not take advantage of the huge screen to give me more power. Which defeats the point of buying a phone phone. You end up with the inconvenient size, without apps that take advantage of it. It’s the worst of both worlds.

The solution is for app developers to optimise their apps for phablets. So now we have apps for phones, phablets, tablets and PCs — four form factors to build apps for.

Then came the iPad Pro, which is an interesting hybrid devices. Traditionally, powerful hardware was paired with powerful software, both operating system and apps. And less powerful hardware in the form of phones and tablets came with less powerful software in the form of mobile operating systems. The iPad Pro breaks that balance [3], offering powerful, laptop-class hardware with limited software — limited multitasking, no user-visible filesystem, sandboxing, no unfettered communication between apps, and so on]. What kind of apps could you have on a tablet that has more horsepower (but a limited OS) that you couldn’t have on other tablets?

Being a big tablet, touch is the primary input method, but there’s also an external keyboard. And a new input method — the Apple Pencil. If the iPad Pro succeeds, and the Pencil along with it, it will the first time that a stylus is mainstream.

Given all this, the iPad Pro seems to be a genuinely new kind of device. Developers are trying to figure out how best to build apps for this new hybrid device.

The Surface [4] is superficially similar to the iPad, but they run a full-fledged PC OS. It has full multitasking, apps can break out of the sandbox, there’s a user-visible filesystem, a wide variety of ports [5], support for external monitors, keyboards and mice, and so on. A great Surface app needs to support both touch and mouse, as opposed to the iPad Pro, which has no mouse. So, in many ways, the Surface is a different device from the iPad Pro, though both are sometimes lumped into the category of hybrid devices.

So now we have phones, phablets, tablets, iPad Pro, Surface and the PC. This is not even counting smartwatches, set-top boxes like the Apple TV that run apps, VR and cars. Compared to the utter simplicity in pre-iPhone days of building an app for just one platform, the market today is heavily fragmented [6], making it impossible for any app to have a great user experience on all the devices a user may have. But that’s exactly what users expect. If an app falls short on even one of their, users are unhappy and look for alternatives [7].

This can be a no-win situation for both users and developers. Unless you have only a phone (not a phablet) and a laptop, you’ll find that some of your data is not accessible from some of your devices. It’s frustrating to be locked out of your own data, after the cloud has promised you that it’s always available. Developers have to choose whether to ignore these users, or to support niche [8] platforms, taking time away from improving the app for the majority of their users, whether in terms of user experience, adding features, or optimising performance.

Then again, maybe some developers will aim for a wide variety of form factors and interaction models and OSs. Evernote, for example, has apps for phones, tablets, iPad Pro, PC and smartwatches. Those are just form factors. There are also different OSs: Android, iOS, OS X, Windows, the web, Apple Watch, Android Wear and Pebble. So, a developer can prioritise supporting a wide variety of devices, and trade off having the most features or the most configurability, say [9].

Another developer may aim for a richer experience on fewer devices. Which strategy is right? Both are, for different users! Just as there’s no “one size fits all” device, there’s no “one size fits all” strategy for how to handle this diversity. Let different developers try different strategies, and users can use what works for them. In other words, the market can decide.

As a user, I’m very happy to see people experimenting with a wide variety of devices. The alternative is stagnation, and nobody wants that. A year or two back, as smartphones matured and tablets stagnated, it seemed that the days of innovation with hardware are suddenly and prematurely over. But in the last year or two, we’ve had phablets, iPad Pro, Surface, smartwatches, the app-running Apple TV, and now VR.

Experimentation is critical when we don’t already know what works best. We unfortunately no longer have Steve Jobs to tell us. So, it’s possible that some of these form factors won’t work out and will die away, leaving us with fewer form factors than we have today, but maybe more than the phone + tablet + PC we had in earlier days.

Another possibility is that this is not a period of experimentation but a new normal: the future will be characterised by a cornucopia of devices optimised in umpteen ways for different uses and users. There may be myriad combinations of screen size, input method, horsepower, simple or powerful OSs, flexibility, extensibility, openness, and so on. Users will have more choice and be able to pick an option that more closely fits their needs, even if it makes things harder for developers.

We’ll see how things turn out. The future is bound to be exciting.

[1] Progress also seems to have speeded up recently. In the past one year, we’ve had the Apple Watch, iPad Pro, 12-inch Macbook, and the new Apple TV with support for third-party apps. VR is now close to a public launch. More people are now using phablets than before. And the Surface 4 has fixed some of the flaws of its predecessors. So it seems that there are suddenly, in the past year, more non-traditional form factors available in high-quality products.

[2] PC apps were mostly web apps, but that’s a technical detail for now.

[3] The 12-inch Macbook breaks the balance in a different way, by offering powerful software, both OS and apps, but a smaller screen and less CPU power than the iPad Pro. came before, and while it was a new form factor from the point of view of users, it didn’t require developers to do things completely differently. In a sense, the Macbook is the opposite of the iPad Pro — rather than a powerful tablet with a big screen, the Macbook runs powerful software on a smaller screen and with less CPU power than the iPad Pro.

I think that for me, and the majority of people, the Macbook is better than the iPad Pro.

[4] And other hybrid Windows tablets. And the Surface Book.

[5] Through a dock.

[6] I was unhappy for a long time that neither Palm Pre nor Windows Phone really succeeded. I want there to be more than two options, for greater innovation and choice. But, it turned out that I got what I wanted. And it’s better to have a variety of form factors and interaction models — smartwatches, VR, set-top boxes and iPad Pros — than a bunch of similar smartphone OSs.

[7] Developers of apps that don’t store user data have an easier job, because they can focus on a subset of platforms. Better to be great on some platforms than mediocre on all. This applies to browsers, weather apps, games, utilities, and so on. But any app that stores user data needs to work on all the devices a user has. You can’t use Dropbox on one device and OneDrive on another.

[8] Niches add up. Developers may ignore smartwatches, the Apple TV, the iPad Pro, the Surface and VR as having only 5% of the market each. But in aggregate that’s 25%, a significant fraction of the user base.

[9] Which have a price in complexity.

No comments:

Post a Comment