SL/HTML – Merging the Old 2D World with the New 3D World

On a second stage (according to Linden Lab®), HTML may be directly drawn on top of a prim face. This would mean, for starters, a way to get outside information on top of a 3D world. Older platforms already allow for this usage of HTML. Things like proper text management on top of a prim are finally possible – books, slide-show presenters, scoreboards, even clothes vendors, will be able to get away with textures for writing text, and use HTML-rendered text instead.

The third stage is full integration. Prims with HTML pages (and LL is still thinking on how this will happen) will be point-and-click browseable. Neither we nor Linden Lab have yet figured out how exactly this will be implemented. Apparently, Second Life has the ability to define with a certain degree of precision where exactly – pixel-wise – you can point your mouse and click. Unfortunately, due to the mechanisms at the renderer level, this kind of interaction is not “visible” at the Linden Scripting Language level. This means that eventually the system may “know” where you are clicking, but you only get told which prim you’ve clicked. Being able to click on part of a prim is what you need to have a clickable browser, fully able to reply to hyperlinked text. And, of course, a way to fill forms (on a prim?) will need to be thought out as well.

The technology is not too hard. After all, it’s not if Linden Lab is developing everything from scratch. They’re simply integrating Mozilla technology – open source code that came from the Netscape days and is currently being used on the Firefox browser, Internet Explorer’s most direct competitor (although with perhaps only 5% users). Gecko, the Mozilla rendering engine, will be part of the Second Life browser. You can think of that as a “plug-in for Second Life” – so, besides streaming 3D content, your “Mozilla plug-in” will be able to deal with hyperlinked 2D content as well. We’ll explore this model in a bit.

| ← Previous | | | Next → |
%d bloggers like this: