Sublime

YouTube ist wirklich ein schönes Archiv zum rumstöbern. Hier eine vierteilige Doku zu einer der besten, und hierzulande kaum bekannten, Band die je existierte: SUBLIME.

Ich empfehle jedem folgende CDs:

“Sublime”
Das ist die CD, die nach Brad’s Tod erschien und für den Durchbruch
hätte sorgen können - scheiss Drogen…

“Stand by your Van”
Meine Lieblings-CD, da live und grossartig

Das Keyboard muss verschwinden…

Und los gehts mit dem ersten Tip.

Ziel: Das UIKeyboard vom Screen verschwinden lassen wenn man irgendwo ausserhalb in den Screen klickt.
Es gibt Ansätze dazu, einen die ganze View überdeckenden Button zu erstellen und auf den Klick das Keyboard rauszukicken.

Das geht eleganter:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  [meinTextfield resignFirstResponder];
}

*bing

Mein Semester in Stanford…

ist nun zu Ende. Stressig wars mit gleichzeitiger Festanstellung in Berlin.  Naja, gut war zwar nur über iTunes U, hat sich aber gelohnt.

Da ich also jetzt an einem spannenden iPhone Projekt sitze werden hier in Kürze mehrere Einträge zu meinen Erkenntnissen folgen, die hoffentlich dem einen oder anderen einige frustrierende Recherche-Stunden ersparen. Obwohl ich sagen muss, dass gerade das ja oft den meisten Lernerfolg bringt :-)

Erster Tip: Viel Zeit nehmen, um sich in Objective-C und XCode etc. einzuarbeiten. Ich habe angefangen mit dem Buchklassiker Cocoa Programming for Mac OS X, dann einigen Tutorials/Screencasts und bin dann irgendwann auf den Stanford Kurs CS193P via iTunes aufmerksam geworden.

Da ich schon einiges bis dato gelernt hatte, habe ich den Kurs immer ein wenig schleifen lassen - hey sind auch schliesslich echt ein Haufen langer Videos…
Lustigerweise hat sich gezeigt, dass ich lange an Problemen knobelte, sie dann nach langer Recherche und einigen grauen Haaren lösen konnte, um dann festzustellen, dass in einer der Vorlesungen genau gezeigt wurde wie ich das auch hätte einfacher und schlauer machen könnte.

Also: Ab nach Stanford und studieren!

Gewonnen!


Manchmal ist das Leben wirklich zu gut zu einem. Ich habe schon angefangen für das neue Macbook zu sparen und jetzt habe ich doch direkt von Adobe eine Macbook Pro geschenkt bekommen!

Ich bin einer der beiden Gewinner des Acrobat meets Flash Contests, mehr Infos zu meiner Einreichung hier.

Tausend Dank Adobe, ihr wart auch vorher schon meine Lieblings-Software Firma!

(Apple mal ausgenommen)

;-)

Acrobat meets Flash

Der Vormarsch von Flash lässt sich nicht mehr aufhalten, neben der gelungenen Transformation vom Browser auf den Desktop (Adobe AIR), lässt sich Actionscript nun auch nativ in PDF Dateien (ab Version 9) ausführen.

Um die Neuigkeiten unter Entwicklern und Benutzern zu verbreiten, haben die netten Leute bei Adobe einen Contest ins Leben gerufen, bei dem Flash- / Flex-Entwickler die Chance hatten, mit den neuen Möglichkeiten zu experimentiern und interessante Anwendungen zu basteln.
Bevor ich ins Detail zur Entwicklung gehe, möchte ich vorab erstmal zeigen, was man damit machen kann:

Als erstes muss man sich bei Adobe die aktuelle Acrobat Version installieren.
Auf der Seite werden auch gleich viele der Features vorgestellt, ich empfehle für ein eindrucksvolles Beispiel, diese PDF Datei herunterzuladen und mal etwas damit rumzuspielen, ziemlich beeindruckend was da mittlerweile möglich ist.

Hier ist ein Beispiel-Portfolio, das ich mit meiner “Komponente” erstellt habe.

Das sind wirklich spannende Zeiten für Flasher / Flexer, die Aufgabengebiete wachsen wirklich rasant, auch wenn es erfahrungsgemäß sicherlich etwas dauern wird, bis sich Auftraggeber mit den neuen Technologien vertraut gemacht haben und sich coole Projekte ausknobeln, die unsereins dann umsetzen könnte.
Daher ist meiner Meinung nach jetzt der richtige Zeitpunkt sich mit diesen neuen Themen auseinander zu setzen und sich Gedanken zu machen, was man alles damit anstellen kann :-)

.nav Datei

Die Aufgabe im Contest war, eine .nav Datei zu entwickeln, diese kann man sich als Template zur Erstellung von eigenen Flash-basierten PDFs vorstellen - sehen kann man diese Templates, wenn man in Acrobat Professional 9 (als Trial herunterladbar) auf “Assemble PDF Portfolio” klickt.
Dabei handelt es sich vereinfacht gesagt um ein umbenanntes .zip Archiv, welches, neben dem in Actionscript geschriebenen Moduls, verschiedene Dateien zur Konfiguration des Templates beeinhaltet.

Entwicklung

Ohne hier zu sehr ins Detail zu gehen, möchte ich einige Tipps geben, die mir die Arbeit etwas erleichtert haben. Die Entwicklung ist nicht gerade trivial, was aber eher an der Schwierigkeit liegt, das Projekt als .nav Datei zu konvertieren, da hier einige Stolperfallen auftauchen.
Generell kann man in der Flash IDE arbeiten, aus Gründen der Komfortabilität wird aber der Flex Builder empfohlen, dem kann ich mich nur anschliessen.

Um einen Einstieg in die Entwicklung zu bekommen, empfehle ich diesen sehr guten Blog eines Adobe Entwicklers, dort gibt es einige Video-Tutorials die sehr essentiell für den Anfang sind.

Der Actionscript-Part für die Erstellung eines Modules ist nicht anders als man es kennt, man fängt damit an ein neues Projekt anzulegen und dort unter “libs” bzw. über den “Build Path” eine kompilierte Library (”AcrobatAPI.swc”) zu integrieren, welche die API für die Zusammenarbeit zwischen Actionscript und Acrobat ist.
Ich habe mit Flex-Modules noch nicht viel gemacht und mich beim kompilieren erstmal gewundert, dass ich nie etwas zu sehen bekam außer einem leeren Browser-Fenster. Nach etwas Recherche wurde klar, dass Modules nur angezeigt werden, wenn sie über einen ModuleLoader geladen werden. Dies erschien mir sinnvoll aber umständlich, also hab ich mir die Sache einfach gemacht und während der Entwicklung mit dem normalen mx:Application Tag gearbeitet, so dass ich sehen konnte was passiert und für die Integration in die .nav Datei dann umgestellt auf mx:Module.

Das hört sich verwirrend an, ist aber ganz easy, hier ein Beispiel:

<!– Während der Entwicklung –>
<mx:Application
xmlns:mx=”http://www.adobe.com/2006/mxml”
layout=”absolute”

creationComplete=”go()”
width=”100%” height=”100%”>

<!– Für Acrobat als Module –>
<mx:Module
xmlns:mx=”http://www.adobe.com/2006/mxml”
implements=”acrobat.collection.INavigator”
height=”100%”
width=”100%”
horizontalScrollPolicy=”off”
verticalScrollPolicy=”off”
creationComplete=”go()”>

Das hilft leider nur bedingt, da die meisten der neuen Funktionen nur laufen, wenn das Modul im PDF Container läuft (ich gehe jetzt hier mal noch nicht auf den Zugriff von Dateien innerhalb des PDF Kontextes ein, das ist alles nochmal einen ganzen Zacken vertrackter)…
Mir als eingefleischtem Mac-Nutzer wurde die Arbeit leider erschwert, da es noch keine Trial Version von Acrobat Professional 9 für den Mac gibt. Zum Glück hab ich aber noch einen eingestaubten PC rumstehen, auf dem die Trial läuft. So hab ich am Mac entwickelt und dann am PC die .nav Datei zusammengestellt, was ein wenig nervig war ;-)
Es ist aber sicher nur eine Frage der Zeit, bis Adobe die Mac Version nachliefert, in der Hinsicht sind sie ja zum Glück vorbildlich.

Soweit erstmal, ich hoffe das hilft dem einen oder anderen, hier nochmal meine Datei.

TVNow

Während ich gerade an einem recht umfangreichen AIR Tool arbeite, habe ich zwischendurch zur Entspannung ein Programm gebastelt, das einem immer zeigt zu welchen Sendungen man seine Zeit vor dem TV am besten verschwenden kann.

Features

Installation, Video und mehr hier

Blood Sugar Sex Magik Making Of

Schöner Film über den Entstehungsprozess eines der besten Alben überhaupt. 7 Teile auf YouTube, hier ist der erste:

Teil 2
Teil 3
Teil 4
Teil 5
Teil 6
Teil 7

SoundSpectrum

soundspec.jpg
Ich liebe ActionScript - SoundSpectrum Demo

Schlupp 3D

Manchmal macht es doch Spass zu studieren. In Computer Grafik II hatten wir die Aufgabe einen kurzen 3D Film in Maya / 3Ds Max zu generieren (Note 1.0). Ich erlaubte mir einen meiner Lieblings Augsburger Puppenkisten Darsteller von seinen Fäden zu befreien: Lauf Schlupp, lauf!

Obsessive Compulsion Drive

Danke Michael Fuller, die Suche ist also endlich vorbei.

Den digitalen Multi-Simulating-Overkill-Firlefanz habe ich nun endgültig aus
meinem Pedal Koffer verbannt, seit dem ich dich angetestet habe.
Und auch mein Boss Blues Driver, klingt auf einmal wie selbst zusammengelötet und darf jetzt maximal als Booster herhalten.

Du bist unverwüstlich gebaut und äussert flexibel gegenüber Stromstärken von 9 - 18 Volt.
Du bist nicht billig, dafür handgemacht und klingst wie der schönste zerrende
Röhren-Amp auf voller Stufe, auch bei niedriger Lautstärke - Hallelujah!
Hier ein guter Test, der mich angefixt hat.

Warum du ausgerechnet nach einer Zwangsstörung benannt bist, will ich einfach nicht verstehen. Nicht verstehen, verstehen, verstehen.

Aus dem Studio

In 4 Tagen 3 Lieder aufnehmen und mischen.
Hört sich entspannt an? Falsch.

Aber trotz manchmal blank liegender Nerven doch sehr spassig!
Hier gibt es die Rohfassung der Songs, der Feinschliff steht noch aus.

MySpace und MP3s

Mal davon abgesehen, dass MySpace so hässlich und unübersichtlicht ist, das ich immer wieder Augenkretze bekomme und bei fast jeder kleinen Änderung die “Ein unerwarteter Fehler ist aufgetreten. Sorry!“-Meldung kommt, gibt es noch ein viel nervigeres Problem: die MP3-Konvertierung.

Wir waren just im Studio und ich habe gut gelaunt einen Song auf unsere MySpace Seite hochgeladen…
Keine Ahnung wieso man aus gut schlecht machen sollte, aber MySpace will wohl Platz sparen - die Bitrate der MP3s wird neu kodiert und so wie sich das anhört liegt die weit unter 128 kBit/s.

WTF!?

Wozu sich im Studio abrackern und alles rausholen was geht, wenn am Ende eh alles nach Pappe klingt?
Blieb mir nichts anderes übrig, als einen externen Player einzubinden, ist nat. schade das andere Leute den Song nicht bei sich hinzufügen können…

Ratten-Zerrung

Ich bin, wie die meisten Gitarren-Träger, auf der Suche nach dem perfekten Sound. In einem mir selbst unerklärlichem Wahn war ich tagelang im Internet-Land verschollen, um mir dutzende Demo-Videos von Distortion Pedalen anzusehen (sogar auf Thai) und unendlich viele User-Reviews durchzulesen.

Dann habe ich gleich einen ganzen Karton meiner Favoriten bestellt und war hocherfreut, das die legendäre Ratte sämtliche Pedale höherer Preisklasse locker vom Tisch genagt hat.
Robust wie ein Panzer und dabei herrlich analog. Hier gibt es Demo-Sounds zu hören, die aber ehrlich gesagt kaum an das rankommen, was mir aus meinem Amp entgegenschleuderte.

Debugging Deluxe

Bei meinem letzten Projekt für eine  Zeitung mit vier großen, roten Buchstaben habe ich einen MP3 Player mit einigen netten Features in Actionscript 3 programmiert und alles lief wunderbar - bis der Player auf dem Live-Server online ging…

Schwupp - auf einmal funktionierte die Preloader-Anzeige, also wieviel bereits von der Datei geladen wurde, nicht mehr korrekt. Safari zeigte überhaupt keinen Fortschritt an, Firefox meinte die Datei wäre sofort geladen - grossartig…
Wäre ja auch mal zu schön gewesen, wenn ein Projekt komplett stressfrei über die Bühne geht.
Also ran ans debuggen: Was hab ich falsch gemacht? Nochmal alle Dokus zum Thema Sound in Flash durchstöbern, haufenweise Code umschreiben und - keine Änderung.

Hirnschmalz.

Ok, davon ausgehend dass ich nichts falsch gemacht habe, nahm ich dreimal das gleiche MP3 und packte es auf verschiedene Server und siehe da: das Problem trat nur auf dem Live-Server des Kunden auf!
Nach viel Recherche bin ich dann auf 2 Ansätze gekommen, von denen Nr. 2 zutraf, ich hoffe das spart jemand da draussen viele Stunden Frust:

1. Fehlender Content-Length-Header bei Skript (o.ä.) der die MP3 Datei ausliefert
2. Serverseitige on-the-fly compression (z.B. gzip) für MP3s ist aktiviert und bereitet Flash bzw. dem Browser Probleme bei der Übermittlung von bytesTotal / bytesLoaded.

Kompression abgeschaltet und auf einmal wart alles gut :-D

FlexRichTextEditor v1.0

Ich mag Safari als Browser aber manche Sachen laufen einfach nicht so wie sie sollten, z.B. WYSIWYG- bzw. Richtext-Editoren. Da wird mittels Javascript versucht, Word für HTML Laien nachzubauen ;-) Also Bilder einfügen, Text fett markieren, Listen erstellen etc.
Ich habe noch keinen Editor gefunden der leicht zu installieren ist und in jedem Browser sauber läuft.

Meine Überlegung: Welche Technologie läuft auf jedem System bzw. in jedem Browser gleich ohne irgendwelche OS-Spezifischen Hacks?

Hmm, da war doch was…richtig - Flash! :-D

Flex bietet praktischerweise eine Komponente namens RichTextEditor an, allerdings hat der Editor ein grosses Manko: man kann keine Bilder einfügen.
Ich habe mir also gedacht - selber machen und folgende Features hinzufügen:

Hauptproblem ist noch das die Bild-Position innerhalb des Textes nachträglich nicht abgeändert werden kann, vielleicht fällt mir dazu aber noch was schlaues ein :-)

Hier ist der Editor zu finden, er lässt sich einfach als SWF einbauen, wo man SWFs einbauen kann. Ich habe auch eine kleine Hilfe integriert.

PS: Dieser Post wurde standesgemäß natürlich auch mit eben jenem Editor geschrieben :-)

Next Page →