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 mailto link to "Show ID" dialog, for sending device ID via email #2771

Closed
generalmanager opened this issue Feb 10, 2016 · 16 comments
Closed
Labels
enhancement New features or improvements of some kind, as opposed to a problem (bug) frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion
Milestone

Comments

@generalmanager
Copy link

This is one of a number of proposals which are supposed to make it easier for beginners to get a working share setup.
For reference: https://forum.syncthing.net/t/different-view-on-security-perspective/6678/38
#120

A simple "mailto:" link in the "show ID" dialog between the ID and QR code to enable desktop users to email the device ID would be nice. Ideally tough, it would be a text-entry field next to a send button with a little JS to replace the someone@example.com with the address(es) entered.

This isn't very secure by default, but neither are phone calls. And security concious users can use GPG/PGP.

Here is a working example for the link:

<a href="mailto:someone@example.com?subject=My%20Syncthing%20ID%20for%20XXXXXXXX&body=Hello,%0D%0A%0D%0Athe%20person%20sending%20you%20this%20email%20wants%20to%20share%20some%20files%20with%20you%20via%20Syncthing%20from%20the%20device%20XXXXXXXX.%0D%0A%0D%0ASyncthing%20replaces%20proprietary%20sync%20and%20cloud%20services%20with%20something%20open,%20trustworthy%20and%20decentralized.%20Your%20data%20is%20your%20data%20alone%20and%20you%20deserve%20to%20choose%20where%20it%20is%20stored,%20if%20it%20is%20shared%20with%20some%20third%20party%20and%20how%20it's%20transmitted%20over%20the%20Internet.%0D%0A%0D%0AIf%20Syncthing%20is%20already%20installed,%20just%20open%20it%20at%20http://localhost:8384%20and%20create%20a%20new%20device%20with%20this%20ID:%0D%0AXXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX%0D%0AIf%20they%20have%20already%20shared%20a%20folder%20with%20you,%20Syncthing%20will%20ask%20you%20if%20you%20want%20to%20accept%20it%20after%20a%20short%20time.%0D%0A%0D%0AIf%20Syncthing%20isn't%20installed%20yet,%20you%20can%20get%20it%20here:%20https://syncthing.net#main%0D%0A%0D%0AHave%20fun%20with%20Syncthing%20and%20don't%20hesitate%20to%20ask%20in%20the%20forums%20if%20you%20have%20any%20questions%20or%20ideas%20for%20improvement:%20https://forum.syncthing.net%0D%0A%0D%0AKind%20regards,%0D%0Athe%20Syncthing%20team">Send device ID via mail</a>

It automatically fills the subject with:

My Syncthing ID for XXXXXXXX

And the body with:

Hello,

the person sending you this email wants to share some files with you via Syncthing from%the device XXXXXXXX.

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.

If Syncthing is already installed, just open it at http://localhost:8384 and create a new device with this ID:
XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX
If they have already shared a folder with you, Syncthing will ask you if you want to accept it after a short time.

If Syncthing isn't installed yet, you can get it here: https://syncthing.net#main

Have fun with Syncthing and don't hesitate to ask in the forums if you have any questions or ideas for improvement: https://forum.syncthing.net

Kind regards,
the Syncthing team

@generalmanager generalmanager changed the title UI: UI: add mailto link to "Show ID" dialog Feb 10, 2016
@ProactiveServices
Copy link
Member

Since some users (e.g. Windows via Synctrayzor) don't use their web browser to interact with Syncthing, and it might not be running on the default port (8384), do you think the "just open it at x" is best left out?
They're new users but I expect if they have it installed, they'll know how to open it. I hope :-)

@generalmanager
Copy link
Author

Yeah I thought about that too. But even for the windows users it doesn't break anything, the UI looks identical to Synctrayzor, apart from the Synctrayzor settings.

it might not be running on the default port (8384)

If it's not running on the default port, they probably changed it themselves, so they are likely to be familiar enough with ST to get to the UI. Or do some of the more popular wrappers change the default port?
I meant to change 8080 to the new port, but forgot to look it up after writing the issue, so that obviously never happened.

They're new users but I expect if they have it installed, they'll know how to open it. I hope :-)

I've done too much work in IT support to believe there is anything they can't fuck up ;)

@calmh
Copy link
Member

calmh commented Feb 11, 2016

This seems reasonable, although I'd cut down the text of the mail significantly. It basically would just need to include the information that this is the device ID and assume that the recipient knows what it's about.

@calmh calmh added the enhancement New features or improvements of some kind, as opposed to a problem (bug) label Feb 11, 2016
@calmh calmh added this to the Unplanned (Contributions Welcome) milestone Feb 11, 2016
@calmh calmh changed the title UI: add mailto link to "Show ID" dialog Add mailto link to "Show ID" dialog, for sending device ID via email Feb 11, 2016
@canton7
Copy link
Member

canton7 commented Feb 11, 2016

I think you can create a mailto link without a recipient? Might be preferable here.

I'm still a fan of being able to create a clickable link (of the form syncthing://share?deviceId=xxx&folderId=xxx), and have Syncthing register as the handler for that URL scheme (where possible). Then the instructions become simply "click this link", and everything else is taken care of.

Although not sure how much pain and/or suffering that might cause on linux / headless systems...

@generalmanager
Copy link
Author

@calmh Why do you want minimal text? What benefits does this have? At this point the recipient might never have heard of syncthing and will get a call/message to explain later. In this case, a little explanation can go a long way.

@canton7 Jup, a link with an empty recipient would be the easiest method. In that case the user still has to interact with the newly opened UI to enter the recipient. If we could bootstrap this so that everything apart from hitting "send" is taken care of, people would probably even want to use the feature.

I also really like the custom URL scheme from a usability perspective. It also makes phishing-attacks very easy tough. Maybe we can still ask for a confirmation to add device xxx and share folder yyy with it instead of silently adding everything a user clicked?

@canton7
Copy link
Member

canton7 commented Feb 11, 2016

Jup, a link with an empty recipient would be the easiest method. In that case the user still has to interact with the newly opened UI to enter the recipient. If we could bootstrap this so that everything apart from hitting "send" is taken care of, people would probably even want to use the feature.

They'll have to enter the email address to send the email to whatever happens, surely? 😉 Leaving the 'To' field blank just means that their email client will refuse to send the email until they add a recipient, rather than sending it to example.com.

Maybe we can still ask for a confirmation to add device xxx and share folder yyy with it instead of silently adding everything a user clicked?

Sure - I never suggested doing it silently. That would be impossible anyway: the user has to choose the location of the folder, whatever happens.

@generalmanager
Copy link
Author

They'll have to enter the email address to send the email to whatever happens, surely? 😉 Leaving the 'To' field blank just means that their email client will refuse to send the email until they add a recipient, rather than sending it to example.com.

Yes of course. But our brains don't like it if we have to stop what we are doing, to be presented a new UI and having interact with this UI then. I can't recall what the effect is called right now, but it leads to a lot more frustration than doing everything in the first step and just having to click "send" in the second one.

@canton7
Copy link
Member

canton7 commented Feb 11, 2016

Ah, I missed this bit of your proposal:

it would be a text-entry field next to a send button with a little JS to replace the someone@example.com with the address(es) entered

@generalmanager
Copy link
Author

Yup, having an empty field filled is better tough, as the mail client will then refuse to send it when JS is disabled and someone clicks on the link.

If nobody wants to do the JS stuff, a mailto link without recipient would still be better than the current behavior.

@calmh
Copy link
Member

calmh commented Feb 13, 2016

Why do you want minimal text? What benefits does this have? At this point the recipient might never have heard of syncthing and will get a call/message to explain later. In this case, a little explanation can go a long way.

The fact that it is a syncthing device id is of course fine to mention. But any explanatory text about how to use it is equally likely to be wrong since we know nothing about the recipient setup. And just mailing a device id out of the blue to someone who has never heard of syncthing is likely to be either confusing or interpreted as a phishing attempt anyway.

@calmh
Copy link
Member

calmh commented Feb 13, 2016

Also, it's one more thing to translate into every language, which is simpler if it's short and to the point.

@khoath
Copy link

khoath commented Feb 13, 2016

A copy to clipboard action would be handy though if the Javascript could
be put on the page to do this although it may not be that browser
compatible, it's a thought.
On 13/02/2016 9:13 PM, Jakob Borg wrote:

Also, it's one more thing to translate into every language, which is
simpler if it's short and to the point.


Reply to this email directly or view it on GitHub
#2771 (comment).

@generalmanager
Copy link
Author

The fact that it is a syncthing device id is of course fine to mention. But any explanatory text about how to use it is equally likely to be wrong since we know nothing about the recipient setup

One question: do you want to exclude any Information apart from the ID and "this is a Syncthing ID" or just the usage tutorial, which might be misleading in non-default setups?

I don't want to fight about this, it's your project and you can obviously develop it however you like. But I'd like to explain why I think it's a good idea to help the possible user in this way. Obviously we should note that the information is only correct if they haven't changed the defaults. If the recipient has heard of ST before and set it up themselves, just the ID and a minimal explanation what to do with it would be enough.
If it's longer tough usability studies have shown that people simply ignore/skip over information which doesn't affect them without having negative feelings.

But in the case where the recipient doesn't have much information, e.g. when two or more people have agreed to share some files with each other and one of them told them about Syncthing, it's probably going to be the guy/girl who sent them the mail. But until this point they probably don't have much information apart from maybe having heard the name and that it's a good tool. IMHO this is a good time to give them the eagles view of the project and to point them to places where they can find more information if they are interested or having trouble getting it setup.

And just mailing a device id out of the blue to someone who has never heard of syncthing is likely to be either confusing or interpreted as a phishing attempt anyway.

To avoid confusion, more information us generally more helpful than less information. From my experience the average user doesn't even know what phishing is or that it exists. I'd have a lot less work if they did. Those who do know enough about technology to fear phishing probably also don't need much help to get ST set up. The others only delete/ignore mails because they think it's spam. But those are generally accustomed to this kind of mail, because of similar emails from dropbox and other services as well as the familiar sender address. I don't think we have to fear beeing misinterpreted as spam. If people don't know from context what to do with this ID, they might ignore/delete it tough because they don't see why it's not spam.

The easier it is to familiarize oneself with a tool and the easier it is to use, the more people will benefit from it.

Also, it's one more thing to translate into every language, which is simpler if it's short and to the point.

True, but there is generally not that much text in ST compared to other projects I've helped translate. Signal e.g. is much worse and translations are updated so quickly that 5 minutes after receiving the notification it's probably been done by someone else. I also volunteer to translate it into German ;-)

TL;DR: It's your project, but I think a little more information than "this is abc's ID: XXXXXX..." would be nice. Shouldn't be too long tough. The localhost:xxxx link could also go, because it's seriously confusing if the mail is opened on an android phone with the app installed.

@calmh
Copy link
Member

calmh commented Feb 14, 2016

I think a couple of sentences about what it is (this is a device ID for syncthing; syncthing syncs files; device IDs allow devices to connect and share files; ...) and a link to an actual documentation article describing how to add the device would be appropriate. That documentation should be part of the getting started guide, which surely needs some love, and linking it there would also give the user a path forward towards learning more. I'm not really sure what's the best way to cover this for when the user runs Android or something only and any syncthing "core" docs are going to be misleading at best... Maybe a note that the instructions are for the common case but they may need to check with their actual app / distribution / packaging / whatever.

In the end, it's not something I'm going to fight over either, I promise :)

@generalmanager
Copy link
Author

Sounds great 👍

@lkwg82
Copy link
Contributor

lkwg82 commented Mar 10, 2016

So where is the PR? A mailto link is not that difficult. 😄

@calmh calmh removed this from the Unplanned (Contributions Welcome) milestone Feb 11, 2018
tomasz1986 added a commit to tomasz1986/syncthing that referenced this issue Oct 1, 2021
…syncthing#2771, fixes syncthing#3868)

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
tomasz1986 added a commit to tomasz1986/syncthing that referenced this issue Feb 9, 2022
…to device IDs (fixes syncthing#2771, ref syncthing#3868)

Add buttons to allow for simpler sharing device IDs with others. The
first one copies the ID to clipboard (trying to use three different
methods, depending on the browser). The second one triggers a mailto
link with prefilled subject and body. The third one triggers an sms link
with prefilled body. The short description of Syncthing included in the
latter part of the body is a direct copy from the description at the
official website https://syncthing.net.

Issue syncthing#3868 is referred here, because the copy to clipboard button
offers an alternative method for IE11 users to actually be able to copy
device IDs without having to select it manually (which doesn't work).

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
tomasz1986 added a commit to tomasz1986/syncthing that referenced this issue Apr 18, 2022
…to device IDs (fixes syncthing#2771, ref syncthing#3868)

Add buttons to allow for simpler sharing device IDs with others. The
first one copies the ID to clipboard (trying to use three different
methods, depending on the browser). The second one triggers a mailto
link with prefilled subject and body. The third one triggers an sms link
with prefilled body. The short description of Syncthing included in the
latter part of the body is a direct copy from the description at the
official website https://syncthing.net.

Issue syncthing#3868 is referred here, because the copy to clipboard button
offers an alternative method for IE11 users to actually be able to copy
device IDs without having to select it manually (which doesn't work).

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
tomasz1986 added a commit to tomasz1986/syncthing that referenced this issue Apr 19, 2022
…to device IDs (fixes syncthing#2771, ref syncthing#3868)

Add buttons to allow for simpler sharing device IDs with others. The
first one copies the ID to clipboard (trying to use three different
methods, depending on the browser). The second one triggers a mailto
link with prefilled subject and body. The third one triggers an sms link
with prefilled body. The short description of Syncthing included in the
latter part of the body is a direct copy from the description at the
official website https://syncthing.net.

Issue syncthing#3868 is referred here, because the copy to clipboard button
offers an alternative method for IE11 users to actually be able to copy
device IDs without having to select it manually (which doesn't work).

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
tomasz1986 added a commit to tomasz1986/syncthing that referenced this issue Sep 12, 2022
…to device IDs (fixes syncthing#2771, ref syncthing#3868)

Add buttons to allow for simpler sharing device IDs with others. The
first one copies the ID to clipboard (trying to use three different
methods, depending on the browser). The second one triggers a mailto
link with prefilled subject and body. The third one triggers an sms link
with prefilled body. The short description of Syncthing included in the
latter part of the body is a direct copy from the description at the
official website https://syncthing.net.

Issue syncthing#3868 is referred here, because the copy to clipboard button
offers an alternative method for IE11 users to actually be able to copy
device IDs without having to select it manually (which doesn't work).

Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
@acolomb acolomb closed this as completed in 5e384c9 Nov 7, 2022
calmh added a commit to imsodin/syncthing that referenced this issue Nov 8, 2022
* main: (36 commits)
  lib/protocol: Ignore inode time when xattr&ownership is ignored (fixes syncthing#8654) (syncthing#8655)
  lib/fs: Try to remove read only Windows files (fixes syncthing#3744) (syncthing#8650)
  gui: Add copy to clipboard, share by email, and share by SMS buttons to device IDs (fixes syncthing#2771, ref syncthing#3868) (syncthing#7984)
  gui, man, authors: Update docs, translations, and contributors
  build: Add GitHub actions build for Windows (syncthing#8627)
  gui: Fix connection type icon width (fixes syncthing#8592) (syncthing#8644)
  gui: Adjust connection type icon size scaling and alignment (syncthing#8645)
  docker: Use healthcheck endpoint (syncthing#8640)
  lib/connections: Use adaptive write size for rate limited connections (fixes syncthing#8630) (syncthing#8631)
  gui: Mark devices that haven't connected for a long time (fixes syncthing#7703) (syncthing#8530)
  gui: Fix rescan interval when add encrypted folder with watch for changes enabled (fixes syncthing#8570) (syncthing#8571)
  gui: Always show Out of Sync Items for remote devices (syncthing#8632)
  lib/fs: Let xattr test avoid non-test attributes (fixes syncthing#8601) (syncthing#8628)
  build: Add GitHub actions build for Windows
  gui, man, authors: Update docs, translations, and contributors
  gui: Display folder and device count number (syncthing#8615)
  gui, man, authors: Update docs, translations, and contributors
  lib/model, lib/protocol: Fix file comparisons (fixes syncthing#8594) (syncthing#8603)
  lib/scanner: More sensible debug output (syncthing#8596)
  gui: Allow automatic device ID selection on WebKit browsers (ref syncthing#8544) (syncthing#8597)
  ...
@calmh calmh added this to the v1.22.2 milestone Nov 9, 2022
calmh added a commit to calmh/syncthing that referenced this issue Nov 22, 2022
* main: (23 commits)
  lib/fs: Optimize WindowsInvalidFilename (syncthing#8687)
  gui, man, authors: Update docs, translations, and contributors
  cmd/syncthing: Use main logger in generate subcommand (fixes syncthing#8682) (syncthing#8685)
  build: Update all dependencies (fixes syncthing#8679) (syncthing#8680)
  gui, man, authors: Update docs, translations, and contributors
  lib/model: Correctly set xattrs on temp files (fixes syncthing#8667) (syncthing#8670)
  gui: Automatically dismiss authentication reminder when in LDAP mode (fixes syncthing#8661) (syncthing#8663)
  lib/model: Correctly handle xattrs on directories (fixes syncthing#8657) (syncthing#8658)
  lib/protocol: Ignore inode time when xattr&ownership is ignored (fixes syncthing#8654) (syncthing#8655)
  lib/fs: Try to remove read only Windows files (fixes syncthing#3744) (syncthing#8650)
  gui: Add copy to clipboard, share by email, and share by SMS buttons to device IDs (fixes syncthing#2771, ref syncthing#3868) (syncthing#7984)
  gui, man, authors: Update docs, translations, and contributors
  build: Add GitHub actions build for Windows (syncthing#8627)
  gui: Fix connection type icon width (fixes syncthing#8592) (syncthing#8644)
  gui: Adjust connection type icon size scaling and alignment (syncthing#8645)
  docker: Use healthcheck endpoint (syncthing#8640)
  lib/connections: Use adaptive write size for rate limited connections (fixes syncthing#8630) (syncthing#8631)
  gui: Mark devices that haven't connected for a long time (fixes syncthing#7703) (syncthing#8530)
  gui: Fix rescan interval when add encrypted folder with watch for changes enabled (fixes syncthing#8570) (syncthing#8571)
  gui: Always show Out of Sync Items for remote devices (syncthing#8632)
  ...
@st-review st-review added the frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion label Nov 8, 2023
@syncthing syncthing locked and limited conversation to collaborators Nov 8, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New features or improvements of some kind, as opposed to a problem (bug) frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion
Projects
None yet
Development

No branches or pull requests

7 participants