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

gui: Display identicons for discovered device IDs. #8022

Merged
merged 1 commit into from Oct 29, 2021

Conversation

acolomb
Copy link
Member

@acolomb acolomb commented Oct 29, 2021

Purpose

In the Add Device modal dialog, there is a list of up to five locally discovered device IDs. Choosing from them is a great time-saver, but identifying which is the wanted one requires comparing (partial) device ID strings. Especially when integrating a new device into an existing cluster, one can more easily remember the identicon shown on one of the existing cluster devices. Make it easy to recognize that device in the discovered ID list by replacing the bullet points with the corresponding identicon.

Testing

Open the Add Remote Device modal and admire the beautifully listed identicons. Requires not yet added remote devices on the local network.

Screenshots

Screenshot 2021-10-29 at 16-28-17 devtest Syncthing_add identicons

In the Add Device modal dialog, there is a list of up to five locally
discovered device IDs.  Choosing from them is a great time-saver, but
identifying which is the wanted one requires comparing (partial)
device ID strings.  Especially when integrating a new device into an
existing cluster, one can more easily remember the identicon shown on
one of the existing cluster devices.  Make it easy to recognize that
device in the discovered ID list by replacing the bullet points with
the corresponding identicon.
Copy link
Member

@calmh calmh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat

@calmh calmh merged commit 1c2e96a into syncthing:main Oct 29, 2021
@acolomb acolomb deleted the discovered-id-identicon branch October 29, 2021 18:54
@tomasz1986
Copy link
Contributor

one can more easily remember the identicon shown on one of the existing cluster devices.

Just a comment, and I don't know if it's only me, but to tell the truth, I can never remember the identicons 😅. I think I've learnt to simply ignore them when looking at my device list.

@acolomb
Copy link
Member Author

acolomb commented Oct 30, 2021

Just a comment, and I don't know if it's only me, but to tell the truth, I can never remember the identicons.

Me neither, in the long term. But just today I was looking at one device's list of remote devices and tried to add some of those to a new device, whose screen was 1 m away. Sitting in front of the new device, I could glance at the other's screen and see the identicons. That's when I wished I wouldn't have to jump back and forth to expand each remote device section to see its ID and match it against the discovered list. With this change in place, one can stay put at the new device's screen 🙂

Another use case is telling somebody else in the same room / on the phone: "Choose the one whose icon looks like a rocket." instead of "Click on the string starting with 9KJDF9-KJDF..."

@tomasz1986
Copy link
Contributor

I agree in the first point completely, but when it comes to

Another use case is telling somebody else in the same room / on the phone: "Choose the one whose icon looks like a rocket." instead of "Click on the string starting with 9KJDF9-KJDF..."

I usually work with either computer-illiterate people or seniors, and frankly speaking, I have strong doubts anyone will be able to see a rocket (or any other distinguishable shape, as a matter of fact) in those icons 🤣.

@calmh
Copy link
Member

calmh commented Oct 30, 2021

Well GGOZL above looks a little like a rocket. Or maybe a penis. 4RIUC is a little dog. BT452 is a space invader.

@calmh calmh added this to the v1.18.5 milestone Nov 10, 2021
calmh added a commit to calmh/syncthing that referenced this pull request Nov 22, 2021
* main: (32 commits)
  cmd/syncthing: Implement generate as a subcommand with optional API credential setting (fixes syncthing#8021) (syncthing#8043)
  lib/model: Correct "reverting folder" log entry
  lib/model: Correct handling of fakefs cache
  gui, lib: Fix tracking deleted locally-changed on encrypted (fixes syncthing#7715) (syncthing#7726)
  lib/config: Move the bcrypt password hashing to GUIConfiguration (syncthing#8028)
  lib/syncthing: Clean up / refactor LoadOrGenerateCertificate() utility function. (syncthing#8025)
  lib/api: http.Request.BasicAuth instead of custom code (syncthing#8039)
  Normalize CLI options to always use two dashes. (syncthing#8037)
  gui: Display identicons for discovered device IDs. (syncthing#8022)
  cmd/syncthing/cli: indexDumpSize doesn't need a heap (syncthing#8024)
  lib/model: Optimize jobQueue performance and memory use (syncthing#8023)
  lib/model: Limit the number of default hashers on Android (ref syncthing#2220)
  lib/model: Set mod. time after writing trailer in shortcut (ref syncthing#7992)
  lib/protocol: Simplify codeToError, errorToCode
  lib/protocol: Eliminate nativeModel on Unix
  gui: Add direct link to Ignore Patterns from folder panel (fixes syncthing#4293) (syncthing#7993)
  gui: Translate theme names in settings (syncthing#8006)
  lib/model: Pull when a new connection is established (fixes syncthing#8012) (syncthing#8013)
  gui, man, authors: Update docs, translations, and contributors
  gui, man, authors: Update docs, translations, and contributors
  ...
calmh added a commit to calmh/syncthing that referenced this pull request Nov 22, 2021
* main: (32 commits)
  cmd/syncthing: Implement generate as a subcommand with optional API credential setting (fixes syncthing#8021) (syncthing#8043)
  lib/model: Correct "reverting folder" log entry
  lib/model: Correct handling of fakefs cache
  gui, lib: Fix tracking deleted locally-changed on encrypted (fixes syncthing#7715) (syncthing#7726)
  lib/config: Move the bcrypt password hashing to GUIConfiguration (syncthing#8028)
  lib/syncthing: Clean up / refactor LoadOrGenerateCertificate() utility function. (syncthing#8025)
  lib/api: http.Request.BasicAuth instead of custom code (syncthing#8039)
  Normalize CLI options to always use two dashes. (syncthing#8037)
  gui: Display identicons for discovered device IDs. (syncthing#8022)
  cmd/syncthing/cli: indexDumpSize doesn't need a heap (syncthing#8024)
  lib/model: Optimize jobQueue performance and memory use (syncthing#8023)
  lib/model: Limit the number of default hashers on Android (ref syncthing#2220)
  lib/model: Set mod. time after writing trailer in shortcut (ref syncthing#7992)
  lib/protocol: Simplify codeToError, errorToCode
  lib/protocol: Eliminate nativeModel on Unix
  gui: Add direct link to Ignore Patterns from folder panel (fixes syncthing#4293) (syncthing#7993)
  gui: Translate theme names in settings (syncthing#8006)
  lib/model: Pull when a new connection is established (fixes syncthing#8012) (syncthing#8013)
  gui, man, authors: Update docs, translations, and contributors
  gui, man, authors: Update docs, translations, and contributors
  ...
@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 Mar 10, 2023
@syncthing syncthing locked and limited conversation to collaborators Mar 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants