The Future of Assistants
Virtual assistants are everywhere these days. If you have an Android phone, iPhone, or even a Windows phone, you have a built in virtual assistant. On Android, you have Google Now. On iOS, you have Siri. On Windows, you have Cortana. These aren't even all of your choices. There are more 3rd party assistants than you can shake a stick at. SpeakToIt's Assistant, Hound, Amy, blah blah blah. And that's just on your phone or tablet. If you widen the scope, you can't help but notice Amazon's Echo device.
Unfortunately, all of these assistants are flawed for a variety of reasons. Google Now has all the personality of a wet paper bag. Siri has virtually no customization options. Cortana is somewhere in between Siri and Google Now, but retains the faults of both. Most of the 3rd party assistants are even worse. I want to lay out what's wrong with these assistants and how I hope we can fix them in the future to make something truly revolutionary.
Assistants are limited by where they're located. If you're using more than one type of device, which many of us are, then you're running into this limitation often. If you're looking for information on your Android phone, but switch to your desktop, your desktop assistant (if you have one) isn't aware of what you're doing on your phone. If you ask Alexa a question, Cortana or Siri is clueless about that. There's very little communication going on. That's because these assistants are limited in their scope. Cortana doesn't exist in the same space as Alexa, and Siri and Google Now barely know the other exists. About the closest you're going to come is that they can pretty much all use Google Calendar and Contacts. Even when you're using a 3rd party assistant like SpeakToIt's, your assistant on your Windows desktop has no clue about your assistant on your Android phone.
I know the term has become famously (and justifiably) associated with Apple, but when it comes to assistants, that's where all of them live. Cortana searches with Bing, Google Now with Google, Siri searches iTunes. Alexa shops Amazon. You have to delve into the 3rd party offerings if you're going to have some choice in the matter. Even then, your choices are usually limited as most of them will go straight to Google anyway.
What We Need
So how do we fix this mess? What do we need for all of this to work together? In my opinion, we need an open source option. Something that can be put anywhere by anyone. The root of the problem with the assistants we currently have is that all of them are playing to the best interests of a single entity. Apple doesn't want to promote Google, Microsoft doesn't want to promote Google, and Google just wants to promote itself. If we're going to break through the walls, we need a choice that isn't limited by it's origins or the shortsightedness of a single corporate entity. This works best when a project is open source.
It just so happens that there is a project like this underway. It's called Mycroft. I haven't had the pleasure to use it yet, but on a fundamental level, I love what they're trying to do. They have an Echo type device that brings your assistant into any room in the house whether you're carrying your phone or not. Appearances suggest that there will be a Windows, OSX, and a Linux desktop version of Mycroft as well. This will let you use the same assistant on your computer you use in your house. Additionally, there appears to be an Android version in the works. The open source nature of Mycroft could make it the first truly ubiquitous AI assistant, and keep it from being walled in to a particular ecosystem.
I don't want this article to come across as a sales pitch for Mycroft. I think their project is spectacular, and I hope that they are amazingly successful, but there's work to be done for any of this to pan out. In my opinion, these devices need to be aware of each other. I'd like to see them communicate via a torrent communication network. End to end encryption between nodes. Each instance of Mycroft should be inextricably tied to the user. I want Mycroft to protect you from snooping at every level by offering TOR. I want Mycroft to have the option to communicate with more devices like the Roomba. You can't tell me that you wouldn't love to be able to say, “Mycroft, vacuum the floor.” and have it happen. I want Mycroft to be able to communicate. I want to be able to say, “Mycroft, share the new video of my kids with my mom.” and have my Mycroft tell her Mycroft that I have a file for her and would she like to cast it to her TV. If she says yes, have the file transferred automatically from my location to hers and played on her TV without ever having to lift a finger.
A lot of these things probably seem like pipe dreams, but I think that Mycroft's open source nature could make it all possible. Any developer can come by and create a skill and release it upon the world. Mycroft won't be tied down by corporate greed. Really, the sky's the limit. Hopefully, once again, FOSS can take a good idea and make it great.