Cocomo Vitamins for RIAs
Are you writing a Rich Internet Application (RIA) for a mobile device using Flex and need to get some Web 2.0 muscle into your application? Cocomo from Adobe may be for you. Even if you are not you should read on to understand the power of Software as a Service .
The easiest way to see the features of Cocomo is to goto the Adobe ConnectNow Beta Site. create an account and login or read the marketing material about the Adobe ConnectNow Beta. ConectNow is Adobes entry into the web collaboration arena. Using ConnectNow users can create a unique room URl and meet live over the web and to share screens, files, whiteboards, audio and video conference, chat, and even control each others desktop with permission. The ConnectNow Platform of services is what makes Cocomo possible, so much of what you see in ConnectNow is accessible through the Cocomo Platform as a Service and the Cocomo SDK.
Cocomo is in Beta (0.9) release and is available now for developers to download and kick the tires. Cocomo is actually a codename for an Adobe project and stands for "Common Collaborative Model". The goal is to allow developers to quickly build or add multi-user, real-time collaborative (RTC) features to their applications by providing a set of easy to understand components, tools and services delivered through a Platform as a Service. Cocomo is provides both Flex-based client components and a hosted services infrastructure at Acroboat.com, so issues like deployment, maintenance and scalability are taken care of for you.
Cocomo enables developers to add Web 2.0 style social features to existing Flex apps or to build completely new ones such as real-time productivity/collaboration apps, multiplayer games, and audio/video chat.
Features in the current Cocomo beta include:
- VoIP Audio
- Real-Time File Sharing
- Webcam Video
- User Management
- Chat
- Roles ad Permissions
- Multi-User Whiteboards
- Robust Data Messaging
If you are a Flex developer and would like to kick the tires on the Cocomo Platform as a Service and the Cocomo SDK do the following:
- Visit the Adobe Cocomo Developer Portal and login with your Adobe ID, if you don't have an Adobe ID just click on New Dev sign up, its free.
- After successfully logging in you will see a Create Cocomo Developer Account dialog with some pretty standard data to fill in to login to your Cocomo account. The Account Name is worth mentioning, this is a unique name to the ConnectNow namespace and will be appended to the Cocomo root url (http://cocomo.acrobat.com) which together creates your Cocomo Account URL. For example my Account URL is http://cocomo.acrobat.com/avoreid.
- Once you have logged in successfully you will see the Cocomo Developers Portal. Here things are partitioned into pods.
First your Account Information pod contains your Account URL described above, and a Secret Key which you will use to authenticate users to your Cocomo collaboration space enabling you to continue to use whatever authentication your application or company uses on the client end. You can generate these Secret Keys at will, so use one for testing and generate a new one for deployment.
You will also see a Room pod which will contain a list of Rooms you have setup in your account. Rooms are really the Cocomo collaboration spaces you setup in your account. Think of a Room as a virtual location or meeting place at Acrobat.com which you will use in your application to allow your users to collaborate and socialize using the services provided by Cocomo.
Each room referenced by a URL which consists of your Account URL appended with your Room name. For example I created a Room named myroom, so the Room URL I use in my applications is http://connectnow.acrobat.com/avoreid/myroom. You can create rooms programmatically but you can also create them using the Developer Portal. You should go ahead and create one if you are going to use the example applications that come with the Cocomo SDK.
Next to the Account information will be Templates. Templates are predefined Rooms which contain pods like Chat and Whiteboard. When you create a room you will add one or more pods to configure the room, so templates allow you to predefine a type of Room and then create Rooms from templates. - At the bottom of the Cocomo Developer Portal are some statistic pods which show Bandwidth, Message Count and Connection Time for your Account.
- After you familiarize yourself with the Cocomo Developers Portal and create your first Room check out the examples in the SDK.
- Tip: Make sure your reference the appropriate cocomo.swc in the lib/player9 or lib/player10 folder to resolve the Cocomo namespace.

