Direkt zum Hauptbereich

making of HTML5 doodle - challenge

Wir haben im team an der HTML5 doodle challenge, anlässlich des google developer days 2011 in Berlin, eine kleine HTML5 Demo eingereicht.
Hier habe ich ein paar screenshots gesammelt wie es entstanden ist und die ersten prototypen der einzelnen Module bis hin zum Endergebnis.

Alles fing mit der doodle Grafik an welche uns als Ausgangspunkt diente. Dies war eine DymaxionMap in "blau" ;) Und da ich ein Mensch der Taten bin habe ich mir dieses Wunderwerk direkt ausgedruckt und ein  3D Model aus Papier gebastelt.














Nach dem Papier Modell folgten diverse Überlegungen was wir denn nun daraus machen sollten.
Recht schnell stand fest, daran war mit sicherheit das Papiermodell schuld, dass wir ein 3D Modell der Dymaxion Karte hinzufügen möchten. Und dies mit CSS3 umsetzen werden.

Dann ging es schlag auf schlag, danach kam dann die Idee dass wir Musik dabei haben möchten und wo doch schonmal die Musik dabei ist da kann doch das Modell sich zur Musik bewegen.
Als erstes Modell für die Musik musste ein "Würfel" herhalten ( ich war ja schließlich nicht für die 3D darstellung der Dymaxion Karte zuständig ) bei welchem sich  jedes Seitenteil zu einer anderen "Kanal" bewegt.... Hier habe ich auch ein Bild vom ersten "Analyser" Prototypen,



( was man nicht hören kann hier: "invaders must die von the prodigy" )








Hierbei wollte ich einfach nur schauen ob ich auch tatsächlich auf alle "Kanäle" des mp3`s zugreifen kann via Audio API. Damit das im Chrome klappt musste ich die Datei als "arrayBuffer" via xmlhttpRequest anziehen und danach via "Javascript-Audio-Api" selbst abspielen. Also der Sound wird mittels JavaScript erzeugt auf Grundlage des MP3 Files welches nun in einem Array liegt.
Um das zu sehen habe ich im HTML einfach zu per JS für jeden Kanal eine "div" Box erstellt und verändere dazu die "Breite" der Box on the fly.

Als nächstes kam uns die Idee dass wir die "nyan cat", warum auch immer, vermutlich lag es am Schlafdefizit von uns, einbauen mussten.
Und die nyan cat soll um das 3D Modell der Karte fliegen, wie ein kleiner "sputnik" im Orbit. Und da es noch schöner aussieht wenn es Nacht ist wollte ich unbedingt "Sterne" hinzufügen.
Da ich ein "fauler" Mensch bin wie die meisten ITler *fg*, wollte ich auf keinen Fall jeden Stern selbst positionieren und ebenfalls verspürte ich keine große Lust einen Stern überhaupt in einem Grafikprogramm zu "malen".
Also entschied ich mich für die Javascript/canvas/random variante. Ich erstelle immer einen grundstern in einem canvas welches dann einer "sternenBox" als child hinzugefügt wird. Damit es nicht zu langweillig wird werden die Sterne per zufallsgenerator positioniert und die Größe verändert. Die größe wird mittels
"-webkit-transform: scale()" beinflusst. Damit man später auch einen schönen ein/aus blend-Effekt hat.

Hier sieht man nun einfach die "sterne" auf einem dunkelblauen Hintergrund. Und in der Konsole sind die Dynamisch erzeugten "canvas" Elemente zu sehen.
Wenn die Sterne wieder ausgeblendet werden dann bekommen diese einen scale Faktor von 0 und werden erst nach der Transformation per JavaScript aus dem DOM gelöscht.

Nun war auch das 3D Modell fertig und es wurde langsam Zeit die ersten "dinge" zu mergen, ein Bild nach dem ersten Merge:


( hier ist noch der chrome Taskmanager zu sehen. Chrome Version: 14.0.835.18 dev )








Nun sieht man schon dass die Karte in 3D zu sehen ist und sich zur Musik die einzelteile bewegt. Nicht zu sehen ist die Drehung um seinen eigenen Mittelpunkt ;).


Zu guter letzt musste das doodle noch ein Thema bekommen. Die Vorgabe war Deutschland. Und da es ein google contest war dachte ich sofort an Deutsche Wissenschaftler, und was wir daraus gemacht haben kann hier begutachtet werden:
( man sollte dies mit einem chrome anschauen ;) )
russenreaktor.github.com/gddHTML5doodle/






Kommentare

Beliebte Posts aus diesem Blog

Mean.io aggregate assets in the correct order

Im working with mean.io framework which builds some little helper around the mean stack, to make things faster. If you aggregate an assets, it helps a lot to know that you can easily set things into the correct order with the option weight. The default weight is 0 when you dont set this option: mean.io framework I18n.aggregateAsset('js', 'lib/angular-translate/angular-translate.js',{absolute:true, weight:100 });I18n.aggregateAsset('js', 'lib/angular-translate-storage-local/angular-translate-storage-local.js',{absolute:true, weight:101});I18n.aggregateAsset('js', 'lib/angular-translate-storage-cookie/angular-translate-storage-cookie.js',{absolute:true, weight:102});

Soziale Netze und die Sicherheit! Report Kwick!

Die Sozialen Netzwerke, neudeutsch: Social Networks, halten nicht allzu viel von Sicherheit. Vor allem müssten die Entwickler viel mehr für das Thema XSS Sensibilisiert werden. D enn Potentielle Angreifer finden jede Schwachstelle im System. Und wer lange genug sucht der wird imme r fündig. Es sollte den An greifern nur nicht allzu einfach gemacht werden. Kwick.de hatte bis zum 20.06.08 auch noch oder wieder ein Problem mit XSS. Betroffen waren so gut wie alle Suchformulare auf der Seite. Per zufall bin ich auf diesen Umstand aufmerksam geworden. Eines sei gesagt. Bei Kwick kann man sich nun getrost Anmelden denn die Sicherheitslücke wurde sofort behoben. Also eine sichere Sache. Andere Social Networks haben ähnliche XSS Probleme, eigentlich erschreckend viele. Die Namen möchte ich nicht nennen denn sonst rennen vielleicht ein Paar Dummys dahin und testen es gleich......... Nachdem ich dieses Problem dem Betreiber gemeldet hatte wurde es auch Postwendend behoben. Nur aus diesem Gru

Flexible Arbeitgeber sind schwer zu finden ;)

Unternehmen, fast schon egal welcher Größe verlangen nach flexiblen Arbeitskräften. Und schimpfen sich selbst flexibel und bieten gar sogenannte "Flexiblen Arbeitszeiten" an. Und das thema "Home Office" wird auch gerne mal groß auf die Fahne gemalt und man denkt sich als Bewerber: "na das ist doch mal eine tolle Firma, da will ich hin" Doch zumeist entpupt sich diese tolle flexible Unternehmung vor allem als eines, eine kleine Mogelpackung. Frei nach dem Motto: "schreiben können wir ja vieles". So erwarten die Firmen das ich flexibel bin, dann weißt man auf ein "Flexible Arbeitszeit hin", mit einem dicken aber ,  so wie die CSU zur EU, von 9 bis 16 Uhr ist aber Kernarbeitszeit. Aha. Das klingt jetzt total flexibel für mich. Bei einem Wochensoll von 40h kann ich also jeden Tag überlegen wann ich denn jetzt um 8 komme oder um 9, denn teilweise sollte man ja auch nicht vor 7 kommen, sonst macht man ja eine Überstunde jeden Tag. So