The Chandler Project

Almost 20 years ago, in my old stomping grounds at Dr. Dobb’s Journal, Mitch Kapor published an article on software design. He wrote:    (MU0)

The lack of usability of software and poor design of programs is the secret shame of the industry. Given a choice, no one would want it to be this way. What is to be done? Computing professionals themselves should take responsibility for creating a positive user experience. Perhaps the most important conceptual move to be taken is to recognize the critical role of design, as a counterpart to programming, in the creation of computer artifacts. And the most important social evolution within the computing professions would be to create a role for the software designer as a champion of the user experience.    (MU1)

His manifesto stuck with me over the years, and when I started organizing the first FLOSS Usability Sprints with Aspiration, one of the first people I contacted with Mitch. Mitch not only agreed to sponsor our event, but he put me in touch with Mimi Yin and Katie Capps Parlante, two of the leads of the Chandler project. Both Mimi and Katie were enthusiastic about working with us, and Chandler became one of our first participating projects.    (MU2)

At the time, Chandler was a lot of design and very little code. What intrigued me, though, was their design approach. They were aggressively committed to User-Centered Design, which was totally unique for an Open Source project. In many projects, Open Source or otherwise, interface design plays a secondary or worse role in the overall project. The interface is often designed after the fact. With Chandler, interface design played a core role in the overall design.    (MU3)

Last fall, Chandler participated in the fifth incarnation of our sprints, and it was amazing to see how much progress the team had made. Not only was there working code, but there was an active developer and user community, and there was an ongoing commitment to their design approach. The project was also about to face a major transition, having reached the end of its incubation phase under Mitch.    (MU4)

After reconnecting with Mimi and Katie, I decided it was time for me to start using Chandler. The timing for me was good. I had been a very happy user of todo.txt for personal use and a reluctant user of Basecamp for group projects. I wanted something that could replace both. The fact that it was a cross-platform desktop application was also appealing, because I regularly use three different platforms (Linux, Mac, and Windows) and because some of the people I’m currently working with do not have consistent access to the Internet.    (MU5)

The Why of Chandler    (MU6)

At its core, Chandler is a task manager in the spirit of David Allen‘s Getting Things Done methodology. You have items that you can organize into collections and prioritize as “Now,” “Later,” and “Done.” If you add a date to an item, it will appear on your calendar. And you can assign items to others.    (MU7)

You can view your list of “To Do” items by collection, in a calendar (if they have dates), or in a dashboard view that provides an overview of all the different things you have to do.    (MU8)

Simple, right? Well, yeah. That’s a good thing. But if you dig a bit deeper, you can see that this simple design has some very powerful consequences, and it all centers around this notion of the item.    (MU9)

Items have titles and descriptions, which are free-form text. They have priorities and possibly dates. Items can belong to as many or as few collections as you’d like. Items can be shared with or assigned to others.    (MUA)

The notion of an item is pretty generic, and in fact, you can see it in a lot of other applications as well. Email is the classic example. An email message can be thought of as an item. In fact, many people use their email as task managers. If they want to share an item, they email it to others (which is how Chandler works as well). If they want to categorize an item, they move it to a folder. If they’re lucky (for example, if they use Gmail), they can give an item multiple tags.    (MUB)

But email has downsides. The interface is not optimized for task management, although there are plugins that help. Most clients do not support tagging, which means that you have to copy items to multiple folders, and those items do not stay in sync. And email messages are static, whereas an item should be able to evolve over time.    (MUC)

Other applications that use this exact concept of an item are, well, other task managers: Basecamp, Remember the Milk, Bugzilla, RT, Trac, etc. In many ways, these are competing products, but in the Chandler world, they are actually complementary products.    (MUD)

This is the hidden beauty of Chandler. Chandler recognizes that people will be using a lot of different tools, from email to RSS to other task managers. It doesn’t try to be The One Tool. Instead, it is designed to be interoperable. You can write plugins that synchronize items in other applications with items in Chandler, so that you can use Chandler to do what it does best, and other applications to do what they do best, and all the data stays in sync.    (MUE)

Chandler essentially becomes a dashboard for knowledge work, a place where Knowledge Workers can live and get things done. Right now, email fulfills that role for most people. A tool like Chandler has a very good chance of supplanting email in this department, because it offers an interface that is more in line with what Knowledge Workers want to do. More importantly, it works with email rather than trying to replace it.    (MUF)

