It’s finally done! I’m happy to tell you that Marble Maps version 1.0 has just landed in the Google Play Store (update: direct APK here if you are not using Google Play). We hope you like it as much as we do 🙂
Many thanks to all contributors who made this possible. Thanks to a multitude of performance improvements all over the place, vector rendering has become very fast. And thanks to the ever-improving vector tile creation toolchain we are able to provide a lot more data than I anticipated some weeks ago. For the first version there are Germany and 200 cities world-wide in full detail, as well as most European countries and the USA in high detail (up to tile level 13 or 15). For the rest of the world we provide medium detail at least (up to tile level 9). The plan, of course, is to provide full vector data for the whole world in the near future.
Late summer brings a couple of interesting dates for the Marble community: On the Desktop we’ll release Marble 2.0 and around the same time our Android app Marble Maps will have its first stable release. Later on in September it’s time to celebrate the 10th birthday of the Marble project!
The common theme to the upcoming release is the introduction of the Vector OSM map: A beautifully styled map based on data from the OpenStreetMap project that spans the entire world from globe to street zoom level. In order to make this possible we’re working very hard behind the scenes to optimize both the tile data and the rendering in Marble to give you a smooth experience.
This weekend brought some good news for the tile data generation: The awesome KDE sysadmins (thanks, Ben!) setup a beefy server for us which is now busy generating vector tiles for larger areas. Together with a second server that has plenty of space to host data we now have great infrastructure to scale Vector OSM.
The tool chain running on the tile-builder server is subject to continuous improvements over the next weeks in order to optimize the tile generation process: On the one hand tiles need to be generated as fast as possible (to allow us updating them with fresh OSM edits regularly), on the other hand the generated data needs to be filtered, simplified and optimized (to reduce processing time during rendering).
The alpha version of Marble Maps integrates the Vector OSM map theme already. OSM bitmap tiles are activated by default though, so you have to enable vector rendering explicitly. This choice was made deliberately because the rendering performance in intermediate zoom levels is still far from what we want it to be. We hope to be able to resolve that in the next two weeks.
Keeping that in mind, once Vector OSM is activated you’ll notice that low zoom levels (where you see the entire globe) are already completely covered by vector tiles thanks to our GSoC student Akshat. Street level is available for selected cities and, thanks to tile-builder, is expanding to country level now. Germany and California will be the first to finish soon.
We have a new alpha release of Marble Maps in the Google Play store! It is available to registered alpha testers. We would like to gather feedback on the new turn-by-turn navigation mode before releasing a new public beta version in two weeks. See our release schedule for more details.
Sanjiban and me worked a lot on polishing the turn-by-turn navigation mode lately. It can be activated after calculating a route. During turn-by-turn navigation the map follows your current position and upcoming turns are announced using text-to-speech.
In order to test the new release, please follow these steps:
(Be prepared to wait a couple of minutes if the next step does not work immediately)
Follow the link to the Google Play store from the website above to install the alpha version
Please leave feedback in IRC, our mailing list, our forum or Bugzilla, whatever you find easiest. Links to each are here. Thanks for your help!
PS: You won’t get the pretty vector rendering seen in the screenshot above at startup, because in the alpha version OSM bitmap tiles are enabled by default. Please ask in our IRC channel how to activate vector tiles if you’re interested. More details on vector tiles will follow in a couple of days in a separate blog entry.
Last week in Randa we did not only work on a new Windows version of Marble, but made a lot of progress on vector tile rendering as well. Here is a quick visual impression of the first lower level vector tiles that are now part of the Vector OSM map theme. Much of the work was done by Akshat, one of our GSoC students.
We will add more details to these tile levels and also the styling is still subject to change. So this is only a rough first impression of what the Vector OSM map theme might look like in the first release around August/September this year.
I’m happy to announce a new stable version of Marble for Windows. Your favorite Virtual Globe comes with a shiny new installer with several improvements compared to the old NSIS based one: It’s smaller in size, allows control over which file extensions to associate and will do cleaner upgrades in the future.
Some features that were only available in Linux so far are now part of the Windows version. Among them is support for opening .kmz (compressed .kml) files and support for installing additional maps from within Marble. Please give it a try to explore some of the many great maps we cannot ship with the installer for space reasons.
We also included a preview version of the Vector OSM map which you can use to get a glimpse of the current big new development in Marble. Check out San Francisco or New York on street level to see it in action! Improving that map theme is the main focus of our small Marble team here at Randa, where we look into extending the coverage of vector tiles to the whole world while improving performance at the same time. We hope to get this ready for the first Android release of Marble Maps in September, stay tuned!
Recently I found some time again for Marble development, and today Sanjiban and me made some nice progress on vector rendering. This can easily be explained with pictures, so let’s look at an example rendering. Best viewed full size:
Things that are new — to Marble at least — are the rendering of house numbers and the styling of roads with restricted access. House numbers and names are shown on the centroid of the building, and also on building sides if there are entries to the house. Roads which have no public access are drawn in pale red now to indicate that they might not be traversable.
It’s also interesting to compare our OSM vector rendering to the standard OSM image layer (openstreetmap-carto aka mapnik).For an easy comparison, open both images in a tab of your browser (middle mouse button), set them to full size (click on the image) and toggle between the tabs (Ctrl+Tab, Ctrl+Shift+Tab or Ctrl+Number).
Marble’s vector OSM map is designed to look familiar to OpenStreetMap users and therefore shares elements like the general color scheme or icons. We do not want to replicate it though and diverge at several places: Buildings show a nice 3D effect, icons are larger and the colors are more vivid.There’s still some polishing to do on our side, but things are coming together nicely now. Thanks to our software architecture and Qt, all vector rendering improvements are directly available in our Android app Marble Maps as well!
If you’re interested to work on OSM vector rendering, please join the Marble project in KDE Phabricator. We will also be mentors in Google summer of code. If you are a student, please check our GSoC ideas and get in touch with us!
Are you a student? With experience in C++? And some free time over the summer? Then there is a unique chance for you right now: Apply as a Google Summer of Code student. You’ll get to work on a real Open Source project for three months, gain lots of experience and even get paid for it. Mentors with lots of knowledge in the project will guide you throughout the program.
Torsten and me will be mentors for KDE in the Marble project.One of the focus areas of ongoing Marble development is an Android app Marble Maps. Compared to other OpenStreetMap navigation apps it will have two unique features: Custom, beautiful vector rendering on the device and an easy-to-use user interface. GSoC projects we will be mentoring should relate to it: Vector tiling, vector rendering, speed improvements (e.g. OpenGL). See our ideas here for details and please get in touch with Torsten and me if you’re interested. Don’t wait, the application deadline is Friday, 25th of March!
Earlier today I returned from the KDE Sprint in Randa, where Torsten, Sanjiban, me and 50 other KDE developers met in the Swiss Alps for a week of hacking. Our Marble subgroup concentrated on vector tiling in Marble Maps. After some very productive days we have a first prototype of OpenStreetMap vector tile support ready both on the Desktop and on Android. It will become the new map rendering engine for Marble Maps on Android in future releases.
Our main goal for the Randa Sprint was getting the vector tiling tool chain running. This includes splitting OpenStreetMap data into smaller chunks and providing them on a KDE server (thanks, Ben). These chunks are then downloaded by Marble clients on the Desktop or Android and provide the data for the map you see. Fortunately we got the server infrastructure and a basic vector tile generation tool up and running within the first two days, and had it generate vector tiles for a couple of test regions for the rest of the week.
For texture tiles the server is responsible for rendering the map and client devices just display images. This approach is easy to implement for clients, but no changes to the look of the map are possible. Vector tiles require a client that is capable to render the data by itself. Even though that pushes more work on the client, it has a lot of advantages: The map always looks crisp and all elements can be adjusted dynamically. Some of that can be seen in direct comparison already as shown in this screenshot (best viewed in original size):
Marble has been able to render vector data since the very start, but support for OSM vector data only started to emerge recently. With a working tile server in place we now could concentrate on the fun part, extending and improving OSM vector rendering itself. Beaches, buildings with real height, glaciers, butchers, car sharing and narrow-gauge railways are just a few examples of elements we added to the rendering. There’s still a lot of further elements and details to consider, but we covered all major map features already.
The Randa Sprint brought us much closer to a releasable (end-user ready) version of vector tiling. Chances are good this happens within this year still. Our public beta version of Marble Maps in the Android Play Store will get the update automatically. You can become a beta tester if you’re interested in seeing it emerge. We now also have the weekly Marble Café where everybody is invited to get involved with Marble and learn about recent developments.
Last but not least I’d like to thank everyone who helped making the Randa Sprint possible, especially the awesome organization team around Mario and his family/friends as well as everyone who donated and supported it.
It’s my pleasure to announce the Open Beta version of Marble Maps for Android. Marble Maps is a port of the Desktop application Marble Virtual Globe and right now features an OpenStreetMap viewer, search and routing. The app is not yet feature complete; future updates will add turn-by-turn navigation, improve vector rendering and add basic OSM editing capabilities.
Our first Marble Maps release builds on the foundations of the Marble library, which runs on Linux, Windows and Mac OS X. The port to Android could be realized thanks to the recent great advances of Qt on Android. The porting itself was done by Gábor Péterffy during his GSoC project which just recently finished. Now we have a small team working on advancing the app further towards our goals of creating fast, visually appealing, easy-to-use free software. Give it a try, it works very nice already despite its early development state 🙂
Among the next updates will be support for turn-by-turn navigation. At the same time we are working on support for vector tile rendering. Have a look at the third screenshot above (a manually opened .osm file) for a sneak preview. Vector tile rendering will replace the current image based maps with vector based ones. This will not only reduce the amount of data to be downloaded, but also result in a much better looking/readable map display. Once we reach that point we’ll also look into context sensitive map rendering like night, hike, bike and similar modes.
Fortunately many of the needed pieces for vector tile rendering are already available. To bring them together we will meet in the Swiss Alps and have in intensive week of hacking in the upcoming KDE Sprint in Randa. If you want to support us, please donate some money to cover travel and accomodation expenses for the sprints.
In the last months I did not have any system running Windows and therefore could not create new Marble Windows packages. My new T450s however came with a preinstalled Windows 7, so that problem is gone. If you are running Windows, please give the new packages a try:
Please leave a comment whether they work for you. I’ll add the download links to marble.kde.org in that case. Compared to the last Windows packages (Marble 1.9.1) there’s an upgrade to Qt 5.5 inside and several new features in Marble itself, e.g. improved support for tours and map editing (the treasure map in the screenshot was done with that) as well as a couple of new map projections.