Skip to content


What's the Point of oFono?

May 12, 2009

Posted by: Glyn Moody


Even though free software was born on the server, and is currently battling to gain a foothold on the desktop, it is generally accepted that it will also thrive in two other quite different areas: embedded systems, and mobile devices.

As far as the GNU/Linux-based offerings for the latter are concerned, there's already one platform from the LiMo Foundation, together with Google's Android (and maybe Moblin if you include other kinds of mobile internet devices.) On top of that, there are also open source platforms that are not built on top of Linux, for example that from Symbian.

Against that background, you might think that the last the world needs is yet another mobile platform, but Intel and Nokia beg to differ:

Intel and Nokia are pleased to jointly announce the oFono project, an open source project for developing an open source telephony solution.

oFono.org is a place to bring developers together around designing an infrastructure for building mobile telephony (GSM/UMTS) applications.

Review the oFono architecture diagram for more information.
Review the source code for an even closer look.

oFono is licensed under GPLv2, and it includes a high-level D-Bus API for use by telephony applications of any license. oFono also includes a low-level plug-in API for integrating with Open Source as well as third party telephony stacks, cellular modems and storage back-ends.

Of course, the obvious question is: What makes oFono different? I'm glad you asked:

oFono aims to provide an easy to use interface that can be used to create rich telephony applications without requiring one to have a deep understanding of the underlying technology and its limitations. To accomplish this, oFono provides language-independent D-Bus API that is extremely easy to use without generated bindings or other 'messy' steps typically required to use an IPC based API.
The API follows the following four basic principles:

Consistent

Minimal

Easy to use

Complete

Consistent

The API should be consistent. Functionality in oFono is broken up into Interfaces, each with well-defined set of Properties. Each interface has a GetProperties() and a SetProperty() method which is used to accomplish majority of the tasks. Naming conventions are also strictly enforced. This means that once you're comfortable using one Interface, you should be able to easily orient yourself to use others.

Minimal

The API should be minimal; there shouldn't be more than one way of accomplishing a task as this leads to confusion and API bloat. We also aim to maintain API compatibility whenever possible, from the very beginning. This means that oFono APIs wil generally focus on the most important use-cases. Other features will be carefully considered before being included in the APIs.

Complete

At the same time, the APIs must be rich and complete enough to enable the creation of feature complete mobile phones. Thus, APIs for all aspects of telephony are planned, incudling but not limited to Voice calls, SMS, Cell Broadcast, Supplementary Services and SIM Phonebooks.

Easy to use

oFono aims to make writing telephony applications as easy as possible. Thus oFono will take care of the core logic, including things necessary for standards compliance. This will allow application writers to focus on what they should be doing: presentation aspects and funky animated Uis.

This is interesting for a number of reasons. First, because it seems to be trying to do something different from the usual “create open source code and see what someone can do with it” approach. It is taking the modularity that lies at the heart of free software to the next level, exposing functionality through a very simple API. That means it will appeal to those who don't necessarily want to mess around with the underlying code (although they always have the option of doing so).

It's also extremely interesting because it comes from Intel and Nokia. Intel was originally backing Moblin in this area, but recently passed the project over to the Linux Foundation. The announcement of oFono confirms my suspicions at the time that Intel decided Moblin had failed to gain traction. I fear, therefore, that Moblin will now go nowhere fast: there are just too many alternatives offering more modern approaches, and too few developers to support all the initiatives, however worthwhile they may be.

More intriguing is the fact that Nokia was also behind the open-sourcing of Symbian's code last year. So it will be interesting to see how it maintains its commitment to both mobile projects. I can't believe that it's giving up on Symbian in the same way that Intel gave up on Moblin, so it must see oFono as addressing a different market. Perhaps Symbian's open source code is aimed at the serious mobile hackers, putting together high-end smartphones, where oFono is more for companies that want a basic toolkit for creating mass market products quickly and easily.

Whether or not that's true, the appearance of oFono, with its novel, simplified approach, is yet another vote of confidence in open source on mobiles, and yet another reason to keep an eye what happens in this hugely important sector.

Update: A couple of people have suggested that oFono may represent a different part of the mobile stack from Android and LiMo. That's certainly plausible, even if the diagram on the site doesn't make it clear (to me, at least). But I stand by my comment that Intel is moving away from Moblin, and that the latter is likely to be increasingly sidelined as other projects gain strength.

Follow me @glynmoody on Twitter or identi.ca.

Follow highlights from ComputerworldUK on Twitter
Sign up for our Daily Newsletter
The UK IT News widget Get it for your site!

<<newer entry | back to blogs indexolder entry>>

Advert

close

Email this article to a friend or colleague:




PLEASE NOTE: Your name is used only to let the recipient know who sent the story, and in case of transmission error. Both your name and the recipient's name and address will not be used for any other purpose.

close
  • This article is now being printed.
close

What are your views on this subject? Use the form below to post a comment on this article up to 1000 characters.


Characters remaining:

close

Click below to add 'What's the Point of oFono?' to your blog.



If you do not have a ComputerworldUK Account and would like to use this feature, please Register.

If you are a registered, logged-in user, this will post the title and first paragraph of this story to your blog to share with your readers.

What is this?

Comments received

Frank Earl said on Wednesday, 13 May 2009

Looking at their code, etc. oFono looks to be more akin to a mobile version of Microsoft's TAPI on Windows than a replacement for the UI pieces. This is telephony, which is only one aspect of the whole thing, Glyn. You might want to back up and look at this again from that angle.

Glyn Moody said on Wednesday, 13 May 2009

But that's why I'm confused: they talk about *Linux* in their stack - so doesn't that make it like Android/LiMo et al? Wouldn't something like TAPI just sit on top?

Mark Harris said on Thursday, 14 May 2009

Maybe they're just looking to leverage the community aspect to drive next gen phone system development at minimum cost to them? As Frank Earl says, this is about telephony, whereas (if I understand it, and I probably don't) Android is about platform for development of mobile devices

Paul Cooper said on Saturday, 16 May 2009

If you want to understand how Moblin and oFono relate to each other I would point you to the Moblin Core architecture diagram at http://moblin.org/documentation/moblin-overview/moblin-core

If you look down at the bottom left corner there's a purple box which says "3rd Party Cellular Stack" - that's where oFono fits in. It's the open source Cellular Stack - nothing more nothing less. The reality of devices is that the choice of cellular stack is defined as much by which modem and which operator an ODM is working with, hence the need to support a variety of options.

Of course cellular support is a complicated beast so when you create a description and a diagram it may look just as complex as a whole (mobile) OS, so confusion is understandable. We've only just started with Moblin and oFono so making sure the documentation is comprehensive and clear is something we need to work on.

Advert

WHITE PAPERS

  • Legal risks: Employee use of the internet and email
    Exploring the challenges facing IT Mangers today and vital steps to ensure safe internet an email use by employees.
  • Phishing for victims
    This White Paper examines the phenomenon of phishing. It explains the potentially catastrophic threat it presents to all kinds of organisation. Exploding some widespread myths, it lights up the murky waters where phishing first emerged and where it continues to evolve. But it also highlights what your business can do to blunt the threat.
  • Challenges and opportunities of PCI
    The control framework implicit in the Payment Card Industry Data Security Standard (PCI DSS) provides an enterprise structure for improving operational, security, and audit performance.
  • Social CRM comes of age
    Who is this “social customer”? What strategies and tools does the new breed of CRM provide to do something about this?
  • Risk Management: Protect and Maximize Stakeholder Value
    What has held organisations back from a broader adoption of risk management programs?
*