Chandler works right now. I use it every day, and I’m productive in it. However, its great potential is still largely unfulfilled. The interface is still rough, and there are very few plugins that take advantage of the synchronization capabilities. Every once in a while, I find myself longing for todo.txt (although it should be relatively straightforward to write a command-line based interface to Chandler that emulates it).    (MUG)

However, I believe that this roughness still works in Chandler’s favor. Why? Because as I noted earlier, Chandler is perhaps the only Open Source project in existence that aggressively integrates Open Source development principles with user-centric design. What we’re seeing right now is a spike, a product of Release Early And Often. But if you follow the design discussions — and you can, because it’s Open Source — you can see the ethos of User-Centered Design come through. The interface for the upcoming 1.0 release is going to be significantly better than the current design (0.7.4.1), and that will merely be scratching the surface of what is to come.    (MUH)

Chandler has the potential to be a really great tool relatively soon. It’s not there yet. But if you’re excited about the idea that an Open Source development process can actually result in better software for real people, you should take a look now. More importantly, you should participate in the community, which is fantastic, thanks largely to the expert guidance of Ted Leung and the development team’s active participation. Chandler is definitely a project to watch.    (MUI)

Blog Backlinks Enabled on PurpleWiki

If you view the Backlinks on any of my Wiki pages, it will now display Backlinks from both the Wiki and also this blog. For example, if you view the backlinks to “DougEngelbart”, you will see a list of all of my Wiki pages and blog entries that mention Doug.    (SG)

The beautiful thing about this feature is that it maintains context for all of the different concepts described on my Wiki. I list several Patterns on my Wiki, with some level of detail on each page. But when you look at the Backlinks to those Patterns, you see a list of all the stories where the Patterns are mentioned. I tell the stories as I have before, and the tool explicitly ties the concept to the stories that describe the context. That’s augmentation! As Chris Dent said, it “makes the universe bigger.”    (SH)

My essay, Wikis As Topic Maps, describes this phenomenon in further (and slightly more technical) detail.    (SI)

Open Source At Work    (SJ)

How this feature finally became implemented is a wonderful example of what makes Open Source so great. We’ve wanted it for a while, but didn’t have time to implement it. Last month, I started thinking more seriously about implementing the feature, because I wanted to demonstrate it to some potential clients. Unfortunately, I was swamped, and didn’t have time to do it myself.    (SK)

David Fannin to the rescue. David had installed PurpleWiki and the MovableType plugin, and liked it. However, he also wanted the Backlink feature. So, he wrote it, and contributed it back to us. Neither Chris nor I nor anyone else in the small PurpleWiki community knew David beforehand, but as you can imagine, we welcomed his contribution.    (SL)

David’s patch was just a hack. Chris had some ideas for refactoring the PurpleWiki code to better integrate this feature. So, he implemented them, and released a preview of the code. Chris’s refactoring made it very easy for me to write a similar plugin for blosxom. Suddenly, we had the feature I had been pining for.    (SM)

As an aside, I had grander plans for how to implement this feature, and those plans haven’t gone away. (See my notes on TPVortex for a preview.) The important thing is, David and Chris’s approach worked. It may not do all of the whiz bang things I eventually want it to do, but it does what I want it to do right now. More importantly, it may very well inspire others to implement some of the grander ideas. Release Early And Often is an extremely important pattern of Open Source development, because it enables collaboration, which accelerates the implementation and dissemination of ideas.    (SN)

Precedence    (SO)

Ours is not the first integrated Wiki and blog. Notable precedents include Kwiki and Bill Seitz‘s Wiki Log. These tools all had the integrated Backlinks feature before we did.    (SP)

The key difference between these tools and ours is that they require you to use a single tool. You have to use Kwiki as both your blogging tool and Wiki to get all of the features. Our approach integrates PurpleWiki with MovableType, blosxom, and conceivably any other blogging tool. This is consistent with our overall philosophy of improving interoperability between tools using Doug Engelbart‘s ideas as a unifying framework.    (SQ)

We’ve only taken baby steps so far. We plan bigger and better things. More importantly, we want to encourage other tool developers to adopt a similar approach, and to collaborate with each other to do so.    (SR)