Now I am almost studying Interactive Art for one year. Me, as a Flash and Flex Developer, like coding with audio-visual and interaction-based content. But if I am honest, in the last time I did not use Flash in my projects at all. I had to deal with some other powerful creative coding tools. Some of these tools provide me, as an artist, much more freedom than the Flash plattform can ever provide. For example, creating a visual output for multi-displays applications, programming on hardware (arduino), some real-time video tracking (face detection) experiments, using special Open-GL Renderer for 3D graphics and so on. But I also ran into problems, which I would never have with using Flash. Especially, when I worked together with unexperienced programmer. For this reason, I will describe some of these creative coding tools with their inherent advantages and disadvantages. After this article you should have a good overview about the available tools in creative coding.
I was very pleased that YouTube released a ActionScript 3 API for their Chromeless Player. I looked at some availabe code snippets on different blogs and unfortunateley, I had to realize that the API is not really object-oriented and a little bit annoying to work with (because of the missing code completion).
My current project - an independent Web Video Player - is still using the old workaround YouTube API Tubeloc and I have to change this. That is the reason why I created a Flex Component for the new YouTube AS3 API. If you would like to use my code for your Flex or Air projects, please feel free to use it and if you will find some bugs, please leave a comment!
Now I will start with some explanations of my code. I create 4 classes, which manage the whole YouTube Chromeless API. The class YouTubeAs3 contains all the most important functions and is based on the Flex Framework(!). The classes AirYouTube and FlexYouTube extends the YouTubeAs3 class. Both classes are Flex Framework based classes. I had to divide the YouTubeAs3 class into these 2 classes, because the Adobe Air environment don't support the command Security.allowDomain() and it is cleaner to use this command for a web-based projects. So therefore please use the FlexYouTube component for web-based projects and the AirYouTube component for your Air projects. The fourth class FlashYouTube is an only Flash plattform based class, that should be very handy to use for non-Flex projects. Read more...
I have already mentioned it in an earlier blog post that I am still working on a vimeo component for the Adobe AIR environment. Now I have created version which is stable enough for a intensive testings. So if you would like to use it for your Air Application, don't hesitate to use it. I would be very happy about some feedback messages from you.
Now I describe some special functionality compared to my FlexVimeo Player component. Because of the incompatible command Security.allowDomain() in the Adobe Air environment (which is essential for working with the Vimeo Moogaloop API ), I had to create a seperate remote player. This remote player receives control message and send control messages via LocalConnection to the AirVimeoPlayer Component. So if you use my AirVimeoPlayer Component, you must always use my remote_vimeo.swf File for controlling the Vimeo Moogaloop API. It works in the same way as the youTube AS3 API Wrapper.
The other not so nice thing is that I ran in some perfomance issue because of sending to many messages via LocalConnection. So I had to put down the amount of update message for the PlayingState.Playing, but that should not be problem for you. In my cases it works fine.
Last time I worked a little with the Moogaloop JavaScript API, because I thought it would be a nice workaround solution for integrate the Moogaloop API in an Adobe AIR Application. First time I tried the example code from the vimeo api documentation and it worked fine on my webserver. But for my case I did not want to use the SWIFF JavaScript Code. Only the SWFObject Code for embedding Flash Content in HTML was for me o.k. So I spent a few hours to get this API work without this SWIFF JavaScript thing. I tried a lot, failed a lot, cried a lot and laughed a lot about myself and my limited JavaScript knowledge. So now I am happy with my current version, because it works fine without this SWIFF thing, except loading a new Video (or should I say loading a new clipID) into this SWF Container failed. So if anyone has an idea, please post a comment here!
I was very happy after completing my extended VimeoPlayer Class, so happy that I had enough motivation to wrote a Flex Component. With my component it is now very easy to use the moogaloop API in Flex. The functionality features are the same as my VimeoPlayer class, except that I also support some Flex-based features (Data-Binding, updatedRendering).
I created a very ugly and simple Flex GUI Interface, which demonstrates the functionality of this Flex Component. The component has some useful attributes / properties and some Functions. Here a short overview:
FlexVimeoPlayer Properties:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Bindable]publicvideoClipID:int;// The vimeo video clip id
The API functions to control the vimeo player api are still the same, except the setSize() Function is not available anymore. You can use the width and height properties of the component as every other Flex Component. Here are the available functions: Read more...
The last weeks I dealt with the vimeo Moogaloop API. The documentation on the JavaScript and Flash API was not so well. But fortunately a couple days ago they updated the documentation for the JavaScript API and then for the Flash API. So now I am able to give an introduction how you can use the Moogaloop API in Flash. The guys from vimeo published a Videowrapper Class which handles the very very basic stuff of the vimeo video player. So you can easily import the vimeo video player in your Flash Projects and you are able to do basic functionality like play(), pause() and loading a new video. But if you wanted to create your own video player, this wrapper class doesnot go too far. So I did some analysis on the moogaloop.swf File and found some interesting functions, that solves some of the problems, which Robert Abramski described in his Blog post Vimeo Player and the Secret API.
In my blog post I will describe how you can use my extended version of the VimeoWrapper class. For a deeper inside of the analysis I will write another blog post. So here you can see the my “ugly vimeo Custom Player” as an example application.
A short explanation of the control buttons. Beginning with the left button :
Play Button -> Play the vimeo video
Pause Button -> Pause the vimeo video
Blue Seek Button -> jump to a defined position at the video
“C” Button -> Change the color of the vimeo video controls
“V” Button -> Loading a new Video
“F” Button -> Resize the vimeo video and the player (Fullscreen Mode)
“M” Button -> Mute the video sound
“U” Button -> Unload the vimeo video and stop the loading process
“Q” Button -> destroy the VimeoPlayer Wrapper Class
Between the video and the controls you can see the duration and the currentTime of the Video and the VideoStatus of the File. Read more...
In den vorherigen Artikel wurde darüber berichtet, wie wir Geld mit Flash Games, Online Werbung und Schulungen verdienen können. In diesem Artikel beschreibe ich nun den vielleicht hoffnungsvollsten Einkommensansatz in unserem Produktportfolio. Den Verkauf von digitalen Produkten. Dabei unterteilen wir die möglichen digitalen Produkte in 3 Kategorien:
Software & Widgets
Media Assets (digitales Rohmaterial)
Transformierte digitale Produkte ins physische Produkt
Software & Widgets
Unter diesen Bereich verstehe ich kleine Anwendungen und Utility-Programme (Hilfsprogramme), die unseren Alltag sei es im Privaten oder im Berufsleben erleichtern. Apple machte mit dem iPhone App Store den ersten Schritt zu einer einheitlichen Vertriebsplattform für ihre iPhone Applications. Dies hat einige Vorteile aus Kunden- und Entwicklersicht. Die Kunden besitzen einen Ort, wo sie eine Fülle von Applikationen beziehen können und der ganze Kaufabwicklungsprozess ist durch den AppStore von Apple seriös gelöst. Wir Entwickler besitzen einen Ort wo wir unsere Anwendungen vielen Kunden anbieten können, und müssen uns nicht um eine eigenes Abrechnungssystem kümmern. Besonders für kleine Entwicklerstudios ist dies ein immenser Gewinn und ermöglicht ganz neue Geschäftsmodelle (siehe Independent Developer 😉 Nun gut, die Konkurrenz schläft zum Glück nicht und Adobe und Nokia ziehen mit ihren eigenen Distributionssystemen nach. Adobe Air Anwendungen für den Desktopbereich können auf dem Air Marketplace vertrieben werden. Für mobile Lösungen bietet Adobe einen kostenlosen(!) Flash Lite Distrubitable Player an, der uns den Vertrieb von Flash Lite Anwendungen sehr erleichtern wird. Nokia bietet dagegen mit ihren OVI Store uns eine richtige Vertriebsplattform ähnlich dem AppStore Prinzip von Apple an. Hin und wieder kann auch die Plattform GetJar.com von Interesse für mobile Applikationen oder Playyoo für mobile Flash Games sein.
Wie in einem der vorherigen Blogartikeln erwähnt, ist das Anbieten von Schulungen und Tutorials sehr vom eigenen Charakter abhängig. Es ist einfach nicht jedermanns Sache vor einer Gruppe zu stehen und dann noch die richtigen Worte für eine verständliche Erklärung eines komplexen Sachverhaltes zu finden. Dennoch möchte ich hier einige Möglichkeiten erläutern, die dem Beginner sowie den Fortgeschrittenen unter den Wissensvermittlern Erträge ermöglichen können, die ausreichen um einige eigene Projekte quer zu finanzieren. Anfangen tue ich mit der leichtesten Umsetzung bis hin zu komplexen Umsetzung einer Schulung.
Mindmap Schulungen
Das klassiche (Web)Tutorial
Das Erstellen eines Tutorials auf seinen Blog oder Homepage stellt die einfachste Form der Wissensvermittlung dar. Dabei liegt der Vorteil in der geringen benötigten Ausstattung (nur einen Computer), die man für solch ein Tutorial braucht und in dem nicht vorhandenen Zeitdruck die passende Formulierung zu finden. Die Vorteile dieser Wissensvermittlungsform führen auch direkt zu unserem Nachteil. Im Web existieren Unmengen an (guten) Tutorials. Um aus dieser Dschungel heraus stechen zu können, muss ein ansprechendes Tutorialthema gefunden werden, zudem sollte es klar formuliert sein und mit Grafiken (Screenshots) versehen werden. Einnahmen können hierbei meiner Meinung nach nur mit Hilfe eines „Donate“ (Spenden)- Buttons am Ende des Tutorials gewonnen werden. Jedoch schätze ich aufgrund der Menge an Tutorials im Web die Spendenbereitschaft unter den User als eher gering ein, daher werden die Einnahmen sicherlich auch eher gering sein?! Nettes Worpress PlugIn für Donate Buttons und ein netter Artikel zum Spendenprinzip.
Videotutorials
Ähnlich wie bei den normalen Tutorials sind schon einige Videotutorials im Netz verfügbar. Jedoch schwankt deren Qualität aufgrund schlechter technischer Austattung oder einem schlechtem Konzept sehr. Generell finde ich Videotutorials sehr brauchbar, wenn sie sich auf dem Qualitätsniveau, wie z.B. von Lee Brimelow einpendeln. Auch das äußerst positive Feedback der Flash Community spiegelt den Nutzen dieser Tutorials spürbar wider. Ich denke hier liegt die Bereitschaft bei den Usern höher auch mal einen kleinen Betrag für ein gutes Videotutorial zu spenden. Somit empfehle ich auch hier einen „Donate“-Button einzufügen. Generell sollte man bei der Erstellung von Videotutorials auf seine technische Ausstattung, auf eine klare verständliche und ruhige(!) Stimme und auf ein Konzept mit einem roten Faden achten. Einen kleinen netten Beitrag zu Videotutorials gibt es auf Flasher Magazine Issue 1.
Volkshochschulkurse (VHS)
Jeder kennt sie sicher, die Volkshochschulkurse… Wenn ich an meinen Schreibmaschinenkurs an der Volkshochschule (VHS) zurück denke, hm naja, es gibt bessere Erinnerungen… Aber ich kenne auch einige Leute, die begeistert von dieser Institution sind. Daher nicht lange meckern und die Möglichkeiten für uns nutzen. So wäre es beispielsweise möglich Kurse im Bereich Programmieren, Game Developing, Webprogrammierung usw. anzubieten. Aber ganz so einfach ist es nicht, man muss sich ganz offiziell bei einer VHS Stelle bewerben und dann wird überprüft ob man wirklich in der Lage ist einen solchen VHS-Kurs zu halten. Die Bezahlung ist sehr abhängig von der Höhe der Qualifizierung. Ganz ohne Lehrerfahrung und ohne irgendwelche Abschlüsse könnte es schwer werden, solch einen Kurs halten zu können. Weitere Infos am besten direkt bei der VHS einholen. Read more...
Aufgrund meines Umstiegs auf WordPress wird es von mir keine seperaten Newsmeldungen mehr geben. Stattdessen verfolgt am besten meinen Twitter Status, dort werde ich in regelmässigen Abständen interessante Links posten. Damit aber nicht die alten News komplett verloren gehen, poste ich Sie hier noch einmal: