Flex Builder for Linux!!!

I love vi. I’ve been doing Flex development on Linux for about three years - mostly with vi. But to be honest when building complex applications it is nice to have things like code hinting and integrated debugging. I’m sure you *could* make vi do that with Flex but I am not brave enough to attempt to figure that out. So I’m extremely excited that Adobe is releasing a version of Flex Builder for Linux! You can download Flex Builder for Linux from the labs.adobe.com site right now!

Having Flex Builder for Linux really empowers us Linux geeks to easily build Rich Internet Applications. Flex 2 & Flex 3 applications can run in the browser via Flash Player 9 which has been available for Linux for more than a year. To run Flex applications as Desktop applications we need the Adobe Integrated Runtime, AIR. Adobe AIR isn’t yet available for Linux. But I’ve been having pretty good success testing / debugging Flex based AIR applications on Linux over the past few weeks since I discovered that you can use Wine and adl.exe to run AIR applications on Linux.

This is great news for developers - especially developers that use Linux! But do I miss vi? I really do. I really wish there were vi key bindings in Eclipse (and there probably is but I haven’t found a project that does that yet). Go give the new Flex Builder for Linux a try and let us know how it goes! Please file bugs and feature requests on the public Flex bug database.

Testing AIR Applications on Linux

*** WARNING - THIS IS TOTALLY UNSUPPORTED, UNENDORSED, AND A COMPLETE HACK ***

I tried for a while to get the actual Adobe AIR runtime installed via wine on Linux. But I wasn’t able to get it to work. Then I realized that I don’t really need the whole runtime to just test my AIR applications. All I need is ADL - the testing tool for AIR applications. So I gave it a try on a Salesforce.com project I’m working on:

jamesw@dos:~/projects/mavericks/examples/air/AccountTracker/bin$ wine ~/flex_sdk-3_b1/bin/adl.exe salesforceTest-app.xml

And to my total surprise the AIR application loaded and ran on Linux! Sweet!

Flex Development on Linux Tip: Use Epiphany not Firefox

I am usually on Linux when I develop Flex applications and I recently discovered a cool trick that makes development even easier. Use Epiphany as the browser you run / test your applications in instead of Firefox. Here’s a few reasons:
- If Epiphany crashes because your app goes crazy it doesn’t take your normal browser and all its sessions down with it.
- Epiphany uses inotify or a file watch and automatically refreshes when your application changes. It saves quite a bit of time to have the application already loaded before I can even switch to my browser.
- Flash works the same in Epiphany as it does in any other browser.

I hope others find this useful.

Slides from UbuntuLive

On Sunday I was in Portland for UbuntuLive. I had two sessions, one focused on what I call “The Irrelevant Operating System” and the other was about building cross-platform applications on Linux with Flex. This was the second Linux conference I’ve spoken at. I hope to speak at more because Linux has been an important part of my computing life. I was trying to remember when I first started using Linux. I think it was in 1993 around the Slackware 1.0 release. I’ve used Linux as my primary desktop pretty consistently since then. Today I use Gentoo and Ubuntu. It’s pretty exciting to see what Ubuntu is doing with Linux. They will continue to lead the way and bring Desktop Linux to many more people. It was a great conference and hanging out with some great people Sunday night at Kell’s Irish Pub in Portland was delightful.

Here are my slides:

Building Cross-OS Applications on Linux
Success with Desktop Linux: Making Operating System Choice Irrelevant (probably won’t make much sense without hearing what I had to say)

Summer of Flex and AIR

There is a ton of great Flex and AIR events going on over the next few months. Here’s the run down of events I’ll be at:

The FREE Flex Camp is July 27th in San Francisco. This is going to be a great way to learn more about Flex. Spots are going fast so go register today! I’ll be at this event so hopefully I will get to meet some of you in person.

The onAIR Bus Tour starts July 10th and will hit 18 cities in North America. These events are going to be off-the-hook. I’m hoping to spend some time on the bus, but not sure when yet.

My favorite events of the summer will be the two being hosted by Bruce Eckel in Crested Butte, Colorado. I’ve always loved CB no matter what the season. But honestly, these events will change your life. :) The first Bruce Eckel hosted event I ever went to was one of those defining moments. It was like the light bulb went on and I realized that this is how all conferences should be run. Ya see… Bruce does Open Space style events. These events are absolutely the best way to learn because you learn through interaction, trial & error, and conversation. In other words, you make connections, not just in reality, but also in the gray matter of your head. Have I convinced you yet? I hope so. You won’t be let down by these events. Anyways, here they are:

Flex & AIR Jam (August 13-14) Two days of hands-on coding with peers and experts. No matter what your level of experience with Flex & AIR you will leave this event knowing a ton more. Besides what could be better than two days in CB with Bruce and I? ;)

RIA Summit (August 15-17) Three days of discussion around RIA and the future of web & desktop software with some of the folks who are behind the movement. You don’t want to miss this event. Pair this with the Flex & AIR Jam and you get five fabulous days in CB with Bruce & I! ;) Seriously though… This event will unforgettable.


If that wasn’t enough summer madness for you there is more…

I’m speaking at the Kansas City JUG on July 11th.

Then out to Raleigh/Durham, North Carolina to present at the Triangle JUG on July 16th.

The next day, July 17th, Andy Oliver and I will be hosting a Flex Sprint at the buni.org offices.

On July 19th I’ll be in Phoenix presenting at the Phoenix Flex User Group for their inaugural meeting.

And on July 22 I have two sessions at Ubuntu Live.

Wow! There is a ton going on this summer! Tons of great opportunities for you to engage with others, learn more about Flex and AIR, and let me take you out for a beer! Hope to see you at one (or all) of those events!

If you can’t make it to any of those events I’ll be really bummed, but you could join us over the web.


Oh and don’t forget… MAX 2007 is coming Sept 30 - Oct 3!

How I Overcame My Fear of Flash

Long ago I remember the first Flash site I ever saw–spinning gears replaced typically boring site navigation and sound illuminated a previously silent web. My jaw dropped and I said to myself, “I want to build these kinds of websites!” After playing with Flash Professional for days, I realized that my mathematically inclined brain just could not output the kind of beauty that I began to see all over the Flash powered web. I gave up and resorted to building very ugly HTML interfaces. Not because I didn’t want them to look better but rather, it was just too much work and I lacked the skill.

(Continue reading the rest of this article…)

My Tribute to Flash 9 on Linux: Compiz Like Wobbly Windows

I’m sitting in Caribou Coffee in Ann Arbor Michigan looking out at beautiful ice covered trees glistening in the sunlight. It’s Jan 17th 2007 and this day is going down in history! Today is the day Flash Player 9 was officially released for Linux! This is HUGE! The web allows anyone with a PC to engage with information and others. Flash has always pushed the limits of how that engagement happens, most recently with video. Even though many Desktop Linux users prefer free software, Adobe has still committed to making Flash work on Linux. I think this is noble. Do you see MS or Apple doing this with their platforms? By having Flash 9 for Linux, Desktop Linux is made all that much better. I have been using Linux as a desktop since ‘96 and without Flash I would be missing out on some pretty amazing stuff. Some will say “But Flash isn’t Open Source”. You are right. But if you don’t want to run proprietary software, rather than complain, go help Gnash. Ok, now that I’ve espoused my religious views, lets move on to the cool stuff!

First the demo: Wobbly Windows on the Web

That’s using Flash Player 9 and was built with the free Flex SDK. The wobble isn’t as refined as Compiz’s/Beryl’s, but that can be fixed once I (or you) figure out the math for doing that. Let’s walk through how you can compile that application.

First get the code from SourceForge. It’s in the wobbly module of the flexapps repository.

You need to get the free Flex SDK. Also if you don’t have it, you will need the Sun JDK 1.4 or better.

Set the FLEX_SDK to where you extracted the Flex SDK to.

In the directory where you checked out the wobbly code, run build.sh

Load the build/wobbly.html file in your browser!

This still needs some work, and since it’s Open Source, I’d love your help! Let me know what you think.

Flash 9 on 64bit Linux in 2 Commands

I’ve heard it so many times… “Flash 9 doesn’t work on 64bit Linux” So when I loaded 64bit Gentoo Linux my new Merom based Intel Core 2 Duo, I really was expecting an adventure. Turns out that it was actually pretty uneventful. It worked first try without any problems and in only 2 commands. Here’s what I did..

First I added the net-www/netscape-flash package to /etc/portage/package.unmask
sudo vi /etc/portage/package.unmask

Then I emerged Flash 9 & the Netscape Plugin Wrapper
sudo emerge -av netscape-flash nspluginwrapper

Then I reloaded Firefox, tested it, and it works great! I assume it’s this easy on other distributions, but I only have Gentoo to test on.

Of course this means much more than just being able to watch YouTube videos… Now that the Flex 2 SDK is free (as in beer) anyone can build applications that work the same on all major browsers and operating systems! I’m happy to say that since I started doing Flex development about two years ago, Firefox on Linux has been my primary build and test environment. And in that two years the only time I’ve had to write any of those “if IE” things was when I was writing JavaScript for a soon to be released Ajax & Flex benchmarking tool.

Using my OS of choice… Writing code once that works the same universally… These are things that make me happy. :)

Oh, and the fact that Flash is now built on the Mozilla / Open Source Tamarin VM makes me ecstatic!

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!