Medien: Ist der interaktive Film schon tot?

December 8th, 2008 9 comments

storytronstart mixed reality storyengine videotracetrack

Bekanntlich Leben Totgesagte länger und so wie es aussieht geht es dem Medium interaktiver Film ähnlich. Die Idee des interaktiven Films gibt es schon seit einigen Jahren und dank des Rückkanals, welcher das Internet bietet, konnte dieses Medium Ende der neunziger Jahre einem breiterem Publikum zur Verfügung gestellt werden. Aber der wirkliche Durchbruch blieb bis heute aus, man könnte den interaktiven Film eigentlich auch als Totgeburt bezeichnen, obwohl das doch meiner Meinung zu hart klingt. Hauptsächlich lag es bestimmt an der Lean-Back Mentalität der Zuschauer, welche noch heute eine Hauptcharakteristik im Medium Film und Fernseh ist. Durch die immer stärker werdende Macht der interaktiven Medien (Internet und Games) wird sich dies Userverhalten auf die Dauer sicherlich mehr zu Gunsten der Interaktion verändern, und vielleicht gibt genau diese neue Entwicklung in der Mediennutzung dem interaktiven Film wieder ein Aufwind. Einen ersten Anfang hat YouTube mit der Einführung des Vermerk-Features (Video Annotation Feature) gemacht, welches von einigen Interactive Media Designer schon sehr schön für interaktive Filme eingesetzt wurde. Dennoch denke ich das diese Entwicklung noch nicht ausreicht, denn dem User muss selbst überlassen werden, wie sehr er sich interaktiv am Film beteiligt, so dass kein Überforderungs und auch kein Unterforderungsgefühl beim User auftritt. Aus diesem Grund haben wir (das erste Team am Klickfilm Projekt) versucht eine Story Engine zu entwickeln, die eine logische, sinnvolle und dramaturgische korrekte Erzählstruktur simuliert. Die ersten zwei Punkte konnten wir anhand von Tagging Techniken relativ gut umsetzen, nur die dramaturgischen Simulation ist um einiges komplexer und wurde am Ende von uns aussen vorgelassen. Dennoch war ich mit den Ergebnissen sehr zufrieden, weil mir dieses Projekt gezeigt hat, dass man einen interaktiven Film mit einem dynamischen Interaktionsgrad realisieren kann.

Mittlerweile ist seitdem einige Zeit (ca. 2-3 Jahre) vergangen. Aber nun gibt es einige wirklich hilfreiche Entwicklungen, die meiner Meinung nach den interaktiven Film zum neuen Auferstehen helfen können. Dazu gehören die positive Weiterentwicklung von StoryEngines, die zum Teil von der Game Industrie erstellt werden, die andere Entwicklung kommt aus der immer weiter voranschreitenen Disziplin der Bildverarbeitung (Image Processing).

Die Story Engine kümmert sich bei dem interaktiven Film fortgehend um eine logische und dramaturgische Narration (Erzählstruktur). Sie muss auf User Interaktionen reagieren können und eine passende Antwort bzw. eine passende Fortführung der Geschichte geben. Wenn keine Interaktion von Userseite geschieht oder wenn der User eine nicht passenden Befehl gibt, darf die Narration (bzw. der Geschichtsfluss) nicht unterbrochen werden. Die StoryEngine muss einen passenden weg dazu finden die Geschichte weiter fort zuführen. Einige interessante Informationen zu solchen Story Engines kann man hier finden:

Von Seiten der Bildverarbeitung werden immer besser werdende Objekterkennungs- und Trackingverfahren für Videobilder entwickelt. Diese Algorithmen könnte man sehr gut für die Verlinkung und Visualisierung von Interaktionsmöglickeiten im Videobild nutzen. Denn in unserem Projekt mussten wir einzelne klickbare Bereiche (Hotareas) im Videobild sehr mühevoll maskieren und im nach hinein Tracken. Diese Arbeit stand in keinen sinnvollen Aufwand/Nutzen Verhältnis, jedoch machen mir diese neuen Verfahren sehr gute Hoffnung einem Video leichter interaktive Elemente hinzu zufügen.

Ich hoffe doch sehr, dass sich diese zwei sehr unterschiedlichen Disziplinen zusammefinden und noch ein paar gute Filmleute ins Boot holen, und schon könnte aus dieser Mischung ein richtig guter interaktiver Film entstehen, der dazu nebenher den so sehr herbei gewünschten Traum von der perfekten Medienkonvergenz erreicht 😉

Getting Advanced in Flex

November 10th, 2008 3 comments

flexguislides insideria umlas

