criticalmaps / criticalmaps-ios

Critical Maps iOS App 🚲✊
http://www.criticalmaps.net
MIT License
290 stars 41 forks source link

[Map] add server update errorview on map #351

Closed mltbnz closed 4 years ago

mltbnz commented 4 years ago

📝 Docs

📲 What

Add Error indication view on MapInfoViewController when the server does respond with something other then OK

🤔 Why

To display the users when there the map currently does not get updated because the server might be down or some other error occurred.

👀 See

Screenshot 2020-10-17 at 20 37 19 Screenshot 2020-10-17 at 20 37 11

✅ Testing

Not a lot of testing happening here since I think once again the architecture gets in the way. Maybe a TODO from this is to find a new architecture for the app. MVP could be a solution. It is easy to implement and scales well. But maybe it is fine like it is...

♿️ Accessibility

⚠️ Issue

closes #268

mltbnz commented 4 years ago

@zutrinken I used a different design than the one from the linked issue. I thought that having a banner kind of thing all the time on top of the view would be a little too distracting and this one is a little lighter. WDYT?

mltbnz commented 4 years ago

Sorry it took me so long to review it! I think this looks good! I like that the error view is so subtle. Added some minor and some more important comments 😉

I think the contrast for the light mode error view still needs some optimization.. maybe @zutrinken can help us out here with an idea on how to improve the contrast? It looks good in dark mode! :)

no worries. That light version does look a little bit light Maybe just by using a bold font we could make it visible a bit better

fbernutz commented 4 years ago

That light version does look a little bit light Maybe just by using a bold font we could make it visible a bit better

I'm mostly worried about the yellow icon on the bright map. Maybe we can make the "!" black and not transparent. 🤔

mltbnz commented 4 years ago

Beside the error message itself it's recommended to give an action. In this case it's "Please check/come back later". Else we leave the user with a non working map and no idea what to do about it. So the size of the box has to be bigger to fit a proper instruction.

Also the subtle style may work at a desk. Many people check the app while doing a super quick stop or even while riding. A strong "in your face" style makes it easy to quickly realise that something isn't working. Even without reading. So I recommend the bolder red style as in the design.

Since it stays there until there is no error any more I thought it is nicer to have a subtle warning. I can also make another version with the bigger message and we could A/B test it. I do not know if the action for the user is helping actually since what I take away from it is "please close the app and check back later" while there are results on the map. But I am unsure about it. We could try it and see I guess

mltbnz commented 4 years ago

That light version does look a little bit light Maybe just by using a bold font we could make it visible a bit better

I'm mostly worried about the yellow icon on the bright map. Maybe we can make the "!" black and not transparent. 🤔

Just tested that and I like it

zutrinken commented 4 years ago

"Wait and check back later" might be obvious for a tech savvy person. But not for everyone. That also raises the question "do you have to close or kill the app to make it work"? A clear guidance removes uncertainty and frustration.

I can't imagine any scenario to properly A/B test this. All we know is that the app is heavily used in action. I like to compare it to car interfaces, where you get bold, bright and colourful warning messages including sound.

mltbnz commented 4 years ago

I have implemented the red banner version now. It also works so maybe then lets go with this one

Screenshot 2020-11-02 at 18 27 34