AIR, Flex, Ruby On Rails, Joomla Get Together
We had our second AIR, Flex and Ruby On Rails get together this week on Wednesday. About 20 people from different technology backgrounds attended the event. The event was very informative and surprisingly provided a warm and friendly networking environment.
Our first speaker was Peter Armstrong the co-founder of Ruboss Corporation and co-creator of Ruboss Framework. Ruboss Framework is a Ruby on Rails plug-in that allows smooth integration of a Flex application with a Ruby on Rails RESTful framework.

What’s REST ?
REST is a software architecture design that describes objects as resources identified by unique URIs whose state can be altered by different actions expressed as verbs. For example lets consider a printer on the network as an object and the unique URI that identifies the printer is, for example, /printer/1 . The state of the printer can be altered by issuing different commands to the printer through its URI. We can ask the printer to print something by saying PRINT ‘x’ /printer/1 or ask the printer to reset itself by saying RESET /printer/1. This method of applying different verbs to a single unique URI to accomplish different results is the principal of the REST design.
On the Web, Resources are described by URLs and the actions that can be applied to these resources are defined as GET, POST, DELETE and PUT. Since the current web browsers only implement two of these actions POST and GET, in order to fully implement the REST design, the back-end framework must handle all four verbs and the mapping of URL to the resources themselves. In Rails 1.x a plug-in called Simply RESTful would extend the framework by handling all four verbs using the “_method” parameter and mapping controllers to the resources in the Route Class. In Rails 2.0 this feature is part of the framework core.
In order to benefit from the REST design within the Flex Application, Ruboss framework creates a service layer between the flex objects and web services that binds a flex object to a remote resource and provides ability to perform REST actions on the object without manually hand-coding resource’s URI and the “_method” parameter. You can learn more about Ruboss framework at http://code.google.com/p/ruboss/.

After a short break Gerald Bauer presented his latest creation, S9 slide show, a free web alternative to PowerPoint and Keynote in Ruby. It’s a simple ruby program that turns text written in wiki style into HTML slide pages. This is a great tool to turn a collaboratly witten wiki into a slide show. You can download and try S9 at http://slideshow.rubyforge.org/tutorial.html or check out Gerald’s blog.
I’ve posted the event photos at facebook and flickr. Be sure to check them out. Thanks to everyone who attended the event and for those who couldn’t make it for this one we’ll be having more events later on.
College Kids Who Writes Cool Apps
I came across an article about Douglas Merrill, the Google’s cheif information officer, and his recent interview with Wall Street Journals. You can read this article here. Basically instead of forcing employees to only work on certain technologies, he encourages Google’s employees to work on whatever technology they want. After reading this I found it really odd that companies don’t let their employees to choose the technology that they want to work on. But then I got reminded of the time that I used to work in Canada Revenue and how restricted we were in using technology. It’s very sad to be a developer and your access to internet is only through a single common web kiosk shared by other people.
What it interested me the most was the comments left by some people particularly one of them. I image captured the comment and posted below. Feel free to read it

It is very interesting to note that most of the technologies we deal with everyday like Google, Flickr, Facebook, Microsoft, Mac and so many more are in fact developed by college kids or even high schools kids who changed the world just by writing cools apps.
What can AIR mean for the Tech Indsutry ?

Adobe describes AIR as a runtime that lets developers use proven web technologies to build rich Internet applications that deploy to the desktop and run across operating system.
Developers can use AIR to build rich cross-platform desktop applications. In addition it has powerful and easy to use web communication support libraries, so that applications can easily interact with the back-end web servers. And I think that’s the key part of the AIR technology. It is meant to be used as an extension of our today’s web not a replacement.
Consider this example
I love Google Apps. And regardless it high popularity, I don’t think Microsoft Office can offer what Google Apps offer:
- It’s free to use
- The documents are stored online so it’s accessible anywhere
- The documents can be shared among others using only emails.
- It has very powerful collaboration feature that allows for many to work on a single document at once.
The only issue is the lack of richness of the document’s format compared to its desktop rival and that’s because of styling restrictions posed by HTML and CSS. But now Google can offer the same level of user interaction or even more by extending their office suit to desktops using adobe AIR. Not only it would cost Google a fraction of what it’s cost Microsoft to build a rich office suite (AIR allows for the existing web technologies to be used to develop multi-platforms desktop applications), but it can still maintain the 4 important advantages Google has against Microsoft office product.
This example merely shows the power of extending the web to desktop.