Zu Flex findet man im Web und in den Buchhandlungsregalen ziemlich viel, aber leider überwiegend Anfänger- bzw. Basisliteratur. Auch die deutsche Community ist in Sachen Flex nicht schlecht, aber die kritische Masse hat sie leider noch nicht erreicht, um auch regelmässig spezielle Fragen zum Thema Flex beantworten zu können. Codesnippets Homepages wie flexexamples.com helfen auch schon sehr bei den kleineren täglichen Problemchen. Aber um schnell die Konzepte und Hintergründe des Flex Frameworks kennenzulernen, werden die Quellen schon sehr rar. Aber Hin und wieder treffe ich dann doch noch über sehr gute Tutorials, Bücherkapitel, Slides und Videos von Flex Vorträgen, die mir einige AHA Effekte bescherrt haben 🙂 Die Ressourcen möchte ich euch nicht vorenthalten, deswegen hier eine kleine Auflistung, die ich mit der Zeit immer weiter updaten werde. Wer Lust hat kann hier gerne zusätzlich Flex Links und Ressourcen posten. Ich freu mich drüber!

Allgemein

Konzeptwissen RIAs

Data Binding

Real Custom Components (GUI)

Item Renderer (GUI Programmierung)

Item Editors (GUI Programmierung)

(Programmatic) Skinning

Software-Design

Test Driven Development (Produktion)

Automated Building Process (Produktion)

Project Management (Produktion)

Flex Tool - Hilfsprogramme (Produktion)

weitere Flex Ressourcen

-- UPDATE 20.11.2008 --

interessante Flex Bücher

Using Flex Ant tasks to build Flex projects – Part 2: Adding build tasks


Büchersumpf für den Winter 08/09

November 1st, 2008 No comments

comimag dataflow gamearchitect

Der Sommer ist vorbei und die damit verbundenen Grillsessions am Fluss oder See oder andere tolle Sachen, die man draussen so anstellen kann, gehören somit der Vergangenheit an. Dazu kommt dann noch die ach so tolle frühe Dunkelheit und die schöne (Nass)Kälte, die mir persönlich so gut gefällt, dass ich mich meistens gerne abends ins Bett verziehe. Wer sich dabei langeweilt, dem kann ich nur empfehlen zum alten Printmedium Buch zurück zugreifen. Aus diesem Grund ein Blogeintrag die drohende Langeweile und Inaktivität im Winter für neue Inspirationen und Ideenentwicklungen zu nutzen. Die hier aufgelisteten Bücher aus den Disziplinen Generative Grafik, Informationsverarbeitung und Game Development können einem dabei gut unterstützen...

Generative Grafik oder Kunst

Rund um Informationsverarbeitung

Physical Computing

Game Development

Interessantes Neues für Medieninformatiker

September 27th, 2008 2 comments

sandscape levelhead structuresynth

Vor wenigen Wochen besuchte ich die Ars Electronica in Linz, eins der grössten Medienkunstfestivals in Europa, wo die Symbiose aus Wissenschaft und Kunst Vordergrund steht. Ich bin mit vielen guten Impressionen nach Fribourg zurückgekehrt und werde ein paar für Medieninformatiker interessante Projekte vorstellen. Zudem liegt mein letzter Blogeintrag, wo ich einige interessante Medienprojekte vorgestellt habe relativ lange zurück, so dass sich da auch einige tolle neue Projekte in meiner Linkliste angesammelt haben. Los gehts:

Projects in Interaction

SAMPLINGPLONG
Bei dieser Medieninstallation von Jörg Niehage kann man mit Hand eines projezierten Mauscursors im realen physikalischen Raum Gegenstände ausführen. Sehr nette Idee Mauszeigermetapher raus aus der virtuellen Welt in die physikalische Welt zu holen.

Mehr Infos unter:
Projekthomepage
Video

Sandscape Version 2
Sandscape ist eine haptisches Mensch-Maschine Schnittstelle für ein besseres Verständnis und Design von Landschaften, was mit Hilfe eines Art Sandkasten erreicht wird.

Mehr Infos unter:
Projekthomepage
ACM Artikel

BLUI: Low-cost Localized Blowable User Interfaces
Steuerung eines Mauszeiges per Luft bzw. durch blasen. Eine interessante berührungslose Interaktionsschnittstelle, welche für Menschen mit Behinderungen (z.B. Querschnittslähmung ab Hals) eine alternative Bedienungsmöglichkeit darstellen könnte.

Mehr Infos unter:
cnet Newsmeldung
Paper (PDF)
You Tube Video

Swype (TextInput für Touchscreens)
Der Erfinder Cliff Kushler hat eine neue Eingabemöglichkeit für Touchscreens entwickelt. Man fährt über das Keyboard und das System erkennt aus den dabei getroffenen Buchstaben das richtige Wort.

Mehr Infos unter:
Projekthomepage
Golem Newsmeldung
Informationsquelle

reactable
Sicherlich kennen die Meisten den reactable schon. Meiner Meinung nach ein super Tool für kollaborative elektronische Musik und es hat auf der Ars Electronica einen sehr stabilen Eindruck gemacht.

Mehr Infos unter:
Projekthomepage
You Tube Video
TRACKS Beitrag

Levelhead
Bei Levelhead handelt es sich um ein Augmented-Reality Memory Game. Dieses Game wird mit einen Würfel gesteuert, der an den Seiten mit 2dim Barcodes beklebt ist. Eine Webcam trackt die Bewegung und erstellt den passenden 3D Raum zum jeweiligen BarCode.

Mehr Infos unter:
Projekthomepage
Vimeo Video

interaktives Theater - Tablescape Plus
Tablescape Plus ist ein interaktives Tisch-Video-Theater. Verschiedene Bilder werden auf die winzigen Bildschirmen, die aufrecht auf dem Tisch angebracht sind, projiziert.

Mehr Infos unter:
Projekthomepage
Paper (ACM)
YouTube Video

Phun
Bei Phun handelt es sich um eine kleine feine 2D Physik Engine mit einem sehr netten (Level)Editor

Mehr Infos unter:
Projekthomepage
YouTube Video

generatives Programmieren

Nervous System
Organic and computational designs, which pushes the boundary of computer-based generative Art. The homepage includes some tutorials, too!

Mehr Infos unter:
Projekthomepage
Beispielprojekt
Tutorial

Structure Synth
Structure Synth ist ein Programm für die Erstellung von 3D Strukturen, die sich an ein eingegebenes Regelset vom User bzw. Programmierer orientiert.
Projekthomepage

CityEngine von Procedural
Sehr praktisch für Computer Games und Filmszenen.

Mehr Infos unter:
Firmen Homepage
Videos
Trial Version

Anderes:

Giant video wall
Einfach eine riesige Videowand! Da stellt sich demnächst sicher die Frage, wie sich Motion Design am besten in den urbanen Raum integrieren lässt. Eine Symbiose aus Architektur und (Motion) Graphic Design

Mehr Infos unter:
Informationsquelle
Blogeintrag
YouTube video

Flash Intros bzw. interaktives video
Finde diese beide Beispiele einfach sehr gut gelungen. Super Idee!
de.youtube.com/experiencewii
producten.hema.nl

Weitere interessant Projekte gibts auf dem YouTube Channel iNspIreNewMedia zu sehen. Beispielsweise unter den Playlisten:

Studium: Get a Master in Media

August 31st, 2008 4 comments

interface design potsdam mediainforwth carnegiehci

Das Thema Masterstudiengang beschäftigt mich nach wie vor sehr. Meine ursprüngliche Planung war es nach meinen Bachelorabschluss in Computer Science in Media (deutsch: Medieninformatik) an der Hochschule Furtwangen 1-2 Jahre zu Arbeiten.

In dieser Zeit möchte ich bissl mehr Praxiserfahrung sammeln und ich will erkennen Können in welche Richtung ich mich weiter entwickeln möchte. Denn bei meinem Praxissemester in München trat ein kleiner AHA-Effekt bei mir auf. Denn während der 6 Monaten Anstellung als Kamera- und Tonassistent in der Video- und Filmproduktion merkte ich das dieser Bereich mir beruflich nicht so sehr zusagte, wie ich es mir ursprüglich vorgestellt habe. Und so geschah es, dass ich immer mehr in die Richtung (Web)Programmierung und Interaction Design abdrifftete. Was mir nun nach wie vor sehr viel Spass macht. Deswegen beobachte ich momentan hauptsächlich Master Studiengänge mit Schwerpunkten im Interaktionsbereich, Medienkonzeption und ein bissl Medienwissenschaft. Im Rahmen dieses Blogeintrages werde ich einige Master Studiengänge auflisten, die für mich und auch für andere Medieninformatiker nicht ganz so uninteressant klingen.

Goldsmiths University (London)

Potsdam

Hochschule Augsburg

Hochschule der Künste in Zürich (Schweiz)

Kunstuniversität Linz (Össterreich)

Uni Weimar

HDM Stuttgart

Bremen

University Malmö (Schweden)

RWTH Aachen

FHTW Berlin

University Leiden (Holland)

Carnegie Mellon University + Uni Madeira (USA und Portugal)

Manche, der hier erwähnten Studiengänge in meiner Auflistung sind nicht in Deutschland und sind zum Teil auch nicht gerade billig (siehe Goldsmiths Uni), aber vielleicht liefert gerade diese andere ausländische Sichtweise auf die Medien das besondere Etwas im Ausbildungsportfolio eines Medieninformatiker ;-). Zu dem fehlt der Masterstudiengang in Furtwangen in meiner Liste. Das liegt daran, dass ich einiges in Furtwangen gelernt habe und die Sichtweisen der Professoren zu den Medien mittlerweile gut kennen gelernt habe. Die Erfahrung (mein Hochschulwechsel von der FH Wiesbaden nach Furtwangen im selben Studiengang) hat mir gezeigt, dass solch ein Hochschulwechsel mit einer neuen Lehrbelegschaft und dem damit verbundenen anderen Verständnis von Medieninformatik sehr hilfreich war. Man bekam einen viel umfassenderen Einblick in die Thematik Medien und Informatik. Daher rate ich jedem seinen Masterstudiengang nicht an der selben Hochschule zu absolvieren, wie seinen Bachelor Studiengang. Nun ja das ist wieder meine sehr persönliche Meinung zu diesem Thema. Ich durfte mir auch schon andere gute Meinungen dazu anhören ;). Wie auch immer, falls jemand da draussen im WWW die eine oder andere hier erwähnte Fakultät bzw. Uni kennt, wäre ich um Feedback sehr sehr dankbar!

Die Gretchenfrage: Wann Flash und wann Flex?

August 15th, 2008 1 comment

flexflashfrage flashicon flexicon

Vor 2-3 Wochen kam bei uns in der Firma die Frage auf, sollen wir das nächste Projekt in ActionScript 2 oder nun mit Flex realisieren. Da wir alle im Team schon gut Erfahrungen mit ActionScript 3 hatten, aber seitens Flex mehr Theoriewissen besassen als wirkliche Praxiserfahrung, entschlossen wir uns an das neue Projekt mittlerer Grösse mit Flex heranzuwagen und unsere Flex Skills auszubauen. Mittlerweile bin ich froh, dass wir uns für die Portierung entschieden haben, aber mein Bild zu Flex hat sich dadurch ein bissl gewandelt. Denn bei Anpassungen und Erweiteurngen von Komponenten, die von der Standardfunktionalität abweichen, wird es sehr schnell komplex mit dem Flex Framework zu arbeiten. Man muss sehr genau die Initialisierungs- und Renderingsprozesse von Flex verstehen um diese Funktionalitäten implementieren zu können. So bin ich nämlich bei der Erweiterung der Chartkomponente in Flex auf einige wirklich komplexe Probleme gestossen, die mich häufig veranlasst haben über eine komplette Neuimplementierung mit nur ActionScript 3 Mittel nachzudenken. Es sind zum Teil sehr triviale Funktionaliäten, wie z.B. das Zeichnen eines Rechtecks im Hintergrund eines Graphens. Denn wenn dieses Rechteck z.B. über den Rand des Graphens hinausgeht, wird es erst gar nicht mehr gezeichnet bzw. gerendert. Um diesen Effekt zu verhindern muss man eigentlich sein eigene Drawing API für die Chartkomponente schreiben, die dann wieder sehr stark verschiedene Renderer und DataTransform Objekte benötigt. Absolut nicht trivial und widerspricht total den Simplicity Tutorials zur ChartKomponente, jedoch für einen sehr gut erfahrenen Flexer sollte das kein Problem sein. Nun gut, schlussendlich kam ich zu diesem Ergebniss wann man Flash und wann man Flex einsetzen sollte:

Wann Flash:

  • Für kleine bis mittlere Webseiten und -applikationen
  • Für sehr designlastige Webseiten, die eine nicht standardkonforme Struktur aufweisen
  • Bei statischen (pixelbasierten) Layouts
  • Wenn wenig Zeit für Recherche, sowie Einarbeitung in neuen Tools vorhanden ist
  • Wenn das Application Management nicht sehr komplex ist. Tipp: Gaia Flash Framework
  • (Entwicklung von Games)

Wann Flex:

  • mittlere bis sehr komplexe Web Applikationen
  • bei mittleren bis komplexen Datenmanipulationen
  • bei dynamischen und skalierbaren Layouts
  • standardkonforme Interaktionsformen und Benutzerführung
  • Fast Prototyping -> für schnelle GUI Testings
  • Wenn modulare Entwicklung eine grosse Rolle spielt
  • Bei grösseren Entwicklungsteams mit Budeget für die Recherche und Ausbildung

Vor einigen Wochen war mir nicht bewusst, dass das Flex Framework so umfangreich und leistungsstark ist. Ein einfaches loslegen, wie es nach dem ersten Blick immer erscheint, ist es nämlich nicht. Man kann wirklich sehr schnell eine Oberfläche zusammenklicken, die für die ersten Usabilitytest zu gebrauchen sind. Aber hinsichtlich modularer Programmierung (Software Design) kann man mit Flex sehr schnell grossen Mist bauen, wenn man sich nicht an die Prinzipien vom Model-View-Controller oder anderen GUI-Software-Patterns hält. Dazu gehört schon einiges an Programmier- und Abstrahierungserfahrung und ist (hoffentlich trete ich jetzt mit meiner Aussage niemanden aufs Gemüt) glaub von einem oder einer, der/die mal hier ein bissl Design und Programmierung macht nicht zu leisten. In diesem bin ich für jede andere Meinung offen 😉

Categories: Gedanken, Programming Tags: , ,

ByeBye Flash Mobile – Hello Liip and Flex

August 8th, 2008 No comments

swr liip inspiremedia

Eigentlich will ich nichts privates in meinen Blog schreiben, aber mein Arbeitgeberwechsel vom SWR in Baden-Baden zur Liip AG in Fribourg wird den Themenschwerpunkt meines Blogs etwas stärker beeinflussen.

Im letzten Blogeintrag Mein Fazit zu Flash Lite konnte man schon meinen kleinen Unmut gegenüber Flash Lite erkennen und so sage ich nun mit meinen Arbeitgeberwechsel zugleich ByeBye Flash Lite and Hello Flex + ActionScript 3. Meine Aufgaben bei Liip sind unter anderem die Entwicklung von E-Learning und Online Anwendungen mit Flex und ActionScript, ein bissl Software Design und vielleicht in Zukunft auch ein paar Projektleitungsaufgaben. Diesem Aufgabengebiet entsprechend wird sich der Themenschwerpunkt meines Blog ausrichten.

Desweiteren habe ich es endlich mal geschafft meiner Meinung nach interessante TV Beiträge und (Web)Videoclips zum Thema Medien zusammen auf einer Plattform zu vereinen. Zu sehen ist die Sammlung auf dem YouTube Channel iNspIreNewMedia und für eine bessere Übersicht wurden diverse Playlisten zu den Themen Game Developing, Film Making, Media Art usw. angelegt. Wer Lust hat kann gerne mal reinschauen, es gibt einiges zu sehen 😉

Und weil das immer noch nicht genug ist, verwalte ich nun meine Linkorgien mit del.icio.us. zu dem Themen Flash, Flex und PHP. Anschauen könnt ihr das Ganze unter del.icio.us/derhess. Viel Spass damit!

Categories: Allgemein Tags: ,

Mein Fazit zu Flash Lite

July 23rd, 2008 No comments

flashlite javaME openscreenproject

In der 6monatigen Anstellung als Flash (Mobile) Developer beim SWR in Baden-Baden, konnte ich mich intensiv mit der Flash Lite Plattform auseinander setzen. In dieser Zeit hab ich Flash Lite lieben und auch hassen gelernt.

Besonders gut gefallen hat mir dabei der leichte Übergang von der Web Application Entwicklung auf die Mobile Application Entwicklung, der dank ActionScript 2 für jeden Flash Developer kein Problem darstellen sollte. Auch bei der grafischen Gestaltung von Programmscreens kann Flash, wie bisher gegenüber anderen Technologien - z.B. JavaME - sehr stark punkten (festgestellt nach einigen Gesprächen mit Florian Feigenbutz). Diese Stärke im grafischen Sektor ist bei Flash im Webbereich schon sehr lange bekannt, sowie die einfache Integration externer Medien (Video, Audio usw.) Jedoch bin ich bei dem letzten Punkt von Flash Lite sehr enttäuscht. Die Medienintegration (Flash Lite 2.x) ist meiner Meinung nach noch nicht wirklich zu gebrauchen, denn man hat im Durchschnitt 2-4 MB Arbeitsspeicher auf einem Device zur Verfügung. Ca. 400 kB werden schon vom Flash Lite Player in Beschlag genommen. So bleiben nur noch ca. 1.6 MB für die Applikation und den externen Mediendaten. Wenn man sich jetzt mal überlegt wie gross eine normale Musik MP3-Datei ist und dass diese Datei zum Abspielen erstmal komplett in den Arbeitsspeicher geladen werden muss, wird einem ziemlich schnell klar, dass an dieser Stelle sehr schnell Speicher Error Meldungen des mobilen Devices auftauchen können. Für dieses und andere kleine, aber ärgerlichen Problemchen mit Flash Lite gibt es natürlich auch Workarounds, die aber alle meiner Meinung nach Pain in the ass sind.

Auch die weiteren (Backend)Funktionalitäten, wie z.B. ein direkter Zugriff auf das Filesystem, die interne Kamera-, GPS- und Bluetooth-Schnittstelle bleiben dem Flash Lite Developer verwährt. Genau in diesem Bereich können die Technologien wie JavaME, Python usw. voll ihre Stärken in der Mobile Application Entwicklung ausspielen. Jedoch existieren auch mittlerweile schon einige Flasherweiterungen (Janus, KuneriLite), die diese Kluft mit dem Nachteil einer langsameren Datenverarbeitung schliessen wollen.

Deshalb komme ich aus den oben genannten Gründen zur gleichen Meinung, wie Richard Leggett, dass Flash Lite alleine(!) ein nettes (Widget)Tool für mobile Endgeräte ist, aber mehr leider nicht. Für die Entwicklung einer Killer-Applikation der nächsten Generation (z.B. location-based Services mittels RFID, BarCodes oder GPS) ist man leider gezwungen auf andere Technologien zurückzugreifen.

Damit ist Flash Lite nicht tot, denn Totgesagte leben bekanntlich länger. Hoffnung in dieser Richtung gibt mir das OpenScreen Project von Adobe. Denn so wie es aussieht, exisitert dieses Projekt um die hier erwähnten Schwächen der Flash Technologien auf anderen Hardware Plattformen (Handys, mobile Multimedia Player) zu lösen. Hoffen wir auf einen neuen grossen Sprung seitens Flash 😉

Categories: Gedanken, mobile Tags: , ,

Tutorial: Getting Started mit Janus Flash

June 4th, 2008 1 comment

janusbsp januskomp janusapp

Im vorherigen Blogeintrag habe ich ein kleines Review zur Janus Flash Extension geschrieben. Nun erläutere ich kurz die GUI, wie das Zusammenspiel mit Flash Lite und Janus unter Windows Mobile 5 funktioniert. Nach dem Lesen dieses Tutorials, sollte man in der Lage sein Mobile Application mit Janus zu entwickeln und mit Hilfe einer CAB Installationsdatei zu vertreiben.

Um überhaupt loslegen zu können, müssen auf eurem Rechner die Janus Extension (Trialversion), Janus Flash PlugIns installiert sein, sowie das .net Compact Framework auf dem Windows Mobile Device. Ist die benötigte Software installiert legen wir sofort los. Dafür habe ich eine kleine ganz einfach gehaltene Flash Lite Anwendung geschrieben, die das Applikationsverzeichnis und die Meta Daten der Applikation ausliest. Durch diese einfachen Codebeispiele wird sehr schnell klar, wie sich die Janus API mit ihren Event Listener verwenden lässt. Weitere Funktionen der Janus API könnt ihr in der Dokumentation oder im Codeschnippsel Thread im Janus Forum nachschlagen.

Mobile Application Development mit Janus nach der Installation:

1.Schritt: die Janus Komponente

00_januskomponente

Um überhaupt auf die Janus ActionScript Klassen zugreifen zu können, müsst ihr die Janus PPC Komponente (Vorsicht, das ihr nicht ausversehen eine andere Janus Komponente erwischt) von dem Komponenten Fenster auf die Flash Bühne ziehen. Durch diesen Vorgang wird die Komponente der Bibliothek hinzugefügt und ihr k/ouml;nnt auf die Janus API zugreifen. Meine Beispielanwendung ist mit einer einfach GUI ausgestattet, die nach dem erfolgreichen Einlesen des Applikationsverzeichnises aufgebaut wird und anschliessend die Textfelder mit den Metadaten der Applikation füllt. Ich möchte hier nicht weiter auf den Code eingehen, da ich diesen ausführlich in der FLA Datei dokumentiert habe.

2. Schritt: SWF Kompilierung
Die Flash Lite Anwendung einmal mit <STRG> und <ENTER> kompilieren, so dass eine SWF Datei generiert wird. Wenn jetzt keine Compiler Fehlermeldung bei euch erscheint und das Display im Device Central weiss bleibt ist der Kompilierungsvorgang erfolgreich verlaufen. Leider kann der Emulator im Device Central nicht die Funktionalität von Janus emulieren, so dass ihr auf euren PC leider nicht das richtige Ergebnis begutachten könnt. Das funktioniert nur am Ende auf dem Device. Ist leider nicht so schön fürs Debugging...

3. Schritt: die Projekteinstellungen

Main Screen Janus Tool

Ist die SWF erfolgreich erzeugt, geht es nun weiter zur Janus GUI. Doppelklicken auf das Janus Icon und ein Fenster öffnet sich. Ganz oben könnt ihr eine Menüleiste mit den Punkten Plattform, Project File, Tools usw. sehen. Für uns sind in diesem Tutorial nur die ersten zwei Menüpunkte am wichtigsten. Um eine Windows Mobile Anwendung ersellen zu können, müsst ihr auf den ->Plattform<- Menüpunkt klicken und die Plattform ->Pocket PC<- auswählen. Danach sollten sich die Tabs in der Janus GUI, der jeweiligen ausgewählten Plattform anpassen. Danach speichern wir erstmal unser Projekt ab, indem wir auf dem Menüpunkt ->Project File<- klicken und den Befehl ->Save as<- auswählen. Jetzt kann es mit den wirklich interessanten Part weitergehen...

4. Schritt: Der Application Tab
Main Screen Janus Tool
Im Application Tab könnt ihr eure Anwendung mit Metadaten versehen (die in unserer Beispielanwendung ausgegeben werden) und grundlegende Einstellung an eurem Projekt vornehmen. So muss zum Beispiel der Port für den XML-Socket ausgewählt werden, welcher in der Regel ->Port 1400<- ist. Wenn ihr euer eigenes Programmicon auf dem Device haben möchtet (was ich euch empfehle), könnt ihr hier eine Icon (Dateiformat .ico) einbinden. Ich habe in meinen Beispiel ein Icon mit der Auflösungen 48x48 Px verwendet, aber es geht auch mit einer kleineren Auflösung. Zum Schluss muss im Application Tab noch die URL des erzeugten SWFs gesetzt werden. Dafür einfach auf das Ordner Icon rechts neben dem Textfeld klicken und die von der Flash IDE erzeugte SWF Datei auswählen.

5. Schritt: Libraries Tab
Janus Library Screen
Wir überspringen direkt den Main Form Tab, weil die dortigen Einstellungen nur für den Pocket PC und den Flash Player 7 interessant sind . Angekommem im Libraries Tab, könnt ihr dort zusätzlich benötigte Bibliotheken einbinden. Das ist nur der Fall, wenn ihr auf Funktionalitäten wie z.B. GPS, SQL Datenbank usw. zugreift. Bei uns bleibt das Feld leer, da wir in unseren Beispiel auf solche Funktionen nicht zurück greifen werden.

6. Schritt: Compile Tab

Janus Compiler Screen

Nun kommen wir zu einen sehr interessanten Tab, dem Compile Tab. Hier könnt ihr den Ort angeben, wo die ausführbare exe Datei für den Device gespeichert werden soll. Hier rate ich euch dringends einen seperaten Exportordner zu erstellen in dem dann die exe Datei und die neu generierte(!) SWF Datei abgelegt werden kann. Ist der Ordner angelegt, könnt ihr ohne weiteres auf den Button ->Compile<- drücken und voila Janus erzeugt euch eine Exe + SWF und eine DLL Datei in dem Export Ordner.

7. Schritt: Cab File - Installationsdatei Tab

CAB Export Screen

Im letzten Schritt erstellen wir eine CAB Installationsdatei, die schlussendlich an den Endnutzer verteilt werden kann. Im CAB File Tab angekommen, könnt ihr in den Textfelder ->Installation Path<- und ->Shortcut Directory<- den Installationsort der Applikation bestimmen. Für welche Ordner die kryptischen Kürzel stehen, schlagt ihr am besten in der Janus Doku nach, allerdings solltet ihr auf jeden Fall im Textfeld ->Installations Path<- den JanusProject Text in euren gewünschten Ordnernamen umbenennen (bei uns: JanusBeispiel).
Ist der Installationsort definiert, fügen wir unserer Beispielanwendung noch die zusätzlich benötigten externen Dateien hinzu, indem wir auf das Ordner Icon klicken. Diese Dateien werden dann mit in die CAB Datei eingebunden und bei der Installations wieder entpackt und im Applikationsverzeichnis abgelegt. Diese Funktionalität ist besonders praktisch wenn man z.B. ein XML ConfigFile f&uumlr seine Applikation verwendet oder/und einen austauschbaren Skin.Sind auch die letzten Dateien hinzugefügt, kann das CAB File mit dem Drücken des ->Create Cab<- Buttons erzeugt werden. Ob die Erstellung erfolgreich war, kann man in der CabError.txt Datei im Export Ordner nachlesen. Ist die Datei leer, hat alles geklappt.

8. Schritt: Anwendung testen

shortcut


mobile_app

So jetzt ist endlich alles fertig und man kann die fertige CAB Datei auf das Handy kopieren. Ist die Datei auf dem Handy angekommmen führt man diese aus. Der standardmässige Windows Mobile Installationsvorgang wird ausgeführt. Nach dem installieren ist direkt unser Shortcut Icon auf dem Start Menü Screen des Devices zu sehen. Über diese Verknüpfung können wir unsere Anwendung immer wieder ausführen und testen. Unsere Anwendung sollte nach dem Starten die Meta Daten, sowie ein Hintergrundbild anzeigen. Wenn der linke Softkey gedrückt wird, wird der dynamische Text aus dem XML-File im Display angezeigt und mit dem rechten Softkey könnt ihr die Applikation wieder schliessen.
Damit ih bei jeder neuen Version nicht immer wieder das Programm löschen und neu installieren müsst, reicht es aus die exe und die swf Datei neu in der Janus GUI zu kompilieren und dann im Applikationsverzeichnis eures Devices die alten Dateien zu überschreiben. Das funktionierte bei mir bisher problemlos...

Ich hoffe das kleine Tutorial erleichtert euch den Einstieg in die Entwicklung einer Mobile Application mit Flash Lite und Janus. Die Beispielanwendung könnt ihr euch selbstverständlich runterladen und erweitern.

Download Flash Lite Janus Beispielanwendung

Mobile Flash mit Janus unter WinCE

May 28th, 2008 No comments

janus janus_gui janus_forum

Im Zusammenhang einer kleinen (Wecker) Testanwendung auf einem Windows Mobile 5 Device testete ich das Zusammenspiel von Flash Lite 2.1 und der Janus Flash Extension. Bei der Janus Flash handelt es sich um ein zusätzliches Kompilierungstool, welches eine ausführbare exe-Datei erzeugt. Diese exe-Datei ist das Bindeglied zwischen dem SWF-File und der DLL-Dateien. Die DLL-Dateien stellen für die Flash Anwendung weitere Funktionalitäten zu Verfägung, wie z.B. eine SQL Datenbank, XML schreiben, GPS Funktionalität usw.. Desweiteren kann man mit Hilfe von Janus eine CAB-Datei erstellen, die sich wie eine Installationsdatei verhält. Diese Installationsdatei kann wiederum mit einem Programmicon gestylt und mit zusätzlichen Dateien, wie z.B. XML Files versehen werden.

Also einige wichtige Hilfsmittel fär die Flash Developer's Mobile Application Entwicklung. Doch hört sich das Alles nur bis zu diesem Punkt so rosig an. Es gibt wie bei Allem auch hier ein paar unangenehme Fallstricke, die wären:

  • Auf dem Windows Mobile Device muss das .net CF installiert sein
  • die komplette Kommunikation zwischen dem .net Framework und Flash basiert auf einer XML-Socket Verbindung und ist daher nicht gerade die schnellste und belastbarste Verarbeitung. Jedoch gibt es seitens Flash (Lite) keine andere brauchbare Alternative.
  • (evtl. muss auf dem Mobile Device für die XML-Socket Verbindung noch der Port freigegeben werden. Was für den Otto Normal Verbraucher eigentlich zu viel verlangt ist)

Hat man diese Hindernisse erfolgreich gemeistert, kann man mit seiner Anwendung loslegen. Die Janus API ist gut dokumentiert und schön objektorientiert aufgebaut. Dadurch lässt sich die Janus Extension sehr gut für den Flash Developer verwenden. Sollte es dennoch Probleme bei der Entwicklung geben, kann ich euch nur das Janus Support Forum ans Herz legen. Dort wurde mir bisher sehr schnell geholfen und überhaupt machen mir die dortigen Mitglieder einen sehr netten und kompetenten Eindruck.

Mein Fazit zur Janus Extension:
Janus hat hier und da seine kleinen Problemchen, welche aber durch die hilfsbereite Community fast wieder weg gemacht werden. Für die Windows Mobile Nutzer gibt es leider keine andere Alternative zur Janus, da es das einzigste(!) verfügbare Produkt für diese Plattform ist. Aber genau darin liegt meiner Meinung nach auch die absolute Stärke der Janus Flash Extension. Denn das Janus Team hat es als einzigste Firma geschafft fast alle Mobile Plattformen mit ihrer Flash Extension abzudecken (Mir ist zumindest keine andere Alternative bekannt?!). So lässt sich mit der gleichen Janus API auch die gängige Symbian Plattform S60 bedienen. Dieser Sachverhalt erspart dem Flash Entwickler sehr viel Einarbeitungszeit (und auch Wartungsarbeit etc.) in andere Flash Extension Tools, wie z.B. KuneriLite und SWF2Go.

Wer jetzt Lust auf Janus Lust bekommen hat, kann sich eine voll funktionstüchtige Trialversion auf der Janus Homepage runterladen... Viel Spass!!