Don't Give Your Users Shit Work
The problem with shit work is that no one likes doing it, but an awful lot of people say they do.
Take a look at Twitter Lists. The idea behind Twitter Lists was that users would carefully cultivate lists on Twitter of different accounts they’re following (or not following). These could be divided into lists like Family, Friends, Coworkers, People I Find Mildly Attractive, People To Murder, People I Find Mildly Attractive And Want To Murder, and so on.
The problem is that, anecdotally, no one seems to use Lists. Twitter is filled with users who have carefully made a few lists, and then promptly forgot about them after they realized their clients don’t make it as easy to read List tweets as it is to read tweets from people you follow.
This is why I was never fascinated by Google+ and its concept of Circles. You have to go through entire sub-communities of your friends and drop them into arbitrary groupings. That sounds like shit work to me. What happens if I get really hammered with a Business Acquaintance and he becomes a Close Drinking Partner? Do I move his circles around? What happens if we hire him? Is he a Coworker and a Close Drinking Partner? The last thing I want to have to worry about is continually micromanaging another facet of life. This is important, since Google+ Circles is allegedly about privacy, and if you don’t continually cultivate your circles, you could inadvertently send out the wrong update to the wrong subset of contacts.
Facebook used to have this problem. They went through a couple, multi-year iterations of Groups. Initially — say, around 2005 or so — groups were outlets for inside jokes. Not a lot of meaningful communication happened. Then Facebook rightfully realized that they could have a real impact. They added Friend Lists, with heavy-headed suggestions to create lists for family, friends, coworkers, and so on, much akin to Google+’s circles.
Recently they revamped Groups and their whole privacy permission structure. Today, Facebook can anticipate most of what you want to do:
I get to decide whether to send this status out to close friends, my work network, my school, whoever I want. And I don’t need to set those groups up. They already know who’s in my work network, who went to school with me, and who lives where I live. Your product handles the smart work, and I won’t have to do the shit work.
This doesn’t work for all features in all products, of course. A stranger could join my college network, friend me, get me to accept the friend request, and then see statuses directed at my classmates. That seems unlikely, though. More often than not, letting your app handle the shit work is going to be better than letting your users handle it.
Don’t embrace the shit work
Some people still like shit work. They can spend an hour moving Twitter accounts to special Lists, and then at the end of it look back and say “Boy, I spent an hour doing this. I really accomplished a lot today!” You didn’t. You did shit work.
One of my favorite posts is Merlin Mann’s Mud Rooms, Red Letters, and Real Priorities. His main point is that adding an assortment of labels, tags, and priorities to your email inbox only serves to give you the illusion of getting work done. Either something is important, or it isn’t. You don’t need five levels of priorities to decide that, and spending time categorizing isn’t real work.
The same is true in any product. We need to get out of this idea that the act of spending time on a project means that you spent your time wisely. Sometimes you’re just wasting your time.
Don’t give your users the shit work
I used to carefully craft a bunch of buddy lists in my instant messenger. Friends From Home, College Friends, Bay Area Friends, Work, Previous Work, Current Work… it kept growing and growing until I suddenly realized how fruitless it was for me. Then I merged everyone into one big group called “Humans”.
Simplify. Don’t give your users the shit work.
Wait! Which sort algorithm to choose? Quick sort? Bubble sort? Insertion sort? ....