Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
41 lines (24 sloc) 6.8 KB

Hibari design philosophy

January 2012

Over the past two years, I've been working with Wolf on a Mac Twitter client called Hibari.

To celebrate the long-awaited release of version 1.5 last week, I've decided to share the design philosophies, character flaws, and mental instabilities that have resulted in the Hibari you see today.

A Secondary App

Using a Twitter client means I can keep up to date with my friends' ideas and blips of daily life without getting distracted from my primary activities. Hibari is designed to be always visible on the side of the screen, to be glanced at throughout the day, and as such it necessitates a small footprint and high standards of minimalism.

Native Design

Because Hibari is a secondary app, I want it to fit in with the feel of the operating system as much as possible. I call Hibari "minimalist," but it's certainly not an instance of bare, angular, monochromatic minimalism. I'm aiming instead for a quiet, soothing, Japanese-style minimalism; one that feels natural. I feel that an angular black & white app juxtaposed against the grays of OS X wouldn't produce the most minimalist result.

With the advent of Lion, Apple apps are becoming less native-looking and more like the full-screen, isolated apps of iOS; however, the basic apps are still the same. It's the design of those most basic apps that Hibari imitates: Finder and TextEdit.

Clutter Intolerance

Irritating tweets are clutter. I'm emotionally intolerant of certain types of negativity and cruelty, and sometimes a single vile comment can ruin my day. Therefore, Hibari doesn't just block annoying topics, it can also hide a single bad tweet.

Additionally, I need a way to take a break from certain people. In my opinion, Twitter's lack of a temporary mute function is problematic due to the mismatch in the way people feel about unfollowing. When you unfollow someone, it's usually because you just want to unsubscribe from them, as one might privately unsubscribe from a blog. However, the social reality it that when people find out they've been unfollowed, they often feel like you've un-friended them, like how one might un-friend someone on Facebook. And it's awkward to refollow after unfollowing, because a follow notification is sent via email each time. Facebook itself actually has an "unsubscribe from updates" feature you can set on individual friends. I'm unable to live without this on Twitter.

Almost all animations are clutter. Animations provide realism and sometimes entertainment, but for a minimalist app, they serve almost no purpose other than to force your attention to them and momentarily make your eye twitch. Readability suffers greatly when there are little bouncing animations during basic navigation of tweets, as your eye can't stay fixed on one area; instead, it's forced to move up and down to re-anchor at each navigational action.

Buttons on every tweet are clutter. I also consider buttons that appear—or worse, fade in—on hover to be a type of clutter, as it's too easy to accidentally hover over them and cause flashing on the screen where it's not expected. Unfortunately a lot of people like the one-click nature of buttons. I try to encourage them to use keyboard shortcuts instead.

Timestamps on every tweet are clutter. Timestamps are usually irrelevant to the tweet, so Hibari hides them by default. I'm also against relative time stamps, despite nearly every social site and client using them. Either a tweet happened recently and I don't need to know the time, or the tweet happened a while ago, and I want to know what time of day it happened, not how many hours ago. I never wonder how old a tweet is, I just want to know at which point in the events of the day it happened.

Read status is burdensome mental clutter. My emails (and to a lesser degree, my feeds) already feel like loads of mental baggage. For me to maintain any semblance of sanity, Twitter must feel like a continuous flowing stream where it's okay if I miss some of it occasionally. To have an app keep track of whether every last tweet has been read would turn Twitter into a chore. I'd be wasting time every day compulsively marking all my tweets as read.

Too much 3D is clutter. Besides its standard OS X chrome, Hibari's interface is purposefully very flat. Shadows and gradients can make a design look interesting at first, but over time it becomes tiring to look at needlessly over-emphasized shading and separation.

Single Stream

Having too many different things to check throughout the day is tiresome. I want Hibari to be the opposite of apps like TweetDeck: Everything that can be reasonably unified into one timeline should be. Mentions, DMs, and optionally search results are all in the home timeline, and there's more unification I'd like to do someday with multiple accounts. The goal is for maximal involvement with minimal interaction. For the same reasons, Hibari features inline image thumbnails and conversations—I don't want to switch to a whole new visual mode just to learn the subject of an image link.

So of course, I object to Twitter's list feature. I know I'd be just be compulsively wondering about and checking on the tweets in all the other timelines. While I see the benefit for social media researchers and serious networkers following thousands of people, Twitter is not my main activity and I want it to be fast 'n easy.

Room for Improvement

Hibari's UI is far from perfect, and there's a lot of features that could be added. For example, Hibari currently brings you to the web for user profiles and images. I usually have a browser window occupying one of my monitors, so this isn't a problem for me, but I've come to agree with those who feel these actions should be should be in-app features. Hibari's DM interface has issues, and the input field's location at the bottom of the app is just incorrect; there's an infinite list of other things that need to be improved. I always appreciate when people offer me ideas, as I often get great insights for making Hibari even more of a secondary, native, clutter-intolerant, single-stream app.

Twitter and I

I lost a lot of steam last year when Twitter released an official Mac client and later made decisions that could be considered antagonistic toward third party developers. But with every new change to Twitter and its official apps, Hibari just feels more necessary. Twitter's aiming to be more of an all-encompassing universe like Facebook, always getting grander and more interactive. As long as they continue this trend, there should always be a place in the ecosystem for Hibari. While I don't want to promise anything about the future, my own dependence on the app—it's this or isolation from my favorite vocational peers—means I'll be improving or at least maintaining it for a long time to come.