Sunday, March 30, 2008

1 Prim Interface

1 prim interfaces aren't possible at this time, but has been something long wished. Basically, the idea is to just have one texture that has the whole interface, and put that on one (side of a) prim. This would save prims and would be less complex script wise.

The reason it isn't possible at the moment, is because we can't determine where is being clicked on a prim, only just that it is being clicked. Qarl Linden is working on new LSL functions that will give us the needed information, and more! Qarl talked about it on the latest Mono Office Hour. Qarl is thinking of a rough timeframe of about a month, until we can test it on the beta grid.

Colourised transcript for the parts about the new functions:
Periapse Linden: Ok, so our special guest today is Qarl.
Periapse Linden: The Linden who brought you sculpties
Periapse Linden: He's back with a great new idea he'd like to get feedback on.

Qarl Linden: so i have to give credit where it's due -
Qarl Linden: Seifert originally asked for this feature a year ago.
Qarl Linden: i got sidetracked and didn't get to it 'til now.
Qarl Linden:

Seifert Surface: i think people have been asking for it from waaay back in the day

Qarl Linden: yeah, true.

Vincent Nacon: yeah I've been wondering how that will work

Qarl Linden: what we've got here is the ability to get more information about touch events.

Vincent Nacon: by polygon?

Qarl Linden: you get to know where on the surface, and where in world the touch occurs.
Qarl Linden: you get the face number as well.

Vincent Nacon: err... how many faces are there?

Qarl Linden: it's continually updated as the mouse is held down - so you can implement dragging.
Qarl Linden: 6 faces on a cube - etc.

Seifert Surface: vincent: faces as in faces on a prim

Chance Abattoir: Where on the surface, that's rad!

Seifert Surface: 1 face on a default torus

Qarl Linden: and the POSITION, as well.

Vincent Nacon: oh was thinking about sculpty part

Mbrb Rau: If our AV was a prim it's probably a sculptie.

Qarl Linden: texture coordinates, etc.

Mbrb Rau: and uses llTakeControls

Qarl Linden: right now we're asking for feedback - make sure we don't miss anything important.

Seifert Surface: presumably if we ever get 2 sided planar sculpties, theyd have 2 faces

Qarl Linden: presumably. :P

Seifert Surface: :P

Vincent Nacon: wait... didn't we already have something like that
Vincent Nacon: the drag I think

Qarl Linden: there's a similar call: llDetectedGrab().

Vincent Nacon: yeah

Qarl Linden: but it's not so good for a variety of reasons...

Vincent Nacon: yeah, tried to make a joystick imput by using that
Vincent Nacon: input*

Qarl Linden: it reports movement relative to the camera position...

Vincent Nacon: yeah

Qarl Linden: not so useful.

Vincent Nacon: it was neat at first but meh

Qarl Linden: now you'll be able to put an entire GUI into a texture, and determine with the position info which button was clicked.
Qarl Linden: chess boards, for instance - won't need 64 prims.

Seifert Surface: the continual updating works with the touch event firing lots right?

Siann Beck: That's awesome. A lot of vendors can be re-designed.

Qarl Linden: exactly.

Vincent Nacon: so... if we're going to have touch_position on surface, what does it means for html-on-prim?

Seifert Surface: right

Mbrb Rau: 1 prim vendors...

Qarl Linden: yes - that's one of the motivations for this work -
Qarl Linden: so that prim web browsing will be easier for us to implement.

Vincent Nacon: yeah, figured
Vincent Nacon: well that's good, hope it won't be much of a problem with flash

Rex Cronon: could it be possible for a script to load a notecard that has html code on a specific face?

Qarl Linden: flash is hard because mozilla has a truly horrible plugin interface.

Vincent Nacon: now that's a thought

Qarl Linden: we're looking at webkit and others for that...
Qarl Linden: maybe notecard->html ... but that's not REALLY useful...

Vincent Nacon: so how the position will work? gobally or local?

Seifert Surface: rex: really you want to be able to alter the webpage on the fly from a script

Qarl Linden: only if you can't get your own webpage.

Seifert Surface: say for a scoreboard or something

Qarl Linden: yes. exactly.
Qarl Linden: but you can do a LOT by passing parameters to a webpage in the URL.

Rex Cronon: i want to have display that is not connect to a web page

Vincent Nacon: and for non-flat surface... how will that set the local position? based on UV map maybe?

Seifert Surface: html file in a string?

Qarl Linden: i've seen an example where HTML is in the parameter...
Qarl Linden: yes - it's the UV map.

Vincent Nacon: ah ok perfect

Chance Abattoir: When will this script go into testing?
Chance Abattoir: function

Qarl Linden: soon - i've got the implementation finished - just a couple more tweaks.
Qarl Linden: a month timeframe, i think.
Qarl Linden: but no promises.

Vincent Nacon: oh about the touch position.... how will you set the unit

Qarl Linden: for llDetectedTouchPos() - the units are region coordinates.
Qarl Linden: for llDetectedTouchUV() - the units are 0 to 1, in UV space.

Vincent Nacon: yeah... for UV one I mean

Qarl Linden: we're also adding a function to return the TEXTURE coordinates...
Qarl Linden: its units will depend on how many repeats are in the texture.

