Become the Voice Of Marble!

Categories: KDE, Maemo
Tags: No Tags
Comments: 3 Comments
Published on: June 15, 2011

Thousands of people use Marble on the Nokia N900 to find their way and explore the world. Become their voice! Record your voice speaking a handful of turn instructions like Bear left! and participate in the Voice of Marble contest. With a bit of luck you’ll become the voice of Marble: Your voice will be used as the default speaker for voice guidance in Marble’s next version 1.2 (to be released in July 2011).

Today we’re starting the Voice of Marble contest to collect voice guidance speakers from the community. We’re looking for an english speaker to be shipped with the Marble packages. And we’re looking for alternative speakers for each language supported by KDE — at least one each, and that’s a lot! Please participate in the contest and spread the word among your friends. The five best contributions will get a cool Marble T-shirt as a little present.

Interested? Please head over to the Voice of Marble wiki page which contains all the details you need to participate. The deadline for submissions is July 15th. I’m looking forward to your contribution!


Offline Search in Marble

Categories: KDE, Maemo
Tags: No Tags
Comments: 12 Comments
Published on: May 24, 2011

The release of Marble 1.1 in beetween two KDE releases shortened the development cycle for Marble 1.2. Still we have some nice new features to debut in 1.2. Among them is support for offline search that extends the existing city search by addresses (streets and house numbers) and points of interest (supermarkets, tourist attractions, restaurants, hotels, train stations and much more). This feature is a natural extension of our offline routing, enabling you to use addresses and points of interest as routing targets. Currently you either need an Internet connection for that or you have to select routing targets directly in the map in offline mode.

The data needed to search for addresses worldwide is huge, no doubt. Given that we like to ship small Marble packages the data for offline search will not ship with the Marble packages, but can be downloaded from within Marble after installation. For your convenience it is packaged with the Monav offline routing maps, so installing a country-level offline routing map (or upgrading it) will include the data for offline address search in that country. I’m currently updating the OpenStreetMap data on my system to generate new Monav maps as well as offline address databases for all countries worldwide. Offline map updates will be available in the next weeks.

I made a small screencast that shows the feature in action on Marble’s desktop version. Of course it also works on the mobile version on the N900, where the feature is primarily needed. Some minor glitches are left (e.g. some results appearing twice, missing repaints), but there’s plenty of time to fix that until the release in July. When watching the screencast you can see another new feature added by Bernhard Beschow recently: Zoom steps now coincide with OpenStreetMap tile levels, resulting in a sharper appearance of texture maps. Most of that is hidden by compression and scaling of the video though, it’s best to see it live. Or maybe Bernhard blogs about it himself, I remember him saying something like that… :-) Player |  OGG Video |  H.264 Video

A Sneak Preview at Marble 1.1 on the N900

Categories: KDE, Maemo
Tags: No Tags
Comments: 6 Comments
Published on: March 30, 2011

As you may know, we plan to do an intermediate Marble 1.1 release:

January 2011 Marble 1.0 libmarble 0.11 KDE 4.6
April 2011 Marble 1.1 libmarble 0.11
July 2011 Marble 1.2 libmarble 0.12 KDE 4.7

The initial release schedule got revised a bit, now listing

  • March 31st: Marble 1.1 Beta 1
  • April 7th: Marble 1.1 RC 1
  • April 15th: Marble 1.1.0

This release is not aligned with the other KDE applications and will therefore not be (fully) translated. On the plus side, the library is ABI compatible with the one used in Marble 1.0. Marble 1.1 brings many new features for the Desktop — see Torsten’s blog for an overview. This blog post is concerned with new features in the Maemo version that runs on the Nokia N900.

We replaced a couple of dialogs with stackable windows, which leave more space and feel more intuitive. As a nice side effect, the turn instructions now open in their own stackable window, fixing the annoying scrolling problem in the routing dialog.

A couple of people complained that the overview map in the top left corner had little use. You can now hide it (without editing the configuration file). The same goes for all the other info boxes.

If you upgrade from Marble 1.0 and used the “Download Region” feature a lot, the installation might take a bit longer than usual: We’re now sharing OpenStreetMap data with other applications like mappero and the data you downloaded within Marble is moved to the shared location during the installation. Sharing data means that you can download map data with mappero and view it in Marble (or vice versa). In the end it helps to save some disk space and reduces network traffic. On my N900, the migration moved 3.6 GB of OSM tiles from Marble to the shared directory which had a size of 2.5 GB. Since most of the tiles in the shared directory were duplicates, the shared directory only grew to 3.8 GB. That’s pretty neat, saving more than 2 GB for me.

