Qualcomm's desire to drive the Internet of Things starts with a little-known open-source project called AllJoyn, and it could easily prove one of the most important things the company has ever done. We got talking to Rob Chandhok, Qualcomm's senior vice president of software strategy and the president of the Qualcomm Innovation Centre, to find out what's going on.
"We want to enable these broad ecosystems, this Internet of Things," an animated Chandhok told attendees at the Innovation Qualcomm summit in Istanbul this week. "AllJoyn is our solution to filing the gaps to provide the scale that we believe will drive the new ecosystem.
"AllJoyn is there to say 'what's around me, what can I communicate with?' Then you build services on top of that. Namco took the AllJoyn SDK, and they made their Pac Man Kart game multi-player in under a week - they didn't have any questions, they just did it."
Chandhok's presentation on AllJoyn was brief, but he took some time to speak to thinq_ in more details about what the project means for the future of mobile devices - and why Qualcomm is heading down the path of open source development, something it has traditionally avoided.
"It's unexpected from Qualcomm," Chandhok admitted. "Like 'wait, is this a guy from Qualcomm that just said that?' In my mind there's two ways that you standardise something: one is you wind your way through a standards body, and you standardise the APIs, and you then have proprietary implementations.
"The other way," Chandhok enthused, "is that you open-source it and it becomes a de facto standard, because it's useful. I would put WebKit into that camp, for example - there's no standard that says 'this is the way that you implement an HTML5 rendering engine,' but it turns out that it's a pretty useful piece of code and, you know, a lot of people use that part of KDE.
"Making AllJoyn open source was actually a reflection of the really strong feeling that we have: that for this to be useful, it has to be ubiquitous," Chandhok said. "It doesn't do anyone in the ecosystem any good if it becomes vertical or proprietary. So, we want the implementations not to drift from each other, and we want people to actually innovate along with us - so we decided to open-source it."
AllJoyn itself is a clever piece of technology designed to take the boring, difficult parts of connecting various hardware together away from the user - and the developer, too, providing a platform on which compatible services can be quickly developed.
"We looked around," explained Chandhok, "and said 'what's missing from this, why aren't more people using Bluetooth and Wi-Fi and Wi-Fi Direct?' There are a couple of things that are really hard to do - they're boring, but they're really hard to do: build a mesh network, person comes in, person leaves, I want to have a shared, synchronised clock so that if we're building a multiplayer game I can't shoot you before you see me - all those things are really bookkeepy, but they're hard."
By taking those difficult mechanisms and developing an open source framework for them, Qualcomm is making it easier for companies to introduce proximity-based sharing into their apps - whether that's instant messaging, file transfer, multi-player gaming, or even streaming content directly from a mobile device to an AllJoyn-enabled television set.
Qualcomm isn't the first company to have investigated such technologies, but Chandhok believes that alternatives are doomed to failure.
"Key for us is really making it so it's cross-platform - because you will not get an Internet of Things if my phone can only talk to devices by the same consumer electronics manufacturer. The ecosystem doesn't grow that way."
Chandhok clearly believes in the potential for open source projects to drive his company's business. "It's not a very hard leap to make from devices and consumer electronics devices - TVs and refrigerators - that can all talk to each other, that we will somehow benefit because we will supply more of the connectivity parts into that ecosystem. It's not in any way, shape, or form, confusing to our board. The connection for us is that if it makes Bluetooth and Wi-Fi more useful, then we'll sell more Bluetooth and Wi-Fi chips. Period. I mean, it's pretty straightforward."
That doesn't mean that Qualcomm will be introducing open source methodologies into other areas of its business, however - although Chandhok indicated that there is an increasing amount of that occuring throughout the company, thanks to the Qualcomm Innovation Centre subsidiary of which he is president.
"You have that trade-off of what part of the innovation that you're trying to protect, and I think that the best thing in the way that we can relate to open source is just to be honest - some things I can do open source, some things I can't because those things are core to my business," explained Chandhok.
"We've been contributing to Kernel.org pretty extensively lately, even so far as looking at multiprocessor scheduling and a bunch of other algorithms around that - but we participate in those venues knowing what we're open-sourcing, right? I think that clarity is something that really drives the open-source community - clarity and honesty. So, we're going to try to do that too."
AllJoyn is far from a blue-sky project: as well as the Namco Pac-Man Kart game, project manager Matthew Michael was demonstrating several pre-release AllJoyn implementations running on Android hardware during Innovation Qualcomm, including a collaborative doodling application which could have educational uses.
"We expect some commercial stuff this year," said Chandhok, "and then also first quarter next year. So, it's going to actually hit that inflection point of 'now people understand what do with it, they've been doing it, it's going to start to get interesting.' There's sort of a mix, interestingly enough, of things that handset manufacturers are doing and also that developers are doing."
The Internet of Things, however, isn't just about adding communications hardware to powerful devices like smartphones, tablets, and PCs: it's about making everyday objects smart, too. As a result, AllJoyn is going to need to be able to scale down to devices like the ATMega328, a chip with a mere 32KB of memory. "The implementation that's in the codebase right now is based more on a POSIX interface, so it would be hard to take it down, but we're actually talking to some people who are interested in doing exactly that," Chandhok explained. "So, the protocol itself scales fine, the particular implementation that is currently in there - there isn't one for that small a processor yet, but it's something that folks are working on."
More information on the AllJoyn project, including SDKs, the full source code as a GitHub repository, and example implementations are available on the official AllJoyn.org site.