Saturday, April 16, 2011

UC client my design goals.

Before even thought of writing the Android client for UC Server, I was learning Android and was playing with Android application framework, and even had few apps published on the market. When I start designing the Android client, We already had Desktop client and a Blackberry client. I dont want the Android client to be similar to either of the client. Then I thought and decided
  • to make user's Android device as close to an office extension.
  • to provide easy operations and integrations that most of their need should be handled even without going to the application.
The whole client drives based on that thought.
  • If user dials extension from phone dialer the call should reach the extension.
  • If user look for contact in their address book, they should see the corporate contact too.
  • If user is searching for contact, they should see the search results from UCA
  • If user receives voicemail in office, they should get an indication as if the phone receives voicemail
  • If user got missed calls, they should get an indication as if the phone receives missed calls
  • If other user calls the user's extension the mobile phone should ring.
Dialer integration:
UCA client is integrated with the phone dialer, that it receives notification from the dialer on the number dialed. Based on the information from the dialer, UCA application based on its configuration determines whether to let the call proceed by the dialer or to route the call through some other means. This provides strong integration with the dialer. This lets the user to use the phone dialer to make a call to office extension. The phone dialer application, which user is familiar with is used for calling office extensions. There are lot of other manipulation I am doing in calllogs and other logic for dialer integration to give a pleasing experience to user and achieving the goal of
  •     letting user to use their already familiar phone dialer for making office extension calls.

Contact integration:
When I started working on this application the Android OS version was 1.6. That time the only way to push contact to phone is by publishing the contacts to Google contacts, which was not acceptable for enterprise applications. So this item was in the pending state. Luckily when the Motorola droid was released with newer Android OS 2.0, We came across the Account & sync framework added to OS for contact management. In UCA application we use the OS provided account sync framework for publishing the contacts to the phone. There are lot of control provided by OS on which contacts should be visible and what contacts should be aggregated. Along with OS options UCA application provides options for what contact should be published to the phone. Also UCA contact published with the special contact field type that lets the use to visit the uca contact page for a user from the Phones user contact view. This integration blends with the phone dialer integration, so with contact integration user can go to the phone contacts to select the uca user and dials the user extension by click.


Let me talk about the the other integration later.

No comments:

Post a Comment