by Simon Email

I recently got interested in SecondLife through a client.

There's no official SDK for the system so some people have hacked the message protocol and produced a library to build alternative viewers and other applications - this is called LibSecondlife.

Unfortunately LibSecondLife is written in C sharp.

I don't run Windows stuff, and prefer to use Java, so I did a port of most of the code to Java.

I'm not particularly keen on the code - the abstractions aren't clear, and the code is highly coupled (everything refers to everything else).

I guess this is partly a result of how the code was developed - in an experimental way by severa l people.

Since I did the initial port several things have happened:

* the original libsecondlife code has continued to change
* Linden Labs the developers of SecondLife have started to move towards a different protocol (XML-RPC) for some calls
* Linden Labs have open sourced their viewer program - which (in theory) disambiguates the message protocol, provides some possibly usable code for other projects, and can possibly be used to produce some kind of SDK or plugin framework

My dilemma about LibSecondLife-Java is whether to continue to try to track LibSecondLife - give my misgivings about the code.

Is there value in this?

Or would it be better to strike off in a new direction with a better architected version of the library?

Or would it be better to leave the library and pursue other avenues - such as a plugin architecture for the viewer?