Text on a Prim auf OpenSimulator

In diesem Kurzvideo zeigt Torrid Luna, wie man in OpenSimulator Text auf einem Prim darstellt.


Ich vermute, es handelt sich hier um eine eigene Lösung, indem der Text per HTTP an einen Web-Server geschickt wird, welcher wiederrum aus dem Text ein Image macht und dies dem OpenSimulator bereitstellt. Wenn ich mir solche Features eigentlich als integrierte Lösungen der Plattform wünsche, egal ob Second Life oder Open Simulator, verblüfft hier die Geschwindigkeit, da es ja eigentlich eine „Workaround-Lösung“ ist. Die Vorteile gegenüber Second Life sind eindeutig: solche Lösungen sind noch einfacher zu realisieren, da OpenSimulator noch offener als die Second Life Plattform ist.

Hier mein persönlicher Wunsch an die OpenSimulator OpenSource Gemeinde: Implementiert doch mal die HTML Gecko-Engine aus dem Firefox als „Plugin“ in den OpenSimulator, sodass viele kleine ECHTE Browserinstanzen des Firefoxes auf Primoberflächen laufen. Meiner Meinung wäre das der absolute Oberhammer.

Das wäre dann ein echtes HTML on a Prim, ohne Image-Workaround. Ich stelle mir das so vor, dass eine echte Browserinstanz auf einem Prim läuft, eben wir ein Tab im jetzigen Browser nur eben auf einem Prim. Der Vorteil wäre, dass ich für die geölffnete Information (Webseite) zur Orientierung für die Ortung der Information noch eine räumliche dritte Koordinate im Raum habe. Dies würde plötzlich sehr viel Ordnung auf meinem Desktop schaffen. Wenn ich dann einen OpenSimulator-Raum noch als multifunktionalen Kommunikationsraum nutzen kann mit HTML, Twitter, Telefon, usw. dann habe ich endlich den 3D-Desktop, den ich mir wünsche. Microsoft ade ….

Über Andreas Mertens

Andreas Mertens aka Patrick Wunderland (SL) ist Initiator von avameo und schreibt seit 2006 für diesen Blog.

