Monday, February 26, 2007
What's Missing from Second Life?
The virtual stores are empty. The design simulations are kludgy and represent the ultimate exercise in pointless boredom for users who want to indulge their ultimate fantasies, not decide between olive green and stainless steel for a new refrigerator.InformationWeek, Feb 24, 2007
In an earlier post, I tried to fit the content-structure-layout-behavior Web design paradigm onto the Second Life world. Now, I'm not so sure that's the way to think about it.
- Ownership
- Location in x-y-z space within the SL grid.
- Outline of object in 3D space
- Texture and lighting
- Scripted behaviors
On the front-end, access to this object is limited to registered users of a custom browser, i.e. the Second Life client. You can't fetch an object to display within the context of a Web page or an environment outside of Second Life. Instead, you have to log in, create your avatar, and then navigate to a proximate area to a given position in x-y-z space in order to interact with any given object. Making this slightly easier, Second Life does have a Webmap API that can display maps within a webpage, or spawn the Second Life client to go to a specific point.
Imagine a command-line interface for Second Life.
% login as ivan
You are logged in as Ivan
% move to SLPoint('ahern',128,128)
You are there.
% look around
You can see the following object(s):
# X Y Z Name Appearance Actions permitted
1 100 200 0 touch-me box {Color}R:255;G:0,B:0 [touch]
2 200 600 20 Wilma Furry Female, Furry [more] [chat]
...
% touch object 1
Object 1 (touch-me box) has changed Appearance {Color} to R:0;G:0;B:255.
% say "Hi" to 2
Chat initiated with Wilma Furry.
CHAT: ivan says "Hi"
%
CHAT: Wilma Furry says "hello"
%
Doesn't have quite the same curb appeal as the visual version, but it's pretty much the same idea.
Now, imagine that you could query the Second Life object database without having to use the graphical front end.
/* Find me all of the people in SL who knit */
SELECT username
FROM users a
WHERE "knitting" IN a.hobbies;
/* what are the locations of the tallest objects in Second Life */
SELECT x, y, z
FROM SL_object IN
SELECT max(z_top - z_bottom)
FROM SL_object;
Here's another question: what would a search engine spider look like in Second Life? Through the standard interface, there's no such thing as an invisible visitor. It would have to be something like a flying pig that runs a Zamboni pattern around the rink, navigating into structures as necessary to take snapshots of everything it sees. Alternatively, the flying pig could start at known sites and operate by certain heuristics, such as teleporting to each event or following people around. These approaches have obvious limitations compared to the ability to poll the database directly.
Considering these thought experiments, here are the capabilities I'd like to see in Second Life:
- API to load any Second Life object through a standard Web page (preferably flash).
- Navigation and content accessible through a text-based, screenreader-enabled interface.
- Browser integration with Second Life worlds
- Search engine readiness for Second Life worlds
- Second life visualizations of non-SL activity
- Versioning of SL objects
- Runtime, server-side compilation of SL objects based on visitor properties, i.e. PHP for SL
- Separation of object access from presence
We should have a Web where all sites can be viewed as simply structured text; as layout-driven text using CSS; with smoothly-functioning interfaces using JavaScript, AJAX, Flex, or other frameworks; and as a 3-D visualization.
Use case:
- User conducts a search for "hotels in San Francisco near Moscone Center on 14-18 April"
- System responds with a list of hotels, addresses and price ranges.
- User clicks on "view on city map"
- System spawns SL client with a a map of San Francisco highlighting hotels.
- User does a fly-by, sees that hotel #1 has great views from the 5th floor up, and that hotel #2 would require a walk up a steep hill.
- Back in browser, user clicks on "Show rooms for hotel #1."
- System refreshes SL client with roofless cutaways of the available rooms, laid out in a row.
- User flies over each room, decides on one with the ideal configuration, does a brief walkaround, and presses the "make reservation" button.
Labels: second life, visualization
Subscribe to Posts [Atom]
