Unnecessary text is the devil; it uses our precious brain cycles to parse and comprehend, brain cycles we could be using to parse and comprehend other things. Text repeated across multiple elements on the same page is like a gang of little devils, poking at our eyes with their unnecessarily literal affordances.
Less is more
What the deuce
am I talking about? Take a task list for example. When we need a way to edit, reorder, checkoff and delete a task, what are the standard visual affordances to perform these actions? Maybe we have a set of actions to the right of every task item, but my god is that ugly. Mayhaps we only show this ugly action bar when we are hovering over a task; this provides a better sense of context, sure, but then we have these actions playing hide and seek while we mouse over the list. When building Strike
we said hell no, there must be a better way.
Completing a Task
Lets start with the check box to complete a task. It feels good to check off an item. You punch that check box right in the face and blamo, that shiz is DUN (pronounced dee u en) done. So why would we want to take this pleasure away. Resist the urge to over think, and just leave the checkbox there. In fact, we added a little emphasis with a nice big X for a check mark. Yeah, that looks nice.
How about reordering the list. If we wanted to be really explicit, we could have had a reordering mode with a move cursor and other visual clues, or even worse, arrows for each item that moves it up or down the list. Or, now open your mind real big, we could just let people drag items to reorder them. We know we are going to be overloading the click event for other actions, so we ensure that the user actually wants to move the item by not starting the drag until the task has been dragged at least 6 pixels.
Editing felt like it needed an explicit action, but in the name of elegance we borrowed and tweaked an old school analogy from file browsers: the good old click twice to edit. In file browsers, it's not a double click (that opens the file), but rather two slow clicks, which can be annoying if you mess up the timing. There is no open action for our task actions, so any double click will make the task editable. Just like in the file browser interface, clicking off the task or pressing enter ends edit mode and saves the task.
Lastly, we need to delete tasks. Deletion has a different feeling than completion; we want these tasks out of our lives. Maybe someone else added this task to your list, but you sure as hell are not doing it. Delete that sucker. A simple delete link cheapens what should be the equivalent of the last scene in Gladiator (i.e. epic). To remove a task in Strike, you literally drag it off the list, then the task explodes into little puffs of smoke. Take that Deborah, guess I can't pick up your dry cleaning now that the task has been completely demolished.
Getting to the Point
These interactions are not perfect, there are certainty some discoverability issues, but Strike was an experiment to create a task list that was both fun and functional, and to see if people enjoyed using it. So by all means, please let us know what you think.