Header Sep
Latest News
My Rating Score
Login to rate page

September 21, 2005
Developer Case Study:
DataViz extends Documents To Go to the P910 smartphone series

[Back]

 

Based in Connecticut, USA, and founded in 1984, DataViz offers business and productivity solutions that deliver Microsoft compatibility to non-Microsoft platforms. Over the last decade, DataViz has focused on providing mobile Office and Outlook synchronization solutions that bridge the gap between desktop computers, PDAs and smartphones.  

With the rise in demand for wireless e-mail access, attachments and documents using smartphones, DataViz has extended their award-winning Documents To Go solution to the Symbian OS based UIQ platform, as well as introduced RoadSync, their new wireless Outlook synchronization solution. Now available for the Sony Ericsson P910 series of smartphones, Documents To Go delivers instant, reliable access for Microsoft Word, Excel and PowerPoint documents and attachments. RoadSync, based on Microsoft Exchange ActiveSync technology, provides secure, wireless and direct synchronization of Outlook e-mail with attachments, calendar and contacts, while eliminating the need for middleware servers, service fees, or subscriptions commonly associated with wireless e-mail.

Mike Mignone and Tim Boyle, both Engineering Leads at DataViz, outline the development process used in building the P910 smartphone version of Documents To Go (a UIQ 2.1 application developed in C++ using CodeWarrior). They also describe the technical challenges DataViz faced and offer some advice for developers new to the Symbian OS platform.

Why the Sony Ericsson P910 series?

"We selected the Sony Ericsson P910 series and the UIQ platform for our Documents To Go solution for a number of reasons," Mike Mignone said.

"From our market research, we learned that owners of P800, P900 and P910 smartphones have a high propensity for purchasing software. These smartphones fit our target market the best, given their form-factor, various text-entry methods supported, such as the QWERTY keyboard on the P910, and the touch screen. Most importantly, we recognized the need for a high-quality mobile office solution that would effectively address document integrity concerns for business users."

"We found that other solutions on the market didn't meet the user's expectations for editing on a mobile device. With critical documents being shared across a variety of platforms, document integrity is becoming crucial," observed Mike Mignone. "So, we first focused our development efforts on features that were 'under the hood'; those that would provide the best editing experience, from a document integrity standpoint. Business professionals and road warriors alike need to be able to exchange proposals, sales reports and other important files with colleagues while in the field, confidently knowing all formatting and file attributes will remain."

 

 Mike Mignone, Engineering Lead at DataViz.

Additional requirements
Developing an application like a word processor, spreadsheet, or presentation program is a complex project to begin with, but DataViz had a few extra development requirements that complicated the UIQ project even further. One thing that they were aiming for was the development of their new InTact Technology. InTact Technology provides a desktop-quality editing experience on mobile devices that ensures complete document integrity. From files that contain common formatting attributes such as embedded graphics and double-underline to those with advanced features such as footnotes, endnotes and comments, all formatting unique to each document will be maintained regardless of changes made to the file in the mobile environment.

There were two main requirements for this effort:

  1. Files must maintain perfect fidelity when edited.
  2. The code must be portable across multiple platforms.

This groundbreaking technology would become the basis for the Documents To Go UIQ solution.

Getting started
When DataViz decided to extend their industry-leading mobile Office solution, Documents To Go, to the UIQ platform, they realized that they had quite a job in front of them. DataViz joined Sony Ericsson Developer World as a Core+ Member, which provided one-on-one technical and business contacts. The development team immediately began going through the Symbian OS materials that were available to understand the OS and its architecture better, while the DataViz business team got started with their go-to-market strategy. DataViz looked into Symbian OS training courses and began working with the tutorials and examples. Once the developers were sufficiently comfortable with how to put together applications in UIQ, they set out to implement their document handling applications.

Technical challenges: changing default behavior
Overall, the largest challenge DataViz faced was the lack of documentation and examples. DataViz found that the available materials on Sony Ericsson Developer World were great for less complicated applications, but they soon encountered roadblocks when they attempted to push the envelope.

DataViz shares their experience with an example: changing the default behavior of the smartphone Jog Dial.

"The Jog Dial feature on Sony Ericsson's smartphones is a very innovative and useful feature, so we wanted to make sure that we provided a great experience for users that like the Jog Dial. For the most part, the default Jog Dial behavior worked well for Documents To Go. The one big exception was the Jog Dial 'back' behavior, and how it conflicted with our preferred behavior," Tim Boyle explained.

When DataViz designs new products, their developers put a lot of effort into considering the aesthetics and flow of the application from a user's perspective. When designing Documents To Go for the P910, the following two items were among the long list of preferred behaviors:

 

 Tim Boyle, Engineering Lead at DataViz.

  1. If a user switches out of the Documents To Go application while viewing a file, upon returning, it should open back to that same file and location within that file where the user last was. In other words, the user should not have to lose his or her place in a document just to answer a phone call or perform another task on the smartphone.
  2. When viewing a document, pressing the Jog Dial back should close the file, return to the document list, but not exit out of the Documents To Go application.

