Continuing in our series of posts on how to make the world (or at least our consumer electronics) better we now have devices that use a touchscreen are driven by open source software and have a WiFi connection. These devices are a easier to use and interact with than what we’re used to today and their open source nature means that you never have to be satisfied with their shortcomings. You’ve already downloaded some interesting mods to your dishwasher and you’re wondering where to go from here.
While that open source control software is great for when you want to tweak how your devices operate there should be an easier way to add new functionality to your devices. And then there are times when you want to export the functionality from one device to another. The best way to do this is via an API - an application programming interface.
In recent years APIs have become a foundation of various websites. Amazon has its webservices that allow people to find products for sale. eBay has similar APIs and also provides ways for sellers to add items to the site. Sites like Flickr offer APIs for searching for images and Google has APIs for products like Google Maps which enable developers to quickly build applications using Google’s core functionality. Perhaps the ultimate example of extensibility through APIs is Facebook’s applications which allows developers to add functionality to a user’s Facebook profile page.
As you can probably see APIs come in two flavors: those that export data/functionality and those import extensions into the application or device.
Importing New Functionality

photo credit: tombothetominatorWhich devices can benefit from allowing users to import new functionality? Lots of them. My new digital camera has some amazing software that allows it to detect the human face on the screen to make sure the face is in focus. If your camera doesn’t do that wouldn’t it be cool if you could easily add it. And how about red-eye correction. Again something that some cameras already have but there are certainly other applications you could add. Maybe some software to allow you to stitch photos together into a panoramic shot? Sure you can do that on your computer later but if the camera could do it you could correct that one shot that was off a little or darker the the rest because a cloud passed by. Or how about some OCR - optical character recognition - right on your cell phone camera? You’re in the store and see a piece of furniture but you’re not sure it’ll fit the space you have. Snap a pic, turn the image into text and send a text message to your spouse.

photo credit: KhürtEntertainment devices would benefit greatly from being able to add new funtionality. TiVo started down the road of allowing people to write extension that could run on the device but seems to have unfortunately back off from the idea. It’s a shame because I’m sure there are dozens of great idea that could be added to the device that many more people would undertake if it didn’t involve having to open up and hack the machine. The possibilities for a device like an Xbox which is really a very powerful home entertainment computer are nearly endless.
Exporting Capabilities and Data
The flip side of having APIs which allow you to extend the functionality of a device is to have APIs which export a device’s functionality and data to other devices. Back to the digital camera imagine if your digital camera (which already has WiFi capability) could operate under the control of your computer. Set your camera anywhere in the house and your computer could use it to take pictures. Make your own time lapse video of your plants blooming. Or turn it into an instant spy camera that uploads pictures of your cat to your private web page so you can spy on him while your at the office. Today you can go out and get a wireless web camera to do these things but the digital camera is far more ubiquitous than a web cam and many people don’t need that kind of functionality on a regular basis.
Not for Everyone?
While I’d be a huge fan of applying all these principles to every device APIs probably aren’t necessary for everything. Even I have trouble thinking of a good API for my toaster. Devices that are good candidates are devices which have capability that can be export for other devices to use or devices that are good platforms for running new functionality.
Hopefully if you’ve been following along with this series you’re getting an idea for how opening up the devices around us can lead to exciting new applications. If you’re a product developer for Sony go ahead and build these ideas into your next generation products but if you’re not thinking like this is still a useful exercise that will help you open yourself up to new idea in the areas where you do work. Next up: a fictional device that combines all these idea and will sell a billion copies as soon as someone builds it.
0 comments ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment