Ubiquitous Computing is a very big passion of mine, in fact I have spent a number of sleepless nights, and many other free hours thinking about this, and the future of technology over the past half year or so. Largely inspired by watching future concept videos by Corning, Microsoft and a few others, and by examining our current technology climate, I started to develop a few thoughts.
Let me paint you a picture...
You arrive at a hotel in a big city ahead of your business meeting the next day, you have previously booked your room and the hotel has sent you your digital key. You enter the hotel and follow the signs to your room, upon arriving at your door, you place your phone to a pad on the wall and the door unlocks. After entering your room, a screen appears on your phone asking you if you would like to connect to the room, you select "yes" and another screen asks you what you would like to share with the room. You select "Calendar Events for Duration of Stay", "Alarms", "Notifications" and "TV".
After dropping off your bags, you lie down on your bed and switch on the TV, it is immediately tuned in to the last channel you were watching at home, and has your favourite channels, and recently recorded shows available from a quick menu. You decide to watch a TV program that you had set to record using your phone while travelling to the hotel.
When you decide to go to sleep, you change and switch your phone to sleep mode. After placing the phone on your bedside table the curtains close and the lights slowly dim until off.
The next morning, leading up to the time you have your alarm set for, the curtains begin to open until, at the alarm time, your preferred wake-me-up jingle plays through the bed and TV speakers.
You jump in the shower, and while in the shower you receive a message on the shower screen from the organiser of the meeting explaining that it had to be moved forward an hour. You quickly hit reply and dictate a message while rushing to finish in the shower, and after providing your 4-digit protective pin, the message is sent off.
After finishing in the shower, you check your calendar in the bathroom mirror and see how much time you have left until the updated event. It also provides details of the planned travel and the latest time you should leave.
You manage to shave or do your hair and make up, and get changed before leaving and arriving at your meeting on time.
This is a similar scenario to those portrayed in the aforementioned concept videos, except with a few more operational details. The major point of this picture is that these devices are communicating, and not at a low level at all!
They are communicating, interoperating, far beyond what is possible at the moment, and it is not the hardware, the physics that make this science-fiction story hard to foresee. Not at all, all of the hardware is already there, and inexpensive (save for maybe the waterproof capacitive shower screen, and mirror), what is not there is the software.
In today's world, this sort of vision is not possible, not unless all of the devices come from a single company, or unless you write custom software to interop everything, and provide an app for your hotel customers. And lets face it, both of those options are not ideal, especially if you want to be able to observe this level of user experience outside of the hotel, seamlessly.
Technology at the moment is a large collection of walled gardens, you have numerous companies competing to be the sole provider for different aspects of your digital and physical life. And each different field has a different collection of competing companies, all of whom can't connect with each other.
We currently have a problem that some describe as the "Basket of Remotes". Numerous gadgets and appliances, each company of which has their own ecosystem, you need an app or remote for your thermostat and smoke detector, your dishwasher, fridge, stereo system, TV or even front door lock.
Now some of you might claim that you don't care about automation, but we have the same problem with general purpose computing, just our smartphones and computers have an insane number of walled gardens! Google, Dropbox, Microsoft, Apple, Facebook and many more are competing to be your sole cloud provider for all of your data, and again none are interoperable.
The current solution
Now for the most part, companies behind all recent tech innovations, either physical or digital, release API's that allow developers to easily control said appliance, or be able to access said data. They claim then that this makes their respective platforms open, however it does not fix the walled garden problem. You can't get the API from two things, and push them together and have them instantly work together, instantly interoperable... you need glue, you need a developer to decide to make the two completely different things talk to each other first. This is not good enough for consumers!
What this has resulted in for the time being is a whole new collection of companies starting up. Companies designed to try and bring your collections of technology back together. Companies like If This Then That (IFTTT), tying your digital life together, allowing you to, for example, be able to copy a note from Evernote to Google Drive whenever you make one, or send a text to turn on your Philips Hue Light bulb. And more Appliance/Automation-Based companies like Revolv, who have brought out a "hub" that can control a number of appliances in the home.
Both of these solutions are far from Ideal. We should be able to purchase a brand new product and have it instantly integrated into our home. Or a brand new bit of software that does awesome things with time management, and let it have access to all of our calendars immediately, irrespective of whether we're using Google, Apple, or just have our calendars stored locally. We should not have to wait until a particular hub company has decided to pick up all of the pieces of technology we want to communicate with one another.
What we need is an open protocol, a platform, that allows everything I could possibly want to talk to one another, in a secure manner. Allow me to control any of my devices from any other, and have the data I want synced to the devices I want, and shared with whoever I want.
Something like this would need:
- Device identification, discovery and authentication.
- A Control layer, so we can, for example, open the curtains from our phones.
- A Data layer, with synchronisation and access control capabilities onto which schemas / specifications for particular data types can be drawn out, like calendar or alarm data.
- Sufficient security and privacy concerns addressed (access control for the data, encryption etc...).
Armed with a platform like this, we could make certain situations a reality...
- The story above.
- Going to a friends house, and instantly sharing a video you just watched by playing it on the TV.
- Hosting a party where anyone can submit song requests, anything from a Spotify link to an mp3 or flac file hosted on their phone, to something stored on the host's own music library.
- Driving a car down the road, and if there is a problem on the road up ahead, having the details relayed to your car from which the Sat-Nav can plot a new route.
- Arriving at home to find the oven pre-heated and the lights switched on to your favourite mood as you walk in.
- Have your music play throughout your house in sync, over all the different devices you have, from all the different brands, not just within the walled gardens of Sonos or Apple AirPlay.
- Anything else you can imagine...
All while your data is fully under your control, and not at the mercy of cloud providers and by extension the NSA.
What's Happening Now
After formulating all of these Ideas, and talking about it to people, a friend found a project by Qualcomm called AllJoyn (now part of a Linux Foundation Collaborative Project called the AllSeen Alliance)
AllJoyn and the AllSeen Alliance is in essence, an exact realisation of the memory dump you have just read. And companies including LG, Panasonic, and Sharp are already members! The structure and ethos of the alliance I believe is spot on, instead of just designing a spec, companies will be coming together to actually design and implement the framework, and releasing all the code open source to allow anyone to get involved! This is how I would personally run the project myself.
There are a few differences though between my ideas and the Alliance's, and I feel as though they are missing a trick. They are currently quite focussed on Home Automation (which is, don't get me wrong, a very large part of this whole idea), however, although it would seem they have the "Device Discovery" and "Control" bases covered, they mention little on user data.
Do they foresee scenarios like the one mentioned at the start of this article, where I want to be able to share a subset of my data to the hotel so that I can easily access it during my stay, where access control is managed by my phone? Where my data is synced across all of my devices at home without even having to touch any cloud providers?
If they don't, then there's some potential in their project that they are not noticing or embracing, and in my personal opinion, they definitely should be! It is the last piece of the puzzle to reaching that sci-fi technology dream! Until that point, I will be keeping a watchful eye on the project, and I would encourage you to get involved any way you can. If you're a company, become a member, if you're an individual, sign up to the forums and mailing list and contribute to the open source code, or start writing some apps that use AllJoyn.
- AllSeen Alliance
- Podcast with the Chairwoman of AllSeen Alliance (36 mins)
- Connecting Things to the Internet Does Not an Internet of Things Make
- 2014/01/19 - 4pm GMT: Added more information / opinions about AllSeen Alliance
- 2014/01/19 - 10pm GMT: Added links