Posts mit dem Label weblin werden angezeigt. Alle Posts anzeigen
Posts mit dem Label weblin werden angezeigt. Alle Posts anzeigen

31. Januar 2022

Raph Koster’s Future of Online Worlds Applied to weblin.io

Raph Koster talked about the steep path to a unified metaverse. He raises many interesting points that address key points of weblin.io's architecture and design principles. 

A virtual discussion.

At the 2nd Annual GamesBeat Summit: Into the Metaverse 2 Raph Koster gave a speech about the future of the metaverse, about connecting virtual worlds, and about the steep path to a unified metaverse. He raises many interesting points.

The weblin.io project regards the web as a metaverse, if not the starting point for "The Metaverse". I would like to review the speech and comment the central messages with respect to weblin.io and the web metaverse. In other words: how they apply to the web as a metaverse.

Raph Koster talks about a high tech metaverse with 3D, AR, VR running on advance engines. Even beyond the engine, these worlds need sophisticated coding and modelling. Contrast that with the web metaverse which runs on a browser engine. This conventional approach makes things easier. The web metaverse gets away with much less complexity which creates lower barriers for interoperability. It turns out: things are much easier. We are lucky.

It is very interesting to apply the central messages of the talk to weblin.io because they address important features, the architecture, and design principles. Let's discuss:

Raph says: "The idea of taking multiple online worlds and cross connecting them with basically hyperlink connections, and […] hop freely between them with one client"

weblin.io comments: With weblin.io we are hopping freely between spaces with one client. The spaces being web sites, the one client being a web browser and freely hopping means clicking a web link. It's not 3D, no virtual worlds, not fancy. But the web metaverse is the biggest world in terms of content. It's the biggest world in terms of people. And most easily accessible by means of a web browser and some rather small client software, a graphical chat client with animated avatars as a browser extension or a native program that projects a social layer above all web pages.

Raph says: "Ongoing challenges include crappy voluminous user-generated content"

weblin.io comments: In case of weblin.io there everything is user-generated. It's the Web. It is often great and sometimes it is crappy. Speaking about "crappy voluminous" specifically: the web metaverse has a build-in check for content quality. Web content is produced to be used on the web, not specifically for the web metaverse. Hence, if it is good enough for the web, then it is good enough to make up a place of the web metaverse. Voluminous user-generated content will never drag down the web metaverse as it easily can in a virtual world other than the web that lacks such a built-in safeguard.

Raph says: "Play-to-earn have always had the risk of […] economy crashes due to […] mudflation"

weblin.io comments: Simulated economies with artificial money sources and sinks are difficult to balance. Play-to-earn needs a real economy, not a simulated one. It must be driven by real money that flows into the economy from the real world. Only real value creates a real economy because real money from the outside worlds is hard to get. It must provide a ROI for the outside world. That's the weblin model.

Raph says: "Players have not been that interested in item portability"

weblin.io comments: That is true in general. You won't take your WoW Hunter Bow to EVE Online. Different engine technologies, game mechanics, and balancing are strong barriers, that might be overcome someday, though. The real point is importing NFTs which have fixed real world attributes as in-world items. This needs a suitable mapping of NFT attributes to in-world features. If the mapping is transparent and stable, then real-world NFTs gain value and utility in-world.

Raph says: "The open web is a model for the kind of standard for decentralized creativity"

weblin.io comments: The existing standardization of web technologies makes the web a perfect model of a decentralized easy to access metaverse. The places are already there. Content is there. weblin.io adds people, and voila, the web becomes a metaverse. "decentralized creativity": that's what the web is about.

Raph says: "An enormous amount of the metaverse needs are going to be flat"

weblin.io comments: Often 2D is easier to navigate and a lower barrier. Navigating the web just needs a browser and a point device. That's an easy virtual world. No need to navigate in 3D to get to a document. Just a click and the document is full screen. And populated by people who happen to be reading the same document at the same time.

Raph says: "The art we see needs to break away from the notion that it is something baked into a client"

weblin.io comments: In the #Webaverse the content always comes from the server. The client fetches the content and projects a social layer on top where people meet. Check.

Raph says: "If we want a decentralized metaverse — one that is open and not controlled by one party — we obviously need to decentralize control"

weblin.io comments: Virtual words are usually controlled by one party. The web on the other hand is a decentralized metaverse, always was and probably will be. The social layer above the content that makes the web a metaverse in the first place is also decentralized. Every web content provider can host the social layer for their content by running a chat server. Once they operate the chat, they can enforce rules and moderate. In other words, they can exercise property rights. That's how weblin.io is built.

Raph says: "The biggest barrier to item portability is actually that every […] world implements that functionality in completely different ways […] There are zero shared data structures"

weblin.io comments: A common denominator of data formats might be a start. Viewed from a 3D perspective, common denominators lack the functionality required for a good user experience. But for our case, the web metaverse, typical web standards work perfectly as common denominators. For example, it is easy to make an in-world avatar available to the web metaverse. Inhabitants of virtual worlds can use an (animated) rendering of their in-world avatar on web pages to meet other people, even people from different games. From the point of view of the web metaverse all these virtual worlds are just sophisticated avatar creators. Avatars are designed in-world by all the means of the virtual world including the need to earn equipment or to buy vanity items. Then the avatar appearance is transferred to the web where people can present themselves by their game avatars.

Raph says: "[We might] take a cue from […] WordPress [the] plugin architecture [which] allows different platforms to implement the same applications programming interface (API)"

weblin.io comments: The underlying content of the web metaverse is already decentralized being provided by countless servers. Even the social content, users and game items is decentralized. Users can connect through their own messaging server. They can use an open-source client with a small set of interfaces. The reference implementation by weblin.io shows how pluggable item providers allow for decentralized game content on the social layer.

Raph says: "Just the coordination challenge of building that API is likely to be a multi-decade process of arriving at agreement on standards"

weblin.io comments: That's a consequence of the complexity of 3D worlds. The weblin.io project shows how small a set of APIs really needs to be to make the web a decentralized metaverse.

Raph says: "The need to coordinate and share multiple standards pushes towards a single platform owner that can force [necessary] standards into existence. But we know that isn’t the dream we all ultimately want"

