Getting acquainted + want to help :)

I know, that just sounds nerdy and the basic user will not even know what a GUI is let alone a wrapper (they’ll think a sweet wrapper :D) and some might not even understand cross platform, they just know how to open IE haha

The website is a public repo, please make a PR, because that’s the best I was able to come up with.

Hi Brennan, great to see you here. Thanks a lot for your work on mailpile! I also enjoyed watching several of your talks. It’s really refreshing to have someone knowledgable talk about the hard-to-get-right overlap of security and UI/UX design. I’m stoked to see some of your future work here.

There are two things which I think require some love in the UX department (apart from an overall cleaner interface):

  1. Setting up a group of devices is actually rather easy - IF one knows about introducer nodes and how to use them. This whole principle could use some explanations and pointers, maybe as part of a little tutorial-style introduction the first time one opens the interface.

  2. The interface of unsynchronized changes. There are the colors at the top to indicate several states, which is nice. But I have never actually seen those in use in the list below.

If you use the folder master functionality to protect your local folders from changes on other devices, you will instantly see what I mean. There isn’t even a hint at all which devices are causing which kind of problem. It also only shows files, not directories. Even when all of the files in a directory can’t be synced because of missing CHMOD rights. It gets a even worse when you have several folders with similarly named files (e.g. picture folders with dozens of subfolders, which all contain files named PXXXXXXXXX.jpg) And so on and so forth. Any work on this would be highly appreciated.

@AudriusButkevicius I didn’t mean to diminish your work at all, it’s just a very good example of the very technical (but precise) wording which is typical for complex FOSS projects. Unfortunately it scares the average user. I personally enjoy precision like that - it reduces the chance of misunderstandings, but at the cost of deterring non-technical users. I’ll try to find the time to get some PRs regarding public-facing phrasing like that in.

2 Likes

@generalmanager hey there. Thanks for the nice compliment re: Mailpile… it’s been a whirlwind of a project and is still not “there” yet :stuck_out_tongue:

I think I need to experiment with Syncthing a bit more to understand the UX issues you’re bringing up. Namely I’ve never toggled on the “master” functionality nor the “introducer node” feature. The former makes sense to me, I just haven’t had a use case yet. The later functionality is spooky to me given it’s wording. Perhaps you could help better explain?

I don’t see OS X as an available package for it, am I missing it?

@kozec, the developer who does Synthing GTK, has a problem: he doesn’t have a Mac to test it!

@bnvk Sure thing! The master functionality is actually not as straight forward as one might think. What it does at the moment: It prevents the device where it’s activated to accept any changes from any other device. And if a device changes something, an “Override changes” button appears, with which one can force all other devices back to the version of the “master” node. This does however mean that two master nodes won’t accept changes from each other. And if one wants to only propagate data to others, their local changes are only overwritten if one manually invokes “override changes”. Thus severely limiting the “save my stuff on a friends computer” use case.

This is a ticket to introduce an improved handling of RW/RO devices: https://github.com/syncthing/syncthing/issues/62#issuecomment-78015219

The introducer node acts as a trust anchor and makes the setup with lot’s of devices much easier. Use case: I want to setup syncthing for my whole family, but don’t want to manually add every device on every other device (nobody likes O(n²)). I set my computer as the introducer node on all others. This node than introduces all devices with each other, which have shared folders on the introducer.

An interesting example is the two groups setup, where I want to share one folder with my friends and one with my family, but I don’t want to add all my friends devices to all devices in my family. The introducer automatically keeps them apart, because they don’t share a folder on the introducer.