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

Friends #96

Closed
5 of 6 tasks
lennet opened this issue May 15, 2019 · 8 comments
Closed
5 of 6 tasks

Friends #96

lennet opened this issue May 15, 2019 · 8 comments

Comments

@lennet
Copy link
Member

lennet commented May 15, 2019

Open Questions/Tasks

  • Verification (Signature?)
  • Verification caching
  • Maps UI
  • Settings UI
  • Storage
  • documentation
@lennet
Copy link
Member Author

lennet commented May 15, 2019

related to criticalmaps/criticalmaps-android#119

@zutrinken
Copy link
Member

There is a UI suggestion in the iOS design files (last two screen on the right):

But that's not based on the latest technical constraints we discussed. So for a UI concept we first need a description on how the feature can be technically implemented.

@lennet
Copy link
Member Author

lennet commented Sep 22, 2019

Yeah we still don't really decided what we'll do. I'll start implementing the settings ui based on the code I already have

@lennet
Copy link
Member Author

lennet commented Sep 23, 2019

@zutrinken How about adding an empty state view/ message for users that don't have friends connected yet. Maybe a small explanation
Bildschirmfoto 2019-09-23 um 22 06 58

@maxxx777
Copy link
Contributor

maxxx777 commented Oct 5, 2019

Would love to see this feature in the app.
What is the current state of the implementation?
If I can help with the feature, please let me know.

@lennet lennet mentioned this issue Oct 6, 2019
@lennet
Copy link
Member Author

lennet commented Oct 6, 2019

We have a feature branch (friends) for that with a fully working version of that feature however it's not ready for production yet.

There are some things to be done

  1. The Map overlays need to be updated to support displaying names

Bildschirmfoto 2019-10-06 um 17 52 08

The full design specs are available in our design repo https://github.com/criticalmaps/criticalmaps-design
  1. We are not 100% sure how we should do the the friends recognition with our current API. We are currently renewing the users id every 24 hours for privacy reasons which makes it hard to recognise people (which is also the purpose of that :D). There are some possible options
  • Don't renew the id for some days/ weeks which makes people auto expiring and also everyone could track users over multiple days as long as their using the friends feature
  • Sign the id with an key and share the key for verifying the signature with your friends so that your Id can change and friends need to verify the signature (This method is currently implemented in the feature branch). This is comes with some overhead as a users needs to try verifying the signature for every id on the map as long as they haven't found their friends.
  • Instead signing the id, we could hash a secret with the current day (in UTC) and share the secret with your friends. That has similar benefits as signing the id but doesn't require checking every id because we know exactly with id we are expecting for a certain day as long as users didn't change their time manually.
  1. The android implementation isn't done yet. The current state can be seen here introduce some kind of easy to read and write id for looking friends up on the map criticalmaps-android#119 .

@lennet
Copy link
Member Author

lennet commented Oct 19, 2019

Added separate issues for open tasks to have a better overview about the remaining work
#164 #163 #162

@fbernutz
Copy link
Member

The Friends Feature is hidden behind a Feature Toggle and available on master. To use this Feature, go to Feature.swift and change this:

private var currentState: [Feature: Bool] = [
    .friends: true
]

All other open issues should be handled in separate issues, so I'll close this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants