09-23-2006 11:37
I just read yet another thread asking why LL doesn't release new versions as patches, and why we have to download the entire 25MB client and reinstall it every time a new update is released. LL has responded in varying manners, with some mention that they're looking into this, and even an occasional town-hall answer of, "if you know how to do this, send your resume!"

So my thought is... why do residents need LL to do this? We can do it for ourselves!

Think about it. There's not that much that the installer does: it just unpacks some files and makes some desktop icons. It doesn't look like there are any registry entries. A lot of techies on the forums have said that binary patching systems are easy to implement. So why not just go ahead and do it?

One or two residents can set up websites for downloading the patches. They can run their binary diff programs and produce binary patches for Second Life. They can replace updater.exe (which Second Life calls to manage the update process) with their own version that would grab the patches and apply them. New users can be brought into the external upgrade system simply by downloading the tiny updater.exe and replacing the original updater.exe.

Would residents be willing to pay for a service like this? Would it be possible to charge a modest fee (in Lindens?) to make it worthwhile to the packager? If not, how can download bandwidth issues be dealt with? It could be possible to use a peer-download system like bit torrent to handle downloading patches. The new updater.exe could include a mini bittorrent client, or could simply require that one be installed. Whatever happens, I'm sure the logistics could be dealt with.

I've felt for awhile that binary patching systems aren't as easy as the people clamoring for them would like to believe. There's a possibility of the patch process failing in mysterious ways, which could produce extremely hard-to-diagnose support issues. Given that, the first response whenever someone using this system runs into a problem should be a fresh reinstall.

The advantage to having this be a grass-roots resident-managed project at first is that it can be tested and proven for quite awhile before LL has to stake their reputation on it. What could be holding them up is finding a way to make a 100% reliable patching system that won't produce more resident upset than it assuages. If a resident could come forward and say, "Here's a binary patching system that ___ users have been using for ___ weeks," LL might be much more willing to adopt such a system, perhaps going so far as to simply use the one that the resident brings forward.

I'm not sure I have the time to do this myself. I'm incredibly busy right now, and I doubt I can donate enough time to something like this to get it working, especially if there wouldn't be any kind of compensation for my time. I might consider setting something like this up and asking for donations, though. First, I want to know: who's interested? Can this work? Anyone want to grab the baton?