Cory Ondrejka on Re-Architecting Second Life
I was chatting to Linden Lab‘s chief technology officer Cory Ondrejka last night and thought to ask him about moving Second Life‘s back-end architecture “away from custom C++/messaging and into Web services” (as blogged by Tim O’Reilly and linked here by me). After all, I have only a vague idea of exactly what that means, though it sounds quite cool. So for readers like me, who may not have an immediate grasp of all the implications, a bit of clarification from Cory. And yes, it’s very cool.
What it means, essentially, is that users will eventually have the ability to pass more data back and forth between LL’s databases and their own Web-based application, with parameters and such passed in a long URI (or a short one, if you’re not passing many variables). To make this at all useful, LL will have to open up some data about the world, which is exactly what’s planned. What this will be has yet to be determined, but it could include things like avatar locations, account balances, property owners, etc. Cory didn’t name any of these things specifically, that’s just off the top of my own head. And presumably, I wouldn’t be able to look into anyone else’s account balance other than my own. What he did say is that the information that would be available to users would be drawn from the same databases that LL will be looking at, by virtue of the new back-end.
The implications are enormous, and I don’t think that’s too strong a word. Especially when you combine this with Web-on-a-prim or -in-a-HUD (whenever that actually gets here), it will make possible the development of a powerful new class of applications and services that will kick Second Life up to the next level of usefulness. Want to write a Digg.com for Second Life? No problem. (Well, maybe a slight problem, but a lot easier than the near-impossibility it is today.) Want to manage your account, buy things and pay other avatars directly while you’re browsing the Web on your PDA? Go right ahead. If you’re really ambitious, write the MySpace that will run on a HUD inside the world and be accessible in 2D on a Web page. Or hire someone to write your own group tools that will help you manage your land-rental business better.
As I understand it, the new http calls that are being made available provide a limited subset of this functionality, but they don’t provide the kind of access to data and open window into and out of the world that the Web services architecture implies. Much of this is probably academic and obvious to the SL developer community, but it should be of interest to a lot of 3pointD readers who aren’t already mucking about in SL’s code. What’s interesting about the move — which, it should be noted, doesn’t have any kind of even ballpark time frame associated with it — is that it will not only generate a lot more development activity among SL’s hardcore coders, but it will probably attract Web-based application developers who will start writing things for SL even though they don’t spend much time in-world. This is a good and a bad thing. Either way, it should make the world a far more robust place than it is at the moment.