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

Add ability to view miltiple devices on a single shared link #7

Closed
dror3go opened this issue Sep 2, 2019 · 11 comments
Closed

Add ability to view miltiple devices on a single shared link #7

dror3go opened this issue Sep 2, 2019 · 11 comments
Labels
enhancement New feature or request

Comments

@dror3go
Copy link

dror3go commented Sep 2, 2019

Hi,

Thanks for a neat application! I really like the idea and the execution is nice and easy to work with.

I think it would help a lot if the server will support some sort of multi-device sharing, for scenarios where several people coordinate to meet somewhere.
Not sure how this would be implemented UX-wise though. Maybe add a functionality on the shared link to "add my own location" or alike?
What do you think?

@bilde2910
Copy link
Owner

The browser interface could have a way to "add another link" to the map. So each person who wants to view several people can paste in the share links of others and all of them will show up on the map. That would also allow for aggregate links, e.g. https://example.com/?ABCD-1234+DEFG-5679+HIJK-0123 would show the location of the three share IDs in the URL. If I add this, I'll need some way to add identifiers to each user. Color coding would be pretty straightforward, but if there are multiple people, ideally the names of each user would be displayed underneath the markers.

@dror3go
Copy link
Author

dror3go commented Sep 2, 2019

That would also allow for aggregate links, e.g. https://example.com/?ABCD-1234+DEFG-5679+HIJK-0123 would show the location of the three share IDs in the URL.

Just keep in mind that the URL should still be valid as long as at least one person's location sharing is still active.
Also, when thinking about it - maybe it would be better not to have a URL change: If I post a live location link to a group of friends, and X of them are adding their own location to the session, ideally none of us will need to browse to a different URL, their location indicators should magically be added to the map.
So you can look at the URL as an endpoint to get a session with an array of (at least one) person's location.

ideally the names of each user would be displayed underneath the markers.

Right, I haven't thought about that. So yeah, stored nickname maybe that can be edited in each session?

@bilde2910
Copy link
Owner

Just keep in mind that the URL should still be valid as long as at least one person's location sharing is still active.

Definitely. The map would gray out markers for people who stop sharing, and not load them at all for subsequent loads of the link.

Also, when thinking about it - maybe it would be better not to have a URL change: If I post a live location link to a group of friends, and X of them are adding their own location to the session, ideally none of us will need to browse to a different URL, their location indicators should magically be added to the map.

This is a very good point. In addition to creating a solo share, I could add options to create or join a group share instead. When they create such a share, they have to enter a nickname, then they get some kind of invitation code (e.g. six-digit number) that others can enter in their app to join the share with their app. The map would then display the names of all of the participants, in addition to, or perhaps instead of their speed.

@natrius
Copy link
Contributor

natrius commented Sep 3, 2019

Yepp. Sounds good. Person 1 opens Hauk, starts sharing and shares the link to a group. Person 2 takes the link, open Hauk and "Add to Group-share" (or something like that) and paste the link there. (Check if link is active?). Person 3 sees now 2 people.

Link stays all the time the same. Maybe add a checkmark to allow or disallow that other can add their position. But tbh. it would not even need that.

@bilde2910 bilde2910 added the enhancement New feature or request label Sep 3, 2019
@bilde2910
Copy link
Owner

bilde2910 commented Sep 3, 2019

Here's a mock-up of the UI for group shares. The default option for the "Sharing mode" selector is "Share my own location only." Selecting the option to create/join a group instead will display the otherwise hidden "Nickname" and/or "Group PIN" input options (they're hidden by default for solo sharing mode).

On the left, the client that creates the share session, and on the right, the person joining it. Tapping the PIN that is displayed will copy it to clipboard.

Thoughts?

groupshare

@dror3go
Copy link
Author

dror3go commented Sep 4, 2019

Looks good 👍

One thing to keep in mind is that a person might not know if someone they share the link with will want to add their own location. So opting for "single or group share" upfront and blocking adding a 2nd person's location to a "single share" might be a problem.

Also, the nice thing about instant messaging applications with this feature is that a user doesn't need to explicitly indicate that he/she are adding a share to an existing group - the application does that by itself.
We can't mimic this, huh? 🤔

@bilde2910
Copy link
Owner

One thing to keep in mind is that a person might not know if someone they share the link with will want to add their own location. So opting for "single or group share" upfront and blocking adding a 2nd person's location to a "single share" might be a problem.