Seifert Surface: i was just reading that bit on the wiki qarl
Seifert Surface: seems useful.

Qarl Linden: yeah - there's been a bit of discussion about it.

Seifert Surface: err, jira i mean

Qarl Linden: clicking on a moving monkey.
Qarl Linden: again - it's a case where it could be implemented by a resident-written function...
Qarl Linden: but it's so useful, we kinda have to put it in.

Seifert Surface: interactions with texture animation?

Qarl Linden: Seifert - yes - that's an important factor. the new call will properly get the texture coordinate from an animating texture.

Seifert Surface: whats the precision like on the returned data from the new functions? presumably its at pixel size?

Qarl Linden: it will be pixel level, yes.
Qarl Linden: we're using a raycast to compute the values.

Seifert Surface: so zoom in closer and you get better numbers

Qarl Linden: yes, because the mouse position is quantized...

Seifert Surface: good thing uv coords are floats

Periapse Linden: We aren't adding functions yet that are Mono only

Simil Miles: Except the touch thing ?

Qarl Linden: no no - the touch stuff is in old LSL.

Tuesday, March 25, 2008

Slovenian national TV enters Second Life

"Moj Splet", the largest portal in Slovenia with its own online community, is run by MMC, the multimedia department of RTV Slovenija, Slovenia's national TV. It's only appropriate that very large online communities everywhere "make the jump" (so to speak) into Second Life — and this has happened today.

The interesting bit is that this is not "just another media splash project" in Second Life. The consultants for MMC/RTV Slovenija, Artesia, are long-time experts in developing online communities profesionally. Both IYan Writer and iAlja Writer know fully well how to funnel people to get together online — and they know very well how to do the same in Second Life. So this is one of those projects "done right". Granted, a working knowledge of Slovenian might be helpful to visit the events on MMC island, but all information there is bilingual (Slovenians tend to read, write, and speak English fluently). Gadgets abound, but it's the island as a gathering place, where residents will work with the MMC technicians to build together some of the event spaces, which will catch people's attention. In fact, Artesia is employing "crowdsourcing" on this project as well — involving the vibrant online community of "Moj Splet" in building things together in Second Life.

Users from the "Moj Splet" portal can even 'pair' their Second Life avatars with their "Moj Splet" account names. There is a fantastic HUD which allows that pretty easily. The HUD is also available in English for non-registered users and will still work, allowing cool things like staying in touch with the event list at MMC Island, a timezone converter (useful when the US and Europe cannot agree on daylight savings!), and a L$-to-Euro conversion tool.

Official press release available here.

Friday, March 21, 2008

Philip voted out?

I was reading a old interview of Philip Rosedale on and saw the following:
Philip Rosedale: We also use anonymous spot surveys for a lot of stuff. So I send out surveys saying, like, "Should we get rid of me as CEO?" Or I send out several options: "We should get a new CEO: now; when we have 200 people; when we have 500 people; never."

There were some nevers. I think people didn't figure I was good for a thousand-person company. I actually think I am, but I'd be fine not doing it, either.
That shines a bit of a different light on his stepping down as a CEO. Has he simple been voted out internally, and how fine is he really with it? Of course he could have simple changed his mind, the interview is over a year old. But it is fun to speculate.

Thursday, March 20, 2008

Opening of the International Justice Center Today

IJC launch logo

The International Justice Center, a virtual clearinghouse for public education and action in support of the International Criminal Court (ICC) and related human rights concerns. Based both on the web and in the virtual world of Second Life, the International Justice Center will host news, information and live events in support of the ICC.

Today they will be hosting a series of events as part of our official launch, featuring an address by the Prosecutor of the International Criminal Court, Mr. Luis Moreno-Ocampo. After an introduction by Mr. Lloyd Axworthy, the former foreign minister of Canada, the prosecutor will appear "in-world" in avatar form to address the virtual audience, followed by a Question and Answer period.

Schedule of Events

  • 3:00-4:00 PM EST: In-world remarks and Q&A with ICC prosecutor Luis Moreno-Ocampo. Mr. Lloyd Axworthy, former foreign minister of Canada, will introduce the Prosecutor.
  • 4:30-6:00 PM: Panel discussion by major human rights officials on the topic of “The Emerging International Justice System”. Featuring :
    • Jonathan Fanton (President, MacArthur Foundation)
    • Moderator: Lloyd Axworthy (President, University of Winnipeg)
    • Louise Arbour (United Nations High Commissioner for Human Rights)
    • Francis Deng (United Nations Special Adviser for Prevention of Genocide and Mass Atrocities)
    • Juan Mendes (Director, International Center for Transitional Justice)
    • Allan Rock, Former Canadian Ambassador to the United Nations
    • Kenneth Roth (Executive Director, Human Rights Watch)
    • Luis Moreno-Ocampo (Prosecutor, International Criminal Court)
  • 9:00-9:40PM: Award ceremony and keynote address by Mr. Kofi Annan

How to Participate
  • Via Second Life: Teleport to the International Justice Center, on the Justice Commons sim at this link
  • Via the Web: Click on this link to view on the web live.
  • Via the Web: streamed video during the event.
  • Via Sign up here and attend the event at the stage zone.
  • Via Whyville: you can attend the event live in the Greek Theater.

You can read more about the event and the International Justice Center on their website,