Programming

Opensim und der Rest

Während Linden Lab ja mit Hochdruck dabei ist, seine Technik und die Plattform mit Hochdruck um neue Features zu erweitern, die so wirklich Sinn machen – Serverside Baking, Material System usw. – tritt Opensim scheinbar auf der Stelle. Zumindest findet dort nicht wirklich erkennbar eine Entwicklung von solchen Sachen statt.

Die Folge wird schlicht und ergreifend sein, dass Second Life Opensim technisch bis auf einige, wenige Spezialitäten wie das Hypergrid massiv abhängen wird und Opensim wird es immer schwerer haben, den technischen Vorsprung von Second Life aufzuholen.

Vielleicht wollen sie das auch nicht, nur wird so die Schnittmenge an gemeinsamer Funktionalität eben deutlich kleiner im Laufe der Zeit. Vielleicht wäre jetzt mal endlich so langsam ein guter Zeitpunkt, dass Opensim den Schnitt der da facto sowieso kommen wird endlich praktiziert und gewisse Sachen selbst in die Hand nimmt. Warten wir es ab.

Der Mensch ist ein Gewohnheitstier

Linden Lab macht langsam mit Sunshine ernst und bald kommen die Änderungen am HTTP-Transfersystem für Assets und dergleichen mehr. Maddy beschreibt das bei sich sehr schön.

Damit wird es auch nicht mehr allzu lange dauern, bis alle Sims auf dem Maingrid darauf umgestellt sein werden. Das Ergebnis wird sein, dass die Bewohnerschaft mal wieder zweigeteilt sein wird: während die einen, die noch immer technisch veraltete Viewer wie den Phoenix benutzen, jammern werden warum sie nur noch graue Avatare und anderes Zeug mehr sehen, werden sich diejenigen, die modernere Viewer benutzen einer besseren Geschwindigkeit erfreuen.

Aber man kann es nun einmal nie allen Recht machen und diese Änderungen sind sinnvoll. Nur das Gejammer wird trotzdem kommen.

Unreal Engine 3 läuft ohne Plugin nativ im Browser

Einige Programmierer von Mozilla haben in Zusammenarbeit mit Epic Games die Unreal Engine Version 3 in den Browser gepackt. Das ganze dauerte sage und schreibe gerade mal vier (!) Tage, dann war das Projekt abgeschlossen.

Das Ganze basiert auf Javascript, WebGL und HTML5. Flash von Adobe wird dazu nicht benötigt, es läuft also nativ im Browser, an einem Renderer für Webbrowser der aktuellen Unreal Engine 4 soll Epic Games bereits arbeiten.

Überhaupt ist Mozilla aktiv dabei, den Webbrowser als Spieleplattform zu etablieren und arbeitet da auch mit anderen Firmen zusammen.

Und so sieht das Ganze dann aus – nur warum sie das Video nicht in HD hochgeladen haben, das wissen wohl nur die Götter.

Alle Jahre wieder…

Nein, kommt nicht das Christuskind, aber das Halbwissen über Sinn und Unsinn von Scriptscannern hält sich nach wie vor beeindruckend hartnäckig. Viele Simbesitzer sind offenkundig nach wie vor der Meinung, die Anzahl der am Avatar getragenen Skripte sage zuverlässig etwas über deren Einfluss auf die Simleistung aus.

Das mag mal so gewesen sein, doch heute ist man da deutlich weiter – nur haben die Besitzer das bis heute nicht kapiert und stellen munter nach wie vor die dummen Tafeln auf! Ja, denn da draußen gibt’s ja böse, böse Avatare, die keine ausreichende Skripthygiene betreiben und die muss man ja darauf hinweisen, wie böse doch die vielen Skripte sind!

Mal ehrlich: wenn ich auf eine Sim hingehe und deswegen automatisiert runtergeworfen würde, dann hätte diese Sim mich das letzte Mal gesehen, denn Dummheit soll einfach schmerzen. Und es ist nunmal einfach so, dass vermeintlich einfache Antworten auf komplizierte Sachverhalte nur selten wirklich zutreffend sind, so eben auch hier.

Ja, wo isser denn? Wo isser denn, der PMD?

