Put the World in Your Pocket with Marble
Of course, other navigation solutions exist for mobile devices. Some, such as Navit, Mappero, ModRana and MoNav, even are free software. However, Marble has a few special features. Marble makes use of a range of existing algorithms and Web services, and as Dennis explains, the approach Marble takes is to “query the available ones in parallel and choose the best result”. However, there is more to it than just fetching results: “many of the services can only calculate routes between two points, while Marble supports an arbitrary number of via points—therefore, we need to split up requests and combine the results, and all of that is transparent to the user”. Marble also adds enhancements to the step-by-step driving instructions: “We generate them ourselves, as that allows us to translate them in all languages supported by KDE software—no other project has that huge a number of supported languages.”
Dennis explains that there are other advantages to using a selection of alternative back ends: “Since we query multiple routing back ends in parallel, Marble ranks the results, eliminates duplicates and then shows the remaining routes on the map. The best is active, but you can easily switch to one of the alternative routes.”
Marble for smartphones also gains from its close relationship to its desktop cousin. You easily can explore and plan your journey with Marble on your home computer with a big screen and fast Internet connection and then transfer it to your mobile phone. Simply export a file from the computer to the phone and then open it in the mobile version of Marble. In fact, you can import route data from any application supporting the standard KML format. The mobile version of Marble does, however, have plenty of differences from the desktop version. For a start, the mobile version does not depend on the KDE platform, so none of the KDE libraries are needed for installation. This makes the application download only a few megabytes, but it does mean that the KNewStuff interface—with which you may already be familiar if you use KDE software on the desktop—is not available to install add-ons, such as new maps.
Making the software simple to use is one of the developers' main goals. Much of the technology needed has developed independently of Marble, but Marble draws it all together and presents it to the user via a consistent and easy-to-use interface. For Dennis, the major challenge has been “integrating the different back ends and coping with their strengths and limitations, ideally without the user knowing”. This is the key: “hiding power behind a simple user interface”.
In the best traditions of free software, Marble makes use of a whole load of existing routing solutions rather than re-implementing everything itself.
Addresses and current locations are located on the globe using a combination of the Nominatim Web service (for OpenStreetMap address search), GeoIP Web services to link IP addresses to locations and a local database shipped with Marble. Nominatim also is used to convert positions to addresses, as is Gosmore, which is an optional runtime dependency.
Marble works out routes by taking advantage of the OpenRouteService, YOURS Web service, Routino and the aforementioned Gosmore and Monav as optional runtime dependencies.
Of course, free software also is about contributing things back, and Dennis is excited about Marble's routing instructions implementation becoming useful for other projects. “It is used by the YOURS implementation on OpenStreetMap, which has good chances to be included on the main OpenStreetMap site at some point. That would mean that some part of Marble, and the efforts of the KDE translators, would be used by the OpenStreetMap project itself—a nice way for KDE to contribute.”
Plenty more is coming in the future. Being able to plan a route and following it is useful, but what about being able to take your phone out when you run or cycle and have Marble record your route so you can upload it to your home computer and see where and how far you went? Dennis thinks it can be done: “Technically, we're just 20 lines of code away from that. It's mainly missing currently because we didn't find a nice place in the user interface yet.”
Other future enhancements include integration of off-line address search, greater optimization for different transport types—for example, improving the selection of different routes for cycling and driving or choosing the fastest versus the shortest route. Voice instructions, one of the major features missing from Marble on a smartphone when compared to a dedicated satellite navigation system, also will be added using text-to-speech technology.
Torsten also is excited about the future use of OpenGL, recently demonstrated by Marble developer Bernhard Beschow. Adding OpenGL support will make it possible to move rendering of the maps from pure software to make better use of the graphics processors found in modern smartphones. Torsten believes that “OpenGL is important for the mobile use case in terms of CPU and battery usage—we hope that OpenGL support will start to appear in summer 2011.”
Implementing all these features, of course, will take a lot of hard work, and not just from developers: “We need more people to help us: with promotion, with documentation and, of course, through coding.” As Marble depends heavily on free data sources, such as those integrated in the OpenStreetMap Project, it also benefits from contributions to the stock of free geographical data by governments, individuals and companies. In particular, Torsten would like to see more aerial imagery released under free licenses. Dennis has similar views: “Any data that is commonly tagged in OpenStreetMap will be useful if it can be imported automatically in some way. Satellite maps would be awesome to have as well in more detail.”
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
|Trying to Tame the Tablet||May 08, 2013|
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- RSS Feeds
- New Products
- Using Salt Stack and Vagrant for Drupal Development
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Home, My Backup Data Center
- Validate an E-Mail Address with PHP, the Right Way
- Tech Tip: Really Simple HTTP Server with Python
- New Products
- Ahh, the Koolaid.
2 hours 37 min ago
- git-annex assistant
8 hours 37 min ago
- direct cable connection
8 hours 59 min ago
- Agreed on AirDroid. With my
9 hours 9 min ago
- I just learned this
9 hours 13 min ago
9 hours 44 min ago
- not living upto the mobile revolution
12 hours 35 min ago
- Deceptive Advertising and
13 hours 10 min ago
- Let\'s declare that you have
13 hours 11 min ago
- Alterations in Contest Due
13 hours 12 min ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.