weblin.io comments: No, it's not. The web is decentralized and relies on open standards. And the social layer that makes up the web metaverse is also built on (few) open standards. In direct analogy to the content part of the web where HTTP(s) provides data in HTML, JSON, and Javascript, the social layer that makes the web a metaverse is driven by XMPP, a distributed and standardized messaging protocol. Data formats on top of XMPP are the same as the ones that encode the web content. The standards of the web metaverse are already available. They are widely used and highly accessible. That's a perfect foundation to keep the web metaverse decentralized going into the future.

Raph says: "[Few] worlds […] have ever been willing to sign up [to] Rights of Avatars"

weblin.io comments: The webin.io project signs up. We neither control the social layer nor users and avatars. We are providing standards, an open-source reference implementation, and infrastructure to kickstart the web metaverse until content providers provide their own messaging servers. Content providers might control their space by exercising their property rights and users can connect through an XMPP entry point of their choosing. In particular (but without devaluing other avatar rights) we support the right of avatars to speak freely everywhere. And the right to "be secure in their persons, communications …". In the web metaverse users are anonymous, if they so choose, which is the default.

Raph says: "[Making the one metaverse of compatible virtual worlds] is going to be hard."

weblin.io comments: Acknowledged. The 3D case is hard. The weblin.io project approaches the problem from a different angle. We start with the web as the metaverse. The web is already there. It is easily accessible. It does not have to be built because it is already content rich. It is already decentralized. Web links even point into places inside virtual worlds. In that respect the web is a superset, the distribution platform, not just for web content, but also for 3D virtual worlds. Virtual worlds are part of the web. The summary of all virtual worlds and all web content is The Metaverse.

We want our avatars not only inside 3D worlds. We want our avatars to break free of virtual world boundaries. Not just between virtual worlds, but also between virtual world silos and the web. We want to use our virtual world avatars on the web. This is easier than it sounds because standards and formats of the web metaverse are simple. A virtual world developer needs just one week to write an exporter that lets all their users join the web metaverse, The Metaverse. 

Break free. Reclaim the web!

_happy_breaking()

16. Dezember 2018

Kennzeichnungspflicht für Social Bots

Breaking News: Die Bundesregierung erwägt Kennzeichnungspflicht für Social Bots

Social Media Bots sollen sich zu erkennen geben und mitteilen, dass sie keine echten Menschen sind, sondern Automaten, die nur Meinungen multiplizieren. Sie sollen gekennzeichnet werden, damit Leser unterscheiden können, ob das eine Diskussion zwischen Menschen ist oder nur - meistens gegen Geld - Meinungen beeinflusst werden sollen. Das kennt man schon von Werbung, die gekennzeichnet werden muss, damit man sie von redaktionellem Inhalt unterscheiden kann.

Das ist sehr sinnvoll und richtig.

Und weil das so sinnvoll und richtig ist, wurde das schon mal vorgeschlagen. Vor ziemlich genau 10 Jahren: Bot Tagging.

Da hat sich schon mal jemand Gedanken darüber gemacht dass man Menschen (Chatter) in Chatsystemen nicht hinters Licht führen sollte indem man Bots programmiert, die sich als Benutzer ausgeben.

Es gibt Bots, die Werbung machen, Bots die unterhalten und heutzutage sogar Bots, die lügen und Fake-News verbreiten. Letztlich ist politische Beeinflussung durch Bots auch nur politische Werbung in einer besonders ansprechenden vertrauenswürdigen und damit hinterhältigen Form.

Da es so viele verschiedene Bot-Arten gibt, sollte es ein Kennzeichnungssystem geben, das mehr aussagt, als Bot JA/NEIN. Man will wissen
- ob der Bot kommerzielle Werbung macht oder politische,
- ob er der Unterhaltung dient oder eine Servicefunktion erfüllt,
- ob er jugendfrei ist oder - allgemeiner ausgedrückt: die Kennzeichnung braucht auch eine Altersfreigabe.

Schön wäre auch die Angabe eines Themas. Dafür bräuchte man eine Ontologie. Die müsste man sich nicht selbst ausdenken. Der Verweis auf ein bestehendes Verzeichnissystem würde reichen, z.B. Wikikedia-Begriffe als Vokabular oder etwas hierarchisches, wie das (leider eingestellte Open Directory Project oder hier).

Das alles steht in der "Virtual Presence Technical Note 5: Bot Tagging", weil wir bei Weblin das schon damals gesehen haben.

_happy_tagging()


29. Oktober 2014

Microservices bei Weblin

Und wieder einmal bekommt ein Prinzip, das wir bei Weblin entwickelt und benutzt haben, einen Namen: Microservices.

"Microservices is a software architecture design pattern, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs"

Wir haben es natürlich nicht erfunden. Viele andere gute Softwareingenieure haben zur gleichen Zeit das gleiche gemacht und inzwischen ist das Prinzip (=architecture design pattern) im Mainstream angekommen und hat einen Namen und es gibt viele Artikel und Vorträge.

Es geht darum, dass man nicht eine fette Anwendung macht, sondern mehrere (viele) von einander logisch getrennte Web-Services, die jeweils eine Funktionalität des Gesamtsystems bereitstellen und untereinander kommunizieren. Das betrifft sowohl Client/Server Kommunikation, als auch Server-Frontend/Backend und innerhalb vom Backend. Microservices können in verschiedenen Sprachen geschrieben sein und haben typischerweise jeweils eigene Datenbanken (wenn auch oft auf dem gleichen Datenbankserver). Microservices können horizontal oder vertikal skalieren,d.h. alle können auf der gleichen Server Farm laufen oder man ordnet einzelnen Microservices dedizierte Server zu.

Welches Web-Service Protokoll man wählt spielt eine untergeordnete Rolle. Eigentlich kann man Transportprotokoll und Datenformat beliebig kombinieren. REST/JSON ist dafür momentan das Mittel der Wahl. Aber SOAP geht auch. XMLRPC war mal sehr verbreitet. Bei Weblin hatten wir oft Key/Value/LF als Datenformat (auch liebevoll SRPC genannt), weil das meistens völlig ausreicht. Es geht aber auch anspruchsvoller, z.B. mit Protocol Buffers als Datenformat. Als Transportprotokoll bietet sich HTTP an. Aber es geht auch plain TCP oder ein Message-Bus.

