This article of Maemo 6 Service Framework continues the series of “A Peek to Maemo 6 UI Framework” articles. There are older articles parts I, II, and III if you haven’t read them yet. The Maemo 6 UI Framework is quite large (almost 100 000 lines of c++ code) therefore I want to introduce larger modules rather than smaller things like single widgets. I want to make the reader to understand what you can do with the UI framework, how you can design your application (MVC + layouts) and how you can use services that platform provides or introduce your own services.

Because we are dealing a huge UI/Application Framework  which each application in Maemo 6 device should use, there must be some kind of centralized way to make applications provide public interfaces for other applications. This is where Service Framework comes to the picture.

I checked a doxygen documentation of the Maemo 6 UI framework and there is own section for Service Framework. The following bullet list is derived from the Service Framework documentation. The objectives of Service Framework are:

  1. Provide a simple IPC mechanism
  2. Remove run time binary dependancy between the service user and provider
  3. User of an interface doesn’t need to worry about the logic of choosing or connecting to an interface.
  4. Provides an interface for querying a list of providers and choose one of them

They also state in the documentation that Service Framework can be used for example launching another application such as a web browser or showing recent contacts. I guess this means that each application in Maemo 6 platform can provide a specialized interface to other applications that may be interested in such a service.

continue reading…