Summary of meeting with Jeff Linden on the SL Maps API

Jeff Linden on the ‘old’ Linden Lab SL Maps API

In my opinion, we deployed it before we were really ready to scale it. The way it works is kinda awkward, as anyone who’s tried to hack it up can see.

I think, that what we really should be doing, is just giving out a sim image web service, a name to co-ordinate web service, and let Residents do with it what they will.

The SLOpenID SL Maps API

Jeff Linden on the SLOpenID SL Maps API

Well, I think you did pretty good, certainly a better improvement on the API than we did. In any case, I think for the future of the webmap, we’re in pretty much agreement.

SignpostMarv Martin on the SLOpenID SL Maps API

We’re grabbing the sim maps from the 1:1 scale images that the Linden Lab API spits out, then shrinking and compositing them ourselves for the higher levels.

The 1:1 region images are addressed much clearer- ahern.jpeg vs 997-277-1-0 and 992-1023 992-1023.jpeg vs 31-8-6-0 for example. (in SLOpenID’s higher zoom level example, the first two numbers represent the vertical range of grid co-ordinates, and the second set represent the horizontal range of grid co-ordinates- making it easier to figure out what regions are included in any zoomed out texture).

Jeff Linden on the future Linden Lab SL Maps API

Your API does pretty much everything we want in a future API, but in any case we need to solve our back-end problem first- which is “deliver the sim images in a better way“. I’m actually talking about more than just the API. the way we currently generate these images, it’s painful and delicate.

We only have access to jpeg2000 versions. So we regenerate them into jpgs and stick them in a central db. Then each webserver caches locally.

We only use them internally as jpeg2000 because of the world map in the Second Life Viewer. One developer’s finishing up changes to the in-world map image generator, to spit out both j2k and jpg versions.

Unfortunately, the webmap is not one of our top fires. Though it’s pretty high on our list.

I had jokingly offered Jeff the source code for the SLOpenID API, but as he’s said, there’s a lot of work to do before Linden Lab are ready for an upgrade.

The Viewer world map

SignpostMarv Martin on the world map

Here’s a suggestion: Get rid of the j2k version altogether, replace the world map and mini map with uBrowser. Then the load on grid servers will be instantly lifted. the other suggestion of course would be to add JPEG support into the client

Most of the metadata displayed on the world map is already available on the web. If all the data that the world map uses is available as a web service, then the Viewer can have a field that lets the end-user use a LL or Resident-made solution. Either that, or add greasemonkey support to the in-world browser. I’m sure Cristiano would love the in-world map to have a Snapzilla option.

Jeff Linden on the world map

Using uBrowser for the world map would be easier said than done. As long as we finish that one piece of work that will generate jpg map images. Then it’s just a simple matter of finding a place to cache and a lightweight web service.

It may not be too much work, actually- but I’m not the dev working on the uBrowser. However, the viewer is open source now- anything is possible there, right?


  1. Jeff Linden said,

    April 14, 2007 at 2:09 am

    By the way, when I say “the future of the webmap”, I think we are in agreement that the current way is very hard to work with, and that we need to give Residents a better way to construct their own maps. Beyond that, I don’t think we’re 100% sure exactly what form it will take. I think we’ll be investigating the webservice + google Maps API mashup approach.

    I’ve definitely been pretty impressed by the work you’ve done on your own version of the map. It’s Resident-made projects like this that make me very inspired.

  2. April 14, 2007 at 9:53 am

    I love the idea of integrating 3rd party services into the map such as snapzilla. I can just see tagging showing up as well.

%d bloggers like this: