Skip to main content

My experiences with Summer of Code 2017

How quickly the summer ran away, in a wild mix of fun, frustration, development, and success! It seems like just yesterday that I received news of working with Marble in the summer, yet now September quickly approaches, and it’s time to look back on all our experiences this summer.
This year hasn’t been my first foray into contributing open-source projects, I’ve had the pleasure of working with Marble under last year as well. However this year has come with it’s own set of challenges and I’m proud to have taken part in such a great experience, built up by fantastic mentors and a lovely community who helped me along the way. But let’s get to the recap, this year's tale, from beginning to end, how the summer went!
This years project was focused on Marbles Android version, Marble Maps, and my task was redesigning the UI, adding features and making sure it's all up to Material Design standards! The summer began with my work on Marbles historical map viewing app, Behaim Globe. 

The original Behaim Globe app featuring bottom tab bar navigation.

The redesigned Behaim app features a Kirigami based sidebar for settings, and separate drawers for the information menus.
As readers may know redesigning that using the Kirigami framework was one of my firstly tasks, introducing me to the challenges I had to be aware of. It also taught me valuable lessons on communication with mentors, as ironing out each change was a great example of how to handle discuss required changes well. In the end we’ve a new and redesigned Behaim Globe for our efforts, and a great platform to browse historical maps! 

A view of Ghillany (1853) map variant inside the redesigned Behaim app.
As readers may know, one of the first design decisions that involved Marble Maps was the decisions to use the Kirigami framework in our app. Kirigami is a QtQuick based components set, that offers a wide-variety of components and solutions to your user-interface needs. Through the summer I used Kirigami to aid in redesigning Marble Maps, simplifying my tasks of redesigning the different drawers and menus to fit Material Design standards. My summer tasks were a long list of changes to the Marble Maps app, that slowly added up to the current state. Below I will present a series of comparisons of the original and of the new version, that evolved, explaining the different changes and features on each image.

The original to the left, and the redesigned app on the right; the overall layout changes.

The sidebar was deemed an important area to update. It went through several stages, the current one using a Kirigami Global Drawer component as it’s base. The theming also took an update to match Material standards more.

The Placemark and Routing information panel was also redesigned, using a bottom menu bar that features context-sensitive buttons. Beforehand the bottom circular button was responsible for “Adding to Route”.

The “Part of Routes” menu was also changed to fit Material standards, and now can be closed with a gesture, or tapping outside it’s container, instead of using the hard to tap “OK” button.

Phone numbers OSM tags are now supported, and can be called from the app.

The original About menu got replaced with a separate page containing all the About information.

Layer Options were previously difficult to find, as opening them required tapping specifically on the icon of Public Transportation and Outdoor Activities in the sidebar. They were moved to a new page dedicated to them, which can, like all other page-based menus, be closed by pressing the back button.

Bookmark management has also been added, with gesture based controls. Swiping is now supported and it now removes bookmarks.

In closing

This year's Summer of Code was an invaluable experience to me. I am honestly grateful for the opportunity to work in this environment, learn about open-source development and be led all the way by such inspirational people. First hand experience with current practices and insight into the workings of projects of this scale is something people rarely get to experience before entering the workforce, but is something that will be a great part of our skill set. It’s been a great adventure and a fantastic learning opportunity, which I am very thankful for and hope I can take part in again!
I wish you great fun on your contributions to open-source!
Happy browsing both historical maps, and current ones!
And again, thanks for reading!


  1. Great Work!
    Is there a reason why Marble Maps isn't available in the F-Droid repositories?

  2. +1 for the question regarding f-droid!

    Also, when are we going to see this great features on Marble? When will they be available???

    At Last: congratulations for your great work!!! They really are great improvements. It looks a LOT better!!! :D


Post a Comment

Popular posts from this blog

Compare and Contrast - Marble Maps and other Map applications

Still knee-deep in exam territory but our dreams fly high ahead! Let's take a moment to compare Marble Maps to some of the other available Android Map applications. This will help us find places that need some polish, and features that we need to add.

So without further ado, Google Maps - Maps.Me - Marble Maps
Google Maps Routes have a drag & drop system for managing the order of the locations.A menu has frequently used options such as a quick button for reversing the order, as well as route options. Adding a stop can be done with through the menu, not just by clicking on the map.
The side bar has several options, including Tips and Tricks under which a contribution option can be found, as well as a Send feedback option which is great for user made reports. Help menu offers a forum of problems with most frequent ones at the top. Maps.Me Has an Introduction that showcases some of the main features. Uses Empty States pattern when showing empty Bookmark Sets. Offers already existing emp…

Moving forward! - Dialing phones, and designs featuring Kirigami

Hello everyone, it's been all-too-long!
I am proud to announce the end of the semester! Exams are finally all done, but that only means the real fun can start. And so many things to come and do!

I'm also happy to announce one of the first new features! Marble Maps now supports in-app phone calls! If you're browsing the map, and come across a nice looking shop, you can easily access their phone number, and give them a call right there!
This task has been very useful to establish a lot of the inner workings, and also gave insight to a lot of UI elements that could be structured differently.

But with that question of layouts and design decisions, came the question of what tools to use to achieve them. On that note:
Behaim Globe with KirigamiKirigami is a QtQuick based components set that brings a lot of useful reusable components to QtQuick UI's. Among these we're easy to create menus, unit based scaling, drawers and all sorts of navigation options. It was a lot of fu…