As a small organization that succeeds by working as smartly and efficiently as possible, we’re constantly on the lookout for tools that make us more productive. Our latest find is Trello, a free Web-based collaboration tool from Fog Creek Software, makers of the FogBugz bug tracking service, the Kiln version control system, and the Copilot remote tech support tool.
We’ve tried numerous pieces of Mac software and Web services that promise to help our small group be better at task management, but nothing has really floated our collective boat. What we liked about many of the services was the way the task became the nucleus of information, around which could swirl conversations, due dates, staff assignments, and more. And we’ve found that any system that doesn’t have an email notification component may as well not exist — people simply won’t remember to check a task management app or site without an email nudge.
But all the services we’ve tried in the past have fallen down in a variety of ways. Some were too slow, some were too confusing to learn, and some might have worked but were beyond our budget. The real problem that all of them had, though — and this was much the same issue we ran into years ago when researching content management systems — was that they all had a conceptual model about how task management should be done, and it often didn’t match well with how we wanted to work.
That’s where Trello shines, because it doesn’t presuppose much of anything, but instead takes a real-world approach to managing bits of information and converts it into a digital form that outdoes the analog version in every way. In essence, Trello is a generic tool that provides a structured way of looking at various different types of data, rather than assuming that you’re going to use it for specific purposes.
Trello Overview — Imagine a whiteboard on the wall, with columns drawn on it to indicate different stages of a process, and sticky index cards representing tasks. You can write on the cards, and move them around on the whiteboard, such that you can always see at a glance where things stand in the overall project — including tasks that are complete, in progress, or on deck. I’m sure some of you already have systems roughly like this, but the limitations become clear quickly. Index cards can hold only a small amount of information, there’s only a single board, the cards can fall off, and so on. (As an aside, this turns out to describe a system called Personal Kanban, which I learned about only while writing this article.)
Trello takes that basic concept and moves it into the virtual world, improving on it in nearly every way, especially for those of us who work in decentralized organizations. Some of Trello’s advantages over the physical approach include:
- You can have an unlimited number of boards, regardless of how much wall space you have. I currently have 13 active boards covering a wide variety of topics.
- Boards can contain as many columns (Trello calls them “lists”) as you want. You can add and remove lists, and rearrange them any time. (That said, you wouldn’t want too many lists, because then you’d have to scroll left and right a lot, and wouldn’t be able to see the entire board at once.)
Cards can contain not only a lot more information than a sticky note, they can also contain specific types of data. They’re easy to move around within Trello — you simply drag a card to move it, which is a wonderfully satisfying action.
Boards can be shared among groups, so multiple people can all get the same overview and work with the tasks, with updates propagating to other viewers nearly instantly. Compare that with having a single physical whiteboard that only one person can see most of the time.
Let me explain more about each of these advantages as a way of showing you how we use Trello, and giving you ideas about how you might use it too.
Trello Boards — One of the big problems I’ve had with all previous task management solutions is that it’s often unclear what constitutes a “project.” Is an individual TidBITS article a project? Or perhaps the collection of articles that makes up one of our weekly issues? Or maybe it’s the act of writing articles in general? And how do I group all TidBITS-related projects together, to separate them from Take Control-related projects?
With Trello, there are three hierarchical levels of information: the board, the list, and the card. Boards contain lists, and lists contain cards. So the best way we’ve found to determine what constitutes a board is by size — some “project” is a board if you can come up with three to five lists that the board will contain, and can imagine what more-granular items will live on cards in those lists.
What’s truly cool about this is that Trello in no way tells you what should be on a board. I have boards for:
- Tracking TidBITS articles from idea to published piece
- Managing development ideas and bugs related to the TidBITS Web site
- Keeping track of the status of Take Control books
- Tracking changes in our EPUB production workflow
- Listing out the tasks involved in Take Control book distribution
- Outlining an upcoming Take Control book
- Collecting ideas for Take Control marketing efforts
- Staying on top of personal projects, like refinancing the mortgage
- Making short- and long-term to-do lists for Tristan’s summer vacation
As you can tell, some of these aren’t exactly task-based — Trello lends itself to anything that can be broken into cards in lists. I’ve even heard about people organizing who will bring what to a dish-to-pass party in a Trello board — I plan to try that next time we have a large picnic.
One last thing about boards. Trello keeps track of all the activity that happens on a board and displays it on the right side of the board. That way you can see at a glance what other people have been doing in the board, even on cards that you aren’t subscribed to. You can also expand the Board Activity stream to see more than the last few events in a larger view.
Trello Lists — Lists are by far the simplest data structure in Trello — they have names and positions within a board, and they contain cards. That’s it, and that’s great, since you can assign whatever meaning you want to each list, and to the action of moving a card from one list to another.
For instance, in our Articles board, we have six lists. When I come up with an article idea — say a TidBITS Watchlist item — I make a card for it in the Ideas list. Then, Agen Schmitz moves the card into the In Progress list so I know he’s working on it. When he’s done, he posts the article and moves it into the Posted (Needs Edit) list. For longer articles or anything we want to make sure is edited before being posted, we have a separate Needs Editing (Draft) list. Either way, once I’ve taken my edit pass on the article, I move it into a Published list so everyone knows it’s done. And every so often, I go through and archive cards for completed articles to remove clutter.
That’s five lists, and the workflow of moving items from list to list is mostly what happens in this board. But there’s a sixth list that’s completely unrelated — it contains cards that explain how to write TidBITS articles, how to make and link in screenshots, how to create audio versions of articles, and so on. These instructional cards are in a list by themselves in this board because we have a few outside authors who can work in this board too, and it makes a great central location for easily updated documentation or items that need to be consulted frequently by staff members (such as the list of current sponsors to mention in an article’s audio version).
In another board, we’re outlining an upcoming Take Control book with the author. It started out with a list for the top-level outline headings — we call them A-heads. Within that list, we created cards for each A-head. Our next step, once we’re all completely in agreement about the top level (there’s a lot of back-and-forth discussion that takes place within the cards), is to create a list for each A-head, and then create cards for each second-level B-head inside, again going back and forth as necessary to makes sure the B-heads are in the right A-heads and are in the right order.
In short, lists can contain whatever you want, and you can move cards around between them or not, as you wish.
Trello Cards — Cards are the atomic unit of information in Trello, and they can contain a lot. Each card can have:
- A title that describes the card in brief
- A more-extensive card description
- Colored and named labels for categorization separate from lists
- Reverse-chronologically ordered comments for discussing the card
- Members who are notified of activity within Trello and via email
- File attachments, for linking in files from your Mac
- Votes, a simple “thumbs-up” counter for determining popularity
- A due date, which provides an indicator as the date approaches
- A checklist, which can contain any number of items to be checked off
- An Activity view that shows all the comments and changes to the card
Some of these deserve a little more explanation. The card description, for instance, supports full Markdown formatting and can be edited and added to repeatedly. It’s ideal for storing fairly good-sized chunks of text — you won’t be writing the Great American Novel in it, but for a few paragraphs, it’s fine.
Although we haven’t used labels much, I suspect some people will appreciate them. You can have up to six, and they can have just colors or colors and names. There’s even a mode that uses patterns to make the labels easier to see for those who are color blind. We also haven’t used due dates much, since we don’t work on tight calendar schedules.
Trello has done a very good job of implementing comments. They’re ordered with the most recent at the top of the Activity stream, and it’s always clear who made which comment. If you wish to direct a comment at a particular person such that they receive a copy in email, you can use a Twitter-like @name to do so — Trello autocompletes as you start typing so it’s easy. Comments are the most heavily used aspects of cards in my experience, since they tie discussions to a card, whereas previously we’d end up with a general discussion in email. The only two disappointments with comments are that they don’t support Markdown like the card description does, and they’re not editable, so you sometimes need to make multiple comments when you forget something in the first one.
Having to direct comments to people all the time is fussy, so the other option is to assign people to a card, after which they receive email notification of the main activity on the card, including comments, changes in title and description, and movements between lists. We tend to assign people to cards a lot, since it’s helpful to make sure everyone is seeing what happens with the card. You can always see tiny avatars for those people assigned to a card. You can also subscribe to a card’s notifications without being a member of that card, in case you want to follow a card as an observer.
Attachments enable you to store normal files within a card; we’ve mostly used them for attaching screenshots that document particular parts of a workflow, although we also keep PodBOT linked to the card describing how to create an audio version of a TidBITS article for outside authors (see “PodBOT Improves TidBITS Audio,” 7 May 2012). Just added is the capability to attach files via drag-and-drop in most Web browsers. Also new is the capability to display a particular image attachment as the “cover” for a card; it shows on the front of the card when you see it in lists.
Checklists are in some ways a fourth level of hierarchy, since it’s easy for a card’s checklist to contain a number of tasks that have to be completed before the card itself can move on to the next part of a process. You can add, edit, delete, and rearrange checklist items at any time. We’ve used checklists for workflow, for Tristan’s summer reading list, to track what parts of a Take Control ebook need to be updated if we need to release a minor update, and so on. As you check items off on a checklist, Trello indicates just how complete it is.
Apart from moving cards from list to list by dragging, you can also move them to different boards, make copies of them, share them via URL, print them, export their data in JSON format, archive them (which hides them without deleting them), and delete them for good. One particularly welcome feature that was added recently is the capability to include a card’s internal checklists, labels, members, attachments, and comments when copying a card; that lets you make a “template” card and change it in only small ways. We’ve done that with a daily to-do list for Tristan during his vacation — the basics are always the same, and we add or subtract items each day.
Archiving cards is important, since lists that are too long become unwieldy, but if you simply have a lot of cards, you can search and filter the board. You can search on text in card titles, or by labels, or by people. No matter what, you can choose whether the matching cards will be the only ones that show, or if non-matching cards will instead be made translucent (while remaining fully functional).
Trello Sharing — The last aspect of Trello I want to focus on is sharing, because that’s central to its collaboration capabilities. Trello is a hosted service, so everyone who uses it needs an account, which can either be unique to Trello or connected to a Google account.
The board is the unit of sharing in Trello — you specify exactly who should have access to the board, and at what level. The permissions include visibility, commenting, voting, and adding members. Since it’s likely that you’ll be using Trello in a particular group, you can create an organization that includes a predefined set of members rather than having to add them individually. You can then differentiate in the permissions between organization members, board members (members of the board who aren’t in the organization), and public members (Trello users who haven’t been invited to your board).
All of our boards are private to members, but you can set the visibility of a board to public, so anyone can see it, even if they don’t have a Trello account. They will need an account to vote or make comments. You can see this in action on the Trello Development board, which is visible to the public but which limits voting and commenting to those who have joined Trello.
Once everyone is in a board and notifications are set up (you can choose whether notifications happen immediately or are combined and sent roughly once per hour), you can start collaborating in boards. We’ve found that Trello boards work equally well when working interactively and when working sequentially. In interactive mode, we might be having a Skype call, talking about the cards, and moving them around or making notes in them, all at the same time. Since Trello updates everyone’s view of the shared board nearly instantly, this is almost as fluid as moving sticky index cards around on someone’s office whiteboard during a face-to-face meeting. Sequential usage — where one person makes changes and other collaborators find out about them only later — also works well, and is how we mostly use Trello with our distributed colleagues. You can get up in the morning, see in email that work has been happening, and click through either from the email notification or from the Notification stream within Trello to add your own comments or modify the card as necessary. It’s all incredibly fluid.
More on Trello — Speaking of fluid, it’s hard to convey just how well Trello works. It’s almost shocking that it’s a Web-based application, given the smoothness of the animation when dragging cards and lists around, the way fields open up for editing, how lists of members appear for assigning to a card and so on. You can even drag the background of a board to scroll it left and right.
Much thought has been put into creating an interface that can be controlled in multiple ways, so, for instance, you can click the X button when working in a card to close it, or you can press Escape, or you can click anywhere outside the card. Similarly, fields generally close when you click outside them, but they either autosave changes or give you another chance to save any changes. Plus, Trello has single-key shortcuts for many actions, making it easy to stay on the keyboard much of the time (click the i button in the header to get documentation at any point). After fighting with the interfaces of many other task management solutions, Trello is a welcome breath of fresh air, and the tactile aspect of dragging cards between lists is almost addictive.
Staying with “fluid,” I’ve become so fond of Trello that I created a site-specific browser for it using the Mac app Fluid. While I’ve had trouble using Fluid for many Web apps, it seems to work perfectly with Trello, and even supports the drag-and-drop attachments. The big benefits of breaking Trello out of my Web browser are that it doesn’t get mixed up with other tabs I have open, I can make it full screen on my second monitor (Trello works best on a large screen), and I can switch to it with a single Keyboard Maestro keystroke. The only downside is that links clicked in email notifications still open in my Web browser; there’s no way to direct them to the Fluid instance.
The Trello Web app works in Mobile Safari on the iPhone and iPad, but it’s not as slick, largely because you can’t drag cards around and because the small screen is quite limiting. Fog Creek Software has responded to this by creating a free Trello iPhone app that lets you do most things you can in Trello. It’s a little clumsy, because the iPhone’s small screen size forces a great deal of extra modality, but it’s a good start. It’s also iPhone-specific, so it runs on the iPad only in compatibility mode, and only in portrait orientation. Also notably lacking from the iPhone app is support for push notifications; they’re next up in the Trello Mobile Apps board. Given Fog Creek’s skill in making the Web app so usable, I suspect we’ll see much-improved iOS apps in the future, as they find the time.
I have very few complaints with how Trello works right now, and Fog Creek Software has already addressed some of those. For instance, the Subject lines of email notifications were entirely generic when we started using Trello; now they attempt to provide more indication of what happened. This turns out to be a trickier problem than anticipated, since if Trello needs to notify you of multiple activities all at once, the Subject line can’t possibly be specific. Also still unaddressed is a minor bug that prevents Markdown ordered lists over 10 items from being formatted correctly.
More interesting are the feature requests on the Trello Development board, many of which we’ve had as well. Time tracking is the most popular at the moment, with almost 1300 votes, but Trello users are also asking for the capability to move or copy an entire list to another board, the capability to sort lists in various ways rather than just moving cards around manually, additional labels and tags, better exporting, editable comments, assigning of people and due dates to individual checklist items, and more.
One card on that list is titled “Let me pay you for Trello!” and in it, Fog Creek Software explains a bit of why the current feature set in Trello is — and will remain — free, and how they might adopt a “freemium” model for future features. At this point, I’d happily pay for a Trello account, and I appreciate that we’ve been able to use it so significantly without the specter of a large monthly bill hanging over our heads. Limited-time trials don’t work well when it takes significant time to get enough people using a tool to determine if it’s worthwhile.
But for the rest of us, Trello is compelling, and so much so that after I got everyone on the TidBITS staff to use it for article tracking, a number of our editors quickly adopted it for other purposes, drawing their spouses and other colleagues into the fold. I hope you find it as useful and engaging as we have.