Saturday, September 12, 2009

Feature Request for OS X 10.7

I am in the new iTunes, downloading the iPhone 3.1 software update. That's going to take about 5 minutes to download. Before that I had to wait for iTunes 9 to download.

It's while I was waiting for this download that I realized that there really should be a better way.

Apple has done a really really good job of fully leveraging a piece of open source technology called ZeroConf. Apple calls it Bonjour. It's how you add shared printers, listen to music in your friend's iTunes library, use AirTunes with an Airport Express, even browse a friend's iPhoto library from your machine. It's also how the new "iTunes Home Sharing" feature works. If you have a network service, you advertise it on Bonjour, and other computers in your LAN pick it up.

The iTunes 9 download was pretty hefty. Guess what...there are 3 Macs in this house. Within the next week or so we'll all use that internet bandwidth to suck down iTunes 9.

This will be fine for us, but for corporate environments this simply isn't acceptable. For this reason, in the corporate world, computers don't download their updates from the internet -- they download them from a designated server within the LAN. This way, instead of BYU downloading the latest OS X update from Apple hundreds of times, using a lot of BYU *and* Apple's bandwidth in the process, they just download it once...and then distribute it across the LAN. Furthermore...while internet connections continue to get faster and faster, it's still hard to beat the network transfer speed of a LAN.

So putting 1 and 1 together, I think a great feature for OS X 10.7 would be a sort of totally automatic, ad-hoc software update service. In the scenario of my apartment, I'd download iTunes 9 from the internet. Then my machine would hold the iTunes 9 update file in a temp storage spot for, say, 30 days. Tomorrow when Sam goes to download iTunes 9, his computer sees (Via Bonjour) that I already downloaded iTunes 9. Instead of downloading it from the internet, it would just transfer over to his machine from mine. Then let's say on Tuesday I am up at campus and Austin decides it's time for iTunes 9. Well my machine isn't there to offer up the update, but Sam's is. Again...he gets a lightning fast transfer of iTunes 9, and everybody saves some internet bandwidth in the process.

There would be security challenges to consider -- like a rogue network machine hosting tampered update files -- but I'm sure those could be worked around. Maybe if your machine finds the update on the LAN, it tells you the name of the computer it's on. Then I could chose to download an update from "Papanui" (Sam's MacBook Pro) -- but decline to download an update from "Super Hax0r"

No comments: