Jump to Navigation

Mr. Bell, meet Mr. Goldberg: State of the MeeGo dialer

Session Summary: 
If you combine the chaos of continuously evolving MeeGo APIs, the enormous complexity and scope of the 3GPP specifications, preproduction hardware and firmware, contention between project and product requirements and schedules, the need to become an expert in the MeeGo build/packaging/imaging/release tools and then add to this a dash of ignorance and naivety and you will find you have a recipe for something akin to a soufflé. Make one mistake and, while it may be "edible", it's not to nice to look at. In this session we will take a look back at what contortions were necessary to navigate the maze of APIs, missing capabilities, feature demands and tooling to get to the point where we could just make a simple voice call. The session will wrap up with an update on the current state of the MeeGo dialer as well as a look forward to how it will be changing, hopefully with time left for open discussion.
Session Abstract: 

Development on what is today called the MeeGo dialer actually started long before MeeGo actually existed. It was originally written in C, based on GObject and designed as a Clutter based application. Since then it has changed languages (once), object frameworks (once), UI toolkits (at least three times) and countless changes in various APIs core to writing a user interface for making voice calls.

The incredibly convoluted nature of connecting various API's and subsystems together for what would seem to a simple task of making a phone call makes one wonder, did Rube Goldberg go back in time and provide Alexander Graham Bell "help" when he invented the phone?

I this session we will dabble in:

  • A brief walk through the evolution of the MeeGo dialer to see how these changes have shaped what (and why) dialer is the way it is today, taking a look at what we can learn from this.
  • A 30,000' overview of the 3GPP specifications and which ones affect (and why) the creation of a voice call interface application.
  • A detailed review of the MeeGo core API's that are required in order to manage all aspects of making, receiving, notifying and tracking voice calls. We will look not only at what these API's or subsystems are, but also look at the state of their maturity and integration into a MeeGo platform as a whole.
  • How hardware (and firmware) availability and maturity plays a significant role in development and testing a voice call interface application, as well as what limitations remain and what alternatives exist.
  • A brief overview of additional tools and processes are needed to get an application (any) from source git repositories to being pre-installed on images in the MeeGo world.
  • A short rant and evaluation of how competing requirements (and schedules) between Open Source Project planning and Product planning have impacted dialer's development and the ability to collaborate with the community.
  • What is planned for the MeeGo dialer in the near to medium range future and a serious look at whether or not it has a fighting chance at a long term future with a call for discussion and debate on it's lifespan and relevance.