2006-09-15

Cool video on ZeroConf (Bonjour)

There are a few areas in computer science that I have always had a fascination with. Obviously programming languages is one of them. The others are operating systems and networking.

With respect to networking, I was always curious about how the hell did two computers communicate. Back when I was still learning to program I read various specs (TCP, IP, UDP, ICMP) to see if I could find out. I even went as far as to write an ICMP library in Python (and that Last Updated date is not true; that code was written in 2003 so it probably is not my best work =).

This Google Video is a Google Tech Talk from the creator of ZeroConf. I always found the idea of ZeroConf really cool. Having set up computers for my parents the idea of making devices just become available is really nice. I just wish more people would use it now that Apple has open sourced their code and their is the LGPL implementation of the protocol thanks to Avahi.

What really hit me home in terms of a computer user, though, is the idea of routers using ZeroConf. Imagine plugging in your new router, launching your browser, looking at the list of ZeroConf devices, and seeing your new router listed there. You could then double-click the listing and be sent to the configuration page, all without having to crack open the manual or quickstart guide to find that damn default IP address it has.

The other cool point made in the video is that PoE (Power over Ethernet) could have possibly been what USB is today. Now I don't know what the component costs are in terms of supporting PoE in a device, how great would it have been if instead of having a USB hub on top of a switch, we just used PoE for USB-powered devices? And for those that do require power, just jack the sucker into the network? That would allow devices to include WiFi cards so that they could wirelessly connect to the network. Being able to build off of all the networking infrastructure and design for IP could then be made available to devices. I think there would still be a need for a standard for low power wireless (ala Bluetooth), but that could be made available for any IP device.

Anyway, I wish more services would use stuff like this. The fewer configuration headaches I have the better.