Why reverse engineer when you have the API handed to you?
by Isaiah Truth
When the Herald broke the news that LL had given an inside tip to a special developers' list enabling some to get an unfair advantage in purchasing the dwindling supply of low cost private islands, a chastened Philip Linden said he'd never do it again.
"We probably made a mistake there, trying to get feedback. We should just tell everybody everything," Philip said in an interview with Reuters, adding "the lesson learned here is, don't do that — just announce everything completely broadly."
If the buzz on the grid is true, however, El Presidente is having trouble breaking his habit of blessing select insiders. This time, according to highly placed sources, it is not a short list of insider landowners who are benefiting - instead The Lab has favored one development beta buddy above others -- the Electric Sheep Company (ESC) -- with a special client programming interface or API - effectively giving the Electric Sheep a two month lead on developing a customized user interface.
The early access to the API enables ESC to create a special, customized client for their customers which could replace the clunky, confusing user screens with better graphics and colors, simplified buttons, and features like MySpace tabs, Cool Places and Hot Events.
Most importantly, a customized client interface using the code of LL's client API can create a more streamlined search function, combining access to the existing LL search database in-world with web-based customer information in databases such as the buyers and sellers at www.slboutique.com. While an informal group of open source developers are reverse engineering the Second Life client, a group with inside information about the API would have a significant advantage over others.
Earlier this year, Cory Linden gave the official imprimatur for libsecondlife, a group of hackers in SL, to keep working on reverse-engineering the client. "We want you guys to be able to get at the data, to be able to do things like build own Web-based parcel manager for parcels. Long-term, our goal is open, discoverable APIs for as much of the system as we possibly can. You guys are doing incredible things, we want you to be able to do more," Cory said at the Second Life Community Convention in August this year. But the move to hand ESC the API itself leaves the the libsecondlife developers in the dust.
According to our sources, the members of libsecondlife project (SLib) have not been made aware that the API has been given to the Sheep, suggesting that the recent interactions between the Sheep and SLlib have been attempts by the Sheep to quietly mine insights and programming tips from the Slibbers, without letting them know the true nature (and economic ramifications) of the Sheep's interest.
Insiders say the move positions ESC to become the Google of the Metaverse, enabling the Sheep to control advertising and search functions ahead of the pack. While LL evidently plans to make the API available to all developers at some point, and has talked about making such customizable clients available to everyone, they couldn't resist - under the pressure of the demands of Big Business - providing one company a chance to jump the fence early.
In another move, unannounced and little noticed, LL has also quietly gone ahead to schedule the next "SL Views" (the third such meeting), where specially-selected residents will be brought all-expenses-paid to San Francisco to discuss the future of Second Life as an open-source program.
LL has relied heavily on user-created content design and programming to create the virtual 3-D streaming world. Now some favored residents-turned-developers, trusted since beta, are doing the heavy lifting on programming tasks which the over-stretched California software innovator can't take on as they struggle to keep 4000+ servers from crashing under the weight of 1.6 million metaverse sign-ups.
Is that true? OMG. If that is true that is, to me, much, much worse than tips about the islands. This helps ESC to literally set the path of SL.
The general public could do some amazing things with this that will benefit all.
It seems the Linden's are greedy and short-sighted. Can't someone crack this game and open it up for us to host our own. Someone. Please.
Posted by: Heath | November 13, 2006 at 05:23 PM
No, it's not true. (And it's "libsl" -- check it out: http://www.libsecondlife.org)
Your source is, um, misinformed. There is no such API. It's possible that your source is thinking of the fact that you can edit some files on your hard drive to make your login buttons say different things, maybe even pull up a different login screen -- but there's no "special API", and there's nothing to support a single one of the claims you make.
Posted by: bushing Spatula | November 13, 2006 at 06:44 PM
Some of the technical details here are incorrect or slightly flawed, which makes large portions of the article not relevant. If you have a question about cutting edge stuff going on in SL you can usually get an answer from [email protected] or from dropping in #libsl on EFNet in IRC.
The main confusion is over "the API". There are several separate projects going on here. One of them is opening up the client software and making it extendable and customizable, so you can have an all-green client, or change all the dialogs to say [Electric Sheep / Adidas / Isaiah] rocks! That project is often called the XUL client, as XUL is the technology driven the extendable client. Technically that's not an API so much as just a customizable client.
Anything to do with a LL API is probably referring to the "caps" system, short for capabilities. It's a new communication protocol for Second Life that uses the web to make requests and do actions, and your current authentication level determines what you are allowed to do. For example anyone logged in will be able to request a texture, and that's how SL clients will download textures from now on, instead of using the old UDP protocol. The Lindens hope to move as much as possible to this new system, which will allow anyone to write really cool web apps that interact or control Second Life things. That web parceling code Cory talked about now becomes much easier to code.
The last project is libsecondlife itself, an independent project to reimplement the entire Second Life networking layer. This doesn't directly overlap with the caps system as there is a lot of things that caps will never replace, such as moving your avatar around in world, animations, and other real-time interactions. If you want to write a bot, libsecondlife is the only way to do it and caps won't change that. However when the new caps system is in production libsecondlife will add support for it, to make it even easier to use the LL api from a libsl bot.
There aren't a lot of secrets, you might just be talking to the wrong people. libsecondlife wasn't left in the dust with caps (in fact members of the team have been toying with it for a while now), and ESC and some large land owners are previewing the system because the current capabilities of it (no pun intended) are targeted at those people. The day when it becomes a general purpose API is still a ways off, but it's coming.
Posted by: John Hurliman | November 13, 2006 at 06:53 PM
hmmm... I remember reading about XUL/XML for customising the client some months ago. i've not been following it tho, but it certainly isnt news that LL have been working on it.
Posted by: Patch Lamington | November 13, 2006 at 08:03 PM
"There aren't a lot of secrets, you might just be talking to the wrong people."
Unless it's on the blog.secondlife.com it might as well be a secret, John. Holy shit. What are we supposed to do, constantly harrass people in IRC? Ok, guys, what's the lastest news that SL isn't putting on the blogs.secondlife.com but telling the IRC channel???? The folks in IRC are uppity enough already without having to do that shit.
Also, SL is talking secret APIs. You aren't even a member of the capability API develop rogram are you? Or if you are, certainly not everyone.
And, holy fuck, XUL is an API. Anything where you have a contract that has to be followed is pretty much the same thing as an API, though it might declaritive instead of imperative.
Stop being arrogant. The argument in this article is WHOLEY sound - that is SL is needlessly providing heavy lead time to a very select few to the detriment of the rest of the community.
Posted by: [email protected] | November 13, 2006 at 08:40 PM
The post has already been appropriately dispelled. But I will add the voice of ESC directly to this thread.
ESC does use libSL in some cases, as for Destroy TV, www.destroytv.com. We do not have any code or APIs from Linden Lab at this point for customizing the interface of the SL client, as described in John's post above, or for more in-depth changes to SL client software.
As Patch commented, these are topics that Linden Lab has stated that they have been working on for some time. ESC is certainly extremely eager for all of these developments; not only will we use them in our projects, but we are also eager to experiment, along with the rest of the SL community, with how such functionality could be used by everyone to make SL more efficient, more interesting, more flexible, etc. We are a company composed mostly of long-time SL residents, so we're as interested as anyone in how these changes can affect what all residents do in SL. ESC wants to be a company that both performs projects for other companies AND offers tools or other SL functionality that residents can choose to use, ignore, compete with, etc.
ESC (and I) FULLY support Linden Lab's firm position that all functionality they produce should be available to all users, both individuals and companies. From a business point of view, I have first hand witnessed Linden Lab refusing to go in directions that would favor major corporations who want to use SL at the expense of individual residents. I thoroughly commend them for that, and want to express that we are all fortunate that they take that stance. If Second Life is to become a major platform used by millions of people, there surely will be bumps in the road, but it will only succeed if it becomes a very open and agnostic software platform that all individuals and companies can build on top of, create software around, etc.
Linden Lab does seem to go occasionally to groups of residents or sometimes companies who use its platform to get feedback or test something new - I applaud that as a way to get focussed feadback and to improve their quality control. We would be happy to participate along with others in this way if it is useful, but ESC never seeks any exclusive relationship with Linden Lab of any kind, and I guarantee they wouldn't give it. We're all - residents and companies made of residents - better off if none of that takes place for anyone.
And by the way, I do enjoy the Herald, so have no criticism for its supurbly executed muckraking style. They are certainly very fortunate to have Linden Lab, a sometimes leaky and contradictory fountain of rumors, as a source, so I have little doubt that this rumor was accurately reported ;-) Fortunately, in this case it turns out not to be true.
Posted by: Sibley Verbeck | November 13, 2006 at 08:46 PM
ESC isn't on the capability API dev team?
Well that's hilarious, I do know that Adam Zaius is.
Posted by: [email protected] | November 13, 2006 at 09:12 PM
Oh, I see, slippery aren't you.
"We do not have any code or APIs from Linden Lab at this point for customizing the interface of the SL client, as described in John's post above, or for more in-depth changes to SL client software."
So, what code or APIs DO You have then?
I mean come on. Clinton, "I did not have sexual relations with that women" (but she gave me a damn good bj, suckers!)
Posted by: [email protected] | November 13, 2006 at 09:14 PM
Oh, I see, slippery aren't you.
"We do not have any code or APIs from Linden Lab at this point for customizing the interface of the SL client, as described in John's post above, or for more in-depth changes to SL client software."
So, what code or APIs DO You have then?
I mean come on. Clinton, "I did not have sexual relations with that women" (but she gave me a damn good bj, suckers!)
Posted by: [email protected] | November 13, 2006 at 09:14 PM
Blaze: You're trolling. ESC has no extra APIs or client mods, only what libsl and LL have made public. They just said it. Adam Zaius is a part of the caps testing, and Donovan Linden is the main guy working on it.
Posted by: Jesse Malthus | November 13, 2006 at 09:26 PM
Jesse, I'm not trolling. do you speak for ESC? If they honestly state here that they have no access to any of the cap APIs (which,really, is the whole point of this article .. certain members of SL are getting access to secret apis (eg, the capability APIs) - you're the one that is trolling.
Someone in LindenLab has foolishly advised to do these 'secret' counsel sessions and give away vital lead time on critical technologies while pissing off the community at large.
All this does is spread massive negative ill will because a lot of us simply can't compete when we're not being told the rules of the game. LL should just publish everything out there and let us know that these specs are going to be heavily changed.
They don't even need to create a forum to discuss it (though they should if they were clever), just stop with all this secretive shit and hanging out in IRC and telling their buddy buddies what's going on.
Have respect for the community - stop treating us like one big massive chump.
Posted by: [email protected] | November 13, 2006 at 09:53 PM
And to re-iterate, if ESC can honestly state here that they have no access to any unpublished APIs, then I certainly will believe them .. because they'll lose all credibility with everyone that knows otherwise.
But I do know (and you and John admitted as much) that Adam Zaius and others do have access to unpublished capability APIs.
Posted by: [email protected] | November 13, 2006 at 09:56 PM
Once again we are let down.
Once again Electric Sheep are in the... sheep s##t.
Once again Electric Sheep have trolls come out and waffle.
Does it mean anything at end of the day? Nope. Just confirms one more time that there is an unfair advantage given to Electric Sheep. SL residents get fleeced once more for electric wool.
Posted by: Robert Thronton | November 13, 2006 at 10:14 PM
Well, they can try to pull the wool over eyes but forunately the SL Herald is here to keep them in check..
Posted by: [email protected] | November 13, 2006 at 10:17 PM
Whenever these kinds of rumours and stories come out, several things seem to be going on:
1. Linden Lab itself, like the Vatican or the Kremlin, may have disagreements among its own ranks, and they either play their different FIC and SIC and MMMs (Metaversal Minions & Myrmidons) against each other, or the media, or other groups, with their different rumours to try to position their particular political position.
2. One privileged group or group in the know like the IRC channel types immediately come forth when there is an allegation like this and sullenly proclaim that in fact LL is *right* to privilege and fete. That it's ok to "preview software". But...is it? I mean...is this REALLY how it is done in RL with RL software companies? And is *this* software company allowed to indulge in this behaviour because they have a really revolutionary thingie? This aggressively loyal faction in advance justifies LL doing things like putting resident content in the library, or giving a heads up to island dealers, because they think that's the normal way to deal with elites and those in power, and they count themselves among the elites.
When LL itself disavows the practice or in fact apologies for it, we never hear any apologies from the clan that boosted LL when they thought in fact they *had* engaged in favouritism. And that lets us know there is always a significant lobby, both within LL itself (made up of privileged former residents) and within the FIC, for the act of "previewing" as John has so helpfully described it.
3. What's being said here is this, "Adam Zaius and others do have access to unpublished capability APIs." What does this mean, exactly? Why? How? To what end? What is the thinking?
I'd like to get a layman's explanation of what an API *is*. Is it a bridge to the city, or the city itself? Would the people who have the bridge be in a position to play troll or access all the stuff in the city?
And is this "previewing" stuff because this software/product is so complicated and special that only the most expert wizards of the game can fathom it? or is it just about a small company, unable to cope with the stress of such rapid growth, reaching for their old friends as a secure port in the storm, figuring they will be kind?
4. This statement also isn't entirely clear to me from Sibley, "Linden Lab does seem to go occasionally to groups of residents or sometimes companies who use its platform to get feedback or test something new - I applaud that as a way to get focussed feadback and to improve their quality control."
Is this a reference to SL Views? or to a long-acknowledged sounding-board approach that the Lindens take to various long-time residents? I noticed that in the last scandal with the island prices, Robin Linden spoke unflinchingly, with no sense of self-justification apparently, about their list of developers that were made up of long-time residents and developers (this list was *not* the "developers' director" or public developers' group).
Does this practice work, even in the view of those who favour it, to improve the product? I personally can't believe that it does.
5. *Is* anybody, whether Linden Lab or any of its pets or just anybody out there working on the problem of the crappy interface? it's really hard constantly telling newbies how to use the game screen -- it's really long overdue for an overhaul. How hard is that to do?
Posted by: Prokofy Neva | November 13, 2006 at 11:18 PM
Actually, I have a friend from Sweden, she came into SL via an API on the playahead site. This was done by the European developer Rivers Run Red. It appears, they've all been working with it for ages. I wonder what other things they have access too? Also, Playahead surname, its been around for a longtime too!
Posted by: bluesapphire | November 14, 2006 at 08:32 AM
I don't don't know much about these issues, and as usual with Herald stories I am learning more from the comments than the original articles, but I have some remedial questions.
1) Is the API something that LL has in thei posession and can give out whenever they want, or is it something that needs to be developed and or tweaked to be released?
2) If they have it and can release it (widely) why don't they?
3) If they don't have it and are developing it or tweaking it prior to release, are they bringing Sheep(e.g. Adam Zaius) or other selected dev company employees on the development/tweaking team?
4) If they are doing the latter, then what's the functional difference between that and having it and releasing it to selected groups?
Posted by: Urizenus | November 14, 2006 at 08:41 AM
The caps system is, to use Prokofy's metaphor, just another bridge to the city that is Second Life. It's supposedly a way to access Second Life data (what kinds data they're exposing is unknown to me) over HTTPS. It's still a work in progress, and LL is taking the time to work out the kinks before public release or even beta, and it makes sense that they'd offer a beta to those with the technical skills to make use of it.
Of course, this is mostly rumor and speculation, I'd talk to Donovan Linden, he's the dev working on caps.
Posted by: Jesse Malthus | November 14, 2006 at 09:24 AM
it makes sense that they'd offer a beta to those with the technical skills to make use of it.
Well, who gets to decide "who has the technical skills"? Again, I have to ask, is this rocket science of such an important and criticial form that only LL's specialest friends get to have it?
Is this like Jeska deciding who gets to be in Mentors on how clean their rapsheet is?
Posted by: Prokofy Neva | November 14, 2006 at 09:42 AM
Hmmm, look, it kind of looks like Blaze has a point here. A denial of the form: "Lindens didn't give us the API" seems a bit hollow if the truth of the matter is you are helping the Lindens develop/tweak/test the API. In a way, that gives you even *more* of a head start than if they just hand you the API complete with documentation. One also wonders what comes along with the package if one is helping to develop/tweak/test the API. Source code for example?
Posted by: Urizenus | November 14, 2006 at 09:52 AM
I also want to go back to what the source in the first story, "Clones Pwned," told the Herald:
""In yet another attack against intellectual property rights--just got word that those 'libsecondlife' people and sheep have an avatar named RON HUBBARD that creates itself as identical to the avatar next to it."
*and sheep*. So the ESC were involved in the creation and testing of Copybot?
And they did nothing to stop it? Or ameliorate it? Or influence their copy-happy buddies at libsl to stop?
Posted by: Prokofy Neva | November 14, 2006 at 05:45 PM
The Electric Sheep Company had nothing to do with the Copybot. Like you, we first heard about it after it was doing it's copybot voodoo. We didn't help in its creation or testing. Like many other residents some of us stopped by to see it first hand. The Herald article is what made me go check it out. Keep up the good work!
Posted by: Satchmo Prototype | November 14, 2006 at 08:21 PM
All these "we love the Herald" comments from the Sheep are making me paranoid. I think they are trying to reverse-psychology us. But then, maybe they want us to think that they know we know they are trying to reverse-psychology us with the result that we take it as a kind of ubergeeky smack talk. Damn. Those Sheep are clever!
Posted by: Urizenus | November 14, 2006 at 09:49 PM