Challenges of Building HTC Sense

Platform Development Grand Ballroom B
Average rating: ***..
(3.60, 5 ratings)

The success of Android as an open platform in the past couple of years is made evident by the huge volume and diversity of devices offered by manufacturers. In this highly competitive market, device manufacturers strive to differentiate themselves via innovation over the existing platform.

HTC Sense is a customized UI framework that enhances the stock Android by centering its design around people and their social networks. One of its design goals is to provide a seamless social experience across applications and widgets in different contexts, while conserving battery life and maintaining performance. In this session we will share some of the technical challenges in designing HTC Sense and our experiences to overcome those challenges.

The session will begin with a brief overview of unique features in HTC Sense. We will demonstrate that HTC Sense is not just an additional collection of applications and widgets, but an experience around the user and his/her social networks.

We will then go over four technical challenges in designing HTC Sense to provide such a social experience. We hope to share some of our experiences in overcoming those challenges.

Challenge 1 – Seamlessness

Although the user’s social networks can be accessed via ContentProviders as data sources, it is fairly inconvenient for application developers to deal with unparsed data returned in the form of Cursors. In addition, social network data in practice are often required to be stored in separate application packages, each having a different set of APIs and data representations. This makes the remote procedure call to social network services a complex task for application developers. We will share the architecture of our design which handles all of the challenges aforementioned.

Challenge 2 – Sync with better battery life

Social data typically is synchronized in the background using the Android Sync framework. Each sync inevitably uses CPU cycles and consumes battery. We will share some of our strategies in background sync to conserve battery.

Challenge 3 – Data aggregation with efficiency

The volume of social data aggregated from multiple sources can become so enormous that it hinders the UI performance and causes ANRs. We will share with the audience some of our strategies in improving the performance when dealing with aggregated content.

Challenge 4 – Extensibility

We will introduce how our partners can use the OpenSense SDK to add data as well as UI components to the Sense UI in the form of plugins.

Photo of David Wu

David Wu


David Wu is a senior engineer at HTC. He works on the social network team for HTC Sense, responsible for adding “social touches” to the overall user experience. He is one of the core developers behind HTC Friend Stream.

In his free time he is also an active participant in the free software community in Taiwan. He is a regular at both the Taipei Open Source Software User Group and Hacking Thursday.

Comments on this page are now closed.


Picture of David Wu
David Wu
11/24/2011 2:12am PST

Slides are available here.

Picture of David Wu
David Wu
11/24/2011 2:10am PST

Sorry I’m not sure why the link was truncated. The correct link is here:

Picture of David Wu
David Wu
11/24/2011 2:09am PST

Slides are available here:>

April Johnson
10/12/2011 3:34am PDT

Can you post your slides? This was a awesome session with lots of great tips. thanks

  • HTCpro
  • Microsoft Corporation
  • Open Invention Network
  • X.commerce
  • Black Duck Software
  • BugSense
  • Dolby
  • Intel
  • Make magazine
  • Marvell
  • Meshin
  • MIPS Technologies

Sponsorship Opportunities

For information on becoming a sponsor of Android Open, contact Sharon Cordesse at

Media Partner Opportunities

For media partnerships, contact mediapartners@

Press and Media

For media-related inquiries, contact Maureen Jennings at

Contact Us

View a complete list of Android Open contacts