If You Don't Follow RIA News, You Must Be a TWiT

I just finished listening to the latest "This Week in Tech" (TWiT) podcast on my way home from work tonight.

I'm a regular listener of TWiT. Even though I'm aware of most of their news items prior to hearing it from them, I like some of the personalities on the show and their discussions are generally interesting. But I have one big problem with TWiT: they never talk about RIA (Rich Internet Application) technology. Oh, they might say the word "Flash" or "Flex" in regard to some specific product or service, and maybe say a sentence or two about AJAX, but that's as far as it ever goes. Maybe they think their audience is mostly end-users who don't care, but that doesn't stop them from talking about stuff that only geeks would truly care about, so I don't think it's a valid excuse.

I thought this week might be different. With all of the press coverage over the release of AIR this week, and with all the subsequent articles hyping the RIA struggle between Microsoft and Adobe, Silverlight vs. AIR (even though it's not an accurate comparision)...surely the TWiT panel couldn't ignore the topic this week.

Sure they could.

What got me even more frustrated was the way it WASN'T mentioned. Just over 4 minutes into what was an 87-minute podcast, host Leo Laporte notes they have a large roundtable group and "absolutely nothing to talk about." Not usually a good sign for the rest of the podcast.

After discussing about two news stories and a discussion about having another option for listening to podcasts besides via iTunes, the discussion turned to a comparison between the Twitter and Pownce messaging systems. I got hopeful again: Pownce provides an AIR-powered desktop application, so maybe the discussion would cause the AIR release to come up. One panelist mentioned that the Pownce API had been updated last week, and I thought "Maybe they were waiting on the release of AIR to release that new API" (I have no idea if the events were related).

So I shouted (I kid you not) at my iPod, while driving in my car, at the pre-recorded voice of someone who could not possibly hear me: "Say maybe it was because of AIR! Mention AIR! SAY ITS NAME!"

Yeah, well, that didn't work.

I'm not a fanboy of AIR, or Flex, or any of the other RIA technologies (though I do use AJAX reasonably often). I like whatever gets the job done in the most reasonable way. I wouldn't be upset if they made fun of any of those technologies, or questioned their usefulness, or whatever: I listen to them for their opinions, whether I agree with them or not.

But to not say anything: that's pathetic. RIAs are out there and gaining a presence, whether good or bad. I can't see how you can ignore them by mistake.

Near the end of the podcast, regular panelist John Dvorak mocked the use of Twitter because at the end of the day, it didn't put $5 in his pocket, and a few minutes later someone on Twitter apparently offered to send him $5.

Hey, John, I'll send you $5 if you can get the TWiT panel to discuss RIA technology. It would be worth it at 10x the price.

Updated My colorPicker AIR Application to Run In AIR 1.0

It took me a bit longer than I expected, but I released an AIR 1.0-compatible version of my colorPicker AIR application this afternoon.

The problems I ran into were mostly my own fault. I originally developed colorPicker under AIR Beta 2. When AIR Beta 3 came out, I downloaded and installed Beta 3, reinstalled colorPicker, and it worked fine, so I assumed that the changes in Beta 3 were to aspects of AIR that my app didn't use. I didn't realize that they had changed the syntax of the AIR descriptor file, so I was surprised when colorPicker wouldn't even compile under AIR 1.0.

Once I updated my descriptor file, I was able to compile and run colorPicker, but oddly enough I had to tweak some CSS styles regarding padding, so that took a little more time.

But anyway, it's done. According to the stats on RIAForge, it's been downloaded about 160 times, so hopefully that means some folks are getting some use out of it.

AIR Apps Showcased at Adobe Engage Event

A number of AIR applications were showcased at the Adobe Engage 2008 event yesterday. I found a blog that has summaries and pictures of some of the presentations given:

http://galbraiths.org/blog/category/engage08/

Some of the featured apps I'd heard of before (like the eBay AIR application), but some were new to me.

AIR 1.0 and Flex 3.0 Are Out!

Check out the pages on the Adobe site:

http://www.adobe.com/products/flex/

http://www.adobe.com/products/air/

...I'm a little disappointed that AIR still isn't quite ready for Linux, because it's not truly cross-platform until it is, but I know they're beta-testing it with Linux users so hopefully it won't be much longer.

AIR Recognized as a Top-10 Emerging Technology by MIT Technology Review

AIR made the Technology Review's top-10 list of emerging technologies:

TR10: Offline Web Applications

Nice to see AIR get some recognition as an emerging trend.

Now give us AIR 1.0 already! :)

