I'm guilty of it myself… But sometimes I feel this supposed "future" is a little bit farther than I'd like it to be.
- I can't tell any device to remind me to turn on my noisy dishwasher when I finished watching TV.
- Nothing is going to boil my kettle 5 minutes before I get up to be ready for the morning tea.
- Neither my car, nor my phone can build my navigation route through a gas station when I'm low on gas.
It's especially disappointing when you know that we're actually almost there…
Dishwashers and TVs
OK, it's not about a dishwasher, actually. The problem of it being noisy is best solved by having a silent dishwasher (most of them now are) that's able to turn itself on in the dead of the night or when nobody's home and use just enough water and detergent to do the job. But that's not the point. The point is that I want every device in the house to have a two-part API: a set of actions, akin to Android Intents, and a set of events, that they would broadcast to every other device through the network, akin to Linux DBus. And I want my phone or a tablet in a dock on the wall to communicate with those.
What I don't want, is a limited slow expensive centralized house-centric device that would lock me into appliances from a single vendor which will never update their software. Though this is exactly what usually happens before an alternative solution using open protocols is mature enough to be usable.
Boiling a kettle
A similar thing is already happening: the Nest thermostat tries to warm up or cool down your house before you wake up or get home from work. But it determines those times statistically. And it sucks for many reasons, one of them being that many people just don't live by a schedule. And you know what? My phone already knows exactly when I'm going to get up. I can easily imagine a "Start breakfast" button alongside the usual "Snooze" and "Dismiss". My phone also knows when I'm leaving work and how long it would take to drive home.
All this useful knowledge is sorely underused.
Navigating through a gas pump
This one is probably the easiest. It doesn't require a universal event/intent API, it just a matter of my car talking to my phone a little bit smarter than it is now. My Ford Fiesta can already ask Pandora in my phone to thumb-up a song when I say so. It shouldn't be that hard for it to inform my phone about immediate MPG and the amount of fuel left (it actually can do that, just not out of the showroom). Then Google Navigation could use it to plan and update the route.
But I'm afraid it's not going to happen any time soon. Because car makers seem to fancy the idea that the car itself should have brains and should control your phone, your house and "the cloud".
It'll never work.
A company whose core expertise is making cars will never achieve the level of quality at which software ecosystems are designed and produced at Apple, Google or Microsoft. When Apple and Google do photo realistic 3D maps, a typical in-car satnav features an ATARI-style graphics, slideshow frame rate and a baroque on-screen keyboards that make you wonder if you get to you destination faster by not bothering with entering the address.
Please, guys, just make your car a reliable appliance with rich and open APIs and let programmers do the rest!
Future is almost here and we'll get there eventually. But people charging us money for getting there just insist on making the way longer.