Showing posts with label gsoc. Show all posts
Showing posts with label gsoc. Show all posts

2013-09-03

Moving to GraphHopper

After GUADEC I decided, in conjunction with my mentor Zeeshan, that Maps should move from OSRM to GraphHopper for fastest route calculations. The main reason for this, among others, is that the public instance of OSRM doesn't support biking or pedestrian transportation profiles¹. Read more about this in my previous blog post.

So the last weeks I've been working on re-implementing the routing in Maps to use GraphHopper instead, but also to accomodate for lessons learned during this time. I'm happy to say that the new code is turning out pretty good and that I because of this actually have a demo to show you.


This shows me searching for a route from somewhere close to New York to Baltimore. Notice how the route changes when I change in which way I want the trip to go.

Next up is resurrecting and finishing the sidebar code I worked on before GUADEC, polish up the markers and post patches to Bugzilla. After that I'll work on testing the code for corner cases and polish the UI even more. Later this fall (after GSoC) I plan on working on adding GTFS support to GraphHopper so that we can get proper public transportation support with wide coverage.

--
1: OSRM actually has support for this, the public instance is just not set up for it.

2013-07-18

GSoC progress

It's been three weeks since I last blogged about my GSoC project on implementing trip planning in Maps. That's way too long and unfortunately I don't have any demo-able progress to show. So what have I been up to this time?
I spent the remaining two days of week 26 trying to style the zoom controls that I mentioned in my last post according to mock ups. My thought was that I could just group two GTK+ buttons in a container, put that inside a ClutterGTK actor, add it to the map and then it would be easy peasy to just throw in some custom style classes in gnome-maps.css to make the buttons look like they should. Well the first part was easy, the styling however felt next to impossible and I eventually decided to post-pone it until I could find someone to ask for help on how to do this. Later on new zoom control patches were added to Bugzilla by Jonas¹ that just rendered the buttons using PNGs extracted from the mock ups. It pays off to be pragmatic, something I could learn from.
The following week was spent in bed with fever, coughs and Final Fantasy III on my Nexus 7.
The last 1,5 week I have been working on fixing a bug in Maps where we wouldn't pan to new user locations as they are retrieved from GeoClue. During the debugging process I tried to also do some cleanups as I had trouble understanding the code that dealt with the user location tracking. I pondered more than once over doing some rather massive changes to the code base but in the end decided to think some more about this when I'm in less of a hurry to finish what I promised would be done for midterm evaluation.
Next Thursday I will be going to Berlin to hang out with my girlfriend and some friends and then continue to GUADEC on the 31st. By then I need to be done with some working OSRM routing patches. Fortunately it is mostly hooking up some GUI left.

--
1: Jonas is an old friend of mine who recently decided to start contributing to GNOME by browsing through Bugzilla and fixing random bugs here and there. This makes me glad. :)

2013-06-27

My summer

Hi Planet Gnome!

My Google Summer of Code project got accepted (yay!) and I just got syndicated on Planet GNOME so here's an introductory blog post about me, Maps, my project (trip planning in Maps) and my current progress.

About me

I'm a computer technology student and hacker based in Gothenburg with a passion for maps, open data and free software. I've been a GNOME lurker for many years and it feels really good to finally take the jump and start contributing. I've also worked on maps in a web development setting as my day job for the last two years.

Some history

I actually started working on Maps way back in march after a really inspiring chat in the hallways at FOSDEM with some core GNOME people. I quickly got overwhelmed by everything I had to learn just to bootstrap the project though (jhbuild, autoconf, gir and gjs comes to mind) and I almost gave up. Fortunately Zeeshan (my gsoc mentor) also was interested in working on Maps and started implementing the basics of a map client. With the help of Zeeshan and Paolo (who also joined us on IRC) I started learning more and more how to work in a gnome project and soon produced my first patches.
At around this time I realized I could apply for this seasons GSoC since I would be unemployed this summer, still had some courses left on my Computer Engineering degree and also wanted to work full time on GNOME for a while. Zeeshan said he wanted to mentor me and here I am!

My project

My project is about implementing trip planning in Maps (the whole proposal can be read here). Specifically I aim to implement fastest route searching for going by foot, bike, car and public transportation. The first three cases will depend on the awesome OSRM project and the last one will most likely be implemented via city-, region- and country specific plugins.

Progress

My hope was to be able to use all of the community bonding period on hacking since I got kind of a head start this spring. Unfortunately I'm easily distracted and a long list of various small tasks (gsoc- and non-gsoc related) took a lot of energy and focus in late May - early June. Good news is that I'm now gaining speed and has been doing code cleanups and working on implementing the sidebar and zoom control designs provided by Andreas and Fabiana for the last couple of weeks. 
You can follow my work in the wip/osrm-routing and wip/zoom-control branches for now. 

Final note

Please come say hi to us on #gnome-maps on irc.gnome.org or subscribe to our mailing list (very low traffic). Also, if you're coming to GUADEC this year and want to have a chat about Maps or anything in general please just say hi, I'm quite friendly. :)