One of the much requested features is voice navigation. We’ll ship a preliminary version with Marble 1.1. You can choose between sound output (turn points are announced with a sound) and speakers. We don’t ship any speaker with our packages, but you can use TomTom voices: Download one of the free ones (some websites offer them for personal use), convert it with our web frontend and copy it to your N900. A Userbase article has all the details you need. Enjoy :-)

For future versions we plan to include distance estimations in the output. Additionally we’d like to ship a custom Marble speaker, granted we can fund some money for a professional speaker.


Marble 1.0.0 now available in Maemo extras

Categories: KDE, Maemo
Tags: No Tags
Comments: 6 Comments
Published on: February 4, 2011

Version 1.0.0 of our mobile Virtual Globe comes with an improved user interface, is significantly faster and brings a lot of new navigation features to your Nokia N900. It is the first version available in the Maemo extras repository. This means that you can install it directly from the application manager of your N900.

“Find your way and explore the world with Marble” is the tagline that decorates the Marble 1.0 release. “Marble is a Virtual Globe with advanced routing capabilities. Use it as your personal navigation device to guide you to any destination in the world. Download maps from a variety of themes and explore the surroundings. Record your trip and share it with your friends.“, our package description continues. Let’s look into that in detail.

Online and Offline Routing

When an Internet connection is available, Marble can retrieve routes from OpenRouteService (Europe) and Yours (Worldwide). An arbitrary number of via-points is supported. Furthermore routing profiles can be created that define which routing backends are run with which configuration. The default configuration sets up motorcar routing (fastest and shortest) as well as bike and pedestrian routing.

Additionally you can calculate routes directly on the N900 without the need for an Internet connection using the Monav backend.

Offline routing requires additional country maps which can be downloaded conveniently from within Marble.

See this tutorial for further instructions.

GPS Tracking and Route Guidance Mode

The internal GPS of the N900 is used to retrieve your current location. The track is shown in the map (red line) and can be saved for further analysis in other programs.

In route guidance mode, driving instructions are announced in front of turn points. The map follows you as you move; Marble adjusts the zoom value automatically according to your speed.

Please see the GPS Tracking and the Guidance Mode tutorials for more information.

Themable Maps in Different Projections

A wide variety of map themes is supported, each consisting of one or more layers. The interactive legend can be used to adjust the current map theme to your liking.

Note that not all map themes can be shipped due to legal reasons. Google Maps or Ovi Maps themes are therefore not shipped, for example.

And More…

Translations for more than 40 languages are included. Compared to Marble 0.10, the first version available for the N900, Marble 1.0 is significantly faster. The OpenStreetMap theme in Mercator projection (default settings) for example renders more than ten times faster thanks to various optimizations. The hard to operate tab widget on the left is now replaced by dialogs. We plan to continue to improve the user interface, speed and memory consumption in future versions.

If you’re interested in Marble on the N900, don’t miss our KDE Userbase tutorials. You can install Marble directly from Maemo’s application manager. Please give feedback on the Marble download page, our mailing list or in the #marble IRC channel on Freenode.

Please note: Some of the screenshots above show map themes from the marble-maps package. This package is still in extras-testing, waiting for at least three more testers before it can be promoted to extras. The same holds for monav-routing-daemon, the offline routing backend. If you can spare some time, please become a tester and vote for marble-maps 1.0.0 and monav-routing-daemon. Thanks :-)

Marble now in extras-testing

Categories: KDE, Maemo
Tags: No Tags
Comments: Comments Off
Published on: December 20, 2010

Just a quick note to N900 users: Marble is now available in extras-testing, the repository in between the experimental extras-devel and the user-available extras repositories. It is a post 1.0 Beta 2 (0.85) version, i.e. already contains most of the changes that will make up 1.0 Release Candidate 1.

To have the final version 1.0 readily available in the extras repository, your help is appreciated: Become a tester and vote on the marble package. Thanks!

Release Polishing

Categories: KDE, Maemo
Tags: No Tags
Comments: 3 Comments
Published on: December 12, 2010

New KDE versions are released every six months nowadays. Roughly three months are spent on developing new features, the other three are devoted to release preparations. “What’s needed to get things ready for the release?” the curious might ask. “Why does it take that long?” the impatient. I’ll tell you from my perspective as a Marble developer.

User Interface Enhancements

While the user interface — the “GUI” — is most prominent to the user, it is only a small part of an application. When developing new features, certain sins happen commonly: Default sizes of widgets are inadequate, labels have confusing names or include too technical names, icons are missing or misleading. These issues can not always be avoided in the first place since the user interface changes a lot while features are developed. After feature freeze, however, no major changes happen to the user interface anymore and it’s a good time to correct those little mistakes. What does that mean in practice? Have a look at the Beta 1 => Beta 2 changelog for Marble on Maemo to see some examples.

Speed Improvements

“Premature optimization is the root of all evil”, they say. It makes sense to develop new features with that phrase in mind, though of course in practice one needs to find a balance between software design, code length/beauty and speed optimizations. When preparing a release, things have settled down and speed bottlenecks can be found and addressed.

For Beta 2 and RC 1 there’ll be a couple of performance enhancements which improve the rendering speed on the N900 by a factor of two: Bernhard added an optimized mercator texture rendering, Thibaut addressed unnecessary casts and similar performance problems in hot spots and I reduced the number of included cities in the vector maps. Altogether this results in a much smoother zooming and panning experience.


Although some people may have the impression that release preparations are all about fixing bugs, this isn’t really the case. Code reviews and the regular usage of new features by all developers helps finding bugs very quickly. Of course some bugs are left — there will always be bugs in any software — but at least the common code paths are usually well tested at all times.


Traditionally packaging software is done by the distributions. For Maemo, however, we are doing the packaging by ourselves. This takes it’s own fair share of time. Until recently our packages failed to build from source, meaning they couldn’t be build on Maemo’s buildservers and therefore are not included in the Maemo extras repository up until now. Luckily I managed to fix that error yesterday. Marble is now in extras-devel, hopefully we get it into extras for the final release.


Software developers mostly work with the latest trunk version and don’t load any user interface translations. In time for the final release, the translations become ready. Distributions then package them alongside the application. Unfortunately this happens rather late and often users are the first testers. Surely this leads to problems like missing translations, wrong translations and user interface problems (e.g. sizes) induced by translations going unnoticed: People don’t care to create bug reports for these issues, assuming some developer is already aware of it. This is often not true. (Please don’t read this section as criticism to translators. Just the opposite; they’re doing a wonderful job. The process of testing translated applications is what needs improvements in my opinion.)

Our Maemo version was only available in english until now. For RC1 I want to include translations to get bug reports about user interface problems early enough to fix them for the final release. Therefore please report bugs about widgets looking ugly or being unusable because of translated strings having different sizes than their english counterparts. For example, in the (portuguese) screenshot below, the driving instruction could have a better line breaking (by making the transparent information widget wider), so that’d be worth a bug report. But please do not add bug reports about missing translations yet. Many languages were not fully translated at the time of writing.


Last but not least Marble has a handbook that needs to be updated regularly. It addresses the Desktop version and therefore not everything written in it can be transferred to our Maemo version. Therefore I started to add Maemo specific tutorials to Userbase. Additionally we have an introductory screencast now. All of that can be extended, please help out! Just drop a line to or join #marble on IRC if you’re interested, but don’t know where to start exactly.

More Code-in goodies

Categories: KDE
Tags: No Tags
Comments: 8 Comments
Published on: November 28, 2010

More nice results are coming out of Google’s Code-in. Thanks to Utku Aydin’s excellent work, Marble now has an Earthquake online service that shows the 20 earthquakes with highest magnitude in the last month. The data is downloaded from

You can get the code from reviewboard. It will be part of Marble 1.2 (KDE 4.7).

An interesting task for the future will be to integrate this with the time support Marble gained recently. That would allow you to travel back in time and see historical earthquakes.

An early Code-in result

Categories: KDE
Tags: No Tags
Comments: Comments Off
Published on: November 25, 2010

Google’s Code-in — the little brother of Summer of Code — started a few days ago. I added a small Marble task, creating alternative artwork for the compass and the cross hair info boxes, to see how it goes. It didn’t take long for a student to show up and finish the task. With the svgs at hand I implemented a configuration dialog for the compass plugin (which is easy since Marble’s plugins are designed to have configuration dialogs) to switch between different compass themes. So here’s your work from earlier today, professorpi:

The code itself will remain in a local git branch for now until 4.6 is branched off.

Next piece in the puzzle is implementing the same configuration dialog for the cross hairs. I wonder whether I shouldn’t make that another Code-in task. The implementation of the compass plugin should provide a good start.

