Adobe Unified Communications Tool – Proof of Concept

The Adobe@Adobe Team would like to share some of the current progress being made on the Adobe Unified Communications Tool, or Unicom, as it is being labeled.  The vision behind Unicom is to have an all-in-one tool for finding and interacting with co-workers at Adobe.  Unicom would bring together phone, email, chat, the Adobe Directory, and Adobe Vibe, so employees would have one single application for communicating with one another.  The application encompasses SIP integration for phone (using Flash Media Gateway), XMPP for messaging, MS Exchange, and Adobe Connect.  The application is being targeted for tablets (iOS, Android, Playbook), smart phones, and desktop.

In the video, Jamie Godin (Senior UX/Visual Designer) and Mark Ellis (Product Solution Developer) take you through the design, as well as some of the features we’re currently envisioning.  It’s an exciting application that has the potential to dramatically alter the way we communicate with each other at Adobe!

Putting the Multi in Multiscreen

At this years Adobe MAX conference, I will be giving a session on “Putting the Multi in Multiscreen”. I’ll be presenting tip and tricks to take one code base and deploy it across OSX, Windows, iOS, Android and the Blackberry Playbook.

Check out the video below for a sneak peek at my session!

Display AIR version

When we were building our internal employee directory application we found a need to help determine what AIR version our employees had installed. With the following method you can enable end users to easily determine their AIR version right inside your application.
 
As an AIR application developer you can display the AIR version right in your application and make identifying this information for your users easier.
 
Some benefits of Displaying AIR runtime version in your applications: –

  • Troubleshoot application/runtime specific issues.
  • Helps identify pre-release or labs version of AIR runtime.
  • Troubleshoot air update framework related issues.

 
The NativeApplication class in the AIR SDK represents the currently running air application. The NativeApplication object is a singleton object, created automatically at startup and provides application information, application-wide functions, and dispatches application-level events. To get the NativeApplication instance of an application object refer with the static property NativeApplication.nativeApplication.

Code:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
public function get airRuntimeVersion() : String
{
return NativeApplication.nativeApplication.runtimeVersion ;
}
public function get airRuntimePatchLevel() : int
{
return NativeApplication .nativeApplication.runtimePatchLevel ;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Label text='{ "AIR " + this.airRuntimeVersion + " Patch Level " + this.airRuntimePatchLevel }' />
</s:WindowedApplication>

I hope this small code is useful for you.

Capturing information

Our team is working on an employee change form. This is a great opportunity to take our form guide technology within Adobe LiveCycle and transform the way employees participate in a process. During presentations with customers you will hear Adobe folks talk about the transformation of forms interaction. Its not a quantum leap but it is an important evolution in how a system captures information.

I’ve been doing some research into how other companies and organizations capture information for an employee change event. These change events are things like promotions, pay changes, manager change, etc. Most forms are in Adobe PDF which is a great testament to how PDF enables simple workflows with our user fillable PDF files. Some of the PDFs I found even had submit buttons that would email the completed form. Groovy stuff.

However some of the forms looked more complicated than an IRS 1040 tax form. Changing information about employees can be a complicated business. There are lots of information that is needed and lots of rules governing what information is needed. So I’ve been thinking a lot about Turbo Tax lately (that and its tax season so it just follows…)
Turbo tax is the evolution information capture. In the beginning it captured information using an on screen fillable 1040 form. The form on screen was identical to the paper form on the desk. Now fast forward to today and users of Turbo Tax never see the 1040 form until they hit print at the end of the process. Why? Because capturing information for a complex process is tricky business. There are lots of variables and certainly that is not more true then with the IRS.

Now back to an employee change form… Leveraging Adobe LiveCycle and our Form Guide technology I’ll be designing a guided process that will interview the HR person or people manager responsible for filling out the form. Thinking about the process of capturing information as people centered rather than process centered offers a number of areas to innovate.

One of those areas is showing the employee(s) photos involved in the process. That may seem unnecessary but since we already have employee photos available to us internally (leveraging Scene 7 but I’ll save that for another blog post…) we can show the employee’s photo. Its a small thing but it helps personalize the experience and keep people focused on the human element of the process.

We did this in our IT Service Desk AIR application. That application features chat to enable employees to resolve computer problems resolved without picking up the phone. We put the photo of the both people in the chat window to help people on both sides of the conversation keep focused on the people behind the text.

We added employee photos for our recent performance appraisal. Having the employees photo shown on the form guide helps to keep folks centered on the people side of the process.

Another aspect in addition to an interview style is to provide help when help is needed. Since Adobe LiveCycle Form Guides break a form up into a series of screens with questions or form fields we have an opportunity to include relevant help at every step of the way.

In future blog posts I’ll update you on our design and how Adobe LiveCycle form guides help drive employee satisfaction and lower support costs.

Enterprise Microblogging Platform using Adobe Technology

Microblogging has exploded in recent years with the popularity of Twitter. Enterprises have been exploring microblogging as a way to cut down on email and adopt social media that younger workers are comfortable using.

Mark Ellis, a sr. developer, teamed up with Stacy Young from our LiveCycle engineering team to build an enterprise microblogging platform leveraging new features of ColdFusion 9 and LiveCycle Data Services.

We released our internal microblogging platform called Vibe internally at Adobe a few months ago. It has been well received and we continue to develop new features. While we are not yet releasing the source code for our internally deployed version you can peek under the hood.

A new Adobe DevNet article has just been published detailing all the groovy details.
Take a look to learn how the new ORM features of ColdFusion 9 will dramatically reduce your time to build such an application. Sample code is included to get you started.
In addition you can watch our MAX 2009 session on Adobe TV to hear our architect, Venkatesh Yadav, talk about how to build this platform.

In the video you’ll also get information on how to leverage the same ColdFusion back end service for an iPhone app using the recently announced mobile framework.

Lastly we give a sneak about Gravity – a new framework soon to debut on Adobe Labs that will allow you to build interoperable/pluggable Flex/AIR apps.

Introducing Adobe@Adobe: Driving Product Excellence & Revenue Growth Through Innovation in IT

Hi. I’m Chris Mayo, leader of the Adobe@Adobe Program. We are a small development team within IT formed in March 2008, founded by and reporting to our CIO, Gerri Martin-Flickinger. Our charter is to create innovative enterprise solutions that showcase emergent Adobe technologies in addition to developing new opportunities for revenue growth and process improvement.

While the idea of software companies ‘drinking their own champagne’ is not particularly new or original, the goal of Adobe@Adobe takes this to a new level of innovation. The solutions we create are completely new and not merely mainstream IT implementations of boxed product. Our solutions are often created by combining Adobe products in ways never done before.

The team plays a strategic role at Adobe by engaging with and bringing together IT, Sales and Product Engineering in a symbiotic way. We promote product excellence by providing feedback to Engineering early in the development cycle – typically pre-release – in a complex enterprise environment. The solutions we build address practical needs of the business often providing a service previously nonexistent or unavailable as a comprehensive, single solution. Our solutions are leveraged by Sales in demonstrating the depth and breadth achievable by Adobe software in the enterprise.

The success the team has met in our first year has exceeded all our expectations. We have have built some fantastic and compelling solutions that will be covered in depth by the team in future posts. We have established ourselves as a trusted, valuable and active partner in the product development cycle and participated in dozens of critical sales presentations to some of our largest and most valuable customers. To say nothing of the new projects underway or on the drawing board.

I encourage you visit this blog regularly as we share our successes, challenges and insight (including code samples) on the future of Adobe in the Enterprise.

Chris Mayo
Adobe@Adobe Program