Visualisation experiment (different kind of chart)

After fixing a few boring fundamental things with my goal tracker, I’ve been playing a bit today with a different visualisation than the usual beeminder-style charts. Here’s my first attempt (my visual design skills basically don’t exist, so excuse the rather uninspired and rough appearance):

I find that what I usually look at every day is not the charts, but just at how many days of safety buffer I have (less than 7, or more? mostly I try to stick to 7) – and at whether I can do that goal now (some are once-per-day at most, some twice per day at most, some I can only do certain times of day, etc.). But I don’t always know immediately which goals would be easiest to get back up closer to 7 days buffer, nor at a glance how much effort in terms of time it’ll take.

So this is an experiment to improve that. Comments / suggestions very welcome! Especially negative ones!

The x axis is time in minutes. Each bar represents a goal – in particular, those I haven’t managed to keep at 7 days of safety buffer. The more green the better: the number of green segments is how many days until derail. The x represents the last cumulative datapoint, relative to the zero of the chart, which by construction always falls on today, which is represented by the left edge of the bar. As a result, the x is always in the last green segment – maybe I’ll get rid of the x somehow for that reason.

The idea is to see quickly which goals need attention and can be worked on, and to motivate me, also how much effort in terms of time each one is likely to take (it’s often less than I think). Because of this time comparison issue, the horizontal scale is the same for all the goals: estimated, or actual, minutes.

The widths of the segments represent the daily minimum goal increments: on a usual beeminder chart, they correspond to the height of the cumulative goal line dividing the “good” (upper) and “bad” (lower) sides of the chart. I forgot to fake up some data to show this, but of course if there were a scheduled increased rate on any of these goals turning up in the next week, you’d see it as the segments becoming wider at some point towards the right.

These particular goals that I’m behind on happen to be mostly repeat goals: I just record that I’ve done one repeat of the goal, rather than an amount of time spent – but each goal has a bit of metadata that’s the expected time to do one repeat, so it knows that, as well as how many repeats are due each day. The top goal (“read”) is a bit different – the goal itself counts what kindle page location I’m up to in the book I’m reading, which is handled a little differently than “did I do a repeat of this goal”. All the others (which are repeat goals) have an arrow that shows how far one repeat would move the little “x” forward, so how many more green days I’d end up with if I did one repeat, or, equivalently, estimated time investment to do one repeat (arrow length). You can see for example that if I flossed once, I’d get two extra green days, just about. For the “practice” goal, I’d only get one more green day.

I like that these take up less screen space than the charts and also show me quickly about both days of buffer and effort needed to remedy that, which neither the charts nor my usual textual info (“x minutes due in y days”) do.

The next thing I want to do is add more goal metadata to say which goals are max-once-a-day, max-twice-a-day etc. and exclude those if I’ve done them the max amount already that day. In the example chart, “vitamins” and “first” are both ones I can’t do again today, so I don’t want to see them here.

I think I’ll also start including goals that are over 7 days safety buffer but only by a day or two, so I can see them coming and keep them at around 7 days.

Of course these could be sorted various ways: Time to Derail, Effort to Hit 7 Days of Buffer, Minimum Effort.

I imagine there are some fancy Bret Victor-style drag-stuff-around operations one could do also – I guess if ever, that’ll have to wait for such time as I do a web interface!