FLASH & FLEX: FREE FOR ALL (even Linux)!

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!

This entry was posted in Flex, Linux. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

49 Comments

  1. Ramón Helena
    Posted October 20, 2006 at 12:22 am | Permalink

    Great !!! Thanks for this great idea

  2. Posted October 20, 2006 at 1:07 am | Permalink

    “for the first time EVER”
    You mean since (for instance) BASIC shipped with computers, or since Java was released ?
    Have some historical perspective !

  3. Adam
    Posted October 20, 2006 at 3:25 am | Permalink

    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 :)

  4. Jonathan
    Posted October 20, 2006 at 5:29 am | Permalink

    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.

  5. Jonathan
    Posted October 20, 2006 at 5:31 am | Permalink

    Scratch that.. it just takes a long time to load.

  6. James Ward
    Posted October 20, 2006 at 5:47 am | Permalink

    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. :)

  7. James Ward
    Posted October 20, 2006 at 5:56 am | Permalink

    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. :)

  8. Posted October 20, 2006 at 5:59 am | Permalink

    “for the first time ever”
    Apart from computers that shipped with BASIC or Java you mean ?

  9. James Ward
    Posted October 20, 2006 at 9:04 am | Permalink

    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.

  10. janos erdelyi
    Posted October 20, 2006 at 9:34 am | Permalink

    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.

  11. Adam
    Posted October 20, 2006 at 9:47 am | Permalink

    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.

  12. James Ward
    Posted October 20, 2006 at 10:15 am | Permalink

    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!

  13. Adam
    Posted October 20, 2006 at 11:13 am | Permalink

    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!

  14. Dan
    Posted October 20, 2006 at 2:22 pm | Permalink

    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

  15. Posted October 20, 2006 at 8:08 pm | Permalink

    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???

  16. SegFault
    Posted October 20, 2006 at 8:48 pm | Permalink

    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 $*

  17. Jason
    Posted October 20, 2006 at 10:17 pm | Permalink

    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

  18. James Ward
    Posted October 20, 2006 at 11:24 pm | Permalink

    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?

  19. James Ward
    Posted October 20, 2006 at 11:27 pm | Permalink

    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.

  20. monotonehell
    Posted October 21, 2006 at 2:38 am | Permalink

    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?

  21. SegFault
    Posted October 21, 2006 at 5:17 am | Permalink

    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 :)

  22. James Ward
    Posted October 21, 2006 at 9:09 am | Permalink

    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

  23. Posted October 21, 2006 at 12:26 pm | Permalink

    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.

  24. Posted October 23, 2006 at 2:04 pm | Permalink

    Is there a Flex Bulider for Linux demo?

  25. James Ward
    Posted October 23, 2006 at 4:13 pm | Permalink

    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.

  26. Posted October 26, 2006 at 11:25 am | Permalink

    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.

  27. James Ward
    Posted October 29, 2006 at 10:17 pm | Permalink

    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.

  28. Posted November 29, 2006 at 1:19 pm | Permalink

    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??

  29. James Ward
    Posted November 29, 2006 at 4:53 pm | Permalink

    I’m running Gentoo. But the cool animations are powered by beryl which used to be compiz.

  30. Posted December 6, 2006 at 1:23 am | Permalink

    Notes on the Ubuntu mxmlc seg fault. Sun JREs fixed it for me.

    http://renaun.com/blog/2006/12/06/164/

  31. Jim
    Posted January 8, 2007 at 12:22 pm | Permalink

    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.

  32. James Ward
    Posted January 8, 2007 at 3:31 pm | Permalink

    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?

  33. Jim
    Posted January 9, 2007 at 9:11 am | Permalink

    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.

  34. P.O.
    Posted May 20, 2007 at 2:20 pm | Permalink

    $ ../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”?

  35. Posted May 21, 2007 at 7:00 am | Permalink

    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

  36. Posted May 31, 2007 at 9:11 pm | Permalink

    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

  37. Posted May 31, 2007 at 9:11 pm | Permalink

    I’m under ubuntu 7.04

  38. Posted June 1, 2007 at 3:43 pm | Permalink

    Pedro,

    I think that you might need to use a Sun JDK, preferably 1.5.

    -James

  39. Posted October 4, 2007 at 2:19 am | Permalink

    I love flex..

  40. Posted October 5, 2007 at 4:00 am | Permalink

    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!

  41. Jon
    Posted October 11, 2007 at 8:49 am | Permalink

    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.

  42. Posted November 29, 2007 at 12:55 am | Permalink

    flex – A fast lexical analyzer generator.

    Why do they have to steal the names of good and free (as in speach) applications?

  43. Posted October 25, 2008 at 4:50 pm | Permalink

    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

  44. Posted October 27, 2008 at 9:10 am | Permalink

    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

  45. Mrityunjay
    Posted December 5, 2008 at 1:39 am | Permalink

    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

  46. Posted December 5, 2008 at 1:48 am | Permalink

    @Mrityunjay – I’m not familiar with Red5. I recommend you ask on their email lists.

    -James

  47. Laura
    Posted January 21, 2009 at 12:37 pm | Permalink

    A link to the code is at: http://www.jamesward.com/linuxworld/

  48. jad
    Posted February 13, 2009 at 3:03 am | Permalink

    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

  49. Posted February 13, 2009 at 8:17 am | Permalink

    @jad

    YouTube does some really tricky things with their FLV URLs to prevent this.

    -James

3 Trackbacks

  1. [...] [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* [...]

  2. By Namsisi - Blog » Blog Archive » Shaped up, eh? on October 23, 2006 at 1:52 pm

    [...] Also Flex 2 seems to be intersting. What I’d do with it is another question though… [...]

  3. [...] 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 [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Subscribe without commenting

  • About James Ward



    View James Ward's profile on LinkedIn

  • First Steps in Flex by James Ward and Bruce Eckel




  • Twitter Updates


  • Tour de Flex