The Device Family Has Become The Development Platform

I grew up — meaning learned to program — in the halcyon days of Apple versus Microsoft. In those days, as developers, we spoke about developing for an operating system platform. You either wrote Microsoft/DOS software or Apple II/DOS software. You either wrote Mac OS software or Windows software. And all devices that used each of those operating systems basically worked the same. Write software for the Apple IIc and it runs flawlessly on the Apple IIe. Write software for a Dell computer with Windows XP and it runs exactly the same as the HP equivalent.

When I started Infinity Softworks (15 years ago this month!) that mentality translated to the mobile world. You wrote for Palm OS or Windows Mobile. There were multiple devices that used each operating system. Palm OS was included on devices from Palm and Sony and Garmin. Windows Mobile was on devices from Compaq and HP and Dell. We didn’t write for Sony CLIE devices; we wrote for Palm OS. We didn’t write for HP iPaq’s; we wrote for Windows Mobile.

It’s easy to continue thinking in these terms. Today, you can write for iOS or Android or Windows Phone. But I’m not convinced that that paradigm of writing for an operating system is an appropriate choice even today.

The fragmenting of Android is clearly pushing us in that direction. With the news that Samsung now controls 55% of all Android smartphone sales, does it continue to make sense to support all Android smartphones or focus specifically on Samsung smartphones? The only non-iPad worth even discussing is the Amazon Fire. Why should I write for all Android tablets if only the Fire is selling?

Even in the iOS world this has increasingly become the case. The iPad — in its interaction models and bigger screen — is clearly a different beast than writing for an iPhone or iPod touch. I think about its capabilities differently and, in many cases, even use device-specific apps that are not available for the other device.

This doesn’t mean there isn’t significant underlying code that can be “ported” from device-to-device. powerOne shares upwards of 85% of its code between the iPhone/iPod and iPad versions. But in the end the way I think about presenting on each platform is completely different and it’s conceivable in the future that we could provide features for iPad that we don’t supply for iPhone (or vice-a-versa).

As we move ahead, I think these operating system changes are going to impact all mobile development. Screen size differences will be a major driver. But so will themes and skins and device-specific customizations. I won’t write for Apple TV the same way I write for iPhone. It just doesn’t make sense.

To me, the device manufacturer and product family is starting to take precedence over operating system in my development decisions.

Friction

Friction

Justin Williams talks about the friction of using an app. Pretty well written. Here’s an excerpt:

Here’s what happens when I download a new application from any app store.

  1. I launch the app and judge how long it takes to let me see content.
  2. I look at the user interface to gauge how I will respond to it.
  3. I tap around to see what functionality is in there.
  4. I create data.
  5. I delete newly created data.
  6. I invite my friends to join if it’s one of those new social networks and I like it.

If at any point in that process I see a crash, frustrating design decisions, confusing experiences or perceive a lack of functionality, I delete the app and go on with my day. Put more succinctly, if at any point in the first use experience I experience friction, it’s game over.

There is a previous step, though, a Step 0, that is even harder for consumer-oriented applications: paying. I’ve been thinking about that step a lot lately: how do you get consumers to spend money on your app (product) and how do you create marketing with non-social-oriented games without spending a fortune?

It’s an ongoing endeavor.

Microsoft Rising

An interesting thought came to me this morning: could Microsoft be resurgent?

It seems that for the better part of the last decade Microsoft has been reeling. It started with the Clinton administration’s anti-trust efforts and the EU’s constant fines. While in the end Microsoft wasn’t broken up, these proceedings seemed to leave a deep scar on the company. Then the heart-and-soul of the company stepped out of day-to-day operations when Bill Gates focused his attention on philanthropy.

Looking at its operating system business, Windows Mobile was a piece of junk that people used only because they had to and Vista was eviscerated as a horrible operating system. Both lost mind-share and market-share to other systems. The Office suite has stagnated and Microsoft’s excellent developer software means nothing if you aren’t writing software for Microsoft systems. For twenty years Microsoft followed their noses to enterprises but suddenly the world became consumer heaven, elevating Facebook, Twitter, and Apple into the spotlight. Their online division has lost billions (with a b) during this time period while Google’s revenue went the other way.

But then came XBox 360 and slowly, it seems, the company is turning a corner. Windows Phone 7 is an interestingly designed operating system that, I think, has finally found the hardware it needed to be successful. Windows 8 also looks interesting in its early incarnations. And the Office 360 online suite, if coupled with some really good contact and calendar management that doesn’t take an IT department to manage, could turn the tide back to the company.

But the real kick here is whether Microsoft can take advantage of Google’s constant mis-steps, particularly there is a huge opportunity to market search and Bing as the product that will return results we can trust for the services we use the most. There’s an opening Microsoft. Are you going to exploit it?

Yeah! More Crap In My Google Search!

Google announced yesterday that they are going to start pushing more Google+ stuff into your search stream, “customizing” it for you specifically. It is weird that if you search on Google and I search on Google, the two searches could very well turn up a different list. And of course adding Google+ to the stream has raised the hackles, at least at Twitter.

The part that bothers me, though, is that it is just another way for Google to treat you and me as the product. Twitter, Facebook, Google, Yahoo!, even now Instagram, are all doing the same thing. At what point, as consumers, do we say the experience is important to me and I want to own it so charge me? I want to pay because I want to be the customer.