I think many technologies miss the mark when it comes to system integration. To give you a concrete example, a few years ago I bought a replacement headunit (radio) for my car and more recently I purchased my first Android device, a Nexus S. Both are Bluetooth capable and I had this wonderful vision of accessing my music collection from both my home and car. And that’s where the trouble starts. In what should be a large use-case, many sub-optimal problems arise:
- Bluetooth must be manually started on Nexus S
- Music must be manually started on Nexus S
- Bluetooth must be re-started on Nexus S after initial connection to prevent “hicupping”
- Volume level on phone/headunit must be increased (Bluetooth audio is quite compared to tuner)
- Everything above must be reversed when I exit the car
It’s so incredibly frustrating to be able to do amazing things integration wise, but be frustrated beyond belief at the implementation details. Unfortunately, this is what happens when neither manufacturer is fully responsible for the user experience. Streaming audio via Bluetooth? Checkbox. And that’s all it is, a checkbox feature.
Entire products have been designed around this mentality. Take universal remote controls; have you seen some of these atrocious interfaces? Even after paying an expert hundreds of dollars to install a home-theater setup (with universal remote control setup), the universal remote control experience is more difficult and offers less control than simply having each device’s native control nearby.
I have frequently pondered business models of simply fixing other systems’ implementation problems. Unfortunately, I believe such a model would be difficult to scale outside of consulting.
As a technology enthusiast and someone who likes to build stuff for others, I ask that you keep in mind those integration beyond your own product. This applies especially to APIs or other interoperability features. Strive to build products which can be integrated into flawless systems.