Here’s a simple question:
When am I going to be able to buy a Robot that can drive me around in my car?
It sounds appealing, doesn’t it? If such a thing existed, we’d never have to drive our cars anywhere anymore. We could just tell our personal robots where we want to go, and they would drive us there while we sat in the back, right?
Wrong!
Robots will never drive cars.
Why?
Because trying to cram all the car driving specific knowledge into a general purpose robot is a huge waste of engineering time. For example, you would need to teach the robot how to grasp the steering wheel, push the pedals, and all the other physical mechanics of interfacing with a car. But, a robot could easily just “plug in” to the car’s mechanical controls and forego the extra layer of indirection, right?
But, when you start to go down this route, you quickly disembody the robot, stick it’s head (cameras & sensors) on the roof, its brains (a big computer) in the trunk, and servos or even digital interfaces for gas, brake, steering & shifting. And, since you’ve disembodied the robot, you’re not going to need to worry about how to teach your robot how to take out the trash and make sandwiches, since it’s already been disembodied and is now one with the car.
What does this teach us?
It teaches us that general purpose interfaces for specific tasks are a fools errand. Making a general purpose interface is really, really hard in comparison to a well-crafted single-purpose interface. The single-purpose interface is going to be much simplified, faster, and easier to use than some grand-unified vision.
Why am I thinking about this?
Because I believe that spoken, natural-language interfaces are a fools errand. They make great demos (as do general purpose humanoid robots) but practically, it’s much better and easier to have a special-purpose interface for a given task.