I cross-posted this from my blog on the Yocto Project web site. You can comment on it here, on over there.
The David Stewart home was in serious want of a stereo upgrade. The old setup was from the analog days, and with the dominance of Internet, High Definition and Blue Ray, I needed a digital-enabled hub. Those who know me personally will tell you that I tend to be somewhat, um, conservative in spending money, so I had been putting off the upgrade for as long as I could. Thankfully, my friend Saul had recently updated his setup, so I could take advantage of some of his shopping research.
What I wanted was a mid-priced receiver with HDMI inputs and outputs.
What I got was web-enabled.
What use is a receiver with an ethernet port? Instead of just listening to a local radio station, I can now tune my receiver to internet radio stations from all over the planet, totally for free. Or I could listen to music streamed from my Pandora, Napster or Rhapsody accounts, if I actually had one of those. While I have music pumping out, I can view photos on my Flickr stream from my latest trip or flip through some of my favorites from other photographers.
But hang on - my TV has Flickr built into it also. And it has Facebook and Twitter and Netflix as well. And so does my Blue Ray player. All of this may be fine (I don't actually make use of all of this overconnect on my devices) but how can device manufacturers stand to bake in these web services in the devices they build?
Some of you will remember 1997 when Pointcast was the internet-enabled news service that took the world by storm. In its day, Pointcast simply offered a ticker of news headlines at the bottom of the screen. It was great, in its day. Useless now. Can you imagine how incredibly useless it would be to have a TV today with Pointcast built in? Similarly, a TV you bought this year to get the Facebookapp built in might be considered useless next year without Google Plus integration.
The solution? How do you make sure the ethernet port continues to be useful? Of course, we're talking about the online update. My TV and receiver will check from time to time for a new firmware update and can be set to update automatically when a new one is available. If my device manufacturer still cares to, they can connect me with new web services in the firmware upgrade.
If you are making a device, and it is based on Linux (or best of all the Yocto Project), you are lucky in this regard:
- The problem with a complete system update is that you want to make sure you don't erase customer data, like their favorite internet radio stations. With Linux, you are in luck, because package management systems allows you to update only the pieces which have changed. With the Yocto Project, we include all of the most popular package managers, and you can dial in the capabilities you need from very simple (ipkg) to highly robust enterprise features.
- Since we update Yocto with the most relevant security patches, you can be sure that if a security vulnerability is discovered in underlying Linux code that you can protect your devices through an update.
- Finally, you want to make sure that a device which downloads a firmware update isn't fooled into taking in and installing software infected with a virus. This is where software signing and verification services become critical. As Yocto is adopted as the upstream for commercial embedded Linux products, signing services will become available. And as silicon vendors base their BSPs on Yocto, they will bring in hardware-based security mechanisms.
Now, with all of this great digital stuff, I sincerely wish my receiver had just one more analog input.