Neat Video Demo of the Allurent Desktop Connection AIR App At Work

I was reading Dan Wilson's report of the Flex 3/AIR Tour event down in North Carolina yesterday on his RIA Zone blog (one of the new DZone sites I mentioned in my previous blog entry), and he mentioned that Ben Forta demonstrated an AIR application made by Allurent that impressed everyone there. He included a link to a video demo of the product:

http://www.allurent.com/page.php?id=70

I'm equally impressed. The application uses AIR in ways I hadn't considered, like allowing color matching of products based on the color in an image on the user's hard drive, and pushing news and content down to the application on a scheduled basis rather than waiting for the user to pull data down. Definitely worth checking out.

My First AIR Application: colorPicker

In my most recent web application project, my clients asked for the ability to change the color of certain HTML elements without having to actually write or change any HTML code. So I used ColdFusion and the jQuery JavaScript library to create a color grid similar to the one that pops up in Adobe Dreamweaver when you type a color-related HTML or CSS attribute, allowing them to choose a color simply by clicking on it.

After I finished the grid, it occurred to me how I could use a similar tool for my coding work: CFEclipse doesn't have a selectable color grid (most likely a limitation of Eclipse itself), and it's a pain to open up Dreamweaver or Fireworks just to get a color. So I decided to try and make my color grid into an AIR application.

The result is colorPicker, a widget-like AIR application that lets you either select a color from a grid of "web-safe" colors or design a color using sliders to change the red, green, and blue values of the color. Once you have the color you want, you can click on the corresponding "Save to Clipboard" button to copy the hex color code to the clipboard and then paste it into your HTML code in your IDE of choice. It also saves all of the colors you've copied to the clipboard during your session so you can repeat a color.

It actually uses very little of the AIR API: just the clipboard copy function and the description file needed to run it. Everything else is done with JavaScript, HTML, and CSS.

You can view screenshots of colorPicker and download it from RIAforge.org at:

http://colorpicker.riaforge.org

How to Copy To and From the Clipboard using JavaScript in AIR Beta 2

In case there's another poor soul out there who just needs to know how to work with the clipboard using JavaScript in AIR Beta 2, I'm posting this very simple example of how to get text from the clipboard, clear the clipboard, and send text to the clipboard.

Getting text from the clipboard:

var ctext= air.Clipboard.generalClipboard.getData("air:text","cloneOnly");
alert("ctext is: " + ctext);

Clearing the clipboard:

air.Clipboard.generalClipboard.clear();

Sending text to the clipboard:

var myText= "Some text";
var clip= air.Clipboard.generalClipboard;
clip.setData("air:text",myText,false);

The functions involved are all covered in the JavaScript Language Reference for Adobe AIR, but I found the documentation less than clear, and all the examples I found in blog posts and in the Adobe forums were from earlier versions of AIR/Apollo. Even the PDF documentation that came with the AIR download was out-of-date (note to Adobe: that's not good).

This example only covers text, but it should provide enough of a guide so that, along with the language reference, you can work with other data types.

Update: the clipboard functions listed above also seem to work unchanged in AIR Beta 3

Wharton School at UPenn on the Merging of Web and Desktop Technologies

Saw this on Digg today: it's an article by several members of the Wharton School of Business at the University of Pennsylvania that talks about the emergence of technologies geared towards merging the Web and the desktop. They give an overview of the recent developments: Adobe AIR, Google Gears, Silverlight, Prism, etc.

If you're not familiar with this latest trend, the article is definitely a good read:

Software's Future: Melding the Web and the Desktop

BlogCFC was created by Raymond Camden. This blog is running version 5.1.004.