Saturday 17 May 2014

report #2: via points working with basic interaction

Overview

Since last report I worked on adding via points support to maps.
I updated the interface with GraphHopper and now it can manage also via points. You can have a demo in the below video.
I forgot to record some interactions but the new markers are already draggable and selectable.
I was waiting for the markers bubble that will based on GtkPopover and the sidebar baseline, so I started studying the best solution for the alternative paths problem.

New sidebar mockups

Some of you remember that in my last post I also talked about the new sidebar, for those of you that are impatient Andreas made some fresh mockups.
Sidebar and new interactions mockups
The idea is that with the drag and drop on the map, users will allowed to add, remove and move points, but they could do the same also with the new sidebar. Moreover the sidebar will allow users to sort the points.

Studying best solution for supporting alternative paths.

In the last days I'm working also on alternative paths. GraphHopper currently is missing this feature. First of all I had some lectures about road network algorithms (Dijkstra, A*, Arc Flags, Highway Hierarchies and Contraction Hierarchies). Thanks Peter Karich for support
I also investigated on some solutions for the alternative paths problem. I need some more time but today the options are:
  • k-shortest path
  • pareto optimality
  • penalty approach
  • plateau method

Next days schedule

I'm going to spend next days studying which of the options it's most suitable for solving alternative paths problem.

Monday 5 May 2014

report #1: first two weeks

Welcome to my first report on my work for GSOC 2014 for Gnome!

Overview

I'm going to add via points and alternative paths support to maps (see the good news).
As my main target, I'm going first to focus on via points, my plans are:
  1. Change the GraphHopper interface.
  2. Add new markers for start, via and end points. The new markers will be selectable and draggable and the route path will change while dragging them. Design will come up in the next days.
  3. Finish the work on the new sidebar (still in the work in progress branch).
I already have some mockups for the sidebar and I'll post new markers mockups as soon as they're available. Thanks Andreas!
Sidebar mockups
 After completing via points, I'll focus on alternative paths (plans to come).

Code base

First of all, I had a look to the branch wip/routing2 on which I'll base my code. Despite it's still a work in progress, you can already successfully calculate and show the path between two locations. Thanks Mattias!
I also tested that actually Champlain allows to select and drag markers with few lines of code.

A good news for gnome maps user

I'm going to add alternative paths to maps!
As you maybe know, the maps routing feature is based on GraphHopper.
After a chat with Peter Karich, GH main developer, I discovered that via points is already in GH and it will need at most some optimization. This is a really good news because I'll have time to work also on alternative paths (that needs more work on GH).

User location bubble bug fixed

I also worked for fixing a small bug related to the user location bubble that couldn't be closed.
This bubble should be closeable

Next days schedule

My plan for next few days are:
  1. Change the GraphHopper interface for allowing via points in the query.
  2. Create some example for testing the code.
  3. Show via point in the map, creating new markers draggable and selectable.