2008-09-03

Internet wars: Chrome vs the rest

I am not sure my blog post title is correct. Are we now seeing the browser wars 2.0? Or is it the RIA wars? Or is it the war for cloud computing? I guess all those are applicable. Like most geeks yesterday and today, I downloaded and used Google's Chrome Web Browser and I like it. First reason? Its fast! And I'm not the only one to notice that, collegues and friends alike have made that remark. But is there more to it than that? Well, its OmniBar, the integrated address bar and search bar is a nice touch, go to one place, do two things. Also, I like the font it uses, very clean. It simply is, a web browser, the most basic one out there, but for some reason, I really like it.

But don't think Google just created a browser to compete with Firefox and IE. No, no, it is to go way beyond that. Web sites have evolved in the last five years into web applications. We use web applications to find directions, read email, write a document, etc... But now we are looking to harness the power of the desktop. Adobe has done this with AIR, Mozilla has Prism in the works and now Google stepped in with Chrome. In order to see this with Chrome, goto the main page of a web application and use the "Create application shortcut" menu item and voila, an icon on your desktop that allows us quick access to that application. Exactly like Adobe AIR does. Also remember that Chrome integrates Google Gears, so eventually you can add online/offline capabilities to a web application, very intriguing.

Remains to see how Google will push this to the masses, so far only geeks have downloaded it, thats not much traction. It has a build-in VM, but how to do develop for it? Google IDE anyone? How about integration for designers? It has very far to go, but a good start.

The cloud computing/RIA wars have just begun to heat up and I think we are about to see much inovation from different players and it is going to be very fun for years to come.

2008-08-25

Download Flex Builder 3 plugin

If you have been searching for the link to download the Flex Builder 3 plugin... then search no more, here is a little hint:
  1. Goto the FB 3 download page
  2. Click the last link at the bottom of the page!

Ottawa Flex Camp recap

The Ottawa Flex Camp was a blast. I saw my old partner in crime Stacy Young who now works at those same Adobe offices in Ottawa and another old college of mine from Optimal Payments. So it was nice to see old friends again, but also a couple of the presentations were interesting as well. One of them was related to a Flex app talking to a USB port using sockets via a local Java app. Also learning that there is a AS3 library for working with MySQL database was an eye opener! That library is hosted here, but I do not recommend using this in a production environment as there would be serious security concerns. Good for prototype apps I suppose.

Definitly would go again, kudos to the Adobe folks for entertaining 150 people for 5 hours :) Can't wait for the next one!

Flex Builder Enterprise plug in

Just came across this, the Enterprise IDE Plugin, this morning. Although I haven't tried it yet I wanted to pass it around and let people try it out. It has features that the community has been asking about, Java-AS code generation, Cairngorm integration and more. Definitely worth a look see. I will take a look at it and post some feedback when I get a chance.

2008-08-09

Ottawa Flex Camp

Forgot to mention this a while back, but a Flex Camp is being held at Adobe's Ottawa offices this upcoming August 21st. You can sign up via this website. So for those in Ottawa or in close proximity, like me (in Montreal), try to be there, should be fun!

2008-08-04

Download a file from a server with AIR

Been working allot in AIR lately and I just got to the point of adding a feature where a user can download a file from the server. Initially I thought the following simple code would do it:

var req:URLRequest = new URLRequest( "http://localhost:8080/orion/pdfdown" );
req.method = URLRequestMethod.POST;
var f:File = new File();
f.download( req, "bla.pdf" );

However running the application with that causes the following error to be thrown: Error #2044: Unhandled IOErrorEvent:. text=Error #2038: File I/O Error. I really don't understand and after some searching I couldn't find the answer, so I decided to post on Flexcoders, and thanks to Ryan Gravener for posting the solution. In AIR you should use the URLStream class to download files from the server. Like so:

var req:URLRequest = new URLRequest(url);
stream = new URLStream();
stream.addEventListener(Event.COMPLETE, writeAirFile);
stream.load(req);

private function writeAirFile(evt:Event):void {
var data:ByteArray = new ByteArray();
stream.readBytes(fileData,0,stream.bytesAvailable);
var file:File = File.documentsDirectory.resolvePath("bla.pdf");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(fileData,0,fileData.length);
fileStream.close();
}

2008-07-31

Facebook should use AIR for file uploads

Many people now use Facebook to keep in touch and share information with friends. One of the features used the most I believe is the fact that you can create a photo gallery and upload any number of pictures to it. Thing is, you upload the photos using a Java Applet!

That's probably the only mainstream use of a Java Applet I've ever seen. But sometimes it doesn't work, not even for me, sometimes it just doesn't load on my home PC. Its happened to my brother and to several of my friends as well and they've all come to me for help. Usually it involves re-installing the JRE in order for it to work again as I recall.

So in playing with AIR allot lately, it would seem like a perfect use of the technology. That is what AIR was built for afterall, to allow end-users to interact with their desktops and the web at the same time. In this case the AIR application would allow an user to browse his local pictures and select the ones he wants to include in the photo album (with a preview). Finally he would upload them to his photo album for all of his friends to see. Advantage here is that the download/install process would be easier for end-users (smaller download) and would hopefully be more robust and work 100% of the time.