As of yesterday, for the first time EVER, nearly everyone in the world has access to a FREE, ubiquitous application runtime, and a FREE application development toolkit for that runtime! Of course I’m referring to Flash Player 9 and the free Flex 2 SDK. To show people the power of these two technologies I’ve recorded a screen cam of me building a YouTube video player on Linux. Check it out!
FLASH & FLEX: FREE FOR ALL (even Linux)!
This entry was posted in Flex, Linux. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.


49 Comments
Great !!! Thanks for this great idea
“for the first time EVER”
You mean since (for instance) BASIC shipped with computers, or since Java was released ?
Have some historical perspective !
Flash on Linux is a good thing, but as Tom points out the article should read something more like…
“At last, after almost exactly a decade, Flash finally lives up to its promise and joins languages like Java in providing a free (as in beer, not speech!) ubiquitous runtime and application development toolkit useable by almost everyone in the world.”
Nice vid though :)
I have firefox 2.0rc3 on Windows XP Pro and all I see is a white screen. The funny thing is I see it on IE7.
Scratch that.. it just takes a long time to load.
Ubiquity is the key. Were BASIC and Java really ubiquitous? Meaning, did/does everyone have the runtime? To my knowledge the only platform that comes anywhere close to matching Flash’s ubiquity as an application runtime is actually Windows. But it’s not free. And I don’t even have it. :) And before I get a slew of comments telling me that Java is ubiquitous… Show me! Show me stats. Prove that if I write a Java applet, application, or Java Web Start app, that I can be guaranteed it will run on at least 85% of PC users machines.
Flash is the ubiquitous client vm we always wanted Java to be. This is why I’m building Flex apps today, not applets. But of course I am still using Java on the backend. :)
Jonathan, Sorry for the problems. I’m glad it works. This is actually my first forte into Flash video. I’m usually a coder, not a video production guy. But hey, it’s fun to learn how to use Flash for things other than applications. :)
“for the first time ever”
Apart from computers that shipped with BASIC or Java you mean ?
Are you saying that at least 85% of ALL PCs shipped have Java and BASIC on them when they ship? If that were true I’d expect to see a lot more Java and BASIC applications out there.
I thought the download page and the title of this page were misleading, or just not informative enough. There is no linux player 9 beta ready for PPC or 64bit yet.
While i’m ok with there being no 64bit or PPC (i do run linux on an ibook though. that was a buzzkill yesterday), it would be nice if things were clearly labeled. Linux users are ok with that level of detail. we are used to it. that download should have “i386″ or “x86″ int eh description somewhere, as should this page.
errr, but following that logic, at the moment 0% of Linux distro’s ship with Flash9, so is it therefore still not ubiquitous? And since when did ‘ubiquitous’ mean ‘at least 85%’, thought it meant ‘everywhere’? :)
I’m pretty sure 100% of XP machines had Java on them when they shipped (MS JVM), at leasy until around 2003 when MS stopped supporting it, dunno about Macs.
Go back 20 years and yeah, any and every computer you bought had a version of Basic with it, it was that or machine code.
Java and Basic were, in their time, popular, widely installed and widely used. If you class that as ‘ubiquitous’ or not is up to you I guess. Demanding stats to compare old technology seems pointless though. Hula-hoops were ubiquitous in the 70′s but their usage stats would look pretty poor nowadays.
Janos, I don’t have 64bit so I can’t test this, but is the workaround that Tinic describes acceptable:
http://www.kaourantin.net/2006/07/random-bits-on-current-status.html
I will escalate the naming thing. You are right about that.
Adam, ok. So maybe BASIC was the first ubiquitous client runtime and tookit, but was it free, or did you have to buy DOS or something? I really don’t remember. I don’t think that Java ever had, and definitely doesn’t have any form of ubiquity. Sure for a period of about 6 months some people tried to use applets, but that quickly died. Probably in part, due to not everyone having or not wanting to install Java.
The bottom line… 600 million PCs and devices have Flash. Never before has there been a free runtime and free toolkit targeting that large of an audience. That’s why this is huge!
yeah, don’t get me wrong, I agree with the sentiment, was just a pretty slow day at work :)
The biggest deal for me is actually a purely personal one. I wouldn’t say my audience has grown much from this news (I generally build mass market, creative & marketing led sites, so not aimed at your typical linux user), but it does mean that I can now use my own OS of choice and a much more flexible toolchain to develop & test with. That to me is the real biggie!
Cool, I built one in flex yesterday, but discovered utube’s webservice doesn’t actually provide the urls to the actual video content, instead it creates links to a page with an embedded player.
Can you ellaborate on your xml source, how did you reverse engineer the actual video sources for the videoplayer to wort? I found utube uses a “ticket” on each video, so if you simply copy a url it won’t work if you close your browser and go back later.
It’s great to have front end in flex, but the backend never seems to be that simple.
Thoughts?
Dan
For the love of god… the stupid site won’t let me download the Flex2 SDK… just keeps disconnecting at the https://www.adobe.com/cfusion/tdrc/index.cfm?product=flex URL.
Can you please host the SDK somewhere else… preferably a server that can stay up… maybe not use crappy coldfusion? please???
I tried the example you had in the video and I keep getting this error when I try to compile
cds@vaio:~/Desktop/flex$ bin/mxmlc /tmp/MyYouTube.mxml
Loading configuration file /home/cds/Desktop/flex/frameworks/flex-config.xmlbin/mxmlc: line 34: 8939 Segmentation fault java $VMARGS -jar $FLEX_HOME/lib/mxmlc.jar $*
Ubiquitous, hardly! More like rediculous…there’s a complete and total lack of native 64-bit support.
There’s been *plenty* of time to get a 64-bit version of flash out there…and it just isn’t happening.
I wish people would just finally understand that these kinds of closed, proprietary evils are just killing web standards…
-jason
Dear HELP,
I just tried it and had problems too. Then I logged out of adobe.com, logged back in, and the download worked. I’ll report this to the web team. Sorry about the hassle.
Dear SEGFAULT,
Wow, Seg faults shouldn’t be happening. What JDK do you have installed. I’m using Sun’s JDK 1.4.2 without any problems.
Dear Jason,
Have you tried Tinic’s workaround for 64bit?
http://www.kaourantin.net/2006/07/random-bits-on-current-status.html
Did you know that Flex is an implementation of ECMAScript 262 r4?
Dan,
I used this webpage: http://kej.tw/flvretriever/
to get the real flv urls. I’m not sure why YouTube makes you go through an extra step to get to the flv. However, there are tons of JavaScript and ActionScript examples and components out there for doing this. I opted not to use them for my demo because I wanted to keep it 8 lines of code, instead of 9. :) Hope that helps.
Interesting you set everything to be 100% wide and high and it somehow works out how wide and high things should be. Where did the pretty border and so on come from?
Thanks for replying James, I was using the java that came with Ubuntu which apparently is gij…
$ java –version
java version “1.4.2″
gij (GNU libgcj) version 4.1.0 (Ubuntu 4.1.0-1ubuntu8)
I’ll try downloading Sun’s JDK. But just to let you know the gij gets SegFaults on it :)
SEGFAULT,
I’ll install gcj on my computer right now and test this.
MONOTONEHELL,
Automatically Application gives you:
paddingBottom=”24″
paddingTop=”24″
paddingRight=”24″
paddingLeft=”24″
Check out the ASDoc:
http://livedocs.macromedia.com/flex/2/langref/mx/core/Application.html
James,
I’m just learning Flex, and was able to type in your source, do a number debug correction cycles using terminal on OSX, and watched some awesome videos in less that half an hour. No problems. Thanks for the posting, I got a lot out of it.
PS wasn’t Basic in the ROM of Apple II? Basic must be the worst language ever, but a lot people wrote apps and games in it.
Is there a Flex Bulider for Linux demo?
Unfortunately there isn’t Flex Builder for Linux. However, you can use Eclipse or any other text editor to create the MXML and AS files. Then just use the free Flex 2 SDK to compile and debug the applications.
I’m trying to use this with some of my videos on YouTube. Where did you get the url’s for the videos? The url’s that are listed under My Video on YouTube are different and will not work.
SEGFAULT,
I tried gij and harmony and couldn’t get either to work with mxmlc. I’ll file a bug with the Flex team and see if we can figure out where the problem is. In the mean time, let me know if you have any problems with Sun’s JDK.
Very cool. What flavor of Linux are you running in this video? Specifically, what program are you using to flip through your virtual desktops with all the cool animation and such??
I’m running Gentoo. But the cool animations are powered by beryl which used to be compiz.
Notes on the Ubuntu mxmlc seg fault. Sun JREs fixed it for me.
http://renaun.com/blog/2006/12/06/164/
ubiquitous? Only 30% of the people visiting my site have Flash 9.0. 98% have a JVM.
Unfortunately I don’t know which JVM, so I can’t compare like for like, but if I want almost everybody to be able to play my games then I have to target JVM 1.1 or Flash 7.0 or preferably both. So what tools do I need to develop for Flash 7.0 under Linux, and what sort of performance can I expect?
Flash 9.0′s performance improvements sound great but don’t I only get them by cutting off 70% of my users? And what about the people that haven’t been given a Flash player for their platform at all? Even my phone has a JVM…
So, until 9.0 is significant, I want to compliment my Java applets with Flash 7.0 versions. Any help on doing that under Linux would be very welcome. So far I can’t even get any trace output.
Jim, What’s the percentage of your visitors have Flash 6 or greater? Anyone with Flash 6 or greater can upgrade with a single click and ~1M download when they access a Flash 9 application.
BTW: Did you know that MySpace & YouTube both require Flash 9 now?
That is very encouraging, it still won’t cover all platforms but it does mean that I can develop in 9.0 and 98%+ of my current audience shouldn’t have too much difficulty using it.
I still wouldn’t drop JVM support, but depending on what you need it is fairly simple to develop for both at the same time. ActionScript is essentially JavaScript and there is at least one JavaScript intepreter for the JVM, or you can rely on the browser’s JavaScript Java bridge. All I ever need is a drawing API and a way of getting keyboard/mouse input, creating an abstraction layer for Flash and the JVM shouldn’t be overly hard.
Thanks for letting me know.
$ ../flex2-sdk/bin/mxmlc MyYouTube.mxml
Loading configuration file /crypt/user/flash/flex2-sdk/frameworks/flex-config.xml
Segmentation fault
Bloody hell… I don’t want to have to download Sun’s JRE.
Why does this $#!* never work “out of the box”?
Sorry but for some reason we require the Sun JVM. Maybe when the Flex SDK is released as Open Source in a few months you could help make it work on whatever JVM you are using. That would be great!
-James
Is it slow for you too? When I try to compile a very simple flex application it takes too long with me!
java version “1.4.2-02″
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.2-02)
Java HotSpot(TM) Client VM (build Blackdown-1.4.2-02, mixed mode)
Thanx
I’m under ubuntu 7.04
Pedro,
I think that you might need to use a Sun JDK, preferably 1.5.
-James
I love flex..
Sorry but for some reason we require the Sun JVM. Maybe when the Flex SDK is released as Open Source in a few months you could help make it work on whatever JVM you are using. That would be great!
LOL – VI is the worlds best text editor? I think I’d have to strangle myself if I were relegated to VI for any duration longer than 2-3 minutes.
flex – A fast lexical analyzer generator.
Why do they have to steal the names of good and free (as in speach) applications?
Dumb Question of the week. I tired your example 2 ways, 1/ with the src link you had 2/ with the src localized. both times sdk 3 parses the file correctly into a swf. However both times all i receive is a panel with an area for the list and the display, BUT NO video or vidoes in the list to choose from. Logically i think it has something to do with data but i cant seem to figure it out. Any thoughts would be a great help. Thanks Jason. my setup is as follows ubuntu/gedit (for hand coding)/ terminal for parsing/firefox for viewing
Hi Jason,
I think that the problem is probably with YouTube. They are now obfuscating the URL to the FLVs in such a way that it makes it difficult to play them in anything other than their embeddable player. Perhaps try this with your own set of videos. Let me know if that helps.
-James
Hi James,
I wanted to create a flash video player which i can use to stream the videos from a RED 5 server.
I am JAVA J2EE Developer. And i really confused how to start with creating the flash video player and use the video’s of RED 5.
Any kind of suggestion will be appreciable.
Thanks
@Mrityunjay – I’m not familiar with Red5. I recommend you ask on their email lists.
-James
A link to the code is at: http://www.jamesward.com/linuxworld/
i need to implement a video player in my flex website. This video should read a youtube url.
it worked using an flv player but when i try to set the source of the player to a youtube url, it doesn’t work.
any ideas ??
Best regards
@jad
YouTube does some really tricky things with their FLV URLs to prevent this.
-James
3 Trackbacks
[...] [update] You just have to love this video by James Ward — writing a YouTube video player in under 3 minutes using Flex 2 and the vi editor on Linux *all free tools* [...]
[...] Also Flex 2 seems to be intersting. What I’d do with it is another question though… [...]
[...] a post about the announcement, JD points to one of my old blog posts, which still accurately echoes the significance of this announcement – “… for the first [...]