Monday, June 23, 2014

oFono? Its dead jim!

Soon after I mentioned the need for an oFono-backend in Geoclue in my blog, Sri kindly helped me get in touch with oFono developers. What started as a nice friendly discussion soon was turned into a not so nice discussion. I won't get into details and blames but here is what I found out about the project:

  •  oFono developers claim that its is still a maintained project while rest of the world think its a dead project, even people who love the project. Last release being in 2012 and loads of missing essential features (see rest of the points below) and link to mailing-list broken (even though I pointed it out 3 weeks ago and its been broken for much longer) on the homepage all points to the fact that its essentially a dead project.

  • No proper D-Bus introspection nor any client libraries. This already makes it extremely difficult to work with oFono but wait there is more hurdles on the way.

  • No online cross-references documentation: The documentation link on the home-page leads you to an architecture diagram and gives you no information about the API. Searching through google doesn't yield any results either. The developers pointed out that all documentation lives in the source tree in the form of plain-text documents and hence not very appropriate for the web.

  • It does not implement the standard D-Bus Properties interface. This combined with the fact that their D-Bus API is heavily based on properties makes it yet even harder to work with OFono, not to mention very weird.

  • None of the modern 3G modems supported, at least out of the box. I tried both Option and Qualcomm Gobi that I have and they both didn't work.


While rest of the issues can be overcome, the last makes it impossible for me to test any code written against oFono. So I'm giving up on this.

With a nice alternative that is well-maintained, and with which most modems work out of the box, has a nice OO, well-documented and introspectable D-Bus API and also provides  a nice client library, I don't understand why phone vendors insist on supporting oFono interface. Could it be because the name makes it sound like its *the* solution for phones? Well, they do have the right to use whatever they like. I'm just curious.

Having said all that, I did make it easy for anyone to add oFono support to Geoclue as promised in my last blog post. Patches to add that are more than welcome!

4 comments:

Anonymous said...

At least the mailing list looks active: https://lists.ofono.org/mailman/listinfo/ofono

Anonymous said...

In addition to the mailing list that does exist, the last release (v1.14) is from Dec 2013. Take a look at https://www.kernel.org/pub/linux/network/ofono/.

I guess they are just really bad in updating there website.

zeenix said...

Well, maybe its not completely dead then but keeping in mind all the issues with it that has not been addressed in all these years, I'd call it more a zombie: Something that should really be dead but isn't quite dead. :(

Anonymous said...

I remember it was used in Meego OS once Meego was a healthy project. To be honest ofono/connman combo were a good competition to all networkmanager stuff. I especially liked how fast dhcp implementation in connman was compared to nm at that time. Nm addressed it just recently and is superior nowadays.