Marble 1.0 Beta 1 Packages for Maemo

Categories: KDE, Maemo
Tags: No Tags
Comments: 11 Comments
Published on: November 25, 2010

One of the things we decided at the Marble sprint was to release the next version of Marble as version 1.0. This underlines that we consider the Marble application to be mature and reliable. Now we’re not at that point yet; you can help out by testing our beta packages however! Get a hold on Marble 1.0 Beta 1 (KDE flavor) from your distributions packages for KDE 4.6 Beta 1. Owners of a Nokia N900 are just two clicks away from Marble 1.0 Beta 1 (Maemo flavor): This is the first click.

What’s new in Marble 1.0 (Maemo), compared to Marble 0.10 (Maemo)? Quite a lot actually:

  • Improved user interface. The tab widget on the left is gone for good. You’ll find new and improved dialogs.
  • Offline routing. Marble supports three different offline routing backends. Packages for Monav are shipped alongside the Marble packages. Offline routing maps for all countries worldwide can easily be downloaded from within Marble.
  • Configurable route profiles. Select which backends are used for routing and configure them.
  • Alternative routes. If different routes are found, you can switch between them with one click.
  • Guidance mode. Turn your N900 into a personal navigation device and have Marble guide you to your destination. The map follows your current location, driving instructions are announced at turn points.

There are more changes and new features; some visible, some under the hood. As usual, we’ll provide a visual changelog for the final release. We’re looking for feedback on the beta packages. Keep in mind, however, that these are packages of beta quality. They may be unstable and may harm your system. Don’t use them for real-world navigation tasks.

Managing Offline Routing Maps in Marble

Categories: KDE
Tags: No Tags
Comments: 5 Comments
Published on: October 25, 2010

I just committed one of the last features that hopefully will make it into the next release: Installing and updating offline routing maps from within Marble.

Unlike tile-based maps used as layers in map themes, offline routing maps consist of large chunks of data that enable the calculation of routes in a certain area. For all of the offline routers supported by Marble, these maps are created by a router specific conversion tool: Put an osm map file in, get a router map file out. When copied to the right place, Marble uses them for offline routing. This task can only be accomplishing by users with detailed technical knowledge and quite some motivation to read the documentation and follow all steps. Clearly nothing I’d expect from the average user.

To make the installation easier, we now host offline routing maps for all countries of the world that can easily be installed (and updated) from within Marble. This way you only need to select the country (or a region in a country) you’d like and Marble downloads and installs an appropriate offline routing map for you. For now we provide motorcar maps for the Monav router. If things work out well, other transport types or different routing backends may follow.

To get the needed map files, I worked on a set of scripts that automate the download, conversion and creation of country maps for the whole world. They download the osm maps from and, convert them to the Monav file format and create a marble.kml file with metadata. The compressed files — about 300 files, one for each country — take up about 9.5 GB. The lovely filelight shows a nice overview:

The dark blue chunk are the compressed final files. The uncompressed files are below the directory painted in red. You see a nice distribution of their sizes for each continent. While looking at the files created by Monav, I noticed an interesting variance in the size of some of the created files which relates to the OSM activity in that country. Let’s make a ranking of the most active OSM countries:

  1. 198 Netherlands
  2. 166 Germany
  3. 157 Belgium
  4. 139 United Kingdom
  5. 117 Switzerland
  6. 111 France
  7. 106 Czech Republic
  8. 103 Austria
  9. 89 Italy
  10. 88 Denmark

The number in the front of each country relates to the ratio of its size and the number of OSM ways. I excluded small countries mainly consisting of one large city. Don’t take that ranking too serious, though, it’s not very accurate ;-)

With the files uploaded to my server, I started its integration into Marble. Niko Sams’ work on configurable routing profiles came just right and I added a configuration widget for Monav. When configuring a routing profile, you can now limit Monav maps to a certain transport type. More importantly, you can download new maps as well as updating those where newer versions are available on the server. Technically it’s based on GHNS and therefore could be easily integrated into the “Download Maps” feature of Marble’s KDE version as well. I didn’t do that yet however because the 300 available maps to download would swamp the other available map themes.

The download feature does also work on the N900, of course — mobile devices are the ones where offline routing makes most sense. Below is a screencast of the Desktop version that shows how to update a map, install a new one and use it for offline routing.

«page 3 of 6»
Welcome , today is Monday, April 21, 2014