Response to Adobe AIR

August 26, 2007

A friend and co-worker posted an article on his blog about Adobe AIR and asked the question: “Why is Adobe pushing the desktop as the future platform for deployment of Rich Internet Applications? We just spent the last ten years forcing the Web application to a point of maturity…”

It’s a strong question and does seem like a step in the wrong direction on the surface, but the real reason (in my opinion) is hidden behind several layers of assumptions that people take for granted about the Internet. To start lets step back a few years. Macromedia spends millions in technology and marketing making the Flash player ubiquitous with anything cool and usable on the Internet. They court developers like a prom date to turn a once “Skip Intro” platform into a tool for building RIAs. It took them a lot of tries to get it right and eventually they even surrendered their IDE (from Flash Studio to Eclipse) and invented a new language MXML that developers would like. The result… Adobe Flex. Flex allowed a developer like myself to build an RIA without even thinking about time-lines and Flash Sprites (whatever they are). Honestly, I think they finally nailed it here. Everything I have seen in Flex has been cool and this is just the stuff that is free to use on the Internet. I can’t even imagine what people have built for internal use. My friend nailed it when he said “Flex solves the dumb and disconnected problem of Web applications by keeping a channel open between client and server”. It also solves some other problems like building in controls for a lot of RIA features; tabs, panels, calendar date selection, sliders, tree selection, etc. etc. Want video or audio in your application? Done via drag-and-drop. Need to sync up users with chat, work collaboration or real-time data push? Add about 10 lines of code and a LiveCycle Data Services server and you got it. Yes, it can be that simple.

Alright, so you have heard the marketing but why AIR?

Ask yourself this question? What if you had photographed a masterpiece, perhaps a beautiful sunset in the mountains, using the most expensive camera and printed it on the most expensive paper? Every time you showed it to someone they said, “Wow. That is exactly what I need in my house.” Now, would you go to Wal*Mart and buy a frame for $4.99 to wrap it in? Probably not. What if their was a company that made most of the frames in the world and it had some flaws that really made your masterpiece seem sub-par? There’s another frame company, but it really doesn’t have an owner and in the grand scheme of things, not too many people would want to hang it on their wall. Both frames seem to really box in your masterpiece anyway and what you really want is for the edges of the photograph to just end right there. Sure it needs to hang on the wall securely and have some protection around it, but that is all you really want, nothing more.

Enter, Adobe AIR. It removes the browser frame from Flex applications. See I think Adobe was tired of being framed in by the browser. Not only are there visual limitations like always living inside a square HTML box, but there are also security limitations of the browser that hindered application functions. Those are just the technical limitations. On the corporate level, Adobe was also at the mercy of Microsoft. Internet Explorer still dominating the browser market chooses to include the Flash player and chooses to make it work well. They don’t have to do that and they also have a new reason not to, Silverlight. By getting outside the browser, Adobe is trying to protect its application delivery method and also remove some of the red tape that any other application you install on your machine doesn’t have.

One point of contention is that there is now this install file that needs to be passed around. It does make you think about exe files and out of date versions of software, but Adobe hit that head on in the first version of this software by including two built-in features of all AIR applications. First, all AIR applications can either bundle the AIR runtime with them or will prompt you to install it when you try to install the application. Second, they are including auto-update features for applications to check and make sure they are the latest version. This will help your users stay up to date. Most of the software running on my Apple MacBook has auto-update built right in and so that should be an easy concept for users.

So this time I am really cheering for Adobe and think they may have a winner here. They have been trying this game for some time now (see:Macromedia Central) and this time, the price (FREE-99) is right.

Introducing SelectTree – the drop-down tree control!

February 23, 2007

SelectTree Open
The SelectTree control provides the perfect combination of tree-based data selection with drop-down combo-box space consumption. This component was created to fit a large tree into a very small space.
Read the rest of this entry »

Review: Spam-a-lot

December 5, 2006

Quick Verdict: Hilarious and Inventive

While I would never call myself a huge Monte Python fan, I found myself laughing more at the clever way the show adapted the scenes from the movie. I also think I laughed more at the parts that were original to the musical and not in the movie. There were a few die-hard fans that laughed when they knew a particular scene was about to get played out and sometimes (annoyingly) they would even fill in the dialog. On top of the creative adaptation, the set design was amazing and inventive. I was extremely impress by the dramatic lighting (and lighting devices), the way they interlaced video projection into the set and the overall set architecture and costumes were also well done.

Truly a great laugh and worth the money!!!

cfprocparam Gotcha in CF 7.0.2 Hot Fix 1

December 4, 2006

We just moved CF 7.0.2 Hot Fix 1 into our dev environment today and quickly found a problem…

It seems that a developer who no longer works with us liked to use named parameters like this:
cfprocparam cfsqltype=”cf_sql_integer” type=”in” dbvarname=”intLinkLocation_ID” value=”#Form.linkLocation#”

The only problem was that the MS SQL 2000 server used @intLinkLocation_ID for the parameter. CF seemed to forget this fact since the items were in the correct sequence. After the hot fix it throws a cryptic error on the stored procedure.

Error Executing Database Query.
[Macromedia][SQLServer JDBC Driver][SQLServer]Line 1: Incorrect syntax near ‘=’.

The fix is easy, just add the @. Unfortunately, we found over 1000 instances where the @ is missing. Even if we add them all we now have the fun of testing all the apps to make sure we get the names right.

So watch out!!!

Component Hierarchy Tree Control Files

November 20, 2006

For all of you waiting on my CF Component Hierarchy Tree Control files, I have posted them here. Since they use CF and Flex, you will have to have your Flex project setup and pointing to CF. In addition, you will need to make the following code changes to match your environment:

1. Services.mxml – change the source attribute of the Remote Object to match your environment

2. Subject.cfc – change the alias of the component tag to match your environment

3. – change the RemoteClass alias to match your envionment

4. SubjectHandler.cfm – change all instances of root_personal.shouse04.flexplayground.model.Subject to point to your Subject.cfc location

Sorry for the delay on posting these, but I really want to clean them up a little and I just got my Flex Builder license in late last week. So the good news is that I am back in business!!!

Component Hierarchy Files

One Reason to Consider Apple’s iTV

October 20, 2006

I was just discussing the iTV with someone when it hit me…The iTV has HDMI output which would only make sense if they were going to offer High Def content, right? So when you buy your HD movies from Apple maybe it is great that you don’t have physical media with it. Why you ask! The HD-DVD vs. Blu-ray war is not a problem for you. If you were to run out and buy all HD-DVD or all Blu-ray then you run the same risk that all those people who bought Laser Disks or Beta-Max discovered. One of these HD formats will most likely fail and movies from Apple or other online services may be the only way not to (legally) avoid the risks! Just thinking out loud. Vegas Baby!

Using a Hierarchy of Components to Populate a Flex Tree Control

September 29, 2006

Object Tree ControlThis post is about creating a flex tree control that uses a component hierarchy as the data provider. It is a little long and WordPress is killing me with their code style so I did my best to make it readable. Nevertheless, it took me about 5 individual attempts to get this post written completely so I hope it is understandable to everyone. Also, I am a beginner Flex 2 developer, so any constructive feedback would be greatly appreciated. As with most of my Flex development, after struggling for days and then finally getting something to work, I later find out that there is a much easier way to do it that none of my searches ever turned up.

More after the jump…
Read the rest of this entry »


Get every new post delivered to your Inbox.