Monday, June 24, 2013

Last week in Gothenburg

Just like every year, I'm a mentor in Google Summer of Code 2013. This year I'm mentoring two students:

  • Mattias Bengtsson, who will be working on implmenting route search in Maps. Since the Maps project was actually started by Mattias himself before he even thought of SoC and he has been working on maps (in general) as his fulltime job for 2 years now, I feel very confident about him being able to deliver.
  • Kalev Lember, who will be working on implementing the new date&time panel in GNOME control center. Kalev has been contributing to different GNOME projects and has been very active in Fedora packaging business. Having had the pleasure of pair programming with him last week, I feel very confident about him delivering his project as well.

So I got two awesome students, what could be better? There is the coincidence that both of them are located in ̶G̶o̶t̶h̶a̶m̶ ̶C̶i̶t̶y̶ Gothenburg, the very same city where one of our designers, Andreas Nilsson lives in. Since Fabiana Simões (another designer) was visiting Gothenburg, Andreas saw an good opportunity for a hackfest and thats where I was at last week along with the rest of the Maps team. I'm glad to report that we got some stuff done:

  • We all discussed the design and investigated which online services we can use for various features. Topics included:
    • Single vs. multiple instance app
    • Map view animations
    • Specialized printing of routes
    • Rendering our own tiles in the future
  • Andreas drew us icons and mockups for zoom-in/out control and routing UI.
  • Mattias worked on moving most of the Maps UI code into .ui files, implementing zoom in/out controls and made sure that he has everything he needs from designers for his GSoC project and beyond.
  • I ported Maps to geoclue2, made progress on porting geocode-glib  from Yahoo Places API to Nominatim and to directly use libsoup, and reviewed patches from Mattias and Kalev.
  • Kalev helped me out with porting Maps to geoclue2, figured out the cause of annoying bug in Maps that made it impossible to do anything in Maps once you click on any markers, and added basic printing support.

It was really nice to meet Mattias and Kalev in person and I finally had the pleasure of meeting Andreas Henriksson outside the Internets. There was also the GNOME Beers event and in general we did quite some team bonding. My only regret about last week is that that I didn't get around to do any sight seeing.

Special thanks to

  • Andreas for arragning the event and helping me navigate the city.
  • Chalmers University of Technology and Henrik Sandklef for the venue.
  • GNOME foundation for sponsoring my flight tickets.
  • Hanne Sundin and Martin Zackrisson for providing me a place to stay.


James said...

Great to hear you're working on this!

I hope the #1 feature for the maps app is fully offline usage. What many users want (and what the N900 actually allowed) is a 20-30-40GB+ dataset (or however much it takes based on what you want) that you could download and cache, and then be able to use your maps fully offline!

I imagine openstreetmap and similar data providers would be great data sources for this.

Anonymous said...

I just want to post some links regarding OpenStreetMaps that may be interesting for the Gnome Maps project.

- Overpass API [0] is a read-only API for OpenStreetMap, that is quite interesting and fast.
A site that use them for showing points of interest in OSM is:

- Another site is Overpass Turbo (a sort of web interface/visualizer for overpass api):

- A page with translations from OSM tags (used by the services above) to common words:

- Wikipedia shows OSM features on a map as GeoJSON files (it would be nice to search for a country on Maps and seeing it highlighted):



Kalev said...

Thanks for having us as students and for coming all the way over here to Gothenburg! I hope we'll be able to find some time for another hackfest at GUADEC.

'a,'b :)

James said...

I did some digging. The openstreetmap data is here:

A full download is about 29G which is peanuts on todays storage. Awesome.

What would be particularly useful is that the maps application be allowed to look in a central dir like /usr/share/mapthing/ for data (if a sysadmin wants to put it centrally for everyone) and then also in their home dir.

zeenix said...

James, libchamplain (the library we use for map widget) already does cache the maps. libchamplain however currently takes pre-rendered tiles from OSM so you cache the whole world, the cache will by far huge.

We do have plans for rendering the maps ourselves in the future though and that would mean that we can cache a lot more data.

Mattias Bengtsson said...

As Zeeshan says we currently rely on libchamplains raster tile support for rendering in Maps. This isn't the only way to go but it's the easiest for now.
If/when we want to look at supporting offline maps we probably need to take a look at vector maps though. This is all in the future though.

Valencia said...

This is cool!