November 22, 2009

Social Applications with Adobe Flash Collaboration Services (RIA Unleashed: Boston 2009)

Kevin Hoyt

Flash Collaboration Services: Collaboration in the cloud
afcs.acrobat.com for an account

SDK includes samples and an AIR application with lots of goodies in it: room console, local server (for easier testing/data only).

API
* Session and authentication (0 = nothing, 100 = owner, # = application assigned)
* Shared model components
* Shared managers
* Collaboration components (whiteboard, chat, are built in)

Room Concepts
* Users and roles
* Audio/video streams (including peer-to-peer via RTMP)
* Content from collections and nodes

Authenticator
ConnectionSession (Synchronization change events used for both connected and disconnected)
ConnectSessionContainer (show hides children based on connectedness)
SharedObject (RTC specific, different than standard Flex one) Used to share data into the cloud

Build in WebCamera wrapper that broadcasts video feed.

GPS Tracker Demo using Flex for web, AIR for data acquisition, and CS4 mobile application all talking to same room.

Golden rule: Do not take action until data arrives (including echo back)

Website Watcher Demo

Technology being used for education (RosettaStone), customer service call center, anywhere where you need real-time capabilities.

Audio echo is a big issue.

Tags: cloud flex ria riaunleashedboston2009

December 31, 2007

Frankenstart: User Startup Experience

I've been thinking about the startup experience a user sees when launching applications. In particular I've been using a bunch of AJAX and Flex based RIAs recently. This observation is still gestating so I've not compiled a well defined list. It's one of those thoughts that I'm pretty sure is there and I'm just looking for additional evidence.

When browsing the web many HTML pages haphazardly form into the final view. Some of this is due to the order that the images, CSS, and other content pieces are loaded by the browser and some of it is the rendering speed of the browser, which has mostly become a non-issue. This experience is something that I think has fallen into the background consciousness of most people browsing the web. The thinking has become, that's just how HTML sites and web browsing work. Contrast that with how most desktop applications launch. There is still some waiting but aspects of the interface only appear when they are ready to be shown, instead of the half rendered state many a web page is briefly shown in.

Since AJAX RIAs rely on the same raw HTML rendering and loading of content by the browser, complex applications can take time to render and in the process look pretty freaky. I've nicknamed this raw startup experience a Frankenstart. One AJAX example of a Frankenstart experience is meebo.com. If you are a frequent user the problem isn't as pronounced but for first time users (try clearing your browser cache) they are presented with a half rendered interface for a few seconds on speedy cable modem. The effects are much worse on slower connections. A picture of my meebo startup experience is shown below (click for a larger image):

It doesn't take much to provide a cleaner startup experience. Buzzword is a Flex based RIA that provides a nice startup experience. A simple progress bar that fades in the fully rendered interface when loading it complete. A picture of my Buzzword startup experience is shown below (click for a larger image):

While the startup experience is only a brief view into your application, first impressions do count, even if only subconsciously. Many AJAX and Flex RIAs do get it right, but there are plenty that need help. Users may still be used to the HTML browser rendering world, but when RIAs start to look and act more like desktop applications, I can see user expectations changing. Don't make a Frankenstart be the first look someone gets at your application.

Tags: ajax flex frankenstart ria