[Cross-posted from blog.davemdavis.net]

ButtonsDuring Build 2013, I attended a session on Ubiquitous Computing given by Bill Buxton.  This was one of the better sessions given at Build, which is saying something since there was not a single line of code shown.  I have gone back and watched that session a few times.  Recently I have been thinking about this session and how there are silos that are preventing a truly ubiquitous computing experience.

What is Ubiquitous Computing

Ubiquitous Computing is an advanced computing concept where computing is made to appear everywhere and anywhere. – Wikipedia

Mr. Buxton gives the example of the cell phone.  When you are sitting a car, what is the phone?  The car is (if you car is so equipped).  If you are having a conversation while you are driving, the conversation can be heard through the car speakers and the voice is captured through a microphone in the car.  The phone is still handling the call but the driver is not directly interacting with it. Then the driver turns off the car and can continue the conversation, without interruption, on the phone.  Here the computing device adapts to the situation and is made to appear as if it is everywhere.

Mr. Buxton also points out that the computing device does not have to be invisible for it to be ubiquitous.  I believe his point is that the device should adapt to the situation without causing major disruption.  Does it really make sense to have a touch enabled interface in a car?

You see operating system vendors trying to do that today within their ecosystems.  For example Microsoft is in the process of uniting all their operating systems into a single code base.  This has development implications but let’s look at it from an users point of view.  They are unifying the user experience across all devices from mobile, to desktops, even to their Xbox platform.  They also provide an infrastructure to deliver the user’s content to any device.  If you want to listen to you music on phone and then listen to the same song on their Xbox, they can.  Pretty soon it won’t matter what Windows device a user logs into, they will have access to their content anywhere. Again the device hasn’t disappeared, it has adapted to the situation.

The Silos

Apple has a similar ecosystem with their iCloud and Google with their Android platform.  Here is where the silos get erected. Each vendor keeps their ecosystems locked and most third party vendors don’t help.  For example if I have my music in iTunes it hard to get it out to another device. They want to lock you into their ecosystems.

Third party application developers don’t help either. They build their apps for each of the different platforms and deploy them to the various app stores.  A user with an iPhone and a Nexus 7 would have to buy the same app twice. It also makes switching between phones a costly venture.

So users are married to their platforms until death do them part.  How much innovation do you think there is going to be in the next version of the iPhone.  Sure they will make lighter, faster, and prettier but are those truly innovations. I think that they are expectation, but is it enough to keep you locked in their ecosystem. Now compare that to the Android ecosystems, fragmented, yes but they are at least innovating. A variety of Android form factors are available to better adapt to a users needs.

The point is not to bash one ecosystem vs. another.  It is to point out that these silos exist and that they may be stifling innovation. You can’t blame the different vendors.  They are in it to make money and Apple doesn’t make money from a user on a Windows device. But Microsoft does make money off of Android users, that’s a different story.

Ubiquitous Computing Utopia

Is it possible for an ubiquitous computing utopia to exist?  What does it mean to have a utopia? Do we have to put a computer in everything and then interconnect these devices? What are the security concerns? Privacy concerns? For the foreseeable future we may have to settle for pockets of utopia, especially while the silos exist.  The silos need to be removed before we can truly see utopia.

There are vendors out there that are trying to do just that.  Sonos is a good example of of one of these vendors.  They have a line of wireless hifi speakers that connect to a used home network and can seamlessly stream music from various sources.  To the users the computing device is “everywhere” in their homes.  Other devices and applications are starting to appear in market, further moves us to a ubiquitous computing utopia.

The Nest Thermostat is another example where silos are minimized.  These are programmable thermostats that learn a user’s preferences.  There is some initial configuration required but once they are set up they blend into the environment.  They have sensors to determine when you are home so that they can set the temperature to an appropriate level, saving the user money. These devices can talk to each other and can be controlled from the web, thus adapting to the user’s needs and giving the appearance of being “everywhere”.

Where Do We Go From Here

These examples are making just a small dent in the wider ecosystem.  I don’t think that there will ever be a true ubiquitous computing utopia.  Users can create one by picking a silo ecosystem and going from there. They can then choose devices and applications that further advance them to utopia.

Developers can help lead users farther down the path to utopia by ensuring that applications they make or devices they build don’t silo users.  You can still monetize your application by monetizing the content these applications deliver and making that content available on any platform.  Microsoft recently adopted this model for their Xbox Music platform. Originally Xbox Music content was only available on their devices. Now you can access this content on competing platforms.

In the end, integration and standardization, are needed to truly make computing appear everywhere and anywhere.  Device makers need to provide the platform and Application Developers need to make the software that adapts to the device/situation.   And all this needs to be seamless and require as little user intervention as possible.