Initial Impressions of Adobe Durango

In an earlier entry, I mentioned the announcement at MAX of Durango, a framework for allowing end-users to build AIR applications out of shared components. I took some time last night to check it out, and here's what I learned...

First off, the components that make Durango work are Flex-based, so if you like to create AIR applications using HTML/CSS/JavaScript, it doesn't look like you can make use of Durango.

Durango allows a developer to make the Flex components they build (whether visual or non-visual/service-based in nature) reusable in other AIR applications. The 10-page long PDF file on the Durango page on Adobe Labs explains how to add Durango functionality to components. It also explains how to configure your AIR application such that it can either donate Durango-enabled components, receive Durango-enabled components, or do both.

The installation package available on Adobe Labs lets you experience Durango in action. Once the install is complete, you are then able to create a blank AIR application (one set to receive Durango-enabled components) simply by choosing the "New AIR Application" option now enabled in your OS (on Windows, you can simply right-click on the desktop to get to that option). Then you can open one of 4 sample AIR apps included in the install (all of which are set to donate their Durango-enabled components) and put it in "reuse" mode. Once the sample app is in reuse mode, the Durango-enabled components can be clicked and dragged onto the window of the blank AIR app you created, and now that component also exists in your AIR app, and you can save the changes to the AIR app. Certain properties of the component can be coded in such a way that the user can change them in the new AIR app, allowing for some customization of the borrowed component.

All in all, it seems like a fairly straightforward idea for making components reusable. The big question is whether or not end-users will utilize this feature. Folks who use a lot of separate AIR applications may see some value in taking bits and pieces from multiple apps and combining them. And it remains to be seen how AIR developers will feel about allowing the components they worked so hard to build to be taken and repurposed by other developers.

Sneak Announcements at MAX: Server-side ActionScript and Durango

I was a little surprised this morning to find little or no mention of the announcements made at the Sneak Peek session at MAX last evening on any of the ColdFusion blogs aggregated by Adobe Feeds. Either I'm missing something or everyone had too much fun at the after-session party last night. :)

I don't really have any of the details about the announcements, since I was only half-paying attention to the live blogging from the event and the Twitter stream, but two items stood out for me.

One was the announcement that server-side ActionScript is in the works. For those who don't know, ActionScript is the language of Flex, which is a client-side technology. Someone on Twitter said that the announcement meant that you could run ActionScript on the ColdFusion server, so that you could code certain things in ActionScript rather than CFML, but I don't know if that's really the case or not (I'm sure that will be clarified within the next few days).

The second announcement that caught my attention was about Durango. To quote the Durango web page on Adobe Labs (it's already available for download): "Durango is a framework that allows developers to build Adobe AIR applications that can be customized by end-users." Basically, it sounds like a means of allowing user-created mashups in an AIR application. Giving end-users the ability to make their own mashups seems to be a trend in the industry lately. It remains to be seen whether users will make use of that kind of power and flexibility.

Anyway, I expect folks who are actually at MAX will blog about these items and provide some more details, but I figured I put these items out there so people know what to look out for in upcoming posts from the community.

CoCoMo Now Out on Adobe Labs

This morning I read on Ryan Stewart's blog that CoCoMo is now available as a beta on Adobe Labs.

CoCoMo is a set of Flex components (described by Ryan as a "framework") that lets you add real-time communication and collaboration features to Flex applications, functions such as VOIP, webcam videoconferencing, multi-user whiteboards, and file sharing.

I haven't touched Flex since dabbling with Flex 2, mainly because none of the apps I build involve rich media such as audio and video (an area where Flex has a clear advantage over HTML and JavaScript). CoCoMo gives me new reasons to look at Flex as a production development platform.

The North American session of Adobe's huge MAX conference begins today, so I expect that there will be more news and announcements regarding Flex, ColdFusion, and AIR coming this week. Could be an exciting week!

Google's new virtual room service (Lively) may have potential

Yesterday Google launched a new beta project called Lively. Lively lets you create virtual rooms that people can join and then interact with each other via avatars. The concept is similar to virtual reality systems like The Sims or Second Life, but the difference is that you can put the rooms that you build on your own web page(s).

When I first heard about it, I thought the idea was a bit over-the-top, but I decided to at least try it out last night.

For a first version beta, it's pretty slick. You start off with a basic set of room layouts and room items (furniture, decorations, accessories) to build your room with, but you can choose to add different items from an on-line catalog (currently, all of the items are "free," which seems to imply a virtual currency may be established later when they let folks create their own stuff). Once you add an item to the room, you can move the item by dragging it and then rotate it as needed. You can also add mood music, either from the catalog of music or by uploading your own music file.

Once you've decided an avatar to represent you, you can enter the room and interact with the items (if there's a couch, you can choose to sit down on it). If there are other people/avatars in the room, you can chat with them just like you would in a normal chatroom and your words will appear in a conversation block over your head for everyone to see (or you can whisper privately to a single fellow occupant). Right-clicking on your avatar brings up a menu of gestures and animations you can have your avatar perform, like clapping, laughing, or dancing like John Travolta in "Pulp Fiction" (yes, it's as bizarre-looking as you might think).

I threw together a very simple room and then embedded the code to access the room on a very simple web page on my site. You can check it out if you like, but since you'll need the Windows-only plugin to enter the room, which is the same plugin that lets you create your own room and avatar, you're probably better off trying Lively out by creating your own room.

The need for the plugin to even enter a room is probably one of the biggest drawbacks of the service. The visual evidence strongly suggests that Lively runs off of Flash and was built using Flex (I once saw the standard Flex "Initializing..." dialog box while loading my room) so it's unclear as to why a separate plugin is needed. Maybe Adobe can work with Google to redo the plugin in AIR so it's at least cross-platform.

The other challenge facing adoption of Lively is, well, its usefulness. Right now, it's essentially an enhanced chat room. Some folks have said that businesses could use it to hold virtual meetings, but I don't see that happening unless Lively is upgraded to allow one or more room participants to speak via a microphone and provides a means of working with a presentation (Lively does allow you to display Flash videos within your room but I didn't explore that feature).

And while the idea of having a virtual room up on your home page or blog is kinda neat, it's not going to do you much good unless there's a compelling reason for people to come and hang out in groups in YOUR room. Centralized virtual realities like Second Life are never empty because there's just one world for people to go to: certain areas might be emptier than others, but there's always someone around to interact with.

Still, I do see some potential uses for it with established communities. Popular online forums could replace their existing chat rooms with Lively rooms. Businesses could create a guest room or visitor room where website visitors could hang out before interacting with customer service avatars. Conferences like cf.Objective() or CFUnited could have virtual discussions rooms that allow conference-goers to discuss the day's events with non-conference goers ("Folks, the in-person BOFs will be from 8pm to 9pm, followed by the online BOF free-for-all in the Lively room from 9pm to...whenever.")

Heck, the folks on the RIA cruise in February could take the Lively "tropical island" room template and make a place to meet up with non-cruise landlubbers at some point during the cruise if they wanted to.

Who knows if people would make use of these rooms, but the beauty is that it doesn't take long at all to create a basic Lively room, so if it doesn't work out the time lost in trying isn't painful.

It'll be interesting to see if this goes anywhere. My guess is that it'll depend on how much time and effort Google decides to invest in it and whether it will scale effectively (I heard that there were load issues when it first went public yesterday, but I didn't have any real problems with it last evening).

Online, Flex-Powered Express Version of Photoshop Available!

Saw the news about this on some of the blog feeds this morning:

https://www.photoshop.com/express/landing.html

I only had time to take the test drive (no sign-up required) and briefly mess with one of the stock image, but still...Wow.

New YouTube API= Flex Apps To Manage YouTube Videos?

YouTube announced the release of a new set of APIs today that (from what I've read so far) allow you to use YouTube as a web service. You can use API calls to log into YouTube, upload videos, list videos, edit the metadata about videos, and more.

Flex is obviously well-positioned to make use of these new APIs, given that the videos themselves are done in Flash. I wonder what apps will come out of this new development?

Here's the link to the main YouTube API page:

http://code.google.com/apis/youtube/overview.html

Adobe Open Source Website

This may get missed in the news about the release of AIR and Flex, but apparently Adobe released a new website dedicated to the open source projects they're involved with (Flex, BlazeDS, Tamarin, etc.):

Adobe Open Source

...Fortunately it didn't escape Nick Tong's attention (I read about it on his blog). Good catch, Nick.

AIR 1.0 and Flex 3.0 Are Out!

Check out the pages on the Adobe site:

http://www.adobe.com/products/flex/

http://www.adobe.com/products/air/

...I'm a little disappointed that AIR still isn't quite ready for Linux, because it's not truly cross-platform until it is, but I know they're beta-testing it with Linux users so hopefully it won't be much longer.

Another Java Developer Sees Potential in Flex and Apollo

Ed Burnette, a blogger for ZDNet, posted his thoughts about how Flex and Apollo may compete against Java:

Is Flash better than Java?

Choosing Flex Over Java for Developing Rich Internet Applications

Ben Forta posted a link to this article on his blog. It's written by a Java developer who has decided that Java is no longer a good option for writing RIAs (Rich Internet Applications) and that Flex is the way to go. He explains his reasons in detail in his blog post:

Hybridizing Hybridizing Java

BlogCFC was created by Raymond Camden. This blog is running version 5.1.004.