Friday, June 26, 2009

Drag and Drop Files Into GWT Applications

With the recent release of Gears 0.5.21.0, Google has once again shortened the bridge between desktop applications and web applications. Gears has always allowed developers to create client side databases, local servers, and interact with the desktop, but the new release grants users drag and drop functionality and image thumbnailing. And to get this data to your server, they have included the ability to create multi-part requests from the blob data.

So we have seen these fun new features in the introduction of Google Wave, but Google has yet to put this functionality in its Gears API for GWT. So when do we get to use these toys in our rich GWT applications?

Seeing that Solertium's open source CMS, GoGoEgo, used to allow for drag and drop functionality through a Java Applet component that we didn't really feel fit well in our open source, RESTful application, we decided to help Google out. We have extended the API to allow GWT developers to make ANY widget a drop target. To our excitement, it also works with GXT widgets. Not only does this allow us to make the file manager window a drop target and be treated like any other window in the operating system, but it also gives us the ability to dynamically create gallery objects from images, and potentially allow for drag and drop placement of images in the WYSWYG editor in the future.

Though it seems like a fairly simple addition, it is another step in breaking the wall down between desktop and browser. Sometimes you even forget that you are using a web based application. GoGoEgo has already broke the mold of an online content management system by allowing an incredibly rich feature set and plugin model, and is continuing to be bleeding edge with the addition of features that wouldn't have ever been thought to be possible in a browser.

The only issue is that it still requires the installation of Gears in your browser. Though not a big deal, as Google has made this installation extremely simple (a quick click of a huge freak'n button), and they have also been lobbying for this functionality in the HTML 5.0 standard.

Gears API Blog: Gears 0.5.21.0 Released

Gears API Blog: Gears 0.5.21.0 Released