Articles

How Qualcomm and the AllSeen Alliance are Changing the World of Technology, TODAY!

February 11th, 2014 by Posted in AllSeen Alliance, Articles, Technology

This post is a follow up to an article I wrote less than a month ago called The Future of Tech: Interoperability, and AllJoyn Doesn’t Realise Its Potential.

tl;dr

A brief summary of my previous article:

  • Our ‘technology future’ has a current major hurdle hindering its growth. The scene at the moment is a collection of incompatible walled-gardens, isolated ‘cloud’ ecosystems preventing our many devices / applications interoperating with one another. (eg: Google, Facebook and Apple’s incompatible platforms, media systems like Sonos and Apple’s AirPlay etc…)
  • ‘Hub’ companies like IFTTT and Revolv are a step in the right direction, but don’t fix the problem.
  • To realise our visions of the future, we need a standard, open, peer-to-peer platform / protocol which allows our devices and software to control one another and share and manage our data, regardless of manufacturer.
  • A platform like this would need to have security and privacy issues addressed front-and-centre.
  • Qualcomm have already started something called AllJoyn, along with the AllSeen Alliance.

AllSeen Alliance?

A couple of years ago, Qualcomm began to realise the problems that I pointed out in my previous article. They started a project called AllJoyn which aimed to solve these problems by implementing an open platform / protocol (like mentioned we need above).

Recently, Qualcomm have teamed up with the Linux Foundation to create a new consortium called the AllSeen Alliance. This alliance aims to bring lots of companies together to achieve the same goal that Qualcomm initially began doing by itself with AllJoyn. Qualcomm have donated AllJoyn (all it’s source code and documentation) to this new organisation.

The Alliance is already gaining quite a bit of traction, with notable companies already involved, including Haier, LG, Panasonic, Sharp and Cisco. (A full list of members can be found here).

In Short:

  • AllSeen Alliance is a consortium of companies with a common goal.
  • AllJoyn is the main project of the AllSeen Alliance.

This article will be outlining the core design concepts behind AllJoyn. (Warning: it gets a little technical…)

Addressing my previous article:

I was wrong. Before going into the specifics of AllJoyn, I’d like to correct my comments regarding the Alliance, in my previous post I said “There are a few differences though between my ideas and the Alliance’s, and I feel as though they are missing a trick”, I have now discovered this is completely false! Since writing the article, myself and a fellow student at Oxford have had the pleasure of a conference call with Liat Ben-Zur (Chairwoman of the Alliance) and Greg Burns (Chief Software Architect of AllJoyn).

The conference call was a complete eye-opener; their articulation of the current problems we face and the potential of a platform like this, along with their ideas for tackling the problems I’ve talked about, were not only similar to mine, they were more or less identical. As my colleague (who independently manifested the same ideas as myself) said to Greg during the call: “It’s as if you’re taking the ideas directly from my head and handing them back to me on a silver platter”.

So with that cleared up, and any distinction between my own ideas and Qualcomm’s proved non-existent, lets begin talking about AllJoyn itself.

The Design of AllJoyn

An open protocol to solve the problems we have mentioned would need to have the following features:

  • Work peer-to-peer.
  • Work on numerous communication layers, including, for example: bluetooth, ethernet + Wi-Fi, Wi-Fi direct, NFC, etc…
  • Include device identification and discovery.
  • Include a security layer providing authenticity, confidentiality, and integrity (tied in with device identification).
  • A control layer, with authorization. (We want to be able to control our washing machine from any of our devices, but wouldn’t want a visitor to be able to do the same with their phone.)
  • A data layer, with peer-to-peer synchronization, and authorization.
  • Provide suitable abstractions to be built upon, to allow for further features and services in the future.

Qualcomm have made the sensible decision to abstract these features into different modules, and the most high level view of AllJoyn looks a little like this:

High Level Diagram of AllJoyn

They have divided the features we would need from an open protocol like this into to main categories, the AllJoyn Core, and Services.

AllJoyn’s Core

The core part of the platform manages device identification, and discovery, transparently works across multiple communication platforms, and allows proximal peer-to-peer networks to be built up, so you can have topologies that look like this:

AllJoyn Topology

(Image from here and licensed under Creative Commons Attribution 4.0)

The core provides abstractions up to the next layer to allow services to run over the AllJoyn framework. There will be one instance of the core part of AllJoyn running on any device, managing communication to all other devices, discovering new devices, and managing traffic for all of the different services.

An application on a device will then be able to connect to AllJoin by either listening for connection requests of, or trying to connect to, specific services. This will allow it to communicate with any other application that can also speak the same service.

The core part of AllJoyn will automatically select the best methods to direct traffic to other devices, (which may, as the image above shows, be via other devices running AllJoyn).

Services

The rest of the features I mentioned would be implemented by designing services on top of AllJoyn’s Core. So you would have a number of devices that are all AllJoyn compatible, each able to use a different selection of services.

You would have individual services for:

  • Sending notifications from a device (for example, when your doorbell rings, or when your washing has finished, you could have a notification appear on each of the active screens around the house).
  • Controlling devices (opening curtains, unlocking a door, starting your coffee machine, turning on and of lights, etc etc…).
  • Synchronizing your data across all of your devices.
  • Playing music at the same time throughout multiple speakers in your home.
  • Sending files / sharing links from one device to another.

And developers could create their own services to perform a specific need, for example, if you created a multi-player game, you could make an AllJoyn Service which allowed you to very easily incorporate peer-to-peer multi-player functionality in your app, cross-vendor, over a mixture of communications mediums.

Here are a couple of main services that are being developed as part of the AllJoyn project.

Notification Service

Mentioned many times throughout this article already, this service allows devices to broadcast human-readable notifications to any device which may be interested in it. Like your TV, smartphone or tablet.

Here is an example of it in action:

AllPlay Service

An interesting service (not yet open sourced) that allows you to play music simultaneously out of numerous speakers, again, this will be completely dependent of device manufacturer, and there are no legal contracts involved either. Forget Sonos and AirPlay!

What’s Next for AllJoyn

AllJoyn is already a fantastic platform, and it is only going to improve and expand as interest increases and more companies get involved.

Not all the bases have yet been covered for us to really feel like we have freed ourselves completely from the many walled gardens tech offers us today. For example, that data component I mention so frequently has yet to be given a service on AllJoyn, whicch would allow us to completely decouple our data from the ‘cloud’ and manage it exactly as we would like.

In addition, AllJoyn’s core is currently focussed heavily on proximal networks, but of course as it evolves, we’ll be able to access, for example, devices in our own home from anywhere with an internet connection, safely and securely.

The future for AllJoyn is certainly bright, be sure to check out more videos on YouTube covering each of the existing services and the core in more detail. Also, if you’re a developer, do get involved! AllJoyn is an open source project and welcomes contributions from anyone.

Links

About Me

I’m a Computer Scientist, currently studying at Oxford University in the UK, and am a past president of the Oxford University Computer Society. I have a passion for technology, in particular ubiquitous computing, communication and security.

If you would like to send me an email regarding this article or anything else, pop over to my contact page, or find me on Twitter: @samlanning.

The Future of Tech: Interoperability

January 19th, 2014 by Posted in AllSeen Alliance, Articles, Technology

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 your phone from the organiser of the meeting explaining that it had to be moved forward an hour, it is displayed on your shower screen. 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 that your event has already been updated. 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.

What’s Wrong

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’s Needed

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.

Since writing this article, I have discovered that AllJoyn actually does in fact realise its potential, and I have written a follow-up article: How Qualcomm and the AllSeen Alliance are Changing the World of Technology, TODAY!

Links

About Me

I’m currently studying Computer Science at Oxford University in the UK, and am a past president of the Oxford University Computer Society. I have a passion for technology, in particular ubiquitous computing, communication and security.

If you would like to send me an email regarding this article or anything else, pop over to my contact page, or find me on Twitter: @samlanning.

Updates

  • 2014/01/19 – 4pm GMT: Added more information / opinions about AllSeen Alliance
  • 2014/01/19 – 10pm GMT: Added links
  • 2014/02/11 – 1am GMT: Updated information about new article, and corrections.
  • 2014/04/23 – 12am GMT: Changed title from “The Future of Tech: Interoperability, AllJoyn Doesn’t Realise It’s Potential” to just “The Future of Tech: Interoperability”.