You're definitely on to something here, but I'm not entirely sure how to solve it.

On one hand, it's possible to stop the share and recreate a new one as a group share, but that requires action by the host to do so, and a new link will be made.

Another option would be a button or similar to convert a solo share into a group share, but a nickname would need to be entered by the host at some point to be able to identify him/her on the map; since having a nickname on a solo share is unnecessary, strictly speaking.

While typing this out, I just got another idea - what if there's some way for a user indicate, e.g. through a check box, that they allow others to "adopt" their solo share into others' group shares? The workflow is thus, if person A has a solo share running, and person B decides that they want a group share, B will create a group share in the app. However, they can then tap an "Adopt another share" button in the app, get a dialog where they paste A's URL, assign them a nickname, then they show up on B's group share as well? That way the original share URL will still work, but A will also show up on the group share map, and don't have to specify a nickname themselves, e.g. if they're driving.

Also, the nice thing about instant messaging applications with this feature is that a user doesn't need to explicitly indicate that he/she are adding a share to an existing group - the application does that by itself.

I haven't used any messaging apps that have this feature. Care to elabore?

@pachacamac
Copy link

Another option would be a button or similar to convert a solo share into a group share, but a nickname would need to be entered by the host at some point to be able to identify him/her on the map; since having a nickname on a solo share is unnecessary, strictly speaking.

This could be pre-filled with e.g. the android device name since usually small groups will have somewhat mixed phones and you usually know what kind of phones your friends have.

@dror3go
Copy link
Author

dror3go commented Sep 5, 2019

since having a nickname on a solo share is unnecessary, strictly speaking

I'd say it's more "nice to have" than "unnecessary" when dealing with single share, cause a viewer might not be 100% focused and might not remember who's location he's looking at. It's also not that much of an effort for the person who shares to set a name (which the application can remember for future usages, but always with the option to edit).

I haven't used any messaging apps that have this feature. Care to elabore?

Have a look here for example: https://www.youtube.com/watch?v=gBNQpxPlMFs
As you can see, each person starts sharing his/hers live location using the same simple flow. It's the platform (WhatsApp in this case) that shows a unified view when multiple users are sharing at the same time. Each individual doesn't input a "group code" or alike, cause the "sharing service" and the "distribution service" are the same service (e.g. WhatsApp).
In our case, the "sharing service" (Hauk) is separated from the "distribution service" (external link shared & viewed wherever), and hence the challenge 🙂

This could be pre-filled with e.g. the android device name since usually small groups will have somewhat mixed phones and you usually know what kind of phones your friends have.

I barely know which devices my family members have, let alone friends or people I communicate with but aren't really close friends. I feel it's too confusing and cumbersome to show a device name.

@bilde2910
Copy link
Owner

I agree that device names are too cumbersome to use. What I will do is I will implement the share adoption feature combined with creating a group share and joining it with a PIN. The flow is thus:

  • A user creating a single share will only ever have himself on his share URL, but there will be a checkbox allowing others to incorporate, or "adopt", that share into their own group shares. There is no need to enter a nickname for solo shares at this point in time - may add this later if there is a need for it, but that will make nicknames mandatory for solo shares.

  • Users creating a group share will get a group code (6-digit numeric) that they share with their friends who also want to join the group. The host of the group also gets the option to "adopt" existing solo shares - if the person creating a solo share allows it (see above; checkbox for this). Adopting a solo share will make that share's user's location appear on both the solo share and the group share they're being adopted into. The person adopting the share will set a nickname for the share they are adopting.

  • Users wanting to join an existing group share will enter the group code and set a nickname for themselves. They will be automatically added to the share.

This means that:

  • If person A creates a solo share, if they are later adopted into a group share by person B, no user interaction is needed from person A. Useful if A is driving, or otherwise can't use their phone.

  • If person A creates a solo share and person B sees this and wants to join, the responsibility of converting A's solo share to a group share is on B instead of A, meaning B does not have to disturb A and request that A makes that change.

  • If person A shares their link to both person B and C, if B adopts A's share, B gets a new link that includes both A and B, while A's link still only shows A, thus not revealing B's location to C, who may not know B.

  • If B creates a group share and adopts A's share, B has taken initiative to create a share for the whole group and can share the group code with the others in the group, so persons D, E, etc. can attach themselves to it later.

@bilde2910
Copy link
Owner

This will be live in v1.1. It might take a few days after release publication for the update to be released on F-Droid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants