Yesterday, I expressed my desire for a streamlined documentation and tracking system, because (1) I have too many tools to check and (2) I don’t feel they are supporting my work as well as I think they could. I still feel a lot of friction when I’m clicking on all these tools, which reduces my stamina in doing the actual work.
This morning, it occurred to me that the problem isn’t that they’re bad tools; they are all “best of class” in one way or another. Where they fail is in supporting my way of doing work. So what is my way, exactly? Time for a bit of investigation!
Breaking Down the Current Process
Let me start by iterating the kinds of work I produce:
- articles reviewing stuff I find interesting with supporting photography
- articles about the human condition, told from my perspective
- articles about what I do and how I do it with supporting photography
- articles about system concepts with supporting photography
- articles detailing my insights about processes, workflow, and creativity
- written documentation for systems I have made, or am learning how to use
- working code in the language of the month
- interactive software applications
- information architecture diagrams and supporting documentation
- written strategic design assessments
- computer graphics for use in websites, articles, or software
- web page implementation in html/css or template language
- printable PDF forms for time tracking
- podcasts, screencasts
My production stack, which are the tools used to create my work, is a collection of word processors, text editors, illustration programs, publishing tools, programming environments, and A/V editors. Each application is used to create finished artifacts: graphics, sound files, formatted documents, or working software.
My productivity stack, by comparison, is what helps me manage my knowledge, goals, tasks, timetables, and channels of communication toward the production of those finished artifacts. In some sense, I regard productivity as a necessary evil, which I tolerate because I overload my plate with dozens of personal interests and external commitments; the productivity stack helps me compartmentalizing and track related work, and reminds me what I should be doing to maintain progress and deliver on-time. It helps me choose what to do next by keeping track of every possible task, and it fills the gaps in my memory when it falters. This reduces overall anxiety, and having access to everything keeps me from taking on too much work at one time.
I’ve annotated yesterday’s list of productivity tools with their function:
- Trello – Visual task storage and prioritization.
- Excel Timesheet – Time tracking by job, encrypted password storage.
- Local project storage – Projects are organized by jobcode. Business information organized by operational function.
- Dropbox – Synchronizes local project storage between computers; also client file folder sharing.
- Basecamp – Project journaling, client comm and info.
- Google Apps for Domains – Calendar, email, co-creation of documents during video conferences.
- nvAlt – Quick Markdown-formatted note-taking on the Mac.
- Bitbucket and Github – Off-site source code revision management for personal (and client projects that require it). Replaces SVN.
- Scrivener – In-progress long-form writing and journaling. Replaces Word.
- WordPress Multisite – Blogging. Distribution point for resources like the Productivity Tools page.
- Bugherd – Formalized issue tracking (for one particular client).
- Physical 9×12 notebook – For offline visual thinking, tapping different part of brain.
- Emergent Task Planner – For scheduling tight days. I will often just draw the form into the physical notebook.
- Frictionless Index Cards – I just like them because they’re pretty and thick. I write todo lists on them, or sometimes put them in an index card dock.
The majority of these tools are for management of resources (time, tasks, knowledge by project) and management of external responsibilities (meetings, communication, teamwork).
For managing resources, my general strategy is to store all relevant project material and notes in the same place, accessible both by myself and whomever I’m collaborating with. So while I might be using Basecamp, Google Apps, or Trello for three different clients, I try to keep my communication/documentation completely within that system as much as possible. Additionally, every client gets their own local storage area, for example a folder in my “Projects” Dropbox folder, “0123 Client – Project”. The jobcode is used for invoicing, and for tagging other folders I might have to create in my temporary video production folder (outside of Dropbox because the files tend to be enormous). One exception is the use of distributed revision control systems such as Git or Mercurial, which should NOT be synched through file mirroring utilities like Dropbox; all these projects sit in a dedicated folder alongside my main Dropbox folder called HG (for Mercurial, which I used to use). For rapid access to online resources, I have a private browser home page that jumps to each active project. For local files, I have the same easy-to-access folders as high up the folder hierarchy as possible, which are the
HG folders. On my main Windows workstation, it’s
D:HG. On my Mac, it’s
DesktopHG. The top-level projects in my DropBox folder are
@Projects-Dave, with the rest non-project data. I actually need to clean this up a bit, now that I think about it, because it’s a bit messy.
For managing external responsibilities, I borrow a page from GTD and use Google Calendar for only scheduling appointments, and I try to keep them two two days a week because every meeting is incredibly damaging to my productivity for the day. For task management, I use Trello to maintain a list of every task I can think of doing, prioritized from right to left. I use Basecamp to maintain continuity on most projects, creating boards with important shared data and using messages to track threads of development. There are two threads: (1) continuity with the client, describing what’s going on and what should be happening and (2) a thread for my development work thinking, timestamped, so I can log my discoveries and decisions in a form that can be reviewed later. This keeps all the client-related materials, including deliveries, in one place. Important external links can also be consolidated in the project description, so I can find them all later. It works fairly well, the only issue really being Basecamp’s own shortcomings, particularly with posting code fragments.
In an ideal world, I would not have a productivity stack. I would instead just have a calendar for telling me when I’m going to hang out in people’s studios to have “show and tell” with our latest work, keeping the creative momentum going. These tools are really distractions from doing the creative work, and it’s that creative work that produces opportunity. MAKE AND SHOW is my mantra, not MANAGE AND REMEMBER. The hallmark of a great productivity stack is, in my world, a very small one. The one I have outlined above is probably as small as I can get it without writing my own software, which I’d actually like to do someday.
The Missing Stack
I have an excellent application stack for production, and an OK one for productivity in terms of managing resources and responsibilities. There is a minimum amount of discipline required to make the file storage work, and the task management/client communication system works well enough. As I have mentioned in the past, however, my biggest issue is starting projects. Taking that first step. Getting moving. In that regard, none of the systems I have in place right now are particularly easy to start because they still require memory recall. I still have to remember which files I have to open by retracing my steps. Is it in Basecamp? Oh, today’s task requires image files that are in the project store in dropbox, and I need to look at the email communication from last night that I now have to copy back to Basecamp into my development message thread, which will become my “running journal”. Oh, and what did that email say? It references a Skype conversation from last week, which I have written up as a log somewhere in a text file…in Basecamp? Google Docs? Text file? And even once I get to that point, there’s the hard part of actually DOING the work.
So I’ve got some refinement I could probably do with the productivity stack and how I use it, but what I’m really missing is the creative support stack or the design thinking stack. This is the set of applications and processes that support the hard work of doing the work. This is distinct from productivity as it is about supporting the creative act, which means dealing with the uncertainty of doing something for the first time without knowing much about how I’m supposed to do it. So there’s learning, reflection, experimentation, and hypothesizing. There’s lists of resources. There’s documented results of success and failure. There’s patterns of thought to document. There’s the challenge of getting everything together so you can look at the problem as a whole, and the logistics involved in making that happen. This is the HARD PART of the work, and I don’t have a reliable tool stack for dealing with it.
Let me consider the kinds of work I’m creating right now, which could benefit from some creative support:
- Writing a long-form piece of text – Either Scrivener, WordPress, Sublime Text, Google Docs, Stickies, nvAlt, or InDesign. When I’m writing something long, I am putting together a lot of different thoughts and trying to sequence them into some order. Sometimes, I don’t even know what I’m trying to write about, and have to rewrite several times until some theme becomes clear. None of the tools, with the exception of Scrivener, are designed to support this kind of collection and sorting of data. I love Scrivener, but it disappoints me with its shaky cross-platform typography. Every once in a while I give Evernote a try, but it suffers from a single-view focused layout philosophy; when I am trying to integrate a lot of thoughts together, I need two or three windows open, sometimes of the same view.
- Writing Code – I tend to get involved with projects that combine with visual design with interactive development. Not only am I thinking about the way the software is being used, but I am also thinking about how to practically implement it using code. And since I’m often using a new environment or tackling a new kind of problem, I’m constantly learning new languages and knowledge bases. The systems I describe for “long form text” above can be used to document some of it, but they all fall short when it comes to copy/pasting fragments of source code. Perhaps the most promising solution I’ve found is Crowd Favorite’s Capsule WordPress theme, which converts the venerable CMS into a programmer’s journal. I also tend to keep some documentation in my Git repositories, but not consistently.
- Long Term Research and Development – A lot of my personal projects have stalled because I’ve been unable to maintain regular progress on them. I think it may be because I don’t have the discipline or the system to keep everything in one place. The closest I have to a system is probably this blog, and perhaps I should just start improving its underlying capabilities to make it as easy as possible.
I think I’m looking for better document management combined with a life stream, capable of integrating all kinds of text, scraps of thoughts, and reference material into one place. That sounds a lot like Evernote, actually. The next step is leveraging Evernote (or something like it) into a creative thinking tool that combines the features of Scrivener, Git, spreadsheet, writing tools, and an asset manager like Adobe Bridge (but less sucky). I guess I’m craving some kind of enhanced journal, really, that can be used to create a publishable narrative with supporting tables of useful concepts. Such a tool could also be used to document and organize DISCOVERY as one trudges through the creative process.
Some of the qualities I”d like this stack to have:
- The ability to mark and save touchpoint concepts and insights, with relevant context, in a narrative or chronological form. I want to be able to see how the ideas evolve. I want to be able to accurately and rapidly remember how I was feeling when I solved a problem, even years in the future.
- Maintain a dialogue with myself, critical yet forward-looking, as a way to maintain momentum. This is a more verbose version of the item above. It provides context for my decision-making, recording the experiences that lead to insight, with respect to my near and medium-term goals.
- Maintain a succinct record of the decision-making process. The critical path is revealed as theories are tested and evaluated. New concepts are named, categorized, and fit into the theory. Existing systems are repurposed. As each “working” piece is created and eased into position, this narrative becomes the basis for future process.
- The ability to refine, refactor, rename, normalize documented concepts, with revision control. There’s a difference between the first iteration of an idea and the 30th, and tracking the development of key concepts leads to improved systems down the road.
- The ability to page through everything, to jump around, to make new indices for new projects based on repurposing of the old.
- Integration of this tool with the creative production tool environments. Or at least the ability to spawn the relevant documents at the press of a button.
Right now, I am doing all this manually, and it doesn’t feel particularly smooth in operation.