Sync No More

15 Sep 2012

As developers, it's easy to use vocabulary that's familiar to us without considering whether it's familiar to other people. When making stuff for other developers, it doesn't matter, but when making stuff for a wider audience, we need to remember that words are as important as code. (Probably more so, but that's an argument for another day.)

Choosing one word over another isn't always as simple as deciding which is clearer or most widely understood. As an example, consider the word sync. Most people probably understand what it means; that's not the problem.

The problem with the word sync is that it refers to details that users shouldn't have to care about, creates an unnecessarily complicated mental model, and can damage users' perception of reliability by highlighting a potential point of failure. The next time you're thinking of using this word, consider whether you can avoid it entirely and make things just work instead.

When I use an app that requires a sync every once in a while, I'm forced to imagine two different versions, the one in my possession, and a more official copy somewhere else. If I'm the one who has to sync, there must exist a time period between when I make a change and when I sync during which my data is basically temporary and unsafe.

Sometimes, some form of syncing must exist, but it's still probably not the best way to describe what's happening. Do you sync your email? (You check it.) How about Twitter? (You refresh it.) When you browse the Web, are you syncing your browser? (You load pages.) Many actions could easily be described as syncing, but it's almost never a helpful description. It is a strong indicator that the technology being described is fragile.

I had to laugh when I saw the feature list for Things 2:

Everything is automatic, so you never have to worry about syncing again.

Another app, Cheddar, sees the lack of syncing as a feature, too:

With Cheddar, your tasks are instantly everywhere. Everything you do with Cheddar pushes to all of your devices, so your world is always in sync. It's really magical to create a task on your iPhone and have it instantly be on your computer without thinking about syncing.

Whether you think of a lack of syncing as a feature or just the way things should be, please stop using this word.

Now, for a word that shouldn't even exist. Permalink. I've never seen an instance of the word permalink where the word link wouldn't be just as good or better. Shouldn't all links be permanent?

There are some sites with temporary links, but their shortcomings shouldn't excuse the rest of us going out of our way to remind people that our links are permanent. Hacker News is a good example. If you click the link to the second page, you will often see a single line of unstyled text:

Unknown or expired link.

In fact, this is not only what you see in the browser, it's also the exact source of the page. Pro. Here's an example. This used to be the second page, but now it's a broken link.

This choice can be defended. In fact, I can imagine the people lining up now to tell me this is the right way to do things. (Hopefully they'll all forgive me for disagreeing.) Understanding that the second page changes over time is no different than understanding that the front page changes over time. If the Hacker News audience is particularly web savvy, then why deliberately choose to appear amateur by making the link to your second page break?

Ask a developer (or designer, in some cases) why a permalink is required, and you'll probably be told that some pages on the Web change over time.

Whoa! Who knew?

Maybe there's actually a good reason to use the word permalink, but I've not seen it.

As you were.