Maemo Developer Interview – Maemo Mapper


Community, News — By Sami on October 8, 2009 at 8:53 pm

John CostiganMaemoNews is continuing our series of Maemo developer interviews, this time in the exciting area of mobile mapping software. Our community developer for the interview is John Costigan, the developer of the great Maemo Mapper software. Currently Maemo Mapper is the third most downloaded software in the maemo.org downloads section, with approx. 140000 downloads. On top of this, it has been downloaded from the Maemo Garage (where it is hosted) an additional 130000 times, bringing the total to staggering 270000.

Let’s begin our discussion with John.

1. Why do you develop for Nokia’s Maemo platform?

I develop for Maemo because it’s an open platform built on top of familiar open source software, which makes it relatively straightforward to get started in developing on the Maemo platform, particularly if you have done some GTK+ development in the past.

2. Can you describe Maemo Mapper to all of us?

Maemo Mapper is a geolocational program that downloads raster maps from the internet and displays them with other data (such as your position) overlaid on top of those raster maps. It uses OpenStreetMap.org maps by default, and it also supports navigation use cases, including voice navigation.

Maemo Mapper

3. What was the most difficult development part for your application?

The most difficult part of developing Maemo Mapper was learning the mathematical theory behind geographic projection of the earth’s spherical surface onto a two-dimensional screen. I had no formal cartographic experience prior to beginning development.

4. Do you have anything (and what) on the plans for future releases of this application?

As far as I’m concerned, Maemo Mapper is more-or-less feature-complete. In fact, it already includes more features than I ever wanted, thanks to contributions from the community. At this point, my involvement with Maemo Mapper is limited to basic maintenance, including critical bug fixes and porting to new Maemo platforms (such as Fremantle).

5. Have you developed Maemo Mapper by yourself or with a group of contributors?

Maemo Mapper started as a one-man operation, and it continued that way for a long time, with nearly all external contributions coming in the form of translations for other languages. That gradually changed as others became more and more interested in adding features to Maemo Mapper, and lately it has been receiving more love from the community than it has from me.

6. Have you utilized upstream software or components in your application? Which ones have been the most beneficial for your development?

Maemo Mapper depends on many open source technologies; aside from the standard GTK-based infrastructure, the most beneficial upstream software has been gpsd, gdbm, sqlite3, and flite.

7. Are you participating in any other open-source Maemo projects?

I maintained a couple of minor side projects, but for the most part, my entire Maemo development experience has been with Maemo Mapper.

8. What kind of tools you use in different development phases?

Aside from the Maemo SDK itself, I code with vim in a bash shell, including some shell scripts to make release packaging and deployment a bit easier.

9. What is it that makes a professional & excellent usability Maemo application?

That’s an interesting question, because the answer has changed significantly since the inception of Maemo (and Maemo Mapper). Originally, Maemo was a stylus-driven operating system, and much of Maemo Mapper’s UI was developed with that in mind. Lately, Maemo has gone in the direction of finger-driven UIs, and unfortunately I have not had the motivation to change Maemo Mapper’s UI to account for that. That will probably change with Fremantle.

So, today, an excellent usability experience in Maemo depends on controls that are easy to operate with fingers, as opposed to styluses.

10. What kind of application you would like to see in Maemo that is now missing or not fantastically implemented?

For me, I think the answer to this question has been the same now as it was when Maemo was introduced: PIM software. I really liked the work that OpenedHand had started before they were acquired, now called pimlico if I recall correctly, but there needs to be some more support from Nokia here for a clean, polished PIM experience.

As part of that, and in particular as internet-enabled devices become more and more social, I think it is important that contact management be a focal point. The contact manager in Maemo needs to be easy to use, easy to access from other applications, and easily syncable with online contact stores. I have high hopes for Fremantle in this regard.

11. How do you feel about QT coming to Maemo?

I’ve always been a Gnome guy (my online alias is GNUite, after all), but I also understand that choice is a big part of open source, and there are a lot of people who develop with QT. I appreciate that QT is coming to Maemo, because it opens doors for many other developers (as GTK+ opened doors for me), but I am less thrilled about GTK+ being relegated to legacy status by Nokia.

12. Any hints or feedback to other Maemo Developers? Tips or guidance for beginners?

When Maemo was conceived, programming for it was challenging because everyone was blazing their own trail through the infant framework. Eventually, conventions and patterns emerged, but for a long time, a lot of people were trying a lot of things that didn’t work very well. My advice to you is to not waste time on that same arduous task – look to other, well-known and well-respected Maemo projects for examples of cleanly-written codebases.

13. How do you feel about coming Nokia N900?

One of my biggest fears during the early Maemo years was the seemingly-impending transition of Nokia’s internet tablet into a cellular phone. Each new iteration of the internet tablet included rumors (before its unveiling) of a cellular radio built into it. Now that it’s finally happening, I’m actually surprised at how excited I am about it. The device looks incredibly versatile, but at the same time it’s also moving into a competitive landscape that is getting more and more crowded, so it almost _has_ to do everything if it wants to be successful.

14. What are you views on open-source vs. closed-source commercial applications on Maemo platform?

Obviously, I prefer the concept behind open source, but I’m a hobbyist – I understand that the software development process of some companies makes open source development prohibitive. I appreciate Nokia’s contribution to open source, and while I would prefer that they open source as much of Maemo as possible, I understand that (particularly when cellular carriers are involved) some software simply cannot be open sourced without significant risk.

15. How do you connect with Maemo community? Forums, Twitter, something else?

I try to answer questions and address concerns in both talk.maemo.org forums and in Maemo’s Garage forums. Some users also reach out to me directly via email, and I do my best to answer them as quickly as possible.

For contact details and more information about John, visit his Google profile page.

Tags: , , , , ,


blog comments powered by Disqus