Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search forms redesign #3123

Open
mjourdan opened this issue Mar 5, 2021 · 13 comments
Open

Search forms redesign #3123

mjourdan opened this issue Mar 5, 2021 · 13 comments
Labels
routing Related to the routing feature on the website ui User Interface

Comments

@mjourdan
Copy link

mjourdan commented Mar 5, 2021

On www.openstreetmap.org, the search forms (both single location and directions) have a few issues...

Problems

  • picking up a search results clears the search field
  • pressing the "directions" icon also clears the search field
  • button to reverse directions is visually disconnected from directions, and placed after the "go" button
  • the routing engines are displayed prominently, while they are technical details most people won't understand
  • input fields lacks of readability once locations are found
  • search mode and destination mode feel disconnected (forms have different width and no clear alignment)
  • lots of gray area eating estate from the map

Also, maybe adding some extra features could satisfy common expectations, like:

  • multiple destinations
  • public transports

Screenshots

current search forms

@mjourdan
Copy link
Author

mjourdan commented Mar 5, 2021

Proposal

Please find below two static mockups. The first one only aims to fix the issues previously mentionned, while the second one also adds the features mentionned:

image

Feel free to tell what you think!

@tomhughes
Copy link
Member

Just having mode selectors mean we have to make a policy decision to prefer one engine over another which whilst it may be good UX is bad politics.

You should also be aware that routing only exists to allow for connectivity testing - it is explicitly not a goal to provide an end user google maps replacement.

@systemed
Copy link
Contributor

systemed commented Mar 6, 2021

public transports

OSM doesn't store timetable information so can't really provide a public transport routing service. See https://help.openstreetmap.org/questions/78247/transport-options .

@mjourdan
Copy link
Author

mjourdan commented Mar 6, 2021

There must be other ways to play good politics and still improve the ux. For example, the mockups above could allow sending requests alternately to one provider or the other, unless people picked their choice in the options.

Regarding the expectations about the routing service (and more widely about the website), the thing is OpenStreetMap is sometimes advertised as a privacy-friendly alternative to Google Maps. See here or there. I know this is inaccurate, still it contributes to forge people expectations.

As of public transports routing, the wiki also highlights OSM is not meant to store timetables information, but also states OSM could provide basic routing services. Still if such service provider existed, it could make sense to integrate here. Nothing mandatory though.

@tuckerrc tuckerrc added routing Related to the routing feature on the website ui User Interface labels Mar 8, 2021
@gravitystorm
Copy link
Collaborator

There are definitely parts of this proposal that I like, others less so. For example, I think the contents of the search box should be retained when the directions panel is opened and closed, and I think it would be good to use the search results as the start of the route when activating directions.

But the choice of routing engine isn't something to try to hide away. As @tomhughes says, the goal is to help mappers debug connectivity, not to provide a smoother experience for non-mappers at the expense of our mappers.

I'm surprised to hear that the panel is different widths for you, since they are identical width for me (at all screen sizes). Any debugging information on this would be helpful.

Are you able to prototype any of these changes using the real codebase? For example, it took me a while of considering this before I realised the cross beside the "from" input was probably meant to close the panel, rather than clear the input (since there is no corresponding cross beside the "destination" input. I also think it is worth prototyping in the real codebase, so that the controls and buttons look realistic.

@mjourdan
Copy link
Author

Checking again, the difference of width is due to the scrollbar when the results are displayed. So it also happens between empty search and search with results.

What do you mean by realistic?

On the technical side, most of the stuff should be pretty straightforward:

The heaviest work I see is with the input fields:

  • having a location icon at the start should not be a problem, but not sure how hard it would be to make it draggable
  • styling of the search results may also need some attention

If by realistic you mean something which integrates well with the rest of the site, one thing to consider is we don't really have guidelines nor a cohesive set of patterns and styles to rely on.

@mjourdan
Copy link
Author

Please find some more mockups to address the issue raised so far.

image

A basic prototype could be doable, but later ^^

@pnorman
Copy link
Contributor

pnorman commented Mar 21, 2021

I prefer the layout of C for putting the routing engine next to the mode selector.

@mjourdan
Copy link
Author

It's made with Penpot rather than based on the actual codebase, but here it is: an interactive prototype based on proposal C.

@gravitystorm
Copy link
Collaborator

What do you mean by realistic?

I mean matching the controls and look and feel that we currently have on the website. This is best achieved by forking the project and editing the html, so that it uses the same colours, corner radius, button sizes, and so on.

I looked at the interactive prototype, but I couldn't really understand what was going on. Some of the labels were cut, and of course I can't view source to see what divs and bootstrap classes etc would be used to create the desired result.

@Alex-Esko
Copy link

Alex-Esko commented May 20, 2021

Hello there.

Anyone stumbling upon the clunky user-interface will neither use nor contribute to OSM. They are lost to Gmaps.

So the user experience of OpenStreetMap.org is very important to attract users and subsequent mappers.

The first two problems are the most pressing, and they were not broken a few month ago:

  • selecting a search results clears the search field
  • clicking the "directions" icon also clears the search field (Screenshots: Search -> Route -> empty field)

I think Proposal D is great and i changed it a little bit according to the concern from #3123 (comment) @pnorman.

Regards,
Alexander
Proposal E

@graue70
Copy link

graue70 commented Jul 7, 2021

You should also be aware that routing only exists to allow for connectivity testing - it is explicitly not a goal to provide an end user google maps replacement.

@tomhughes You might want to know that it definitely comes across as an end user google maps replacement. I have thought for years it was exactly that (and used it like that) until I read your surprising statement just now.

From that perspective, the mentioned UI/UX problems are incredibly annoying.

@mjourdan
Copy link
Author

Better late than never, I took proposal C to make #3400 as per requested by @gravitystorm

I suggest we keep discussing the design aspects of it in this thread, rather than in the PR. Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
routing Related to the routing feature on the website ui User Interface
Projects
None yet
Development

No branches or pull requests

8 participants