I’ve been spending a lot of time looking at Android lately.  It’s the most important computing platform in the world (so far). If it’s not already the most widespread, it certainly will be in the near future

Since my employer has gotten out of the phone business (sigh…) I now feel free to comment on Android and other smartphone things without worries of running afoul of any company policies on publicly discussing competitors. So here is the first in what will hopefully be a running series of thoughts on Android and how to further improve it. First up: Android and device compatibility with the Internet of Things


It should be anything but controversial to state that Android’s greatest strength–its massive distribution across geographies, demographics and devices that vary in price and features from the very top of the market to devices that somehow sell an entire smartphone for less than some people pay for iPhone cases (in short, its diversity)—is also its Achilles heel.

The ability of Android to bring the power of personal computing to hundreds of millions and then billions of human beings who may otherwise never have experienced it is a tremendous achievement that should be celebrated. However, this creates a tension within Android: how to continue to drive the specs for low-end Android down, while continuing to drive innovation with cutting-edge hardware on the high-end? Let’s look at this through one particular angle, which happens to be the next frontier in mobile technology innovation: support for Internet of Things devices and wearables—particularly those with a direct (Bluetooth/Bluetooth LE) connection to the phone.


My own Android (the brilliant Moto X) has a problem. It has had a stormy relationship with my BTLE, “Internet of Things”-era gadgets: my Pebble smartwatch and my Fitbit. At the intersection of chipsets, drivers, OEMs, developers and OS software (rest assured, they all blame each other), the connections between my Moto X and IoT devices are woefully lacking. My Moto X was simply “unsupported” by FitBit when I first bought it, and to this day the Pebble smartwatch can only maintain the flakiest connection with my Moto X, frequently losing the connection and failing to update the weather or whatever other info my Pebble watches. This of course comes on top of the already-frustrating                    month-long delay between Pebble 2.0 support being released on iPhone and its being released on Android.

How my Pebble usually connects to my Moto X (or doesn't)

How my Pebble usually connects to my Moto X (or doesn’t)

And again, this isn’t on some off-brand, not-even-Google-Play-certified device I got from a guy in Shenzhen. This is on the Moto X, a flagship Android device (and truly the best Android device I’ve used to date).

And it is clear that my device and I are not alone in this. Perusing Google searches and statements from developers and reviewers in the Play Store show there are countless users with various devices having connectivity issues, making the overall experience frustrating for users and a support nightmare for developers who get to enjoy what I call the “1-star Rage Review” problem in which a user whose device has compatibility issues takes it out on the developer and drags their app’s rating through the mud even though the situation is as likely to be the fault of an OEM with a glitchy BT driver.


The problem is this: Android devices at the high end suffer from lack of consistency in hardware support for next-generation Internet of Things experiences. This makes the Android experience worse for developers and worse for Android end-users—and drives both of them to the iPhone, which by comparison really does earn its “just works” reputation (no wonder given that you can count the total number of iOS devices you need to target on one hand). The ultimate tl;dr for this article comes form Tile, a very nifty Bluetooth LE tag that lets you find tagged things anywhere with your iPhone (and only your iPhone):

The tl;dr right here

That pretty much sums it up

Google, this is a problem.

Given that Internet of Things and wearables are among the next big waves in consumer technology innovation, this is something Google should proactively address.


Idea 1: don’t do anything. BTLE support will improve over time.

While strategic inaction can be a surprisingly underrated plan in some cases, I don’t think this is one of them. Yes it is true that BTLE support in Android has improved and will continue to improve and grow more widespread across the Android device spectrum. But it is still in a state of “improving” on Android right now, whereas iPhone is working right now. If you were a startup with a new idea for a connected Bluetooth gadget, which platform would you target first? No, Google must be more proactive.

Furthermore, even as the BTLE disparity slowly resolves, the next hardware innovation will begin the Cycle of Bad Support all over again (we see it now as Apple moves forward with the M7 motion-sensing co-processor and full API library to support it while support for similar functionality in Android devices is again a piecemeal effort at best between Qualcomm, Google, and OEMs).

Idea 2: mandate better support from OEM as a condition of Google Play certification.

Google could update the Google Play minimum devices specs to include more robust support for BTLE and other advanced sensors. They could restrict the number of “acceptable” chipsets and rigorously test them to ensure compatibility reaches “it just works” levels. Or they could welcome any chips but require them to pass a vastly more stringent suite of testing requirements.

This would backfire because it would either drive device prices up and/or drive OEM partners away.

Saying that all Android phones must have flagship-level support for IoT connectivity puts an unreasonable burden on the makers of low-end Androids, who will pass those costs on to end-users. The phones will cost more. If they cost more, fewer will be purchased. That’s bad for everyone.

What is even worse for Google is that forcing these changes on all OEMs could simply drive many of them to use a non-Google fork of Android that doesn’t come with Google’s expensive requirements in order to continue making phones at lower and lower prices

And all this for what gain? Yes the problem for people purchasing Moto Xs, HTC Ones and Galaxy phones would be solved, but for the rest of the world, “better connectivity to my smartwatch and Fitbit” is not really a pressing concern. Google needs a solution that improves the experience for the high-end phone+IoT ecosystem without impeding the growth of the low-end, phone-only ecosystem.

Idea 3: The Good Idea

Well you knew I was setting you up for this, didn’t you? I suggest Google go for a more pareto-optimal approach. For high-end devices targeting wealthy consumers in developed markets, offer OEMs a supplemental certification program. It could be a narrower band of BTLE chipsets supported, it could be more rigorous testing requirements for any chips, or some other means of ensuring a more reliable and easier to target developer platform.

I’ve even got a name to show Google Play certification of Internet of Things devices: Google PlayThings

Hey, it works

Hey, it works

People like me who are interested in a high-end Android phone and an Internet of Things that goes along with it can buy a PlayThings certified Android. The billions of people on earth who need smartphones to be as cheap as possible can still get a great Google-connected device

The “1-star Rage Review” problem could also be ameliorated. Imagine if only users who had a PlayThings certified phone could leave reviews on the product. Developers and other potential users could get useful reviews instead of being drowned in a sea of 1-star “IT DOESN’T WORK” rageviews. Better, more useful reviews means happier developers. It also means more users, which in turn means even happier developers who will bring more great new experiences to Android.

Moreover, PlayThings as a standard should evolve as the technological frontier moves forward. For example, PlayThings 2014 may focus on BTLE while PlayThings 2015 could add focus on a consistency in motion coprocessors.

While Android can never replicate Apple’s simplicity of compatibility (“works with iPhone 4S, 5, 5S”) being able to say “works with PlayThings 2014 devices” is an improvement on the current practice of maintaining lengthy lists of compatible and incompatible devices from dozens of OEMs.


Of course, any change in a product/program should be accompanied by an analysis to see if it opens up any new marketing opportunities, and a PlayThings program would open up new marketing opportunities for both consumers and developers. Google could start promoting PlayThings-certified phones, IoT things, and supporting apps in its Play Store.

Consumers will benefit from having a visible and trusted place to buy new pieces of hardware to augment their Android experience. With such a showcase, consumers would purchase more new connected devices than they would otherwise, which of course also benefits the 3rd party developers making them and going through the effort to support Android and not just iOS.

Why not use this valuable real estate to promote an ecosystem cool Android-compatible gadgets?

Why not use this valuable real estate to promote an ecosystem cool Android-compatible gadgets?

So there we have it. I think this solution addresses a real platform problem of Android in a practical way that:

  • doesn’t hurt Android’s ability to scale down to the next billion users
  • improves the experience for high-end users
  • also creates a new marketing and merchandising opportunity to make targeting Android more lucrative for today’s most cutting-edge hardware developers.

Google I/O is coming up soon. Let’s see what they have up their sleeves…


Where Apple’s iPhone Pricing Strategy (and the iPhone) Falls Apart

With the latest change to the iPhone lineup, Apple’s current iPhone segmentation strategy has come into focus:

The 2011 iPhone lineup

Rather than design a new phone specifically target the middle and lower segment, Apple simply keeps manufacturing and supporting previous years’ iPhones, which can be made at a lower cost as Apple squeezes down their component and assembly costs over time. To wit, Apple now sells the 2010-vintage iPhone 4 and the 2009-vintage 3GS alongside its brand new iPhone 4S.

There are many advantages to this strategy. Apple saves itself from the considerable engineering cost and effort of designing dozens of phones (and issuing specific software updates for them), and greatly simplifies its logistics with a smaller number of SKUs (Samsung has an astonishing 136 phones currently for sale, and that’s just in the United States).

If price were the only factor in making a phone suitable for the proverbial “next billion” or “bottom of the pyramid,” or whatever you want to call the vast majority of people who don’t live in the developed world, Apple’s strategy would be fantastically clever. Unfortunately, reality intervenes: Apple’s iPhones simply aren’t developing-world-friendly.

This isn’t mere conjecture; I spent 2 years working in India. The heat, humidity, dirt and dust, shocks and jostles, and the occasional monsoon make quick work of iPhones, whether you have them in a case or not. Of my class of half a dozen recruits, 3 of us arrived in India with iPhones, and all 3 of us had them break somewhere along the way. When my 3G bought the farm, I replaced it with a 3GS, which still managed to have its headphone jack fail, its dock connector warp, and its volume rocker mysteriously fall off in my remaining months in India–to say nothing of the white plastic housing that developed cracks and began to separate from the phone’s front. And even before it broke, my iPhone’s speaker was simply too small to really be heard in India’s crowded streets.

The developing world is where Apple’s iPhone pricing strategy–and the iPhone itself–falls apart.

Normally when one is looking to counter criticism of a particular Apple product or strategy, we can point to a chart of Apple’s gangbusters sales growth and profits as a rather effective counterpoint (“you may think not having flash in iOS is a dealbreaker, but evidently a hundred million iPhone customers disagree”). Alas, the naysayers have the upper hand when it comes to Apple’s strategy in India, where Apple sold a whopping 62,000 iPhones–fewer than it sold in such demographic giants as Belgium, Norway, and Israel.

The phone itself needs to be designed for the developing world with improved resistance to dust and moisture, louder speakers, and other features more appropriate to the wants and needs of the market beyond merely having the right price. Selling last year’s phone at a lower price is only addressing half the problem, which is why Apple continues to lose out to Android, Nokia, and RIM (RIM!!!) in India.

I have no doubt that Apple knows this. They are smart and forward-thinking. They know what they’re doing, and I’m sure they have a lower-cost, more durable iPhone in their labs. But I wish they would pull the trigger before India and the developing world–the hotbed of future mobile tech innovations–throw their weight behind Android and Nokia

2010s Smartphone Screens are the New 1950s Tail Fins

I don’t know who this Dustin Curtis guy is (I’m sure he returns the favor), but he’s absolutely right. The ever-larger screens on (non-Apple) smartphones are ever-less ergonomic and ever-more ridiculous.

image from Dustin Curtis

The bigger the screen, the more impossible one-handed operation becomes.

It’s another case of companies getting into an arms race over “who can make the biggest x” without any regard to why. Where have we seen this before?

If they’re going to make phones with ever-bigger screens, they should take care to design the UI to improve one-handed use, as suggested by Itai Vonshak‘s awesome Emblaze UI design:

Thumb-centric design

Itai works at Palm now, btw 🙂

H/T to my friend Jon Tzou for sending this my way


And the best tweet ever on the subject comes from Sebastiaan de With: