Designing mass-transit support for GNOME Maps
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.
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 | |
---|---|
Conference | GUADEC/2016 |
Posted Aug 25, 2016 10:40 UTC (Thu)
by jnareb (subscriber, #46500)
[Link] (2 responses)
Posted Aug 25, 2016 20:52 UTC (Thu)
by zuki (subscriber, #41808)
[Link]
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.
Posted Aug 29, 2016 10:30 UTC (Mon)
by robbe (guest, #16131)
[Link]
Posted Aug 25, 2016 13:06 UTC (Thu)
by spaetz (guest, #32870)
[Link] (3 responses)
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.
Posted Sep 1, 2016 13:29 UTC (Thu)
by Wol (subscriber, #4433)
[Link] (2 responses)
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,
Posted Sep 2, 2016 15:58 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link] (1 responses)
Posted Sep 4, 2016 5:41 UTC (Sun)
by pabs (subscriber, #43278)
[Link]
Posted Aug 26, 2016 15:25 UTC (Fri)
by bredelings (subscriber, #53082)
[Link] (7 responses)
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.
Posted Aug 28, 2016 8:09 UTC (Sun)
by liam (guest, #84133)
[Link] (6 responses)
Absolutely maddening....
Posted Aug 28, 2016 16:41 UTC (Sun)
by raven667 (subscriber, #5198)
[Link] (2 responses)
Posted Aug 29, 2016 3:50 UTC (Mon)
by liam (guest, #84133)
[Link]
Posted Sep 4, 2016 15:55 UTC (Sun)
by qu1j0t3 (guest, #25786)
[Link]
Posted Aug 30, 2016 10:22 UTC (Tue)
by andreasn1 (guest, #88420)
[Link] (2 responses)
Posted Sep 1, 2016 13:33 UTC (Thu)
by Wol (subscriber, #4433)
[Link]
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,
Posted Sep 2, 2016 21:53 UTC (Fri)
by liam (guest, #84133)
[Link]
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
Designing mass-transit support for GNOME Maps
Designing mass-transit support for GNOME Maps
Designing mass-transit support for GNOME Maps
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.
Designing mass-transit support for GNOME Maps
Wol
Designing mass-transit support for GNOME Maps
Designing mass-transit support for GNOME Maps
Designing mass-transit support for GNOME Maps
Designing mass-transit support for GNOME Maps
designer != UX
Designing mass-transit support for GNOME Maps
Designing mass-transit support for GNOME Maps
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.
Great book about why software in general fails users and how to fix it. Definitely relevant to all products referenced here.
Book: The Inmates Are Running the Asylum
Designing mass-transit support for GNOME Maps
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
Wol
Designing mass-transit support for GNOME Maps
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.