Saturday, March 01, 2008

eBayDesktop Adobe Air Review

Adobe AIR - Rich Internet (cross platform) Applications?
Perhaps you are not yet familiar with the new Adobe AIR technology (if you are... skip forward to the Ebay/Adobe-Air section), so I'll try to give you a quick explanation of what it is, and how eBay is using (or is trying to use) this software for an enhanced interface to its auction site. Basically the concept behind Adobe AIR is to allow for a "richer" Internet experience for applications, much like you see with Adobe / Macromedia Flash type graphics, but with more real functionality that you'd expect from true software "applications" (as compared to just web sites).

First of all, Adobe is not the only player in the RIA (Rich Internet Application) domain, as their are many competing technologies that can deliver robust applications that happen to use the Internet - this includes Java, JavaScript (and AJAX type stuff), and even traditional Windows 32 executables (yes, you can EASILY write a Windows application that interacts with remote databases over the web, etc - I've been doing it for 10 years or more now).

The end goal of all these techniques is to provide users with the functionality they have come to expect from desktop applications (whether that means Microsoft Windows based apps, or Apple OS-X apps, or Linux Gnome / KDE - or GTK / QT respectively - apps). Fact is, these are all just nifty graphical layers and widgets that allow for a rich user experiences, and they all be used to interact over the Internet, though the "holy grail" of cross-platform identical experience is an elusive one (and will exclude Windows executables by default, and will generally exclude other technologies for one reason or another too - though, Java can certainly deliver an almost identical experience for the same application interface on multiple platforms).

Ebay and Adobe AIR
Well, either way... on to the eBay (attempt at a) user-interface that is implemented with the Adobe AIR product. Bottom line: IT SUCKS! OK, it has *potential*, but it is so darn buggy I quit using it within 20 minutes, uinstalled the Adobe AIR runtime, and went back to eBay's standard web-browser interface, which works MUCH more consistently. I couldn't find any way to search completed items at all with the AIR-based product either - and that annoyed me. But, functionality aside,...

First of all, the eBay user interface is strange, with drop-down menus that overlap with areas of the GUI, and remain there until you close them manually. That's bad enough, but I kept experiencing random menu-opens when I did nothing to prompt them. Then, buttons just stopped working... the software application (eBayDesktop.air) got into a state where I could not go "back" to the equivalent of my "My eBay" page / home page. Search buttons quit responding... and finally, the application eventually just plain hung and required Windows Task-Manager to KILL IT! (even that took repeated attempts). And, keep in mind, I was only using this thing for a few minutes.

Next, the UI (User Interface) just seemed sluggish and slow. I'm running rather modern hardware, and it just seemed dogged out. When I write custom Windows32 executables that interact over TCP/IP (via the Internet) to remote databases, etc, many users would never guess it's a "web based" application they are using, since it looks and performs identical to their normal Windows desktop applications. That certainly can not be said of this eBay Desktop implemented with AIR. Sure, the UI is "pretty" at first glance, but also pretty confusing. Non-standard look/feel everywhere. I think the graphics-artists tried a bit too hard at smoothing every corner on the screen -- equal attention should have been paid to smoothing out bugs!

What concerns me about the Adobe AIR technology is not its goal or merits -- it has potential -- but rather, I am worried that if one of their premier launch technology show-off applications (i.e., eBay Desktop) is this buggy, how is any smaller player ever going to create an AIR application that works and works consistently? I can't stake my business on a user interface that just hangs, or has inconsistent event-responses, and worse yet, requires the user to manually kill the process to exit the application (and restart in HOPES it was just a temporary problem).

I have a feeling the Adobe AIR technology is going to require some additional baking, and even more, the software developers that are to build applications with this technology are going to require some serious, real-world application code samples, best-practice code blocks / templates / quick-starts, etc., if they are ever going to make this work on a large scale. If history serves as an example, it will take a fairly long time for good, solid techniques to become common place. Sure, books will be available touting "best practices" and such soon, but no matter how many "advanced" or "expert" monikers are plastered all over those books, they ultimately tend to be just reprints of the (free) online help-manuals with a bit of fluff tossed around them.

RARELY does anyone (instruction book authors) dive into creating serious business applications -- they nearly always focus on fluff, games, child-like applications (especially when we're talking about something related to Flash here). So, Adobe (and eBay), if you want this technology to go anywhere, you best get to work on polishing your applications, and then releasing the source-code for how a "real" (business) application works, and some great building-blocks/templates for doing so. Perhaps then I'll consider this a real "rich internet application" technology. For now, I'd rather develop a custom Windows application using Borland Delphi (i.e., CodeGear Delphi) that can run on 90+% of the computers out there, and deliver stellar performance and a rich user-interface, whether for Internet applications or otherwise.

No comments: