30. April 2008

Me.dium wird zum Social Instant Messanger


Me.dium konzentriert sich auf Freunde. Die Me.dium Sidebar zeigt wo Freunde sind und was sie machen. Neue Leute im Web treffen auf den Seiten wo ich gerade bin entfällt (!). Es soll später wieder kommen, aber Me.dium scheint sich abzuwenden von Virtueller Präsenz, hin zu einer Art social IM. Die neuen Funktionen sind ähnlich zum Flock Browser.

22. April 2008

Simple Remote Procedure Call - Batch

SRPC-Batch is an extension to SRPC. The batch-mode carries multiple remote procedure calls in a single transaction. The global "Method" indicates the batch mode. Individual RPCs are prefixed by an index, e.g. "1:Method=...".

Example:

  1. C: Method=Batch
  2. C: 0:Method=GetQuote
  3. C: 0:Symbol=GOOG
  4. C: 1:Method=GetQuote
  5. C: 1:Symbol=APPL
  1. S: Status=1
  2. S: 0:Status=1
  3. S: 0:Average=123
  4. S: 0:Low=121
  5. S: 0:High=125
  6. S: 1:Status=1
  7. S: 1:Average=456
  8. S: 1:Low=455
  9. S: 1:High=457

Rationale:

In rare cases clients want to execute not just one, but multiple commands. This saves network bandwidth and roundtrip time, especially on SSL connections. It also allows a batch of RPCs to be executed consecutively. We are using batch commands also to store them in the database and execute multiple commands on request.

Details:

  • the request has a "Method=Batch",
  • the request contains multiple remote procedure calls,
  • parameters of individual RPCs are prefixed by an index N and a colon: "N:", e.g. "1:",
  • the index indicates individual RPCs,
  • all parameters of an individual RPC have the same index,
  • the index starts with "0" (zero),
  • each RPC has a "Method" parameter (1:Method=...),
  • meta parameters as usual: "1:Symbol/Encoding=cstring",
  • the response has a "Status=..." (0/1) indicating success of the batch-parser,
  • the response carries a "Status" for each individual request,
  • result parameters use the same syntax as the requests (1:Status=...),
  • RPC results have the the same index as the corresponding request,
  • the receiver executes ALL commands and returns their result even if some fail.

Comments:

  • the batch-extension is optional. It is not required for receivers. Better ask your server if it is supported,
  • in additon to "Method", the request may have additional "global" parameters.

8. April 2008

Virtual Worlds 2008

Eigentlich wollte ich ein paar gemütliche Tage auf der Virtual Worlds 2008 verbringen. Fachvorträge hören und nebenbei in Ruhe was coden. Dann aber haben wir kurzerhand beschlossen, auf der zugehörigen Expo einen Stand zu machen und vorbei war es mit der Ruhe. Wir hatten zu dritt so viel zu tun auf dem weblin Stand, dass ich nicht eine einzige Session besucht habe. Alle drei waren ständig am Reden und Vorführen. Daniel hatte in Flash ein geniales Demo-Tool gebaut mit dem wir die wichtigsten Features und Anwendungsbeispiele aufrufen konnten. Zwischendurch natürlich auch immer wieder Life-Demos von Client und Lite trotz langsamem WLAN. Meistens waren die weblins schneller da, als die Webseite.

Insgesamt waren auf der Konferenz ca. 1200 Teilnehmer, alle Fachbesucher, keine Beutelratten. In der Expo war fast alles was Rang und Namen hat in der virtuellen Welt. Die großen Welten: SL, There, Habbo, ActiveWorlds, die großen Agenturen: Electric Sheep, Millions of Us, und viele andere Welten, Dienstleister, Plattformen und Engines (z.B. Metaverse, BigWorld, VastPark, elektrotank, iLemon, 500 Mirrors), Payment-Dienste, Avatar-Generatoren (z.B. Cyber-Extruder), andere Avatarsysteme (z.B. weblin, xtra-normal), usw. Auch neue 3D Welten waren da und/oder wurden sogar auf der Konferenz "gelauncht" wie mycosm.

Second Life öffnet sein Grid und erlaubt anderen (vor allem IBM) SL Server selbst zu betreiben. IBM versucht seit einiger Zeit "was mit virtuellen Welten" zu machen, hat mehrere eigene Welten, und will den Content selbst hosten. Bei einer "kleinen Firma" Content hosten reicht eben nicht für Dienstleister, wie IBM, die gegenüber Ihren Kunden dafür gerade stehen muss.

Multiverse bietet jetzt sogar parallel 3D (exe-Client) und 2D (Flash) Interfaces für die gleiche Welt an. Wenn sich eine Figur in der 3D Welt bewegt sieht man die das auch im 2D Viewer. Das ist technisch interessant, aber der Content wird nicht automatisch konvertiert. Man sagt, es gibt doppelt gemacht werden. Multiverse ist damit Metaplace (Areae, Raph Koster) voraus. Areae bietet zuerst nur 2D-Flash, später 3D. Areae war durch Jason Hable vertreten. Mit dem allgegenwärtigen Corey Bridges von Multiverse hat der sonst allgegenwärtige Raph Koster einen ebenbürtigen Mitspieler.

Überhaupt gibt es immer mehr virtuelle Welten, die sich in Webseiten einbetten lassen. Die meisten davon machen eine "anständige" Architektur, und nur "zuerst mal" einen Flash Client weil Einbetten in Webseiten, Blogs und Social Network Homepages gerade so cool ist, siehe Areae, Multiverse, Ogoglio, Media Machines. Daneben gibt es natürlich die für Flash gemachten Welten: Habbo, Barbie Girls, aber auch Freggers, DinoKids, MyMiniLife, SceneCaster und viele viele andere.

Sehr cool: xtra-normal, ein scriptbarer Movie-Generator.

2. März 2008

Schwanzwedeln

Denken Hunde eigentlich über ihr Verhältnis zum Menschen nach? Weiß der Hund, dass er besser riechen kann, aber Herrchen dafür besser ist in Differentialrechnung? Interessiert es ihn überhaupt? Sollte es ihn kümmern? - wahrscheinlich nicht.

Aber Menschen denken manchmal darüber nach, ob es noch etwas Anderes gibt, etwas Höheres, Intelligenteres, Besseres, Umfassenderes. Menschen haben das Gefühl, dass da noch etwas ist. Nur was es ist, da sind sie sich nicht einig. Vielleicht ist es ein Zustand, den Menschen selbst erreichen können, vielleicht ist es ein höheres Wesen, vielleicht ist es transzendent. Die einen nennen es Natur oder Nirvana, andere Gott, manche nennen es Protector oder außerirdische Superintelligenzen.

So viele Menschen glauben daran und vielleicht haben sie ja Recht. Angenommen da ist tatsächlich ETWAS. Lohnt es sich darüber nachzudenken? Können wir ES durch unsere Art des Nachdenkens erfassen? Sollte es uns kümmern? - wahrscheinlich nicht.

Noch mal zurück zum Hund: Hunde sind vermutlich zufrieden, wenn sie gesund sind, regelmäßiges Futter haben und mit Frauchen spazieren gehen ("zufrieden" hier im biologischen Sinne, wenn Hormone Schwanzwedeln verursachen). Hunde treffen andere Hunde und kommunizieren mit ihnen. Manche mögen sich, manche bellen sich an. Summa summarum ein schönes Hundeleben. Und dann ist da noch der Mensch. Sicher nimmt der Hund den Menschen wahr. Der Mensch setzt Randbedienungen innerhalb derer sich der Hund bewegt. Der Mensch bestimmt, wann es Futter gibt, wann Gassi gegangen wird, wann und ob Fortpflanzung stattfindet. Eine Hundeleine an der Wohnzimmertür schüttet Glückshormone aus. Aber freut sich der Hund in Erwartung zukünftiger Ereignisse basierend auf bewußter Extrapolation vorangegangener Erlebnisse? Nein, der Hund verfügt über Mechanismen, die ihn Schwanzwedeln lassen. Aber planerisches Denken spielt dabei keine große Rolle.

Auf der Straße kann es zu einer Situation kommen, wo der Mensch den Hund vor einem Auto rettet indem er an der Leine zieht. Der Hund kennt vermutlich keine Kausalkette: Laufen - Auto - Zusammenstoß - Genickbruch. Wie konnte der Mensch wissen, was hätte passieren können? Fragt sich der Hund warum der Mensch an der Leine zieht? Eher löst der Zug nur kurze Irritation aus, ändert ein Verhalten und ein mögliches Ereignis tritt nicht ein. Aus der Sicht des Hundes müsste das wie Hellsehen wirken. Aber der Hund denkt nicht darüber nach. Im fehlt die Ausrüstung. Ihm fehlt das planerische theoretische Denken. Selbst wenn er es versuchte, könnte er menschliche Intelligenz nicht verstehen. Man braucht menschliche Intelligenz, um menschliche Intelligenz zu verstehen. Wahrscheinlich merkt der Hund einfach nur, dass da ETWAS ist und lebt gut damit.

Zurück zum Menschen: viele merken, dass da ETWAS ist. Wir spekulieren darüber und denken uns Erklärungen aus. Wir vertreten unsere Lieblingserklärung manchmal so vehement, dass wir andere Menschen dafür umbringen. Dabei können wir die richtige Erklärung gar nicht geben. Uns fehlt die Ausrüstung. Wir wissen nicht einmal was da fehlt. Letztlich können wir ES nicht verstehen. Man braucht ES, um ES zu verstehen und wir haben ES nicht.

Aber wir könnten gut damit leben, wenn wir uns damit abfinden würden. Grübeln wird wahrscheinlich nicht helfen. Andere umbringen auch nicht. Schwanzwedeln - oder was Menschen eben tun wenn sie sich freuen - wäre meistens besser. Da kann der Mensch vom Hund noch was lernen.

_happy_wedeln()

24. Februar 2008

Barcamp Hannover 2008

Am Wochenende war Barcamp Hannover. Sehr angenehme Atmosphäre, etwas kleiner aber entspannter. Wieder viel gelernt und viel diskutiert.

Selbst eine Session gemacht zum Thema "Agile Development, Scrum, Unit-Testing" und dabei vorgestellt, wie wir die Techniken bei Zweitgeist anwenden bzw. umsetzen. Volle Session, Gute Diskussion.

Snippets von den Dingen, die ich mitgenommen habe:
- OpenID wäre eine coole Sache für Weblin. Nicht der Stein der Weisen bei Usergewinnung, aber es zeigt in die richtige Richtung. OpenID, OpenSocial, Mashups, SocialGraph sind wichtige Themen für weblin. Zum Teil sind wir sogar schon dran.
- HTML ist der Assembler des Web. Browser die Prozessoren. Es wird Zeit, dass wir mit Compilern arbeiten, die den Code generieren. Web-Programmierer sollten nicht "echo
" schreiben müssen, sondern aufgrund von Benutzereingaben und Zustandsänderungen Displayzustände beschreiben, die dann je nach Endgerät in HTML 4/5, XML, Braille, Mobile, etc. ausgegeben werden.
- Trete 3 Meter zurück und sieh dir deine Website an. Leser sehen das was du jetzt noch siehst. Es soll wichtigsten Punkt geben, ein Produkt, das worum es geht, nicht 100 gleichstarke Optionen oder gar viel Beschreibungstext.
- Während wir eine Menge Theorie über "Virtuelle Güter" gelernt haben: Idee entwickelt zum Thema "Kopierschutz bei verteilter Datenhaltung ohne vertrauenswürdige Clients". Digitale Signatur über UserID und Daten zur Echtheitsverifizierung. Das geht solange sich genügend Clients daran halten und sich Kopieren nicht lohnt, weil der Content bei genügend Benutzern nicht angezeigt wird.
- Twitter ist überall. Warum hat niemand früher ein 1-to-many Messaging gemacht? Instant Message 1-to-1 gab es schon lange, 1-to-many Bloggen auch. Aber es hat bis 2006 gedauert bis die Welt die Power des 1-zu-n Channels erkannt hat? Der Hype kommt aus der Kombination des 1-zu-n "FanOut", dass ich sende in Verbindung mit dem m-zu-1 Trichter, den ich empfange, Filtern dazwischen und sehr einfachen I/O APIs. Sehr cool. OK, Jabber-PubSub war schon da, aber zu komplex. Simplifikation !
- Wie bei jedem Barcamp sind alle überrascht, dass nur 60% kommen. Welches Orga-Komitee traut sich als erstes zu überbuchen? wie jedes Hotel, jede Fluggesellschaft, jede Privatparty. Was kann im "Worst-Case" passieren? Die Schnittchen gehen aus und die Räume sind zu voll. Und dann war es ein Erfolg.

_happy_camping()

21. Februar 2008

CCP's Chance

CCP is working on a secret project. It is assumed that they work on a new MMOG based on the World of Darkness IP. But maybe they will surprise us. The EVE ambulation project may be their way to get experience with avatar/first person technologies. CCP claims that they want to provide for more socializing but that there are no plans for more. I agree that avatars will give more socializing and might even attract gamers with other mindsets (read: women) but I doubt, that CCP has no plans beyond walking on stations.

Here comes what I wish they had in mind:

The new MMOG could be a science fiction life simulation with strong role play and melee combat elements. A kind of future Sims with RPG. If you want to reach the mainstream, then you need more socializing. People must be able to meet in person and not just as small squares on the black space background. In other words: you need avatars which people can style and a home where people can visit each other, maybe even player housing. Call it World of EVE.

The normal game life would happen in a hyper developed privileged world, surrounded by technology and lifestyle with current western and asian street trends. Starting in this futuristic environment players would adventure in the "upper world", uncover conspiracies and safe the world (see The Longest Journey). They could easily switch to cyberspace (Otherland) for parts of the quests. And where there is light, there is also shadow. The underworld of the distant future is big, dark and old. It is a perfect environment for a World of Darkness where technology meets arcane arts and monsters. Vampires? no problem: a product of criminal bio engineering or uncontrolled nanotech. Or they just developed over thousands of years in kilometres deep dungeons of a planetary megalopolis.

Of course adventures in both worlds will have combat with the full range of skills, guns, quests, shooting, nano/bio weapons, field effect, casting, regeneration, healing, vicious enemies, robots, cyberspace hacking, monsters, all you need for Anarchy Online on speed. And here we meet the old dream of EVE-Online players: melee combat in stations, not just walking (ambulation), but also fighting in hallways, conquering stations, using ground troops to throw pilots out of their (not so safe anymore) bunks, capturing command centres and infrastructure and solving quests in abandoned parts of old stations to safe the world (station). And ... what EVE-Online players do not dare to dream: landing on planets to enter a hyper developed living and adventure world.

This would be the perfect combination for CCP: a triplet of socializing/lifestyle with melee combat and seamless integration with EVE-Online. It would make EVE-Online more attractive for the mainstream and create a new world which might even sweep away SecondLife, but still leave enough room for a dark side.