Bei Weblin hatten wir Microservices für:

  • Userdaten (Identity), vom Frontend bespielt, vom Client benutzt
  • User created content upload (der berühmte File-Service: files.zweitgeist.com)
  • Download-Server
  • Wallet-Service und Punktekonto
  • Topsites-Service
  • XMPP-Server Management Service
  • Unit-Test (System-Runtime-Test) als Web-Service
  • GeoIP Auflösung als Web-Service
  • Kontaktlistenverwaltung
  • Wuscheln, Publisher (alles, was der Client wollte, ich sage nur "srpc.php")
  • VPI-Server
  • Compute-Service (Avatar-Generator)
  • Locatr
  • Ad-Server
_happy_eigenlobing()

3. Juni 2013

Erster Weblin mit schwarzer Krone

Es passiert ja nicht wirklich viel im Weblin-Land, aber manchmal gibt es doch einen Grund zu feiern. Wir haben den ersten Weblin mit mehr als 2^16 Punkten (=65536) und deshalb mit schwarzer Krone am Avatar.

Hier ein Screenshot von http://www.weblin.com/toplins.php:


Macr@Soft ist ewiger Ruhm sicher.



_happy_pointscollecting()

http://de.blog.weblin.com/2013/06/erster-weblin-mit-schwarzer-krone.html
http://blog.weblin.com/2013/06/first-weblin-with-black-crown.html

13. November 2011

Server Migration

Heute stand wieder mal eine Server-Migration an. Die Weblins wurden vom Ein-Server-Testbetrieb zum aktuellen Produktiv-Cluster migriert. Das war meine bisher schönste Migration:

- Server installieren,
- Konfigurationsdaten anpassen,
- Daten migrieren,
- Integrationstests checken,
- DNS umschalten,
- fertig.

Zugegeben, langsam bekomme ich Übung. Angefangen hat alles mit einem Entwicklungsserver. Dann kam das erste Produktiv-System aus 2 Hetzner-Servern. Darauf folgte ziemlich schnell das erste echte Rechenzentrum aus 10 Servern, genannt: der Proton-Cluster. Der wurde dann ausgebaut bis zu 60 Hosts. Vor 2 Monaten habe ich alles auf einem Server installiert als Testbetrieb mit einem simulierten Cluster (genannt Delta). Zwischendurch gab es noch eine Installation des gesamten Systems auf einer VMware. Heute dann die bisher letzte Installation (genannt Atlas) auf mehreren Servern, die sich die ca. 8 Rollen teilen.

Weblin ist ein komplexes System. Viele Subsysteme, zusätzlich zur Website auch noch ein Client und das Instant Message-System. Trotzdem ist es gut handhabbar, läuft stabil und ist flexibel, wie die unterschiedlichen Setups zeigen. Wäre es nicht so gut in Schuss, dann hätte ich es nicht wieder zum Laufen bekommen.

An Weblin Client und Portal haben viele Leute gearbeitet. Bei denen möchte ich mich hier für mich und im Namen der User bedanken: Entwickler im T-Team und iTeam, Research-Team und Praktikanten, Operating und Code-Review, Design und Content, Partner-Integration und Community-Management. Und nicht zuletzt die, die in letzter Zeit mit Rat (=Consulting) und Tat (=Twincoding) geholfen haben.

Ein paar meiner "Learnings":
- Viele gut ausgeprägte Server-Rollen helfen dabei groß (und klein) zu skalieren.
- Konfiguration zentralisieren und das dann durchhalten, wenn viele Rollen und Subsysteme dazukommen.
- Konsequentes Durchziehen einer verteilten Architektur hilft, auch wenn es manchmal mehr Arbeit macht.
- Ausführliche Integrationstests helfen Konfigurationsprobleme aufzuspüren.
- Refactoring hält jung.
- Technische Lösungen nicht ausreizen. Immer noch eine Optimierung in petto haben.
- Ich kann programmieren, deshalb funktionieren für mich eigene Lösungen, z.B. beim Backup (scp, rsync, tar) und beim Setup (svn und Shellskripte). Und das ist auch gut so.

Jetzt sind wir richtig online.

Weblin is back.

Und das ist erst der Anfang.

_happy_migrating()

23. Juli 2010

Vorbereitung für Tokio

Morgen Samstag 13:55 fliege ich von von Hamburg nach Frankfurt. Nach 5 h Aufenthalt (war billiger) von Frankfurt nach Tokio. Komme dort Sonntag
15 h Ortszeit an.

Tokio hat 7 h Unterschied zu Schland. Wenn hier 10 h ist, ist dort schon 17 h. Die Japaner sind uns was voraus. Ich werde da 3 Wochen sein. Und es wird heiss. Habe viele T-Shirts dabei.

Treffe in Tokio einen alten Freund aus Weblin-Zeiten. Mal sehen was da in Japan so geht Das wird ein Spass. Und ein Abenteuer - lost in translation.

happy_traveling()

29. Oktober 2009

How to Reactivate Weblin with 2 XML Files

In the forum of the Open Virtual World project someone posted a way to reactivate Weblin. Based on this information and after my own tests I can confirm, that it works.

It is even simpler and works without programming. All you need is a Web space to put some files.

