My most important Twitter Messages #6
A small summary of my Twitter messages from March - June 2010:
A small summary of my Twitter messages from March - June 2010:
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...
A couple of months ago I started thinking about becoming an Independent (Flash) Developer. So I wrote a blog series in German about this topic. This blog series describes my idea behind the passion of an Independent (Flash) developer. Unfortunately, the feedback was quite less for me and zproxy is right, when he said I should write this in English because of the less size of German speaking flash developers and that it is also an interesting subject for all English speaking flash developer... So I decided to translate all my articles about this subject in English. Who is able to read German can have a look on the complete series here.
Firstly, before I started any activity into this direction of becoming an Independent (Flash) Developer, I had to define my personal idea of an Independet (Flash) Developer.
So my main goal is to do cool things with Flash or other Technologies, which I really enjoy to realize. That could be a Flash Game, or an open source library for a special problem or just a nice software or anything, what you can imagine.
After this process of creation I must have a product, which brings some money in my pocket, so that I am able to pay my rent and living costs. So the most important thing for me is that this product has a relation to things I love to do! The earning or the income plays minor role. I hope when you do cool things the money will come...
In addition to this, I thought freelancing could be the solution. Do some small projects, which are ok for me and spend the rest of my time with the cool things I would like to do... But later I noticed for me that is not the freedom I want to have. So I spent more and more time to find a nice solution and I think I found a plan which could work. I am going to tell you the details in this blog series about the passions and opportunities of an Independent (Flash) Developer.
The information size of my solution is too big for one blog article, so I divided it in 10 parts. Every part explains a very important part of the Independent (Flash) Developers journey. I created a Mindmap for you which shows all subjects and relation beyond my blog series I am going to mention.
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.
Hier eine kleine geordnete Zusammenfassung meiner wichtigsten Twittermeldungen:
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[Bindable] public videoClipID:int; // The vimeo video clip id [Bindable] public duration:Number; // read-only property [Bindable] public currentTime:Number; // read-only property [Bindable] public playerState:String; // Have look on the VimeoPlayingState Attributes [Bindable] public playerColor:uint; // HexValue of the Player Color [Bindable] public volume:Number; // Volume of the video Player instance //-------------------------------------------------------------------------- // // Additional getters and setters // //-------------------------------------------------------------------------- [Bindable] public isPlayerLoaded:Boolean; // read-only property public isVideoPlaying:Boolean; // read-only property |
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...