Brainboard
Looking for the actual application? Here it is!
It’s hard to understate the effectiveness of a whiteboard. Mine is small, accessible, and frequently used. Admittedly, I tend to use my whiteboard as more of a transfer zone for other places. It’s the quickest medium to jot something down that will eventually end up somewhere else. In that sense, I suppose its usefulness (for me, anyway) is the immediacy in which I can record something. That’s the goal I strive for when I’m making digital tools: what’s important stays front and center, and what’s unnecessary is as close to invisible as I can make it.
I considered the idea of virtual whiteboards. I’ve seen some in the past that allow for physical drawing, sometimes on an infinite canvas… That type of application has its uses, though it’s less of what I’m going for. If I try to draw things on my phone (the device usually hovering nearby me), the results are illegible or humongous. A surface like that is inappropriate for organizing information, and that’s primarily what my whiteboard is for!
So we start with the most basic premise: I can add a line of text, and it stays there until I erase it. Simple enough, right? That’s exactly what the first version of Brainboard did, and almost all of what it did! The prototype also had the ability to “focus” a particular line of text, which blurred out the rest of them until I unfocused it. I tried an idea of having “groups” of lines, which were basically sub-boards of lines that could be entered to remove everything else from view. This feature was a lot less useful than I had originally anticipated, and it was voted off the virtual island.
My least favorite thing about whiteboards is that everything on it is right in front of me, all the time. It sounds kind of stupid when stated in that way, though I truly find it abrasive. The things I write on a whiteboard are pointers. They are representations in short-hand form for things that are more complex and involved than the word or phrase suggests. It’s easy enough to decipher and remember what I mean when I read my tasks, though the abrasive part comes from all of them appearing in my visual field, into my mind, at the same time. Many of these encoded representations are very condensed forms of something I’m actively exploring or pondering. They require effort to parse and act upon. Perhaps it would be more effective if everything I wrote onto my whiteboard was an immediate, probably-small, actionable step. If done that way, the problem would be lessened, while simultaneously increasing friction for adding to and maintaining the whiteboard. This is the primary challenge with any system I use. Past a certain point of friction, I drop the system entirely.
The “maintenance” of a todo list suffers because everything on it is static. My life seems to change so quickly that my lists are rarely completed in full. Some things are done, others have evolved, and others may have become inaccessible to action. Because these lists are completely ambivalent to the chaos of my life, every change to them is a manual change.
So how, then, can the text on a “whiteboard” be made more fluid, more dynamic? In order for any system to move tasks automatically, it has to respond to some factor. I’ve explored making tools where the tasks respond to your interaction (or lack thereof) with them, and this time I took a different approach: the tasks move with the calendar.
Organizing your tasks via windows of time is fairly common practice and may feel familiar as a starting point. Your tasks are initially required to fit within one of three levels: Today, This Week, and This Month. In truth, there are actually five levels. There is another, semi-hidden level on both ends of this temporal spectrum, namely Now and Someday. They are only displayed when they contain tasks.
You can add tasks to the Now level at any time. It appears on the top and is designed to hold the tasks that you are actively working on. You are unable to add tasks to the Someday level directly… though tasks will roll into it on their own.
That’s the defining feature of this application: you set the tasks at the level they start at, and move them between levels as needed. The application will also move your tasks for you between uses. Brainboard only moves your tasks when you open it on a new day. Everything that you had in the Now level moves to Today, Today to This Week. Open it on the start of a new week and everything in This Week shifts to This Month. New months transfer This Month’s contents to Someday.
I inadvertently left out a Help menu/modal in this application. It’s my hope that its usage is more or less self-explanatory, and the app does literally inform you (with words) when it has moved your tasks.
Things I Dislike
In theory, automatically sorting things by calendar time seems useful. We schedule and sort our entire lives by the human system of time (for better or worse), and it would seem natural that we could organize all our doings in the same system. Using this application was a good reminder that human time is very arbitrary, and I still have to make an effort to finagle my tasks into and between the various levels.
There are potential aspects that could create an unpleasant experience for new users. For example, starting the app for the first time on the last day of a particular level and placing tasks on that level has them immediately shifted the following day. As a whole, this is okay—it illustrates the functionality of the system and gives a sense for what to expect. The edge case is when the Monthly level rolls over with new tasks. The Someday level is slightly less accessible than the other levels, and it is less obvious why or where your tasks have gone.
To remedy that, I considered hiding the This Month level if a new user starts the app for the first time within a week of the end of the current calendar month. This forces them to work with a scale that is more appropriate to their timing. When the next month arrives, the This Month level appears with a fresh start and the contents of This (Last) Week’s unfinished tasks.
Another solution was to prevent moving any task into the Weekly/Monthly levels on the last day of their cycle. It makes a lot less sense to intentionally move a task into a level that is right at the edge of sliding all its tasks off. If I disable the buttons to move it downward, that feels inherently frustrating. It’s denying a core functionality of the app without offering an alternative.
The tasks could also have a way to be moved into the next occurrence of the level. In other words, moving a task from This Week to Next Month instead of This Month. It would completely remove access to the task until the following month appeared. This could even be done automatically if the user tried to move a task to This Month on the last day of the month… the issue that I had with these ideas is that it offers some “mysterious behavior” to the user. I slide a task from Week to Month and it disappears? What gives?
Either I go out of my way explaining these subtle differences in functionality, or I complicate the UI to house it all in a more self-evident way.
After using the app myself, I found myself “gaming the system”, in the sense that when I knew something was about to roll over and I wanted it to land in a particular place, I’d slide the task to the preceding level (knowing that tomorrow it would appear below, where I wanted it). It feels a little silly to have to dance around the primary functionality of the app during normal use.
Closing Thoughts
Brainboard was a mental organization app in the same vein as Tabgapper. Tabgapper’s timing precision tends to be more useful or practical in my experience with them so far, though Brainboard fills a separate niche of housing more complex or detailed information, even information that is intended to linger without scheduled action. Many of the things I list in Brainboard would clog up my Active Tabgapper tabs, and are less appropriate in that context. That said, I find value in having certain “tasks” hang out for longer on the board. One of the patterns I found myself doing is listing off many potentials or “next steps” for projects or activities and using Brainboard to help select what to do next (sliding the result up to the Now level). I’ve found that Brainboard is able to house varied and long lists without issue, while Tabgapper distinctly avoids that.
I think the two applications work well for their own premises, and I’m currently considering how they might be combined. I’ve already schemed up the capacity to send tasks/tabs between them, which is relatively straightforward due to their setup (as PWAs within the same origin, sharing localStorage). I may pursue that at some point.
Another, more fundamental design challenge in this domain is how to recognize, illustrate (to the user), and resolve stagnant tasks. Certain tasks get added to the list without ever getting acted upon or completed. It’s easy to recognize as a user. You see a task (for the tenth time), in the same place, and you feel an impulse—maybe a desire, maybe more of an obligation—to act upon it… and still you pass it by. I’d say this is normal behavior for people. Our minds attach to many things based on sentiment or perceived value, what we think of them, rather than their actual value or connection to us. What I want to build is a system that can point this out to the user and deliver the conscious question, “Does this really serve me, or can I let it go?”
Do you think you are capable of answering such a question honestly?
As always, I’d be honored to receive your feedback if you try out this application.