DataViz' document viewers contain at least two views - the file list view and one or more document views. When Documents To Go is first opened, the file list view is activated and displays all the documents on the device. When a document is selected and opened, the primary document view is activated and the user sees the document's content in the viewer.

The Symbian OS concept of the default view allows an application to designate which of its views should be re-activated when a user returns to the application after switching out. In order to implement the first preferred behavior noted above, any time a file is opened, Documents To Go changes the default view from the file list view to the current document view. This way, if the user switches out of the Documents To Go application and then returns, they will be returned to the open document rather than to the file list.

A side effect of this change in default view created a new technical challenge. Since the document view is now the default view, pressing the Jog Dial back switches out of the application. This goes against the second preferred behavior noted above. This behavior occurs because of the built-in handling of the Jog Dial back action as described below:

  1. If a menu is displayed, the framework will dismiss the menu.
  2. If you are not in your "default" view (the view passed in a call to SetDefaultViewL()), the framework will deactivate your current view and activate your default view.
  3. If you are already in your default view, the framework will switch out of your application to the application launcher.
 
"In Documents To Go, we wanted the user to re-open to the document and view what they were last in, so we always make the current view the default," Tim Boyle continued. "If we maintained the built-in handling for the Jog Dial, this would have meant that the user couldn't use the back action to return to their list of files - the behavior the user would expect. To correct this problem, we chose to override the default Jog Dial event handling."

The DataViz team saw that Jog Dial events could be captured in one of two ways:

  1. Capture the events for press-in, scroll-up and scroll-down in your view class' OfferKeyEventL method.
  2. Capture the events for back (push-away) and forward (pull-toward) in your AppUi class' HandleWsEventL method.

DataViz found that overriding the Jog Dial back action was tricky because there was no available documentation relating to this. DataViz was able to figure it out only with the help of the Sony Ericsson Developer World support. Below is the code DataViz used to customize this behavior.

void CYourAppUi::HandleWsEventL(const TWsEvent& aEvent,
         CCoeControl* aDestination)
{
 TBool handled = EFalse;
 CEikMenuBar* menuBarP = NULL;
 // check if this is a jog back event
 if (aEvent.Type() == EEventKey &&
       aEvent.Key()->iCode == 0x0F845 )
 {
  // only override if your real default view is not active
  CAppBaseUView* uViewP = GetTheActiveView();
  if ( uViewP != NULL )
  {
   // don't handle if a menu is displayed
   menuBarP = iEikonEnv->AppUiFactory()->MenuBar();
   if ( !menuBarP->IsFocused() )
   {
    DoCloseFileL(); // return to your real default view
    handled = ETrue;
   }
  }
 }
 if ( !handled )
  CQikAppUi::HandleWsEventL(aEvent, aDestination);
}

Development recommendations
The most commonly offered advice by the DataViz development team for those new to the UIQ platform is to get a firm understanding of Symbian OS application architecture, and try to work within the confines of that structure whenever possible.

"However, this doesn't mean you should let the Symbian OS design style-guide blindly dictate the expected behavior of your application at the expense of a good experience for your customer. One example of this, as noted above, was our decision to re-assign the default view when a user switches out of an opened file in Documents To Go in order to perform another task on the smartphone. When switching back into Documents To Go, the user is returned to the open file and location within that file where they last were before switching out of the application," explained Mike Mignone.

"Editors and customers alike have praised this particular 'departure from the norm', even though it goes against the suggestions of the style-guide," he added.

Whenever DataViz did attempt to work "outside the lines", they spent a lot of time battling against the structure. In those cases, there was little documentation or examples available, so it became a case of trial and error. Third party developer sites were helpful - www.newLC.com was a favorite of the DataViz developers - but often they would find their question posted in the forums but not yet answered.

Summary and outlook
DataViz is pleased with their product launches for the UIQ platform. Praise from press, customers and partners for Documents To Go, noting InTact Technology in particular, have certainly confirmed the need for this solution in the marketplace.

In addition, DataViz sees great opportunities for RoadSync, especially as new mobility features included in the Microsoft Exchange Server Service Pack 2 are incorporated into their solution later this year. As for future plans, DataViz will continue their efforts to mobilize "Microsoft Office life" for business professionals and enterprise customers.

"From implementing new capabilities in our current solutions to exploring new product and business opportunities, we are committed to providing best-in-class technology and solutions that enhance the value-proposition of Sony Ericsson smartphones and other Symbian OS based devices," Mike Mignone concluded.

About DataViz, Inc.
DataViz solutions are available for individual and corporate volume purchases. Their solutions are available directly from DataViz and can be purchased in the Sony Ericsson Application shop as well as being available from a number of international partners such as Swedish distributor Datanat, UK dealer EMCC Software, and ELMO ICT Systems in the Netherlands.

More information:

My Rating Score
Login to rate page