Kommentare

  1. Torrid Luna says:

    Genauso habe ich es gemacht, Text per CGI zum Server und dort als Bild gerendert.
    Dein Vorschlag, den Mozilla in den Server einzubauen, ist wirklich genial. Wenn da noch Flash drauf läuft, hätte man auf einen Schlag eine ganze Palette an Collaborationtools in-world.
    Ja, ich träume auch vom virtuellen Büro… ;-)

  2. Kai Ludwig says:

    OpenSimulator bietet einige zusätzliche Funktionen gegenüber LSL. Diese beginnen statt mit „ll“ einfach mit „os“.

    Liste: http://opensimulator.org/wiki/OSSL_Implemented

    Mit osSetDynamicTextureURL() verpasst man einem Object z. B. eine Textur, die dynamisch aus dem Internet geladen wird. In Verbindung mit einem durch das Prim ausgelösten http-request auf ein CGI, das ein www->image rendering betreibt, lässt sich dann das Ergebnis als HTML on a PRIM darstellen.

    Leider lässt wohl die echte Browserintgration noch etwas auf sich warten, da sie momentan nicht im Fokus der OpenSimulator-Entwickler liegt. Man könnte hier aber auch selber tätig werden, das „Finite Manpower Problem“ verhindert dies im Moment zumindest beim TalentRaspel-Team.

    Wir haben in unserem alten ReferenzGrid da aber ein paar Sachen gemacht, die ich dann gerne als Showcase ins OpenSimulator-Club-Grid rübernehme.

    Mit osSetDynamicTextureData() kann man übrigens auch ohne den Umweg über http->cgi->image->prim direkt in eine Textur schreiben und diese auf ein Prim packen.

    @Torrid: Einladung! Lust im OpenSimulator-Club mit anzupacken und dem 3D-Internet Schwung zu verpassen. Wir bräuchten da ein virtueles Büro …

  3. @Kai Schade das dieses Feature nicht im Fokus der OpenSimulator Entwicklungs-Community ist. Ich bin der Überzeugung, dass dieses Feature ein absoluter Knaller wäre !

  4. Kai Ludwig says:

    100% agreed !!!

    Vor allem, da ja bereits die ganze Funktionalität zum Erkennen von der genauen Klick-On-Prim-Position vorhanden ist.

    Konzeptionell müsste man an genau dieser Stelle eingreifen, dann die Gecko Engine in den C# Kontext des OpenSimulator einbinden und das Ergebnis über den bereits vorhandenen dynamischen Texturmechanismus aufs Prim bringen. Das gibt dann sogar klick-interaktives browsen.

    Ich denk mal drüber nach … lass aber den Verzettelungsschutz aktiviert.

  5. @kai Ich bin überzeugt, dass dieses Feature einschlagen könnte. Ich glaube aber auch, dass es wahrscheinlich nicht ganz so einfach zu implementieren ist (der graphische rendering teil), da man ja auch die volle Funktionalität haben möchte (scrollen etc). Auf jeden Fall kann das Linden Lab noch nicht.

    Bei den vielen Browserfrenstern die ich aufhabe, würde ich mir sofort einen virtuellen Raum einrichten, bei dem ich zum Beispiel vorne die Börsenkurse habe, hinter mir die Blogs, rechts von mir die Twitterpannels, links von mir die Developmentseiten und über mir die Seiten mit den Social Netzworks, …. Du merkst worauf ich hinaus will? Auf die zusätzliche Strukturierung von Information im 3D-Raum relativ von meiner Avatarposition, oder relativ zu einem Zentrum (Mitte eines Raumes)….

    LG, Andreas

  6. Torrid Luna says:

    @amertens: Den Browser für alle Display-Elemente zu nehmen, halte ich für keine gute Idee, da wird ja auf dem Server (der womöglich 8 Sims bedient) jedesmal ein Tab verbraucht. Daher meine einfache Lösung mit einer statischen Textur.
    @Kai: Danke für den osSetDynamicTextureData()- Tipp, leider funktionieren die libGDI-Funktionen auf unserem Grid noch nicht. Aber das werde ich auf jeden Fall weiterverfolgen.
    Und natürlich vielen Dank für die Einladung in Euren Opensimulator-Club, das nehme ich gerne an! :-)

    Cheers,
    Torrid

  7. @Torrid Luna

    Das mit dem Server pro Browser-Tab habe ich nicht verstanden !?

  8. Torrid Luna says:

    Naja, der Vorteil an der jetzigen Mozilla-Installation ist ja, dass die Sessions beim User laufen, also die Last auf die Clients abgewälzt wird. Wenn man das auf den Server legt, der vermutlich sogar mehrere Sims hosted, konzentriert sich die gesamte Last dort. Aus Admin-Sicht würde ich lieber einen Google Chrome an der Stelle sehen, bei dem die einzelnen Tabs als eigenständige Prozesse laufen. Ausserdem rennen die Sessions mehrerer User gleichzeitig, ein interessantes Sicherheitsproblem… Aber da greife ich wohl ein bischen vor. ;-)

  9. @Torrid Luna: Hmmmm, die Frage ist, ob man nicht auch in der 3D-Lösung an den Client abwälzen kann. Das rendering muss ja eh lokal passieren.

    Bzgl. der Tabs, würde ich mich auch gar nicht so an dem 2D-Browser orientieren. Die Tabs empfinde ich im Moment als Krücke, weil wir die Informationen nicht alle unterbekommen. Ein Tab in dem Momentanen 2D-Browser entspräche dann einer Primfläche mit einem HTML obendrauf.

    Die Frage ist, ob man, wie schon gesagt, nicht eine Art Gecko oder Chrome-Plugin für den HippoViewer bauen könnte und einer Extension auf der OpenSimulator-Seite ….

    Dann könnte man auch den Load wieder – zumindest teilweise – auf die Clients verlagern.

    Als sehr anspruchsvoll erscheint mir hier auch die Integration so, dass Avatar A mit anschauen kann, auf welcher Webseite Avatar B gerade surft. Das würde dann auch wieder einem „Desktop-Sharing“ gleich kommen, über dass man dann Support-Prozesse abwickeln kann, nach dem Motto: „Sehen Sie, das ist die Weboberfläche“, „dann klicken Sie hier“, „Sie bestätigen nun mit blah blah blah und nun brauchen Sie nur noch auf diesen Knopf drücken …“

Ihre Meinung ist uns wichtig

*