Is your feature request related to a problem? Please describe:
Congrats! You've probably made the best tool out there to solve the problem "I want to be able to share files with someone without expertish computer skill, and I want to do it directly, cheaply, securely, and without having to sign up for a bunch of random stuff." In my opinion, anyway :grin:. magic-wormhole could be an amazing tool for this, but trying to talk someone through setting up a CLI client and using it is a non-starter, given the "your users aren't experts" qualification.
I mentioned wayfinding in the title. Designing for good wayfinding in a physical space (like a building) involves using cues, signs, sightlines, etc. to make it easier for people in the space to figure out how to do what they need to do. (Here's a fun podcast on that, if that's your wont.) Obviously some of these ideas extend just fine to UIs. So I'm going to tell a little story about trying to send some files with wormhole-gui. Bear in mind that this person has general basic computer literacy and is most of the way through a Master's degree--already probably above the mean when it comes to their ability to figure this all out.
So, say I'm on the phone with someone (in reality, we were sitting in the same room, but I'm asking questions like I would a user talking to another user over the phone) and we need to move some files around. I say "hey, get a Magic Wormhole client, I'll send the file that way." So they google "magic wormhole," and get a Github page. There's no "download" button, and the best thing they're going to hear will be something like "go install a Python distribution for your system, set up pip
, and pip install
the package." Now, that works great for hackers, but it works terribly for users.
So I say "oh, there's this thing called wormhole-gui
, try that" over the phone. This user then googles wormhole gooey
and gets a page full of creepy kids youtube videos and other useless stuff. So I say "oh it's gee you eye, and it has like a dash in the name?" and they search that instead and find this Github repo.
Great. And then they glance at the page and don't actually immediately know what to do. If they scroll down a little on a typical system, they might see the "Download" section in the readme: that's good! What actually happened this time, though, was that they:
- tried clicking the "Code" dropdown, which is helpfully bright green, as it's a very important button for developers to be able to press, and got some more confusing text
- tried clicking "Go To File" in hopes of finding some downloads there (no dice)
- took my advice of "oh, try clicking the 'Releases' thing in the sidebar on the right," which I understand as the usual convention for this sort of thing, which I just knew because I'm a developer.
Next, they see this big page full of various Stuff, and aren't sure what to do next. I say that they want the file in the list that says it's for "Windows on amd64," which I know because I'm a developer. They download it, click the zip, click the .exe, see a Windows SmartScreen popup, close it, try to run the .exe again, think about it for a second, listen to me saying "yeah, I can vouch, this program is safe," click the little "More info" button, and "Run Anyway." And it's running fine without any other messing-around or install steps! That's great!
Next, they immediately try to send me some random file. They pick some PDF sitting on their drive, click Send, and... can't figure out what to do next. (The filename is long enough that it doesn't show the wormhole code or progress bar, see #24.) So I say "try sending me a text message instead." They write and attempt to send one easily, and then say "I can't figure out who this was sent to." I say "oh, there's a three-word code." They read it off, and I receive the text a few seconds later. Great.
Now it's my turn to send something. I pick a file, click send, and then read off my code. They easily find where to type the code in, do so, and then say "It says that was an invalid code." I say "oh, there's dashes between the words, try that." They receive the file, no problem.
I say "Okay, now go open that file." They click on the file's entry inside wormhole-gui
, and just get popups asking if they want to remove the file from the list. I say "okay, where else can you look?" and they check their system's Downloads folder, and could then open the file without issue.
Describe the solution you'd like to see:
wormhole-gui
is an excellent, descriptive name if you're a hacker. It's a weird one for an end user. A name that's simple, uses plain English, and still gets the message "I can use this to send/get files through 'Magic Wormhole'" across might be better. (I think this is part of why wormhole-william
is a pretty good name, actually: I can tell someone to google it and they're not going to get mixed up with anything else.)
It'd be a good idea to have a basic landing site (with a short name!) that explains what wormhole-gui is ("Quickly and easily send and receive files through the Magic Wormhole"), has immediate visual download buttons for each supported platform, and then other further detail. You could make a simple static site with Github Pages, and give it a snappy name by creating an organization on Github, resulting in a simple URL like wormhole-gui.github.io
that would be easy to read off over the phone. Two or three birds with one stone. That sort of page doesn't need to be complicated. (You could add a note under the Windows link with something like "You might get a Windows SmartScreen warning when you try to run wormhole-gui for the first time: this is because wormhole-gui doesn't have massive numbers of users, not because it's unsafe.")
There should be some further wayfinding inside wormhole-gui itself. For instance, when you're on the Send pane, you might include some text that says "Choose a file, then give the person you want to send it to its wormhole code, alongside a three-column top bar in the list that reads something like Filename | Wormhole code | Progress
.
In the receiving section, there should be some text explaining what it is, e.g. "Ask the person sending you a file for its wormhole code, and type it here." The box for inputting wormhole codes should be able to "correct" spaces into dashes. It may be nice to add something like magic-wormhole
's tab-autocomplete: the rest of the suggested word could appear in grey, and you could put a little tab icon to offer to complete the word. (I could break that last part into its own suggestion if you like.) When you click on a file in the list, it should offer to open in/navigate to it.
enhancement help wanted