|
|
Subscribe / Log in / New account

Designing mass-transit support for GNOME Maps

By Nathan Willis
August 24, 2016

GUADEC
At GUADEC 2016 in Karlsruhe, Germany, Andreas Nilsson explained the methodology he employed to implement a new feature for the GNOME Maps application: support for routing trips through public transportation networks. The use of mass transit, as it turns out, differs significantly from how users plan travel routes for walking, cycling, or driving.

The problem space

The transit-routing project began with bug number 764107, Nilsson said. GNOME Maps supports route planning for travel by foot, by bicycle, and by car, but that left out a large number of possible users. Nilsson was intrigued by the idea of working on the problem, he said, because he grew up in a small village in Sweden that, essentially, had no public transportation. There was a bus out of town that left three times a day, but that was it. Now that he lives in a major metropolitan area (Gothenburg), there are mass-transit lines everywhere.

So he drew up some initial implementation ideas, presuming that he could employ his standard process: consider the use case, mock up some designs, then code it. Then, however, he had a conversation about mass transit with his girlfriend (who is from Rio de Janeiro), and quickly discovered that the two of them had wildly different expectations about how a mass-transit planner should operate. [Andreas Nilsson]

He then began to look for research on how mass transit is used, only to discover that there was nothing useful available at the level he needed—namely, anything revealing how people plan their trips. After a few more conversations, he decided that the only way to move forward was to conduct his own end-user research, and interview a variety of people about route-planning and mass-transit usage.

User research and testing

There is still no standardized approach for conducting such user research within free-software projects, so Nilsson developed his own. Starting with family members, friends, and co-workers, he conducted a range of interviews over the course of several weeks.

In addition to the basics of planning trips, each interview included questions about other transportation systems (e.g., whether or not the person owns a car and, thus, has a mix of transport options available), what existing services and mobile apps the person uses, and whether the person prefers certain transit methods over others.

As it turned out, the answers not only covered the expected ground, but they revealed additional information Nilsson had not considered. For example, he had planned to have a "prefer this transit method" option, but one interviewee indicated that she planned her trips with (in a sense) a negative preference: she tries to avoid train lines whenever possible, because they give her motion sickness.

Nilsson took the interview results, developed "user personas" (hypothetical user scenarios), and proceeded to develop the UI mock-ups as originally intended. An audience member asked why the user-persona step was necessary, since many designers do not use it. Nilsson replied that he finds it helpful to avoid letting his own opinions unduly influence whether or not a feature makes it into the eventual code. "It's harder to say 'I don't like this' and 'we don't need this feature'."

The transit-routing feature has since been implemented in GNOME Maps based on Nilsson's work, mainly by Marcus Lundblad. Significant testing has followed, particularly where the wording and layout of directions is concerned. The feature should be available in the next stable GNOME Maps release.

Lessons learned

Behind the scenes, it uses Open Trip Planner to compute routes. That is a free-software web service that uses publicly available transit data published in the General Transit Feed Specification (GTFS) format designed by Google, on top of an Open Street Map base map layer.

Any transit system that releases GTFS data is supported, and the information in the database is exactly as detailed (and as fresh) as the available GTFS data. Another audience member asked whether or not the system distinguished between various networks of transit (such as trains and trams in the same city, or Tokyo's multiple independent subway services). Nilsson replied that such information should be distinguished within GTFS, so GNOME Maps will use it automatically.

A lengthy question-and-answer period took up the remainder of the session, much of it focused on how GNOME can better employ user research when developing applications. Nilsson told one audience member that crafting the question set was not easy; he started by looking at other transit-planning implementations and asking "why this?" about many of the design choices.

Allan Day asked what he had learned about conducting user interviews. Nilsson replied that it is important to not talk too much, for several reasons. First, talking too much can inadvertently steer the interviewee's responses. Second, whenever there is an "awkward pause" most interviewees will naturally start talking more themselves, and the more they talk, the more they reveal about what they are thinking. Day added that he hopes GNOME can build up a guidebook for developers to use when conducting user research and interviewing; Nilsson added that he thinks the project will get better at the process as it keeps conducting research.

There were also a few questions about privacy and other GNOME Maps features. One audience member expressed concern about Google Maps's feature of marking locations as "home" or "work;" Nilsson replied that he has not implemented any such feature in GNOME Maps. Someone else asked whether the route planner showed pricing information, since that can be important when planning a trip. Nilsson responded that the idea came up in the interview process, but it has not yet been incorporated into the application. It could be tricky to implement in a reliable manner, given the volatility of prices.

[The author would like to thank the GNOME Foundation for travel assistance to attend GUADEC 2016.]

Index entries for this article
ConferenceGUADEC/2016


to post comments

Designing mass-transit support for GNOME Maps

Posted Aug 25, 2016 10:40 UTC (Thu) by jnareb (subscriber, #46500) [Link] (2 responses)

I wonder if this could be used on mobile (mobile web based version maybe?). I personally use local Polish site (and Android app) jakdojade.pl, and what I like about it is the information when should I go to take the connection.

Designing mass-transit support for GNOME Maps

Posted Aug 25, 2016 20:52 UTC (Thu) by zuki (subscriber, #41808) [Link]

jakdojade is so much better than google at public-transport planning that it's unbelievable. I guess it is because of better data about available connections and/or much narrower scope (only about 10 municipalities in Poland). I really wish I could use it in more places ;)

As a stupid test I checked how google.pl/maps and warszawa.jakdojade.pl suggest for a public-transport trip from my current location in the suburbs to an address in Warsaw center that I visited today. Google found the earliest 1h33min connection at 4:53 AM, jakdojade suggests instead 1h05min connection at 22:45 and (correctly) tells me that I need to leave in 1 min to catch it. And it's just not a matter of google rejecting a connection that it thinks I cannot catch, since the next connection offered by jakdojade is 59min at 4:11 AM.

Designing mass-transit support for GNOME Maps

Posted Aug 29, 2016 10:30 UTC (Mon) by robbe (guest, #16131) [Link]

Designing mass-transit support for GNOME Maps

Posted Aug 25, 2016 13:06 UTC (Thu) by spaetz (guest, #32870) [Link] (3 responses)

I am glad that they use an underlying service (OpenTripPlanner) rather than investing effort into a distribution specific app.
Sure, offline capabilities would be nice as well, but getting at the public transport data and maintaining it is just as difficult as performing the actual routing.

At least in Germany, transport agencies perceive their schedule still as a secret asset covered by copyright and whatnot. If they hand it out at all, they often do so in special deals with Google, giving them an unfair advantage over the rest of the world.

Designing mass-transit support for GNOME Maps

Posted Sep 1, 2016 13:29 UTC (Thu) by Wol (subscriber, #4433) [Link] (2 responses)

Isn't a special deal with Google illegal under EU law?

Not that I should comment as a Brit, we often feel that the Europeans ignore the law when it suits them ... :-) (and no, I wouldn't be surprised if they felt the same about us, though I would dispute that vigorously ... :-)

Cheers,
Wol

Designing mass-transit support for GNOME Maps

Posted Sep 2, 2016 15:58 UTC (Fri) by mathstuf (subscriber, #69389) [Link] (1 responses)

There are groups like Code for America and other public service-esque coding projects and they're working with cities to expose their timetables and such in a standard format. Groups could do the same for European cities (unless Google is being an asshat and requiring exclusivity or something).

Designing mass-transit support for GNOME Maps

Posted Sep 4, 2016 5:41 UTC (Sun) by pabs (subscriber, #43278) [Link]

Google is pretty much completely responsible for both the export data formats for transport info and also the public release of such data. They created GTFS and gtfs-data-exchange.com.

Designing mass-transit support for GNOME Maps

Posted Aug 26, 2016 15:25 UTC (Fri) by bredelings (subscriber, #53082) [Link] (7 responses)

"It's harder to say 'I don't like this' and 'we don't need this feature'."

Wow. The interviewing strategy and and user personas idea seems to be brilliantly executed here, in that Nilsson seems to show a lot of awareness of how other people might want different things that he does as the software developer.

Could this have an impact on future decisions to streamline Gnome? I'm thinking specifically of the general trend for removing options and making the default configuration "just work" (for who?), and also of even more specific decisions to remove code in code cleanups, such as the removal of the list view in nautilus.

Designing mass-transit support for GNOME Maps

Posted Aug 28, 2016 8:09 UTC (Sun) by liam (guest, #84133) [Link] (6 responses)

That the GNOME folks have been that ignorant about standard ux practices just reinforces something that others have been pointing out for years.
designer != UX

Absolutely maddening....

Designing mass-transit support for GNOME Maps

Posted Aug 28, 2016 16:41 UTC (Sun) by raven667 (subscriber, #5198) [Link] (2 responses)

This isn't a story about being ignorant, because everyone starts that way, but about overcoming ignorance by doing appropriate research, which a lot of smart people think they don't have to do because they are competent in one area of expertise and don't recognize when they are outside their zone of knowledge. If you only discuss your software design with a group of people who think similarly they may end up erroneously validating your design by having the same misconceptions, it's by talking to different people that shined light on the gaps in knowledge the developer actually had on the subject and encouraged them to do the research that led to a vastly superior design.

Designing mass-transit support for GNOME Maps

Posted Aug 29, 2016 3:50 UTC (Mon) by liam (guest, #84133) [Link]

The comment is NOT about the story but the events that happen between the "stories".
I'm absolutely glad that some of the GNOME folks have recognized that their preferences shouldn't be the determinant for the resultant user experience,
The issue that I'm referring to is when prior ux testing is, long, ignored.
At least we have Jim Hall who has been acting as a mentor to gsoc students who've been examining GNOME ux the past couple of years in the open.

Book: The Inmates Are Running the Asylum

Posted Sep 4, 2016 15:55 UTC (Sun) by qu1j0t3 (guest, #25786) [Link]

Great book about why software in general fails users and how to fix it. Definitely relevant to all products referenced here.

Designing mass-transit support for GNOME Maps

Posted Aug 30, 2016 10:22 UTC (Tue) by andreasn1 (guest, #88420) [Link] (2 responses)

It's not only GNOME, I would say user research is absent in most parts of the free software ecosystem, and to large parts in the entire software industry.
I think that is fixable by more people learning how to do it, and to succeed and fail with it until they start feeling comfortable doing it as part of their regular development process. I'm especially interested in how something like user interviews can be done by all designers and developers on a development team, both to spread the load and to get a shared understanding of the problems facing the people who'll end up using the software in the end.

Designing mass-transit support for GNOME Maps

Posted Sep 1, 2016 13:33 UTC (Thu) by Wol (subscriber, #4433) [Link]

> It's not only GNOME, I would say user research is absent in most parts of the free software ecosystem, and to large parts in the entire software industry.

Which is why, as a dedicated Free Software user, I feel much more "at home" in the Microsoft world. They do a lot of user research, and it shows. Credit where credit's due.

But they also believe to some extent in a monoculture "one size fits all", and where I don't like the Microsoft Way, I HATE it. Especially when their monoculture attitude destroys the alternatives ...

Cheers,
Wol

Designing mass-transit support for GNOME Maps

Posted Sep 2, 2016 21:53 UTC (Fri) by liam (guest, #84133) [Link]

I know there was once talk about putting together the reqs and tooling needed for user-testing at one of the Boston GNOME or Fedora conferences, but little follow-up occurred.
I know, from those I dealt with, there was a general feeling that there wasn't even much point in doing it (for Fedora or GNOME) because the testing results would be ignored. Rather it, quickly, turned into a discussion about providing the greater floss community with a single resource that explained about the Why for ux "literacy". The main purpose, however, was to provide the means for developers to gather and incorporate data into their projects.
This was, iirc, about three years ago, so the particulars are a bit hazy.


Copyright © 2016, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds