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:
[Bindable]public videoClipID:int; // The vimeo video clip id[Bindable]publicduration: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 propertypublic isVideoPlaying:Boolean; // read-only property
FlexVimeoPlayer API Functions:
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...
Einfachheit bzw. Simplicity war im Jahre 2006 auf der Ars Electronica und allgemein in der Interaktionsbranche das Topthema schlechthin, natürlich erschien auch das Buch Laws of Simplicity von John Maeda in diesem Jahr. John Maeda hat seinen Ursprung im Design und Kreativbereich und versucht in seinem Buch Laws of Simplicity die kleinsten gemeinsamen Faktoren für das Geheimnis der Einfachheit zu finden. Er hält sich dabei so allgemein wie möglich um die gewonnen Erkenntnisse für jeden Themenbereich zugänglich zu machen. Dabei kommen leider desöfteren unglücklich, esoterisch klingende Formulierungen zustande, die in mir eine gewisse Skepsis hervorgerufen haben. Ich denke, das ist auch Grund der sehr unterschiedlichen Meinungen im Web über dieses Buch. Dennoch muss man diesem Buch zugestehen, die gefundenen Faktoren bzw. Laws of Simplicity sind sehr gut ausgewählt und lassen sich super für den User Experience Bereich nutzen. So kann man wirklich fast jedem Gesetz einer Teildisziplin der User Experience zuordnen:
Reduce -> Interface und Produkt Design
Organize -> Information Architecture und Navigation Design
Time -> Interaction Design – Visual Design / Interaction Patterns
Learn -> Interaction Design / Interaction Pattern
Differences -> Marketing, Features Cultures
Context -> User Experience allgemein
Emotion -> Branding
Trust -> Security (Geschäftspolitik)
Failure -> Interaction Design, Usability
Combination of all Laws
Im Gesamten finde ich dieses Buch nicht unbedingt ein Must-Read. Es fasst gut zusammen und beschreibt die Faktoren der Einfachheit sehr schön an Beispielen. So dass man einen guten ersten Eindruck in die Thematik bekommt, die dann für weitere Diskussionen anregen kann. Mit seinen knapp 100 Seiten und dem sehr praktischen Taschenbuchformat lässt sich dieses Buch sehr gut auf einer längeren Zug- oder Flugreise lesen. Wer also Langeweile haben sollte, dem sei dieses Buch empfohlen. Ansonsten gibt es vielleicht auf meinem Bookstore ein passenderes Werk…