For exploring the JavaScript API in MAX / MSP / Jitter I decided to port the Harmony Web Application by Mr. Doob. I really fall in love with the different brush styles. MAX / MSP / Jitter is pretty cool for doing audio visual stuff, and I think the different brush style might be nice for this. Fortunately, Mr. Doob published the source code and the code is nice, too! Therefore, it was not so difficult to understand the code. During my porting process I had to consider four things: Read more...
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.
Comparing the job opportunities
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. 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!