Diese Frage stellte sich mir unwillkürlich, als ich mal wieder Meshklamotten sah und dabei an das von der Community finanzierte und in Zusammenarbeit mit Linden Lab verzapfte, vermeintliche Allheilmittel namens Parametric Mesh Deformer denken musste.

Es wird nun schon über ein Jahr und drei Monate an dem Ding programmiert, es gibt auf Seiten Linden Labs immerhin einen Projektviewer – und das war’s.

Ansonsten ist die Informationslage eher dürftig, und es beschleicht mich der Verdacht, dass Linden Lab es absolut nicht besonders eilig damit hat, dass dieses an und für sich sinnvolle Feature endlich serienreif wird und zum Einbau in jedem Viewer freigegeben wird.

Wenn ich mir so Nalates Blog durchlese, dann zieht das Projekt momentan langsam aber stetig unterirdisch seine Bahnen und seine Eltern sind zunehmend frustriert.

Woran es liegt, dass es nicht weiter ist? Angeblich, weil Linden Lab noch immer auf Shapes und Kleidungsstücke wartet, um daran Feinjustierungen vornehmen zu können und an mangelnden Ressourcen auf Seiten Linden Labs, die Oz einfordern will.

Was so finde ich nur eines deutlich macht: Linden Lab sieht die Notwendigkeit nicht, dass es überhaupt in den Viewer reinkommt, da halten ein bis zwei Programmierer von Linden Lab intern die Flagge hoch, dass es überhaupt was wird.

Ehrlicher wäre es da doch gleich, Linden Lab würde sagen „Nein, wollen wir nicht!“ – und fertig, anstelle es immer weiter so zu verschleppen. Oder?

Project Sunshine startet bald

Linden Lab ist drauf und dran, bald die ersten Versionen der Project Sunshine genannten Serverbesserungen im Maingrid auszurollen. Bei Project Sunshine werden architektonische Änderungen am Grid vorgenommen, die die Zuverlässigkeit und Stabilität für jeden einzelnen erhöhen sollen.

Bisher war es so, dass die am Avatar getragene sog. Baked Texture, also der Skin komplett mit allen Kleidungsebenen, clientseitig im Viewer des jeweiligen Benutzers berechnet und dann als temporäre Textur auf den Simulator hoch geladen wurde. Das klingt zwar wie eine gute Idee, in der Praxis führt es aber dazu, dass mancher Texturupload unvollständig oder eben sehr langsam von statten geht.

Mit Project Sunshine ändert sich das nun, da die Berechnung der Baked Texture auf einem eigenen Server im Rechnerpark von Seiten Linden Labs übernommen wird. Damit gehören diese Probleme in Zukunft der Vergangenheit an, und die Skins der Avatare werden vor allem auf vollen Sims für alle deutlich schneller und vor allem zuverlässig laden.

Wer allerdings sich nach wie vor noch an den Phoenixviewer klammern sollte, der wird damit ein Problem bekommen. Der Phoenix Viewer wird nämlich seit 1.1.2013 nicht mehr weiter entwickelt und hat die notwendigen Änderungen am Viewer, um mit Project Sunshine zusammenarbeiten zu können, nicht implementiert. Noch hat das Phoenixteam dies vor, denn sie verweisen zu Recht darauf, dass es den Firestorm-Viewer gibt und der genau das kann.

Das hat manchem Phoenixliebhaber zwar nicht gepasst, aber ist so. Auf Sims, die mit Project Sunshine laufen, werden Benutzer veralteter Viewer in Zukunft dann nur noch komplett graue Avatare sehen, ganz einfach weil der Viewer nicht weiß, woher er die Baked Texture bekommen soll. Und fertig.

Wer dennoch unbedingt weiterhin dann einen 1er-Viewer benutzen will, der damit klar kommt, muss entweder zum Cool Viewer von Henri Beauchamp greifen, denn der kann das bereits oder dem Singularity Viewer, dort sind die notwendigen Vorarbeiten zumindest auch schon durch.

Aus aktuellem Anlass unterbrechen wir das momentane Programm, um vor einer aktuellen Welle von Hackerangriffen zu warnen!

Liebe Leute, momentan finden auf viele SL-Accounts momentan gerade Hackerangriffe statt. Solltet ihr euren Account nicht mit einem gescheiten Passwort gesichert haben – wie ein solches aussieht, das lest ihr bitte einfach mal in Ruhe hier nach – dann macht das umgehend!

Desweiteren benutzt bitte dieses Passwort nur für euren Zugang in Second Life und nirgends sonst!

Ansonsten kann es leider sein, dass eurer Zugang gehackt und übernommen wird, um mit URLs von Phishing-Sites, die auf altersvista.org enden, eine Freundeskonferenz aufzumachen. Das habe ich heute schon bei zwei Accounts (einer davon sogar recht bekannt) erleben müssen.

Und sollte euch jemand per Email auffordern, euer Passwort erneut bei Linden Lab eingeben zu müssen – kontrolliert den Link genau, ob da nicht jemand Phishing betreibt und ignoriert das am Besten ganz!

Der aktuelle Phishing-Link ist dabei dieser: ******lifemarchetplace.altervista.org/p/Adult-Sex-Free-Outfit-Male-Female/2008587/index.htm . Solltet ihr dort eure Logindaten einkippen, dann wird auch euer Account übernommen und ihr habt ein Problem!

Die einfache Regel, um so etwas zu erkennen, ist: offizielle Seiten von Linden Lab enden IMMER auf secondlife.com und nichts anderem! Achtet darauf und Augen auf!

NiranVs Viewer wird eingestellt – oder auch nicht

Das mit den Gemütslagen mancher Opensourcentwickler ist ja so eine Sache. Das Leben ist natürlich nicht einfach, meistens ist es sogar recht undankbar, längst nicht alles, was man programmiert, wird auch von Projektleitern dann übernommen. Das empfinden viele als einen Schlag ins Gesicht, kommt aber täglich vor und damit muss man eben einfach leben, fertig. Nicht umsonst hieß das Essay von Eric S. Raymond damals „Die Kathedrale und der Basar.“

NiranV Dean hat nun bei Linden Lab einen Bugreport eingereicht, dass die Attachments im Viewer nicht genau symmetrisch dargestellt werden und, wie es sich gehört, das alles schön fein säuberlich dokumentiert plus eine mögliche Problemlösung gleich mitgeliefert. Das klingt im Prinzip erstmal nach einer runden Sache, das Ticket nennt sich Open-162. Da gibt es auch einige Bilder dazu, inwieweit nun sich der bisherige Fehler genau auswirkt. Eigentlich ist es mehr eine Kleinigkeit kosmetischer Natur.

Nun hat Linden Lab aber den Bugfix nicht angenommen und das Ticket geschlossen. Warum? Ganz einfach, weil dieser Bugfix Unmengen an bereits existierendem Content kaputt machen würde, und die Besitzer per Hand nachbessern müssten. Die meisten Designer haben nämlich drum herum gebaut und fertig, also es ist kein wirklich weltbewegender Fehler, sondern mehr so eine Sache mit der man leben gelernt hat und an die man sich gewöhnt hat. Second Life ist voll davon, und würde man nun hergehen und das korrigieren, dann wäre der Schaden eindeutig größer als der Nutzen. Also ist es besser, man lässt es so bleiben wie es ist und fertig.

NiranV Dean weiß zwar darum, aber er ist folgender Meinung:

better break all available content that has been attached to those bones instead of creating even more broken stuff in the future making it unnecessarly harder for avatar and clothing creators to align their stuff symetrically correct. If this issue would have never happened , i wouldnt have lost so many hours on finetuning my legs and other attachments because they are simply not symetric to each other.
And instead of saying „it breaks content“ we actually DO it and prevent more broken stuff to be created which makes this shitstorm just bigger.

Und mit der Meinung eben flog er auf die Schnauze, fertig. Das kommt vor, und es ist einmal wirklich einer der Fälle, wo ich die Meinung von Linden Lab absolut unterstütze, die da lautet:

Real bodies are not perfectly symmetric, and neither is our avatar model; changing this now would be more disruptive than symmetry justifies.

Also Linden Lab erspart seinen Zigtausend Benutzern hunderte von Stunden unnötiger Arbeit. Schön. Die Reaktion von Niran darauf ist trotzig, er hat nun angekündigt, deswegen mit der Entwicklung seines Viewers aufhören zu wollen.

Er selber schrieb dazu das noch: 

for my users , i will do one last release sometime soon (not sure yet) and i guess thats it then , i will just return to what i´ve done prior to creating a Viewer that doesnt try holding the users hand and wants to improve Second Life instead of keeping its broken state

Da sage mal noch einer, dass Programmierer keine Diven sein können.

Die rabiate Phoenix-Fanbase und noch ein paar Statements von Henri Beauchamp zum Thema Serverside Baking

Am 17. Dezember 2012 verkündete das Phoenix-Team das Ende der Entwicklung des beliebten Phoenix-Viewers. Die Gründe dafür sind unter anderem, dass man nicht mehr weiterhin zwei unterschiedliche Codebasen pflegen will und 2013 neue Features wie Serverside Baking erscheinen werden, die ohnehin die Kompatibilität mit der 1er-Viewercodebasis brechen werden.

Festzuhalten dabei ist: man kann seinen Phoenix noch weiterhin benutzen, die Entwicklung aber wurde Ende 2012 eingestellt. Eine lange überfällige Ankündigung, bei der man förmlich die Freude des Teams, endlich diesen Zombie losgeworden zu sein, spüren könnte. Die Reaktionen auf den Post sind zweigeteilt: die einen haben absolut kein Problem damit, und sich beim Phoenix-Team für all die Arbeit bedankt, sie nutzen in Zukunft nun entweder eben Firestorm, Singularity oder den Cool Viewer. Andere aber tun so, als sei dies der Untergang des Abendlandes und überziehen das Team mit überbordender Häme und Flames.

Diese Flamer haben dabei offensichtlich nicht verstanden, was Opensource ausmacht. Opensource heißt, du kannst den Code nehmen und damit im Rahmen der Lizenz machen, was du willst. Es heißt aber nicht, dass nun die Entwickler eines Projekts unentgeltlich nach der Pfeife ihrer Benutzer tanzen müssen und machen müssen, was die wollen. Wenn die Entwickler keine Lust mehr haben, etwas weiter zu entwickeln, dann ist das eben so und fertig. Dann kann man entweder selber die Initiative ergreifen und da weitermachen, oder lebt damit und lässt es eben sein. Punkt, aus, fertig!

Alles in allem sind aber die anhaltenden Flames der Phoenixfanbase mit bisher 178 Kommentare im Blogpost oben dermaßen überzogen, dass sich die Entwicklerin Tonya Souther zu dem Kommentar „Go ahead, fork Phoenix!“ hinreißen ließ. Souther beschreibt die Codebasis des Phoenix-Viewers als hoffnungslos veraltet, dass es schon massiver Arbeit bedürfe, alleine das Meshrendering auf den Level von 3.4 zu bringen – es basiere noch auf Viewer 2.8.

I’m not kidding when I say it’s an unmaintainable tissue of hacks held together by spit, chewing gum, duct tape, and baling wire.

Ich übertreibe nicht, wenn ich sage, dass es [Phoenix] eine unwartbare Masse an Hacks ist, die von Spucke, Kaugummi, Tesafilm und losen Drähten zusammengehalten wird.

Das Zitat lässt dann schon tief blicken, und weil die Fanbase so rabiat weiterhin auf Phoenix pocht, soll sie doch den Mist einfach übernehmen, warten und fertig. Der Rest könne ja mit Singularity oder dem Cool Viewer glücklich werden.

Kurz: Undank ist wohl der Welten Lohn und manche Hohlpfosten fordern da von Freiwilligen eine Arbeitsleistung ein, auf die sie kein Recht haben das einzufordern. Klar, dass da einem schon mal die Galle überlaufen kann.

Übrigens schwebt über all diesen Probleme Henri Beauchamp, denn der bastelt ja nach wie vor an seinem eigenen Viewer, dem Cool Viewer, alleine. Diesen entwickelt er vor allem für sich selbst und wenn jemand Gefallen daran hat, bitte, kann er ihn gerne nutzen. Beauchamp gibt an, über 35 Jahre Programmiererfahrung zu verfügen und dementsprechend kein unbeschriebenes Blatt zu sein.

Gut, Beauchamp hatte mal wieder Langeweile, und daher kann die aktuellste Version vom Cool Viewer bereits Server Side Baking. Ein Feature, das der Phoenix-Viewer nie mehr bekommen wird, es sei denn jemand macht einen Fork und nennt den dann anders. Der Cool Viewer ist damit der erste TPV, der dieses Feature offiziell unterstützt.

Übrigens gibt’s zu dem Thema auch noch eine launige Mail von Beauchamp in der Entwicklerliste an Oz Linden, die es in sich hat. Beauchamp wirft Linden Lab in Sachen Opensource schlichtweg Vollversagen vor, anders kann man es nicht nennen. So schreibt er dies:

I’d rather not judge „Oz, the man“ because it is hard to tell whether his actions are the only result of his own decisions and doings, or are the materialization of LL’s policy towards OpenSource and, if we can judge from the resulting actions their policy would clearly be: „take benefit of all the advantages OpenSource can bring to us (i.e. free coding and debugging horsepower provided by volunteering developers), and dismiss all the duties OpenSource cooperation involves in return (such as providing clean diffs for changed we made behind closed doors(*) before releasing them, but also providing an *open* list of known bugs to developers)“.

Kurz und gut: Linden Lab würde gerne die Vorteile der Community wie kostenlosen Code und Debugging abgreifen, dafür im Gegenzug aber nicht mal die grundlegendsten Selbstverständlichkeiten an die Community, wie eine offene Liste der bekannten Bugs, zurückliefern. Eine Klage, die nun überhaupt nicht neu ist, sondern genau so schon Nicholaz Beresford vor fast fünf Jahren formulierte. Linden Lab bleibt also sich und seiner Linie treu. Das Hauptproblem von Linden Lab sei, dass sie hinter verschlossenen Türen monatelang neues Zeug entwickeln würden und dann – BUMM! – ist es auf einmal eben da. Das sei nicht die Art und Weise, wie Opensource funktioniere, und vor allem käme da Linden Lab seinen Pflichten nicht wirklich nach…

Daran angehängt ist eine Email von Beauchamp an Oz Linden vom Juli 2012, in dem sich Henri lange und breit darüber auslässt, wieso er die Art der Implementierung – basierend auf dem „Current Outfit Folder“ für eine denkbar schlechte Idee hält.

Und jetzt, wo die ersten Testimplementierungen da sind und das Feature offenkundig so bockt wie Beauchamp voraussagte, zeigt Beauchamp denen mit Freuden den Stinkefinger und sagt dazu: „Ich habe es euch doch gleich gesagt!“ – Tja, und er hat damit sogar noch Recht, aber Linden Lab wollte ja nicht hören…

Work in progress

Ich hab das alte Template entsorgt, nun ist eines installiert, welches mit einer festen Breite fährt, und so sieht es nun aus:

wip

Flexible Weiten finde ich bei heutigen Webdesigns grundsätzlich schlecht, ganz einfach weil die heutigen Monitore so breit sind, dass man da locker zwei bis drei Seiten DIN A4 drauf unterbringen kann. Wenn aber das Auge zu lange Zeilen lesen muss, dann verirrt es sich oft und es erschwert ihm stark unnötigerweise den Lesefluss. Eine Weisheit, die im Zeitungsdruck schon lange bekannt ist, denn nicht umsonst sind genau deshalb fast alle Printmedien mehrspaltig gesetzt! Das Template sehe ich noch nicht ganz als der Weisheit letzter Schluss an, aber es kommt dem, was ich haben will, schon sehr sehr nahe.

Ansonsten bekam’s von mir noch einen neuen, griffigeren Namen verpasst, der bisher nicht in Gebrauch war, viel Juristen-Blablabla wie Nutzungsbedingungen und Haftungsausschluss etc., was zum Betrieb absolut notwendig ist, und wächst und gedeiht so vor sich hin.