Teen Grid
This month, Blue Linden and I sat down with Katharine Berry, the Teen Second Life creator of AjaxLife, the Ajax-based SL client. The transcript of that interview follows with minor edits for clarity.
Blue Linden: So I've seen numerous articles on Ajax Life. Did you think you'd get so much attention?
Katharine Berry: Not at all-didn't expect any. And it wasn't designed for a couple thousand people to use it, most of whom are doing so while at work.
Blue Linden: Hehe, sounds like early SL itself. Were you aware that AjaxLife was the first "thin client" of its kind?
Katharine Berry: Depends on your definition. People seem to be ignoring SLeek.
Blue Linden: SLeek is not web-based, is it?
Katharine Berry: No.
Blue Linden: But yes, I don't recall hearing SLeek mentioned in the articles I've read about your work. Do you think they would be in competition if you had expanded support for more users?
Iridium Linden: How would you describe AjaxLife, Katharine, for all those unfamiliar with it?
Katharine Berry: I'd describe it as "A web-based client for using SL when you really shouldn't," which is what it was made for. More usefully, I would describe it as a web-based Second Life client that requires minimal resources. I know someone who uses it on their Windows 95 laptop.
Blue Linden: Nice. Would SL run on 95? I'm not sure.
Katharine Berry: 2000 or XP. 95 sort of lacks things.
Blue Linden: You'll own the antique machine market.
Katharine Berry: Like graphics cards with more than 2MB of memory.
Blue Linden: Haha. Well, you had mentioned in your New World Notes interview that you were planning additional features. What do you think is next?
Katharine Berry: One of them appeared earlier today.
Blue Linden: Ah, really? That's cool.
Katharine Berry: http://blog.katharineberry.co.uk/wp-content/uploads/2007/07/picture-31.png
Blue Linden: Nice profile pic. I'm not a tech-minded person, so I wouldn't understand even if you told me, but what kind of additional load on resources are new features like this one?
Katharine Berry: None.
Blue Linden: At the moment AjaxLife is very, very light.
Katharine Berry: These things won't increase load anywhere. For a while, I had those green markers showing where everyone was, which is fine with a concurrency of about 300 but would make your browser implode at 48,000.
Blue Linden: *Nods*. That could be fun.
Katharine Berry: So I disabled it when it appeared on the MG.
Blue Linden: Ah, right.
Katharine Berry: I had to make my own Map API to get the map working too. Along the lines of Alpha's, but actually working, and it shows both grids at once.
Blue Linden: Very cool. I remember Alpha's being a bit of a first-time creation itself.
Katharine Berry: Oh, that reminds me. Your map API dumped IE support. Mine still has it. I win.
Blue Linden: lol
Iridium Linden: Kath, how long did it take you to get AjaxLife up and running?
Katharine Berry: A weekend.
Iridium Linden: And can you tell us about the innards?
Katharine Berry: Two days of not really doing anything else, then a week in which I failed to do anything at all.
Blue Linden: Oh, no ... not that.
Iridium Linden: lol
Katharine Berry: Um. Apart from being badly hacked together ...
Iridium Linden: How 'bout this then... which component are you most proud of?
Katharine Berry: Last time someone asked that question I spent half an hour writing a page-long answer.
Iridium Linden: Fair enough.
Katharine Berry: Um, the fact that it works at all, really. It's hard to split the parts. I'd say the map though because it required the most tweaking to not break.
Blue Linden: hehe
Iridium Linden: How's that?
Katharine Berry: Your map API is very inflexible. Whenever someone resizes the window I have to destroy the map and recreate it. Then place all the markers back on it. Any crashed sims have a translucent red marker placed on them to simulate the effect in the client, which has to be redone if you resize the map.
Iridium Linden: Sounds intense.
Blue Linden: I see.
Katharine Berry: Plus, just getting the TG map images.
Blue Linden: Unlike, say the Google map API?
Katharine Berry: I think that one probably explodes dramatically too.
Blue Linden: Haha. I'll keep my cell phone away from my heart then.
Katharine Berry: I noticed that your new Map API uses Google.
Blue Linden: Ah ... didn't know that.
Katharine Berry: It says "Powered by Google" in the corner of the map.
Blue Linden: pwnd!
Iridium Linden: Do you intend to expand this project?
Katharine Berry: Well, I don't intend for it to ever have actual graphics, although I have been toying with the idea of rendering a minimap-style thing.
Iridium Linden: Really?
Katharine Berry: Although that would definitely be disabled by default. Rendering things is instantly slower and probably wouldn't work on my Wii, which is another major design criterion—must work on games consoles.
Blue Linden: Ah ... right. That kind of works with my next question, which is, are you planning on making it primarily for a teen demographic (consoles being one way to do that)? You had mentioned that it was something you made to communicate with friends.
Katharine Berry: It shouldn't ever matter. But I will prioritize things I care about. Being a teen, this would move it towards a teen demographic, in theory.
Iridium Linden: Ah, but when you're forced to leave TG for MG ...
Katharine Berry: In two and a half years. Katharine Berry doesn't think that far ahead yet.
Blue Linden: Along teen lines, I was wondering how you felt about the press you've gotten ... when they point out "a teen did this." I know some teens would see that as a bit specious.
Katharine Berry: It's more like "A teen (apparently)."
Blue Linden: Lol, right
Katharine Berry: I don't really mind. One of my friends was annoyed when Hamlet put "And a child shall lead us," but I don't mind at all.
Iridium Linden: Katharine, if there was one message you could put out there about AjaxLife, what would it be? What do you want people to know?
Katharine Berry: "Stop crashing my server!"
Blue Linden: lol
Iridium Linden: lmao
Katharine Berry: I do provide the code, and precompiled binaries.
Blue Linden: A message for the ages.
Katharine Berry: So they can run their own servers (http://code.google.com/p/ajaxlife/ ). Actually, I'm currently trying to get it running with the new LibSL, in which assorted things moved around. The current build refuses to download textures.
Iridium Linden: Any workarounds for that?
Katharine Berry: Work out what I'm doing wrong. I need to figure out what to do about texture downloading though since there's no way to force a browser to comply with permissions, since they're an entirely artificial construct. Once I show the picture, people can use "save as," etc. to nab a copy, regardless of permissions. So I'm not sure what to do about that yet.
Iridium Linden: Well, if a teen had a suggestion, would they contact you inworld?
Katharine Berry: I'd suggest they contact me. I suspect they wouldn't. I get lots of odd spam about it though. "R u teh gril hu maeks the nice webs?"
Iridium Linden: Lol, well, thanks so much for taking the time to talk to us today.
Blue Linden: Definitely, thanks Kat :)
Katharine Berry: Good luck making a printable interview out of my gibberish. And fix your map API to work in IE! The version at http://services.katharineberry.co.uk/mapapi/llmapapi.js seems to work, incidentally.
Blue Linden: JIRA.
Katharine Berry: I tweaked how it lists the sims. IE apparently crashes due to long lines.
Blue Linden: Holy cow, that's a lotta text.
Katharine Berry: About a megabyte. Almost all of which is sim names. Scroll down.
Iridium Linden: Jeez, Kath. That's awesome.
Katharine Berry: Yours uses a bizarre and over complex means of listing the sims, and does so on a single very long line. It's just a slightly altered version of your own, updated daily at midnight.
Katharine Berry: http://services.katharineberry.co.uk/mapapi/ is the TG version, which doesn't support the MG. But http://services.katharineberry.co.uk/mapapi/multigrid/ does both at once.
Blue Linden: Wow ... lots and lots of code, lol.
Katharine Berry: Most of that code is your own. I have a bunch of code to make your code work. Like "The stupid SL coord hack," as your newer code describes it: 1279 + 1 - y. Why on earth does it need that? Anyway, nothing to add, really.
Iridium Linden: Well, thanks again. You've been great. And we wish you the very best of luck.
Blue Linden: Yep, thanks again Kat ... much appreciated
For more information about Katharine Berry, visit her blog.
Outstanding EDU Spots
- MIT Media Lab - the Meeting Room
- Sloodle Dev library and classroom
- @Lab Gallery
- Globe Theatre on Renaissance Island
-
The Sistine Chapel Recreation, Vassar College
Romantic Spots:
Second Life has an amazing selection of exotic, romantic locations to explore. The Lost Gardens of Apollo, owned by Dane Xander, offers lush waterfront views, cozy seating, secluded campfires with relaxing poses, and trails to walk with that special someone. The unique architecture and vibrantly colorful foliage make this location great for taking couple pictures.
Wander through The Rain Forest and the adjoining region Nantli Xolal, owned by Selena Gateaux. Climb the Aztec pyramid or wander down color laden forest paths to the hidden nooks for cuddling and relaxing. Find a tree-house or sit by the campfires with your sweetie. Explore waterfalls, gigantic flower hide-aways, and other gorgeous settings. These destinations allow you and your partner to fully experience the scenic beauty of Second Life.
Get the Second Opinion!
Visit this in-world kiosk to grab it and sign up for automatic in-world delivery of upcoming issues!


