Because desktop development is hard. In order to build desktop applications you have to be a pretty good programmer because there is so much other stuff to worry about. Obviously being a good programmer is never a bad thing but it does raise the barrier to entry. And it’s a lot of work to create desktop applications. You’ve got to work with potentially hundreds of native operating system APIs and when you’re done, your application runs only on the operating system you coded it for.
Contrast that with web development. Web development is easy. You can throw some HMTL/JavaScript on a page and *BAM* instant gratification. And usually it just works. You can use any browser anywhere to see your creation. That ease of use and quick results makes web development a lot more fun. That’s been a huge driver in the popularity of web applications. In some ways web development is development for the every-person. And people have absolutely flocked to develop for the web. It’s cross-platform, it’s fun, and its easy. So that’s where all the innovation has gone: straight into the web browser. And if you look at the past 5 years it’s hard to argue that letting more people develop has been bad. We’ve got some really fantastic web applications out there and we’ve changed the economy and the world in the process. That’s pretty powerful stuff.
So was the desktop medium the problem? Nope, it was just the development model. What if we could take the ease/cross-platform/fun development model of the web and provide desktop functionality? That’s exactly what rich Internet applications on the desktop are trying to do and that’s Adobe AIR’s goal. There are a lot of different approaches to the “new desktop” development model and they’re all good. But desktop development isn’t just about offline access or having a desktop shortcut. It’s about capturing the full experience of web development and providing the ability to create powerful, persistent, usable desktop applications. I want to see the same level of innovation that we saw in the browser now happen on the desktop because in the end, there is no arguing that the desktop is a more powerful platform than the web browser. It has more functionality and you can still take advantage of what makes the web so great. RIAs on the desktop just get rid of some of the problems with developing for the desktop. Go give it a shot. The desktop can be fun again.
I’ve been messing around with uploading video this week and it’s kind of a pain. For one thing, the file sizes seem huge, on the order of 50-150 megs. I’ve got decently fast broadband, but uploading still takes a bit of time (20-40 minutes) and I do a lot of things in my browser because I’m a hard-core multitasker. So I’m dealing with big file sizes and trying to upload them inside a browser window. It’s been a bad combination. My file will stop transferring, the browser has crashed a couple of times. It’s just a bad experience.
AIR is a great solution here. This isn’t just taking a web application offline, it’s helping the user. Having direct access to the filesystem makes the upload experience much, much better. For one thing, you aren’t dependent on the browser. Why wait 40 minutes to upload your file when you could be browsing around being (un)productive? Download crashes? Why not have an application that knows exactly how many bytes were uploaded so it can pick up where it left off? With AIR you can do all of this using web technologies so you don’t have to have any knowledge for building desktop applications. You can pretty quickly create an AIR app that ties back to your server, with code you’ve already written, tools you’re already using, and assets you’ve already got. Plus, it’s all cross platform.
As more and more people start doing higher and higher quality video, we need to get a better upload experience.
Ars Technica has a very good review of AIR. They hit all of the main points and I think they have a good sense of what the goals with AIR are. We’re not trying to be the ultimate desktop platform right out of the box, but we are trying to make the desktop more accessible to web developers in a cross-platform, web-centric way. I think it’s a great start and as we grow the features of the platform, we’ll get closer and closer to the ultimate goal. If you have specific enhancement requests, we would love to hear them. Here’s the conclusion that Ars Techinca came to about AIR:
Our tests show that Adobe AIR is a relatively promising solution for RIA development, but it has some limitations that make it less flexible and scalable than alternatives. Those limitations may not be all that relevant in practice, however, because AIR is more than capable of meeting the needs of its target audience. Developers who attempt to stretch AIR beyond its core competencies will likely be disappointed with the results, but there is plenty of demand for the kind of applications that fit very neatly within the scope of its capabilities: developing site-specific browsers and creating simple desktop interfaces to remote web services.
Adobe AIR 1.0 and Flex 3! We released Adobe AIR and Flex today along with a host of other great things. We have created an open source portal so you can keep track of the large number of open source projects at Adobe.
This is a big release. With Flex 3 we made a lot of enhancements to a very powerful RIA framework. Adobe AIR allows developers of both Flash and Ajax to take all of their skills and create desktop applications. That means you’ll be able to do things with your web applications that the browser doesn’t currently support but you can still be sure that it will run cross-platform and consistently. We’ve got a ton of great example applications on the AIR Marketplace and we’ll be talking a lot more with members of the community at Adobe Engage today.
We just announced the dates for On AIR Europe and we’re hitting 12 cities across Europe over a 4 week time span. Instead of bringing the bus along we’re going to be doing a train tour but you’ll still be able to follow us over the live feed, Twitter, and the chat. We’re really looking forward to meeting and talking with the web development community in Europe so hopefully you can join us for one of the events. We’ve got a Facebook page set up as well as a list of all the events on Upcoming. Here’s the full list:
Web 2.0 is a great place with some really cool applications. But there are 5 companies out there that I’d love to see do something with AIR:
Yelp: One of my favorite services. Why do I want an AIR app from Yelp? A few reasons. One, I’m really bad at sitting down and remembering what I ate. I’d love to have a Yelp desktop application that would let me take notes about a specific restaurant as soon as I get home. Then when I have time the notes are on my hard drive and I can finish the review and send it up when I get a chance. I’d also like notifications. When I get a message, compliment or a review for one of my favorite restaurants it would be great to get a notification. Finally, I really want a .yelp file that I can email around or download. The .yelp file would contain all of the major info about the restaurant and would be associated with the AIR application and view it online or offline. Ideally it would be XML so you could even add info to it and do a kind of desktop mashup with other services.
Dopplr: The big one for Doppler? Alerts. The weekly emails are great (and I know I can increase the frequency) but having alerts would be awesome. I would also love to have a Dopplr desktop widget that would let me easily browse other people’s trips without having to go to the Dopplr site. A quick entry feature would also be very cool. Click on the Dopplr icon in the system tray (or dock) and be entering a new trip right away. Ideally, since Dopplr would have access to the file system, you could also sync it with different calendar applications or (because I like filetypes) a .dopplr File type that you could send to friends and they’d be able to use that file to add the same trip you have. The theme of the desktop application could even change color based on where you’re going just like the logo does.
NewsGator This would be the perfect AIR application. I’m now addicted to using NewsGator in the browser when I have to and using a combination of FeedDemon and NetNewsWire on the desktop. Why not combine those code bases? Why not enhance the experience of the browser client and make it look and feel like the desktop applications? You can use the file system or the SQLite database in AIR to store your feeds and synchronize them when you get online. You have the exact same UI and code base for Mac and Windows plus you get to take that code and create a similar and great looking web interface. News reading would never look so good or be so easy. Your feeds when and where you want them with a consistent user interface.
Facebook: Yup, what can I say, I try to be a power user and I want a desktop application for Facebook. This I want just for the experience. I want an Ajaxy or Flashy interface with cool transitions that makes doing tasks like managing messages or friend requests easier. I want to synchronize my contacts automatically with my email using the file system APIs. I want uploading photos and videos to be really easy. You can still display ads for me, that’s fine, but I want a robust interface that helps me use Facebook faster and more easily.
Desktop Tower Defense Okay, maybe this one seems silly, but think about it. You could use transparent windows and the power of Flash to play Desktop Tower Defense on your desktop. You could also take the game with you wherever you go so you can play it on the airplane or wherever you need to waste time without an internet connection. You could save your games or even record them so you can show them off to your friends later. Wasting time was never as easy as it could be with DTD on AIR
I just blogged about uvLayer a really interesting blend of social networking and rich media that uses an AIR client built in Flex as the primary application. The team over at uvLayer has done a lot of things to help create a social experience out of a rich Internet application. They’ve incorporated Facebook and a real time sharing feature that makes watching videos a collaborative experience. Head on over and download the application.
It was a reallygreat week for Flex and AIR at DEMO this week and there are some really awesome companies building on the Adobe RIA platform. BusinessWeek picked up some of the standouts from DEMO and highlighted some of the AIR applications that were shown on stage:
Another intriguing trend at this year’s DEMO is the way numerous entrants have made use of Adobe’s (ADBE) AIR technology. Unveiled at last year’s DEMO, Adobe AIR is used to create rich Internet applications that can run both while a computer is connected to the Internet and, to some degree, when it isn’t.
AIR-based entrants at this year’s DEMO include Joggle, an online service designed to organize the files you have scattered among the hard drives on multiple PCs in a single browser window. Joggle was created by Fabrik, a vendor of external hard drives that is familiar with the confusion people face when trying to remember which documents, songs, photos, and videos are stored on which computer. Other DEMO participants that utilize Adobe AIR are Acesis, which created data-management software for health-care providers, and Israel’s 2Win Solutions, which built a Web-based collaboration application called KonoLive.
Pownce opened up registrations today and also released a new version of their desktop client. Pownce was one of the very early adopters of AIR and this new client runs on Beta 3 of the AIR runtime. It includes system notifications when you get a new message as well as the ability to reply to people right from the application. That means you can do almost everything you need to in a desktop client. So far response seems to be pretty good. Have you downloaded it? What do you think?
Serge Jespers talked to the team at Boulevart, the company behind the Google Analytics AIR application and found out that they’re working with Google and that Google is going to both host the application and is supporting development on it. Serge has a video interview up including some news about the new features.
The Google Analytics AIR applications was by far one of the coolest applications we saw from the community. Nocolas Lierman created his own API for Google Analytics and wrapped a valuable desktop experience around that. It’s great to know that Google was as impressed as everyone else with the application and they’re helping out. It’s a great application for users of Google Analytics.