You create a Jabber account on a public Jabber server, (e.g. http://register.jabber.org). Then put some files on your Web space and configure Weblin to use them. You need 2 XML files and an image as avatar. If you want an animated avatar then you need an additional XML and some animated GIFs.

Quick Try:

Enter in the Windows registry ...

[HKEY_CURRENT_USER\Software\zweitgeist\Firebat\2.0.0\Config\Operation]
PlatformLoginURL=http://ydentiti.org/test/Planta/login.xml
Restart Weblin .. and you are Planta. But, we do not want to be Planta, therefore to create your own...

HowTo:

The 2 most important files are login.xml and identity.xml. I have put both as examples on my web server:
http://ydentiti.org/test/Planta/login.xml
http://ydentiti.org/test/Planta/identity.xml
In login.xml is the URL of identity.xml and you have to enter the Jabber account: Jabber passwort ("secret"), Jabber user name ("planta") und Jabber server ("jabber.org").

In identity.xml is a link to the avatar image:
http://ydentiti.org/test/Planta/still.gif
Now you tell Weblin to use login.xml at startup. You set the registry key like this:
[HKEY_CURRENT_USER\Software\zweitgeist\Firebat\2.0.0\Config\Operation]
PlatformLoginURL=http://ydentiti.org/test/Planta/login.xml
Of course, that's the URL of your web space.

Where do you get the software from? Just copy the folder "C:\Program Files\weblin" from a friend. There is no installer required.

For Advanced Users:

Because the PlatformLoginURL is public, anyone can use this avatar (and the Jabber account). The Weblin login screen requests a password. It sends the password, but your web space probably returns the login.xml without checking the password. If you want to protect your login.xml, then you must create a login.php instead of the login.xml. Your login.php can check the HTTP Basic Authentication. You could also protect the login.xml with .htaccess. Attention: .htaccess protects the entire folder. Do not accidentally deny access to the other files. Anyone must be able to fetch your identity.xml and avatar image. You can put login.xml into a separate folder and set PlatformLoginURL accordingly.

For Advanced Users:

identity2.xml has an additional link to an animation file:
http://ydentiti.org/test/Planta/avatar.xml
which links to animated GIFs. This provides your weblin with actions and animations.

Required:
<config xmlns="http://schema.bluehands.de/character-config" version="1.0">
  <sequence group="idle" name="idle1" probability="1000" type="status" in="standard" out="standard">
    <animation src="still.gif" />
  </sequence>
  <sequence group="moveleft" name="moveleft1" probability="1000" type="basic" in="moveleft" out="moveleft">
    <animation dx="-100" src="left.gif" />
  </sequence>
  <sequence group="moveright" name="moveright1" probability="1000" type="basic" in="moveright" out="moveright">
    <animation dx="100" src="right.gif" />
  </sequence>
</config>
For the start copy this file and use your own GIFs. The XML and the GIFs are cached by the client. If you change something, you have to delete the client cache (C:\Documents and Settings\%USERNAME%\Application Data\zweitgeist\cache).

avatar.xml format in short:
  • <config> has multiple <sequence>
  • <sequence> has one <animation>
  • <sequence> has an attribut "group". This is the action, walk, stand, sleep, wave. If there are multiple actions in the same "group", then Weblin searches a <sequence> randomly controlled by the relative "probability".
  • <sequence> has an attribut "name". Must be unique, but can be anything.
  • <sequence> has an attribut "probability": relative frequency of the <sequence> in a "group"
  • <sequence> has an attribut "type" with values "status", "basic", "emote". "emote" appear as actions in the avatar-menu.
  • <sequence> attributes "in" and "out" can be ignored. They are for advanced uses with automatic selection of transitions between actions.
  • <animation> has only the attribut "src". An animated GIF URL absolute or relative the XML file

_happy_reviving()

23. Oktober 2009

Google Toolbar Search History Menu is a Browser

I recently installed a Google toolbar to test Sidewiki. The toolbar replaces the search box by Google's own even if the toolbar is hidden.

Of course, Google has a better search box. It's popup menu has styled text and links. Probably cound even show videos. Guess what, the popup menu is an embedded browser.

The funny thing is, that weblin regards the popup menu as the frontmost browser window and the avatar jumps to the base of the window. As soon as the popup opens while typing, the avatars jump there.

It actually IS the front most browser window and weblin is right. Weblin also correctly calculates the base offset and moves the entire scene to the popup. Great stuff for insiders. Well done by those who worked on the brower positioning code over time.

_happy_popuping()

1. Oktober 2009

Weblin wiederbeleben mit 2 XML Dateien

Im Forum des Open Virtual World Projekts hat jemand einen Weg gepostet mit dem man Weblin wieder betreiben kann obwohl die Server abgeschaltet worden sind. Basierend auf diesen Informationen und nach meinen eigenen Tests kann ich bestätigen, dass es geht.

Es ist sogar noch einfacher und ohne Programmierkenntnisse.

Man muss nur auf einem öffentlichen Jabber Server einen Jabber Account anlegen (z.B. http://register.jabber.org). Dann auf einem Web-Space ein paar Dateien hinlegen und Weblin konfigurieren, dass es diese Dateien benutzt. Man braucht 2 XML Dateien. Dann natürlich ein Bild als Avatar und je nachdem, ob man ein animiertes Avatar will, noch ein XML mit GIF Animationen.

Schnell mal ausprobieren:

In Registry eintragen...

[HKEY_CURRENT_USER\Software\zweitgeist\Firebat\2.0.0\Config\Operation]
PlatformLoginURL=http://www.ydentiti.org/test/Planta/login.xml
Weblin neu starten ... und du bist Planta. Aber wir wollen ja nicht jeder Planta sein, deshalb...

So geht es:

Die 2 wichtigsten Dateien sind login.xml und identity.xml. Als Beispiele habe ich diese 2 Dateien gemacht und auf meinen eigenen Webserver gelegt:
http://www.ydentiti.org/test/Planta/login.xml
http://www.ydentiti.org/test/Planta/identity.xml
In login.xml steht der URL von identity.xml und man muss den JabberAccount, also Jabber Passwort ("secret"), Jabber Username ("planta") und Jabber Server ("jabber.org") eintragen.

In identity.xml ist ein Link auf das Avatarbild:
http://ydentiti.org/test/Planta/still.gif
Jetzt muss man nur noch Weblin beibringen, dass es das login.xml benutzt beim Starten. Dazu einen Registry Key setzen. Beispiel:
[HKEY_CURRENT_USER\Software\zweitgeist\Firebat\2.0.0\Config\Operation]
PlatformLoginURL=http://www.ydentiti.org/test/Planta/login.xml
Natürlich muss hier der richtige URL von deinem Web-Space stehen. Vielleicht programmiert Marmel ja ein Tool dafür :-)

Ach ja, wo bekommt man die Software her? Einfach von eine(r|m) Freund(in|) den Ordner C:\Programme\weblin kopieren. Kein Installer nötig.

Für Fortgeschrittene:

Da der PlatformLoginURL öffentlich ist, kann jeder dieses Avatar (und den Jabber Account) benutzen. Weblin fragt beim Start zwar ein Passwort. Das wird aber nicht verwendet, da bei PlatformLoginURL ein statischer URL eingetragen ist und nicht eine echte Web-Applikation, die das Passwort prüfen würde. Wenn man nicht will, dass andere das gleiche Avatar verwenden, muss man wie in dem Forum Post vorgehen und statt login.xml ein login.php programmieren, dass HTTP Basic Authentication prüft. Alternativ kann man auch das login.xml durch .htaccess schützen. Vorsicht: dabei nicht Zugriff auf die anderen Dateien verbieten. Man kann das login.xml dafür in ein anderes Verzeichnis legen und den PlatformLoginURL entsprechend setzen.

Für Fortgeschrittene:

Man kann den PlatformLoginURL auch in Firebat.sreg eintragen, wenn man mit leerer Registry startet. Registry überschreibt Einstellungen in Firebat.sreg.

Für Fortgeschrittene:

In identity2.xml ist auch ein Link auf eine Animationsdatei:
http://ydentiti.org/test/Planta/avatar.xml
die auf die GIFs mit den Animationen verweist. Dann hat der Weblin auch Aktionen und bewegt sich.

Notwendig ist mindestens:
<config xmlns="http://schema.bluehands.de/character-config" version="1.0">
<sequence group="idle" name="idle1" probability="1000" type="status" in="standard" out="standard">
<animation src="still.gif" />
</sequence>
<sequence group="moveleft" name="moveleft1" probability="1000" type="basic" in="moveleft" out="moveleft">
<animation dx="-100" src="left.gif" />
</sequence>
<sequence group="moveright" name="moveright1" probability="1000" type="basic" in="moveright" out="moveright">
<animation dx="100" src="right.gif" />
</sequence>
</config>
Zum Start am Besten dieses kopieren und nur eigene GIFs verwenden. Das XML und die GIFs werden im Client gecached. Wenn man was ändert und die Änderung sehen will, dann Client Cache löschen (C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\zweitgeist\cache).

Format in Kürze:
  • <config> hat mehrere <sequence>
  • <sequence> hat ein <animation>
  • <sequence> hat Attribut "group". Das ist die Aktion, laufen, stehen, schlafen, winken. Es kann mehrer mit gleicher "group" geben, dann sucht Weblin eine der <sequence>s zufällig aus gesteuert durch die relative Häufigkeit ("probability").
  • <sequence> hat Attribut "name". Muss nur eindeutig sei, aber beliebig.
  • <sequence> hat Attribut "probability": Relative Häufigkeit der <sequence> innerhalb einer "group"
  • <sequence> hat Attribut "type" mit Werten "status", "basic", "emote". "emote" tauchen als Aktionen im Avatar-Menu auf.
  • <sequence> Attribute "in", "out" kann man mal ignorieren
  • <animation> hat nur das Attribut "src". GIF URL absolut oder relative zu der XML Datei (mit oder ohne http://...)

_happy_reviving()

PS:
Liebe Dunkle Seite der Macht: Das sind alles öffentliche Informationen, bzw welche, die schon vor 2006 bekannt waren. Keine Chance Ärger zu machen. Weblin ist einfach so gut programmiert, dass sowas geht. Vielen Dank auch an das Programmierteam, dass es trotz neuem Accountwizard so geblieben ist.

9. August 2009

The Fake Transition

Weblin does NOT transition to club cooee. Rather, club cooee uses the email addresses to advertise its own product. While both are avatar services, weblin is a layered virtual world on the web and cooee is not. We all know that there are many different avatar services. Cooee is NOT a functional replacement for weblin. RocketOn is the only system that could be called a similar service. Cooee is just another avatar system that desparately needs registered users. The general terms of weblin explicitly forbid the use of user data for this purpose.

But the management of cooee, the weblin liquidator Jörn Weitzmann, and the ex-CEO Jan Andresen conspired against the weblin founders to shut down weblin, primarily to make this fake "transition" press release possible. The founders tried to keep the service alive and the user data safe. We put up the general terms in the way we did to prevent this. We notified the liquidator several times. We are very sad, that the email addresses are used unlawfully for advertisements. This is an expression of a mind set that does not respect the written law, but only court orders. In other words: they hope to get away with it, because nobody sues. And even if someone sues, then they can handle a minor fine for a major press release.

Cooee and Jan Andresen outbid the founders in a blind bidding process by a very narrow margin, that raises suspicions on its own. Weblin could have survived. The founders offered to pay for operating and maintenance cost. It is now being terminated in order to shuffle users to cooee. The intention of cooee is understandable, only the means are unlawful. But what Jan Andresen and the offical liquidator gain from the termination is more dubious. For sure, the users are not gaining anything from the termination of weblin when the other option was a continuation.

There will be a real functional successor to weblin later this year. A layered virtual world on the web. It is being developed under the name Open Virtual World (currently: http://openvirtualworld.blogspot.com/). The blog has descriptions, feature lists, and a time line.

_happy_restarting()

Note: the irony in all this is, that I opposed the collection of email addresses. Weblin did not need them for the technical operation and the marketing department profited only marginally. But Jan Andresen as marketing manager nonetheless insisted on it. Now we know the real purpose of all this email collection business.

25. Juni 2009

Ursachenforschung bei Weblin

Ein interessanter Kommentar zur Krise von Weblin. Insgesamt liegt er nicht ganz im Ziel. Aber so wenig, wie öffentlich bekannt, ist das kein Wunder und deshalb nicht anzukreiden. Mir gefällt, dass einige Punkte wirklich diskutiert werden und man sicher davon lernen kann.

  • "Weblin hat einen Preis verliehen bekommen vom Staat bzw. Land - Das sind oft erste Warnzeichen, denn was der Staat üblicherweise toll findet ist meistens hinter der Zeit zurück."
    Nette Idee :-) aber "der Zeit hinterher" ist unwahrscheinlich. Eher zu früh und noch nicht Mainstream genug. Ein Wunder, dass es einen Preis gab.

  • "Bis zum Schluss gab es keine Lösung, die ohne zusätzliche Softwareinstallation lief - Jeder weiß, dass zusätzliche SW-Installationen eine hohe EInstiegsbarriere für neue Nutzer sind, zumal es von anderen Anbietern Lösungen als Firefox-Plugin gab, die ihren Zweck erfüllten."
    Die gut alte Download Hürde, immer wieder gerne kolportiert, aber durch die Praxis widerlegt. 3 Mio registrierte und 150.000 Weekly Returning User für relativ wenig Marketingausgaben sagen etwas anderes. Im ernst: Benutzer im zweistelligen Prozentbereich machen den Download, werden und bleiben Weblin-User, manchmal sogar bis 30% (der Besucher auf der Weblin-Seite), was eine ziemlich gute Conversion-Rate ist.

  • "Das Modell mit “virtuellem Nippes” Geld zu verdienen schien mir äußerst zweifelhaft - Ich hab es ja selbst ausprobiert, mehr als ein kurzfristiger Unterhaltungseffekt war nicht drin, danach nervt es nur noch, genau wie RocketOn."
    Virtuelle Güter im Allgemeinen scheinen zu gehen, wie viele Berichte (auch in diesem Blog) zeigen. Aber bei Weblin war das alles ziemlich lange ziemlich sinnlos, also "Nippes", stimmt. Das hätte man nicht so lange sinnlos bleiben lassen dürfen. Ende 2007 wurden virtuelle Güter eingeführt, dann kamen schnell die Weihnachts- und Horten-Sammelaktionen. Dann hat Weblin leider die die virtuellen Gütern nicht weiter entwickelt. Man konnte sammeln, tauschen, ein paar Alben machen für Avatare. Gegen Ende dann die Effekte. Aber eine Ökonomie hat es nie gegeben. Die User wurden ein ganzes Jahr hängen gelassen. Das Jahr 2008 wurde komplett verpasst, weil die Prioritäten falsch waren. Später mehr dazu...

  • "Die Lösung schien mir viel zu invasiv bzw. aufdringlich, sie stellte sich selbst in den Vordergrund, denn im wahrsten Sinn des Wortes standen die Avatare und nicht die Webseite im Vordergrund."
    Das ist ein interessanter Punkt, der sicher noch ausführlich diskutiert werden wird. Ich glaube Weblin ist minimal-invasiv (siehe Vortrag Virtual Worlds Camp). Ob es minimal- oder maximal-invasiv ist, darüber lässt sich trefflich streiten. Grundsätzlich vergleicht sich Weblin gerne mit der realen Welt. Stehen auf der realen Straße, die Menschen (Avatare) zu sehr im Vordergrund? Oder sollten die Schaufenster (Webseite) mehr hervortreten? Aber man kann hier sicher was lernen. Sollten die Avatare nur 20 Pixel hoch sein? Nur in der Statusleiste vom Browser? Nur auf Knopfdruck sichtbar? 100 Pixel, aber transparent? Oder etwas ganz anderes?

  • "Mit das größte Problem schien mir, dass man nur wenn man EXAKT auf der selben URL wie ein anderer Besucher im Web war, auch jemanden gesehen hat. Dieser Tunnelblick hilft mir nicht! Die Menschen in der Stadt erst dann zu sehen, wenn ich in jeden einzelnen Laden hineingehe (dann aber alle anderen nicht mehr zu sehen), wäre ein recht armes Erleben von sozialem Raum."
    Die Topologie im web ist wirklich eins der größten Probleme. Groß im Sinne von interessant, nicht im Sinne von riskant. Bei machen Systemen gilt wirklich der ganze URL, bei anderen immer nur die Domain. Bei Weblin ist es konfigurierbar. Standardmäßig gilt der Domainname des Servers, wobei www. abgetrennt wird. Aber man kann das auch viel genauer einstellen bis auf ein Raum pro Zeitungsartikel oder pro Youtube-Video.
    Die Bemerkung könnte sich auch darauf beziehen, dass man inhaltliche Nachbarschaft verwenden sollte, nicht nur die technische Adresse (URL). Das hat Me.dium versucht und wieder beendet. Damit ist das Rennen aber nicht entschieden. Ob Inhalt besser funktioniert als Adresse wird sich zeigen. Sicher ist, dass es für eine Firma (außer Google) schwierig ist, allen Websites Kategorien zuzuordnen. Vielleicht geht es mit Crowd-Sourcing indem die User Kategorien zu Websites festlegen und danach wird bestimmt, wer wen sieht.
    Vielleicht soll auch die Nachbarschaft einbezogen werden. Dann würde man auch die die Leute auf der Straße sehen wenn man "im Laden" steht. Auch das gab es schon mal bei CoBrow, wurde aber wegen der Komplexität der Nachbarschaftsberechung über Hypertext-Links fallen gelassen.

  • "Nutzer von Webseiten wollen nicht bei ihrer primären Tätigkeit (Surfen im Web) gestört werden, wenn also Präsenztechnologie ins Spiel kommt, darf sie keinesfalls derart invasiv sein, den Nutzer bei seiner Tätigkeit zu behindern. Große Avatare stören da aber nur. Am besten bringt das für mich folgender Beitrag bei Beat Doebli auf den Punkt: Why dots? mit dem zugehörigen YouTUBE-Video."
    Hm, ich bin kein Punkt. Ich will mich individualisieren. In vielen virtuellen Welten funktioniert das Avatar, meistens sogar in 3rd Person, d.h. es verdeckt einen Teil der Umgebung. Man kann argumentieren, dass das Web keine virtuelle Welt ist, weil der Zweck ein Anderer ist. Aber vielleicht wollen die Benutzer trotzdem individualisieren und Freunde zu wiedererkennen. Gibt es eine Möglichkeit, den Inhalt nicht mit dem Avatar zu verdecken, aber trotzem zu individualisieren? Ich bin gespannt.

  • "Besucher von Webseiten wollen u.U. gern weiterhin anonym bleiben. Nicht jeder möchte beim Besuch bestimmter Seiten “gesehen werden” bzw. indentifiziert werden, oder gar seinen Besuch mit seiner Identität verknüpft in einer Datenbank eines Präsenztechnologieanbieters wissen."
    Ja. Das ist ein großes Problem vieler Präsenztechnologien. Die meisten Systeme haben einen Anbieter, der die URLs ALLER Benutzer bekommt und vielleicht speichert. Mal davon abgesehen, dass Alexa-Benutzer das seit Jahren gerne machen, finde ich es nicht gut. URLs dürfen nicht den Rechner des Benutzers verlassen. Deshalb wurde URL-Mapping im Client entwickelt.
    Trotzdem wird natürlich angezeigt, dass jemand da ist, aber nur in dem Maße, wie Benutzer es wollen. Man kann mit einem komplett künstlichen, anonymen Profil auf dem Web spazieren gehen. Das ist viel anonymer als in der realen Welt.

  • "Webseitenbetreiber möchten nicht, dass an ihnen “vorbei” kommuniziert wird, ohne dass sie “dabei” sein können. Niemand wird eine Präsenztechnologie unterstützen, bei der er nicht wirksam selbst Einfluss nehmen kann als Seitenbetreiber."
    Das ist ein sehr interessanter und richtiger Punkt. Die Menschen, Webseitenbetreiber und Benutzer müssen sich beteiligen können. Dazu wird es sicher in Zukunft noch viele gute Ideen geben. Bisher umgesetzt ist die Möglichkeit für Webseitenbetreiber, das "Hausrecht" auszuüben indem sie bestimmen wo gechattet wird. Der Webseitenbetreiber kontrolliert den Chatraum und kann damit sowohl moderieren und kontrollieren, als auch die Präsenz durch Zusatzdienste erweitern.
    Bei Weblin gibt es noch weblin Sitekit. Damit kann der Webseitenbetreiber den Client steuern und Erweiterungen auf seiner Seite anbieten.
Mehr "Social Technology" ist vermutlich hilfreich, die Verweildauer zu erhöhen. Dazu gehört vielleicht Notizen hinterlassen, sehen wer in der Vergangenheit da war, vielleicht Interaktion mit der Webseite und Interaktion zwischen Benutzern über die Webseite (siehe weblin Sitekit). Man kann sogar die Verweildauer des "einsamen Surfers" erhöhen wenn man ihm/ihr etwas zu tun gibt im Layer über dem Web. Und sicher kann man Besucher mehr beschäftigen, wenn sie gemeinsam etwas zu tun haben wie hier: cooperation and collective activity as socializing browsing.

happy_socializing();

PS: Als Advocatus Diaboli könnte man allerdings auch sagen: WTF soll das ständige Socializing. Virtuelle Präsenz zeigt Leute und lässt sie kommunizieren. Der Rest ergibt sich von selbst, wie in der realen Welt. Basta.

27. Mai 2009

Concurrent Casual - Virtuelle Güter im Web

Mein Vortrag beim Virtual Worlds Camp. Das VWC war angeschlossen an die Webinale und hatte den Themen-Schwerpunkt "Virtuelle Welten und virtuelle Güter".





happy_presenting()

29. März 2009

IETF MMOX live in XMPP and Weblin

The MMOX BOF has been cast into Second Life and and Forterra. There was also a XMPP chat room: mmox@jabber.ietf.org. Since weblin is pure XMPP I could also participate with a weblin client.

This is the BOF from the weblin perspective.

There are many people on the page and in the room. All except me with the default avatar. Of course, there was no weblin user present. People joined with one of many available Jabber clients. vCard avatars would represent people, but amazingly none of the participants has a vCard avatar. This is a far cry from the Jabber developer room where more than 50% have a vCard with avatar.

BTW: the MMOX BOF in german end user language.

_happy_chatting()

3. März 2009

Weblin is a Major Virtual World Example

The discussion is still going on the mmox mailing list about what the MMOX WG is going to do. David Levine from IBM posted a very good proposal to define the scope of the WG.

Now comes the point: in chapter 3. "The problem space" there is a list of virtual world platforms, the who is who of massively multiplayer and it includes .... weblin.

"The group's roots, and interests are largely, but not exclusively shaped by Virtual Worlds, including MMO games, Virtual worlds, Collaboration and Simulation Environments and shared online streaming environments. Examples of these platforms include, but are not limited to World Of Warcaft, ProtonSphere, Eve Online, Forterra's OLIVE platform, Club Penguin, Linden Lab's Second Life, IMVU, There.com, Croquet, OpenSimulator.org, Weblins."

Isn't that great.
Well, 3 Mio users is really not bad and 1/3 of the Second Life's online population either.

_happy_cheering()

9. Januar 2009

Cory Ondrejka talks about weblin... well indirectly :-)

http://ondrejka.blogspot.com/2009/01/predictions-for-2009.html

"Something completely new in the web, social space will successfully launch in 2009", meaning "something that mixes the web, social, media, and fun together in new ways" with solid revenues.

Thanks Cory, the description fits to weblin's SiteFX and Phoenix projects. With 2 Mio users and already 6 digit active users, weblin will launch Phoenix to introduce virtual goods on web pages. Think, that virtual goods can generate solid revenues? I bet.


Scalability Strategies Primer: Database Sharding

http://blog.maxindelicato.com/2008/12/scalability-strategies-primer-database-sharding.html

Database partitioning is definitely a hot topic for weblin. Weblin does primarily vertical dataset partitioning where each feature gets its own database.

If that does not help anymore then we will probably add horizontal partitioning on top of vertical partitioning.

So, features have their databases with a primary-secondary setup. If a DB is overloaded by a feature then the cluster is split into multiple clusters which serve disjunct sets of item IDs.

26. November 2008

Google's Lively Learnings

http://www.virtualworldsnews.com/2008/11/google-lively-didnt-meet-tough-targets-looking-to-use-tech-elsewhere.html

Google says: "We set Lively tough targets and it did not achieve them, but Lively did teach us about what our users like and what they don't. We learned people want to be social in many places on the web, and we learned that users appreciate the ability to meet new people and share content with friends. These are important lessons for future product development."

That's 2 points for weblin:
- people want to be social in many places on the web (maybe everywhere on the web?)
- users appreciate the ability to meet new people (new people, not just friends as in social networks)

8. August 2008

Layered Virtual Worlds

http://www.virtual-presence.org/news.html?Title=Overlay_Virtual_Worlds

Hier ein Kommentar zu "Layered Virtual Worlds" (englisch) auf www.virtual-presence.org.

Mal richtig "selbstreferentiell". Manche nennen es selbstreferentiell, andere nennen es Trackback. Dafür aber umso schöner mit weblin Publisher fix hergestellt. Ehrlich, wenn ich Avatare doof fände, ich würde weblin für den Publisher laufen lassen. Wenn es nicht läuft mache ich weblin sogar an, um was zu bloggen. Wer hätte das gedacht.

11. Juli 2008

RocketOn ist Weblin

Mehr zum Thema was-was-ist-und-was-was-nicht-ist: RocketOn ist Weblin. Weblin ist RocketOn. Beide machen Avatare auf allen Webseiten, zwar mit unterschiedlichen Technologien, Protokollen und mit verschiedenem Fokus, aber wenn es eine ernsthafte Konkurrenz gibt, dann ist das RocketOn.

Mit anderen Worten: beide machen virtuelle Präsenz im Web. Ob hier jemand jemandes Killer ist, ist schwer zu sagen. Das Web hat 1000 Mio. User. Wenn nur 10% davon irgendwann virtuelle Präsenz machen, dann sind das 100 Mio. potentielle User. Wer die alle bekommt wissen wir noch nicht, aber wenn RocketOn wiederum 20% Marktanteil gewinnen kann, dann sind das 20 Mio. Aber was ist wenn Google 50% bekommt mit einem Produkt das sie noch nicht haben? Dann bekommt RocketOn "nur" 10 Mio. User. Das gilt auch für die Mitbewerber. Der Verdrängungswettbewerb um Marktanteile im Genre virtuelle Präsenz geht bei 10 Mio. User los. Das sollte einigen zu denken geben.

Ausserdem: es gibt auch mehrere Browser und mehrere Instant Messenger. Es gibt mehrere Autohersteller, Blogsysteme, Betriebssysteme. Was ist der USP von MSN gegenüber ICQ? Die Frage kann man nicht schlüssig beantworten. Virtuelle Präsenz ist ein gigantischer Markt. Wenn es "normal" wird präsent zu sein, wenn 10% der Web-Bevölkerung mitmachen, dann teilen wir uns gerne die 100 Mio. User mit RocketOn. So wie ICQ mit MSN teilt und gut davon lebt. Von GTalk, Yahoo Messenger und anderen mal gar nicht zu reden.

Weblin hat eine gute Chance seinen Teil zu bekommen, weil es

offen, verteilt, sicher

ist.

1. weblin ist das offene System. Das fängt beim Avatare Uploaden und selbst Gestalten an. Geht weiter dass man komplett das Aussehen selbst bestimmen kann und dass Communities und Virtuelle Welten das Web-Aussehen ihrer User in weblin selbst bestimmen. Bis dazu, dass Webseitenbetreiber selbst Chaträume einrichten können, dort selbst moderieren und ihr Hausrecht ausüben können.

2. weblin ist verteilt wie das Web. Es gibt Millionen Webserver, jede Firma hat ihren eigenen. Deshalb arbeitet weblin mit Millionen Chatservern und jeder kann den eigenen Chatserver selbst betreiben. Wenn man die Last von 100 Mio. Chattern verarbeiten will, dann muss das System verteilt sein wie das Web.

3. weblin ist sicher, weil es die Privacy des Users schützt. Bei anderen Systemen wird die komplette Spur beim Websurfen an deren Server geschickt. Alle URLs von den Seiten, die ich besuche werden an sie übermittelt. Im Gegensatz dazu bei weblin verlassen die URLs nicht den PC. Weblin geht in Chaträume aus denen man nicht erkennen kann wo jemand surft. Das ist sehr wichtig, wenn wir ein weltweites System machen wollen in dem Hunderte Millionen Menschen aus allen Ländern präsent sind. Völlig undenkbar, dass eine einzige Firma dieses System beherrscht und hundert Mio. Benutzer dort alle Seitenbesuche hinschicken.

Fürs Protokoll: ja, RocketOn und andere haben auch viele Vorteile. Sollen sie aber selber genau beleuchten.

Für die Nörgler: heute auch wieder Links zur Konkurrenz, wie gestern, natürlich! Irgendwann muss ich mal was schreiben zum Thema "Links sind überbewertet". Links sind für Leser zum Klicken. Wer vor allem an den Google Spider denkt, ist echt fehlgeleitet.

_happy_chatting()

24. Mai 2008

Weblin Whiteboard oder: User finden alles

Jemand hat das Whiteboard in weblin entdeckt und User erschreckt. Das Whiteboard kann einfache Grafiken auf Webseiten produzieren, die dann alle im Raum sehen. Kommt man zu spät in den Raum, sieht man es nicht, weil es nur wie Chat als Message vorbeisaust. Wenn es keinen Protokollbot gibt, der die Messages speichert und wieder abspielt, sind die Whiteboard-Messages transient (flüchtig). Die Grafik liegt über allen anderen Fenstern, so dass man den Eindruck bekommt, dass sie auf allen Seiten ist. Ist sie aber nicht, sondern nur in dem Raum wo sie gemacht wurde. Übrigens wenn es nervt: Rechtsklick auf den Rand, oben steht wer es gemacht hat und unten steht "Löschen".

Der Whiteboard Code ist in weblin noch drin und eigentlich nicht erreichbar. Aber natürlich zu Debugzwecken dann doch. Das zeigt wieder mal, dass User alles finden. Security by Obscurity hat keine Chance.

Es gibt einfach so wahnsinnig viele User, die sich so engagiert mit dem Thema befassen. Die kennen das System oft besser als Entwickler. Entwickler benutzen das System weniger, als User. Natürlich kennen Entwickler den Teil den sie gemacht haben sehr gut, aber Entwickler sind trotzdem meistens keine Poweruser. Entwickler kennen die Theorie, User die Praxis. Entwickler programmieren einzelne Features und bedenken dabei manchmal auch Zusammenhänge. Aber User erkennen Muster im Verhalten von Software, die die Entwickler nicht explizit programmiert haben. Vielmehr sind entstehen Wechselwirkungen mehrerer Features, die sich durch sehr intensive Beschäftigung zu einem Muster verbinden.

Das gilt genauso für Games, wo diese Bedienungsmuster im High-End Bereich ein wichtiger Teil des Gameplays werden. Das gilt auch für alle anderen Programme, wie in diesem Fall weblin, mit denen sich User intensiv und lange beschäftigen. Manche Leute lernen das Programm einfach durch intensive Benutzung seiner Features, andere durch Analyse von Code, Protokoll und Reaktionen.

Weiter so Leute, zeigt den Entwicklern was "Wisdom of the Crowds" heisst.