Right now it seems the proprietary systems are winning the race, which makes sense. Financial incentives are strong... but I firmly believe an open source alternative is better (from a purely capitalistic point of view, I personally compete against amazon... and the further we move from desktops the harder that is).
So, if someone asks for funding, and has a good background, i'll throw a few bucks towards them.
Most of these new services are built on data, and large, preexisting companies have huge advantages for the datasets that they can call on to train their systems. It's going to be very hard to escape the data problem for open source software.
I'm also losing hope in some of this stuff, because everyone is obsessed with building products, when in fact the internet is more about protocols and standards for talking between hetrogenous systems. Chat is a depressing example of this.
The only chance for a open protocol is if it's so cool and immediately useful that people adopt it en masse, a la Snapchat/Whatsapp. Or the market gets regulated. But either of those face a chicken/egg situation because the current market is too small to bother.
My own experience though has pretty transformative. My mother, father-in-law, even my wife approached the device with extreme caution. However as they watched me naturally interact with it, they all gradually warmed up to it.... and now it's a must have. The other day I walked into my kitchen, asked Alexa what the weather was outside, but she was unplugged. It was weird... kind of like calling your grandma only to realize she's not alive any more.
For me the biggest issue is actually capturing audio. Something like Google Home or Amazon Echo will have one or more very good microphones in and trying to source those separately ends up being surprisingly expensive.
If you intent is privacy, then using the backends offered by AT&T or Google or FB doesn't fly.
But yes, to meet privacy goals, you'll need that backend to be local.
If you ask it for directions, are you going to build your own mapping engine or just use google maps or another third party solution?
If you ask for the latest basketball news, are you going to search google or are you going to build your own web crawler?
If you ask it to play your favourite song, where will it play the music from? A local hard disk? A service like spotify, apple music, or youtube?
Without Google (or Amazon, if it's the echo), you don't really have much except a voice-to-text box if you want to exclude their services.
I'm starting to get really annoyed at the tendency to put everything online when it doesn't need to be. Online-integrated devices are brittle and have a built-in expiration date. We should prefer devices for which online integration, if it exists at all, is optional and easily replaced by your own server.
This is something that's only going to be important to the tech-savvy. Your typical consumer wants idiot-proof instant gratification, and cloud-powered apps and devices provide that.
I predict a consumer backlash against smart devices once people realize just how dumb they become without the cloud.
All of that said, most home users aren't going to want to setup a home server with a database in order to get directions.
On my phone with 1 gigabyte of memory, it can calculate a several hundred mile route in a few seconds. That's not as cool as the instant routes you get from real actual beefy servers, but it isn't unusable.
With just a little complexity you could do local routes on device and call out to a server for longer routes. That dramatically lowers the data requirement and tightens up the calculation times.
With Spotify and YouTube, I access dozens of new songs every day, songs I have never heard before. Would I have to purchase each of these songs, download them, and put them on the device in advance?
Also it would be nice to have control and choice over which services you use. Maybe Google or Amazon everything isn't the right choice. There's OpenStreetMap, DuckDuckGo, downloaded music... Google is very useful but it is far from the only resource out there. Thinking so would be delusional.
(In the following, "server" means computer owned by an outside entity, such as Google or Amazon, and "local" means on a computer owned by you, even if that computer of yours is acting as a server for your other devices)
It doesn't have to be all or nothing.
The maximum privacy leaking method would be to have every direction query handled entirely on the server end, which means you are telling the server the source and destination of every trip you ask directions for.
The maximum practical privacy preserving method would be to download map data for a wide geographical region, and then do all direction calculations locally.
A middle ground would be that when you ask for directions, download map data from the server for the city or county regions necessary for that trip, and do the directions calculations locally, and save the downloaded map data. For subsequent trips, use the saved data, occasionally checking with the server to see if there are updates. Someone snooping at the server will know the first time you ask for directions involving a given city or county, but won't find out where specifically you are going. Depending on how the update checks work, they may also subsequently get an idea of when you make other trips in that area, but again will not get specific origin and destination.
> If you ask for the latest basketball news, are you going to search google or are you going to build your own web crawler?
A couple possibilities to do this.
One is to pull a comprehensive news feed from the server, and then locally filter and sort it.
Another is to use Google to search for sources of basketball news, and then subsequently you get your basketball news directly from those sites.
One answer is that in each of those cases there are alternative mapping/news/music services. An open-source, privacy-first device could be an intermediary that wraps other services, and if it got significant adoption, serve as a incentive for those services to compete on quality/price/privacy-awareness.
There are even startups, like ours (Diffbot) that are building general purpose knowledge graphs for developers to use.
There is NO open source alternative to Google.
Electricity and equipment to run it will never be free, so there will never by an open source Google.
There may be data issues (Google can easily buy datasets), software issues (good algorithms and fighting spam) and probably many other issues. Many people probably do not feel enough incentive to re-create Google. It works well enough and is not irritating enough.
Then again, search and maps/directions are pretty much the only services I use. For mapping projects that do not require directions, I use OSM-based solutions. For email I use a home-hosted Zimbra VM, for chat I use Mattermost and IRC, for news I use a few websites (most aggregators suck and just become echo-bubbles). etc.
I am continually frustrated by people that think speech recognition is a software problem.
For voice recognition, it's just not worth trying to do something yourself. I'm still going to get an Amazon Echo, or maybe the Google Home when it comes out.
It's a well-established projects attempting to establish a standard for IoT interoperation - and it's working really, really well.
We at Athom, a smart home startup based in the Netherlands, are releasing the Homey very soon. It features an open app platform based on NodeJS, has support for Z-Wave, 868MHz, 433MHz, Zigbee, IR, WiFi and Bluetooth, not to mention it has some pretty decent voice recognition as well. It isn't strictly speaking open source as the core of our software is proprietary, but we're trying to contribute back to the community on every piece of open source software we do use. We've opened pull requests on various NodeJS projects, we have someone actively working on Linux kernel development (primarily drivers), and every protocol we add support for is open sourced on our GitHub account. We maintain the node-nfc npm module, and are contributors to a handful of other projects. We're about the closest you can come right now to a functioning smart home hub incorporating lots of open source elements, while still having the advantages of corporate backing.
Feel free to browse around on our website (http://athom.com/) or on our GitHub: https://github.com/athombv
(The answer needs to be along the lines of: "the product will be accessible and configurable from the built-in web service and API until the hardware breaks. Extra services provided by Athom subscription will stop working, but you could provide many of them yourself if you have your own server and are competent to read our documentation.")
Former Mozilla people I believe.
I look at stuff like Google home and wonder what problem they're trying to solve and if they've actually made it disappear or just hidden it behind a wall of ever more complicated marketing.
None of it particularly scares me, but the older I get, I think things need to get simpler and a voice-activated, centralized home control system isn't it. Especially when I'm 80 and have enough problems figuring out where my cats hid my glasses (I expect they'll probably have hidden them on my head - sneaky bastards).
Literally, the only product of the past decade that I can think of that nailed it was Nest. They decided to replace the thermostat and so they replaced the thermostat. Sure, it ties into your phone and whatnot, but the brains are in the little box you hang on the wall and you don't need the extra connectivity.
IoT sounds great, but, yeah. Light switch is simpler.
Raspberry Pi with a python script running that does microphone->speech recognition (I was going to use Google's dictation service, but you could do it however you want)->voice-API.
The voice API will look something like a regular old REST API does, but for humans: it'll have a bunch of trigger words that would emulate API endpoints (e.g. "play" for music, "turn the lights" for light control, etc.) with the rest of the query being fed as the parameters. And anything that is unrecognized would be assumed to be a question and passed to WolframAlpha or something similar.
Has anyone tried something along these lines?
- The sort of whole room audio microphone setup found in Amazon Echo and Google Home.
- Really solid Google-grade speech recognition and hotword detection.