Should we aim for making setup of syncthing so easy, that non-geek family member could setup a shared folder?
That’d be fantastic. I (and many geeks with me) probably don’t have what it takes to accomplish that. And of course, given that it doesn’t compromise the security goals etc.
Crazy idea #1: both sides push the space bar at the same time and are then shown a word or words. If they both get the same word, they are done!
I could imagine something like that. Or, one side generates a random word passphrase. The other side enters the same passphrase. Technically,
- Alice’s syncthing generates a random phrase “correct horse battery staple”, and saves it.
- Alice’s syncthing announces the temporary ID
hash("correct horse battery staple")to the announce server
- Alice tells Bob “correct horse battery staple” over the phone.
- Bob enters the phrase into his side, and syncthing calculates the hash as above to get the temporary ID.
- Bob’s syncthing looks up the temporary ID, connects to Alice’s syncthing, and presents the correct passphrase.
- Alice’s syncthing disposes of the now used random token.
Time limits for the token etc to be added as appropriate.
That sounds like i could guide my grandpa through the installation over the phone!
Maybe, there are not even words but pictogramms or small pictures…
Is that all it takes to attract the elder generation?
If we take a look at the actions someone has to do for the setup:
- install (SyncTrazor or Syncthing-gtk)
- make sure it starts at startup (same as above)
- connect Syncthing to the internet (Firewalls etc., maybe UDP ?)
- connect devices (I imagine it to be similar to bump)
- find folders on disk and give a name
For the inexperienced user, maybe activation of the versioning would be good. (even only 30 days might help)
When considering this list, i could talk my family members through the setup, also the setting up folder, because this is always within Syncthing. I can do the same at my pc and see where they are stuck. Really difficult is only, because its different on every router, connecting syncthing to the internet.
Some kind of firewall helper for the setup would help a lot: where exactly is syncthing failing. But for grandparents even easier would be for it not to fail at all (I think you have a udp solution on github for that)
Using the Web-GUI to create the config file might be scaring off some new users, and frustrating others who don’t achieve a “sync” on their 1st attempt. Lots of steps, and so easy to miss one or more of them.
While simplification is desirable, I wouldn’t surrender security to achieve it
One alternative might be the creation of an optional Installation Wizard that guides the user step-by-step as described by @bigbear2nd. No required steps missed, and sequenced correctly. Sits beside the open ST executable, creates/edits the config, and manages the ST restarts as required.
Any interested UX experts out there please jump in, - I will assist in whatever non-coding capacity I can.
Definitely agree that default versioning = on is a good idea to prevent new users from losing data.
Hi, I just installed syncthing for the first time an hour ago. I am not a grandparent, but I behave like one : I like simple software that just works with a good GUI and integrates well with my Windows OS.
The very first thing you should do is change the home webpage : it currently brings forward the CLI+web interface which is the worst possible version any grandparent would want.
You should bring the GUI+OS_integration versions forward like SyncTrazor and rename it to “Syncthing-for-Windows” / “Syncthing-for-Mac” etc…
Perhaps you should also have the webpage detect the user’s OS and automatically bring forward the correct version (like Mozilla’s “get Firefox” homepage for example)
When setting up my first synchronized folder, I was stunned I had to type the folder’s location in full letters : there was no “Browse” button. Os integration by simply right-clicking a folder in windows’s file browser -> sync this folder with SyncThing would be nice too.
There are lots of other things I noticed as a “grandparent-style”, features that I think would be nice, and usage I wish I could do but do not seem to be available yet. Perhaps I should write a full article in the “usage” section of this forum.