Streetcomplete: Make it faster to answer the building height quest

Created on 8 Apr 2020  路  26Comments  路  Source: westnordost/StreetComplete

Use case

Building levels is a very common quest in residential neighborhoods, that could be faster.

Proposed Solution

Note: this is a rough mockup -- eg, I was just copy-pasting and the rows are not quite aligned.

mockup-grid

Pressing any button switches to the current quest view.

  • For the 6 on the left, the behavior is the same as the current one: the fields would be pre-filled and the keyboard is not opened.

mockup-grid-preselect

  • For the blank one on the right, the keyboard would be opened like this:

    • This keeps the number of taps for custom building height the same as it currently is.

mockup-grid-select-blank

Discussion

The slowest part of this quest is when you have to open the keyboard, since that introduces a delay. This solution gives more pre-fill options so you don't have to open the keyboard as often. You still go through the regular entry screen, so new mappers will still see the text, "regular levels (not counting the roof)" and "levels in the roof".

My original idea was to use have the same behavior as above, but show recently used heights instead of a static grid. I opted for this instead because it will be better (consistent positions) in rural, residential environments, where this quest is common. In urban environments with tall buildings, buildings are more varied and also larger, so this quest appears less frequently and recent options are less likely to be useful.

I think there may be room for improvement. For example, we could swap the axes of regular vs roof levels and allow scrolling, if 3 regular levels is not enough for common use cases.

Most helpful comment

So having just done a bunch of surveying in an area of terraced houses, I'm even more strongly in favour of this (or at least a couple) of pre-set answers. While SC was certainly faster than other means, the terraces had two storey buildings at either end and one storeys with dormer windows in the middle, along with more normal two storey terraces, I'm also tagging roof lights as being a level in the roof (but not otherwise), so I was using a combination of 1/1, 2/0 and 2/1 and switching between them was definitely the slowest bit. I kept pre-tagging the 2/0s to then go back to do all the 1/1s in the middle.

All 26 comments

This should probably only be shown after x solved level quests. X == 10 or higher

That's also an option. I'd put X==${numRequiredForAchievement}

Hm to be honest I am not too convinced about this. It feels there is too much happening there (= layout changes) then. I know that just opening the keyboard can be very disruptive. Maybe there is another way to avoid the keyboard.

Maybe there is another way to avoid the keyboard.

Hmm, how about this:
When the user presses the thumb on the house and moves the thumb upwards, the number of building:levels increases. If the thumb is released this number is set and another press-and-slide increases the number roof:levels.

This comes with two problems:

  1. How to immediately fix a wrong input?
    It may be that one slides too far (or short) and building:levels is not correct and a new press-and-slide would already change roof:levels.
    Either an initial downward motion reduces the previous input-value and subsequent upward motion increases it again, or there are 2 separate 'stripes', one changes building:levels, the other changes roof:levels. This still has to be made clear to the user
  1. What about very tall buildings (10+ levels)?
    It could be that one runs out of screen-space or it will be very cumbersome to enter large values. For this one could just keep the old functionality of opening the keyboard when clicking on the edit field. (From experience in my area this wont be necessary very often...)

This functionality must somehow be conveyed to the user. The current UI for this quest is nice and clear, also explaining the interpretation of difficult cases, when the ground floor isnt the ground floor on all sides. Adding arrows that indicate the proposed functionality can clog the whole UI. Is there a possibility for tutorial animation the first time a quest is used?

* For the 6 on the left, the behavior is the same as the current one: the fields would be pre-filled and the keyboard is not opened.

Sounds good to me, but why don't they just auto-answer at that point, why the extra step?

why don't they just auto-answer at that point, why the extra step?

Because the very first time someone encounters the quest, they don't know what the two numbers mean. We need to make sure they see the additional descriptive text.

However, I am agreeing with @westnordost here that there is probably a more elegant solution to avoid opening the keyboard, I just don't have the time to think deeply about it right now.

why don't they just auto-answer at that point, why the extra step?

Because the very first time someone encounters the quest, they don't know what the two numbers mean. We need to make sure they see the additional descriptive text.

But that goes away if you've completed the quest ten times or whatever.

However, I am agreeing with @westnordost here that there is probably a more elegant solution to avoid opening the keyboard, I just don't have the time to think deeply about it right now.

This seems pretty good to me, most residential buildings that aren't some kind of tower block will be covered by those six answers in a lot of places and it's much faster than having to do any form of data entry in those cases. Although I'd probably agree there might be a more efficient means of data entry for other cases although I'm not convinced some kind of scroller/roller would actually be much faster than a numeric keypad for all other cases (e.g. 20 storey building).

Some input:

If the problem is to not confuse the beginners, maybe a little switch / shortcut icon could be made that switches to the shortcuts for the most common answers and stays that way for the default view for future quests until switched back (perhaps still with a manual entry button). That way it could even be reasonable to accept the answer with 1 click without another click on OK, maybe with the answer numbers or a visual house with the correct heights staying around a little before disappearing.
If that button is discoverable enough, the need to use it should come up naturally when solving many quests.

For every input method, there is the possibility to change the visuals of the displayed house to reflect the entered values, that could help depending on the rest of the design.

I kind of like the idea with the slider and can see that as a quick input method that can fit in visually.
As an alternative, there could be a few of the most common numbers (likely just the lowest numbers) besides the input field, although that would still require 2 clicks when answering the same few answers.
Maybe this could even be the default way to input the numbers, because it can be used for most of the answers and a numeric field as fallback and only then the keyboard pops up.
Instead of the buttons it is also possible to use a spinning wheel like in the date and time pickers in android, although that would probably slower and more annoying for the small numbers compared to the buttons.

I was completing a few of these quests last night and I thought simply remembering the last digits used would suffice, I can then click the number to change to any other number then that number will persist as the preselected option until I choose to click the digit again to change.

I was completing a few of these quests last night and I thought simply remembering the last digits used would suffice, I can then click the number to change to any other number then that number will persist as the preselected option until I choose to click the digit again to change.

Yes! I was thinking something similar. Remembering the last values would have made it much easier.

that number will persist as the preselected option until I choose to click the digit again to change.

Yes! I was thinking something similar. Remembering the last values would have made it much easier.

Not quite what either of you asked for, but I thought I'd mention it as I'd missed it until very recently; there's a button on the bottom right hand side which lets you pre-fill the last entered height information in one go.

there's a button on the bottom right hand side which lets you pre-fill the last entered height information

That's why the issue is about adding more pre-fill options :)

I hadn't spotted it. That will definitely make things easier.

Thanks.

Though does it raise another issue that the button was too subtle (or in the wrong place) for us to spot? If it was just me, I would ignore it, but I now wonder how many others have missed it.

Though does it raise another issue that the button was too subtle (or in the wrong place) for us to spot? If it was just me, I would ignore it, but I now wonder how many others have missed it.

Yeah, possibly some animation of those values into the pre-fill for the first ten times would help or something, or a message for the first few. For me I guess the bottom RHS seemed quite busy with the roof levels tile and the ground profile. Or a pre-fill/"last used" label next to the button?

I assume there's no logging of pre-fill versus custom entry in the stats?

I think something like this is badly needed, I filled out some house heights yesterday and they constantly switched from 1/2 to 1/1 to 2/1. So the last used button didn't help at all.

My Idea would be to either long press the last used button or pull it up, to reveal more buttons.
As there is a undo button I think we can at least enable the user to commit without pressing ok.

Here is an idea for a possibly fun completely new interface : Drop the "last selected value" button, drop the description texts and drop the text inputs. Instead, you can stretch the building up and down like an accordeon, both for the building part and for the roof part.
Difficulties:

  • may interfere with the bottom sheet logic
  • for very high buildings, this interface is not that well fitted. But that's the vaast minority of buildings
  • question is how to start the interface - if with 0, one doesn't have a handle to pull the accordeon apart

Here is an idea for a possibly fun completely new interface

I hope you're joking! I find I miss pressing the correct number often enough without having to drag something to the right amount! I'd say most buildings I input are < 3 storeys, how does that scale to ones that are even ten, let alone more?

So having just done a bunch of surveying in an area of terraced houses, I'm even more strongly in favour of this (or at least a couple) of pre-set answers. While SC was certainly faster than other means, the terraces had two storey buildings at either end and one storeys with dormer windows in the middle, along with more normal two storey terraces, I'm also tagging roof lights as being a level in the roof (but not otherwise), so I was using a combination of 1/1, 2/0 and 2/1 and switching between them was definitely the slowest bit. I kept pre-tagging the 2/0s to then go back to do all the 1/1s in the middle.

For the custom entries there could be + and - buttons to increase or decrease the level number.
The shown start value could be the average level number queried from the surrounding building.

I just wanted to say that I like the mock-up!

I agree there should be the seven buttons that were originally proposed. Most residential houses have between 1-3 floors, and either 1 layer of roof or none.

Already, entering housenumbers is tedious and slow, and that is only one number being entered. I can't imagine how tedious entering two numbers for every single house is.

Taller buildings are more sparse, and you have to spend more time counting the number of floors, so effeciency isn't as important.

Currently, you have to click on the quest, and then on the textbox to bw able to start entering.

With the seven button system, the keyboard could automattically open when you oress the button on the far right, so either way you have to press twice to start entering numbers manually.

@westnordost

Any updates on this? Will it be happening?

No updates from my side. This ticket was created my @smichel17

Maybe one could make a setting somewhere to customise, in my neighbourhood a lot of houses have 2 floor roofs.

Maybe one could make a setting somewhere to customise, in my neighbourhood a lot of houses have 2 floor roofs.

Can you show me a house like this? How does a roof have two floors?

Maybe one could make a setting somewhere to customise, in my neighbourhood a lot of houses have 2 floor roofs.

Can you show me a house like this? How does a roof have two floors?

house roof

Oh,ok. Thanks

https://www.dach-holzbau.de/artikel/bhw_Dach_bis_zum_Boden_2562198.html has even images of buildings with roof:level=2 and building:level=0

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cascafico picture cascafico  路  4Comments

monikarora picture monikarora  路  3Comments

nmxcgeo picture nmxcgeo  路  3Comments

RubenKelevra picture RubenKelevra  路  3Comments

HolgerJeromin picture HolgerJeromin  路  3Comments