This post expounds a bit on my various brainstorming workflows. None of them will be a perfect fit for anyone else, but the bits and pieces can be organized into a workflow that suits just about every need.
I mention a few apps in this post for which there are a dozen alternatives. I’m not going to list every possible application, but I’ll offer a few to explore. Feel free to mention your favorite alternative in the comments!
- Mind mapping
My ideas almost always start as “scribbles,” whether it’s a single-line note to myself, a sketch, or a quick Markdown outline.
Most of my scribbles are plain text, usually formatted as a Markdown list if it’s more than just a single line.
Pen and Paper
On occasions where an index card or napkin makes more sense for quick capture, I’ll usually just snap a photo of the result using the iOS camera app or KitCam (no longer available on the app store). I save my photos to disk using Dropbox’s camera import, and then manually rebuild notes as text or embed a sketch into a mind map.
Once I have a quick outline, I convert this to a mind map for speedier brainstorming. I put together a script for making the conversion from Markdown to a mind map dead simple.
Mind mapping allows me to quickly add ideas to any part of the idea and reorganize on the fly. If you’ve never mind mapped before, it’s easy to get started. You can do it with pencil (or markers) and paper, but I find it most effective when I use an application to do it. There are a variety available for both Mac and iOS (and Android).
My preferred platform for mind mapping is OS X. Speed is of essence for me, and a desktop platform is best for quickly navigating and popping in ideas. While there are a slew of options available, my preferred apps are:
- A simple mind mapping application with great keyboard navigation. It can’t handle notes, tags, file links, etc., but for rapid brainstorming it’s an affordable and capable option.
- Mindjet MindManager
- A more expensive but very robust application that allows me to add notes to topics, link files and urls, create tasks and due dates, add metadata for associating tasks, drill down to filtered views and more.
- A web-based mind mapping application that I use whenever I need to collaborate or share a map. It handles metadata, notes, tasks, images and more, and has amazing features for live collaboration, change tracking and presentation.
One thing to consider in any mind mapping app is the portability of your data. Most of the apps I use accept plain text import and export, as well as OPML as a transport. This allows me to go from Markdown to mind map and back without worrying about having to manually re-type things later.
Addendum: I can’t believe I wrote this whole thing and forgot to include one of my favorite brainstorming applications, Curio. To make up for that, I’m going to do a follow-up article entirely about brainstorming in Curio. Watch for it soon.
Once I have an idea fleshed out as a mind map, I need to convert it to an outline or text document again. Mind maps are excellent for brainstorming (for me), but looking at one later can be mind-boggling if it’s too random. Converting the result to a structured format and detailing things a bit further is often very helpful for me to create documents that I can review later and still understand what I was thinking.
Mindjet MindManager has an outline mode that lets you edit your map as an outline right in the app, reflecting changes to the map as you go. This can be a great tool for organizing what otherwise appears to be an unstructured, steam-of-consciousness idea. It can also export the map as a plain text outline which is easy to convert to Markdown or just save for future reference.
Most mind mapping applications can also export to OPML, which makes it easy to get into OmniOutliner or MultiMarkdown Composer. In OmniOutliner, you can edit as an outline and then export to OPML or plain text. MultiMarkdown Composer can open OPML directly as a Markdown outline, so you can begin fleshing out ideas and text.
Once I have the idea mapped out and converted to text, the finalization process varies depending on the type of project.
A writing project, such as this one, gets output to a Markdown outline, with headers for main topics, lists for subtopics and paragraphs for any additional notes I’ve already made.
Even after carefully editing an outline, the order of topics often changes. I like using MultiMarkdown Composer at this point because it allows me to drag and reorder the outline as I begin to write. My second favorite way to edit is in Sublime Text 3 with the MarkdownEditing and SmartMarkdown packages. If you’re editing MultiMarkdown in Sublime, also check out the SublimeTableEditor package.
For software development projects, my outline gets turned into a roadmap. In the outline phase I sort all of the feature topics into main topics representing versions. I usually have a current version, a 1.1 version for features I’d like but don’t need for an initial release, and a “future” roadmap for things whose necessity is yet to be determined. The features become Markdown lists under each version number, nested as necessary and with sub-paragraphs describing any feature that isn’t completely self-explanatory.
In an app that allows collapsible headers — such as FoldingText, Sublime Text (with SmartMarkdown) or the upcoming version of Marked2 — this makes for an easy way to overview a project and hide extra info until it’s needed. I usually format these lists as TaskPaper todo lists, though, using tabs for indentation, @tags for target version and priority level, and notes indented so they’re recognized as associated with their respective task.
Sometimes my brainstorms are more geared toward personal development. If the project is a “lifehack” or a goal I want to achieve, the final outline and notes become an nvALT note and the main topics are converted to an OmniFocus project. I don’t have a perfect tool for converting to OmniFocus yet, but Rob Trew has some scripts for converting OPML and TaskPaper formats to OmniFocus, which can work with a little tweaking.
Collaboration requires change tracking, commenting and a format collaborators are comfortable with. Depending on who you’re working with, there are a few excellent options for collaboration.
When people are comfortable with mind maps, MindMeister is my favorite choice. It provides a complete change history with timeline, the ability to add notes and links to a topic (which can be used for explanation or suggested changes without altering the map), and live collaboration.
The one drawback is that it doesn’t currently have an OPML export, but you can round-trip it by exporting to a format which can be converted to OPML, such as a Mindjet MindManager map imported and exported from MindManager. It does have an RTF export, though, which makes it easy enough to strip down to an outline.
When collaborating with Markdown files, you have a few good options. First, you can use MultiMarkdown composer, which has CriticMarkup built into the latest versions. This is great for collaboration between one or two people, but has its shortcomings with larger group collaboration. Primarily, change tracking and timestamps take some extra consideration.
Another option, and probably my favorite right now, is Draft. It works with Markdown, provides extensive change tracking and diff views and is easily shared with multiple parties. It has a ton of other cool features, and makes a good editor even when you’re working on your own.
An up-and-coming option is Editorially. It’s similar to Draft, but has some great features for commenting, too. Comments can be added to any text, and they stick with their text through edits, even maintaining relationships if the text itself is deleted. You can have entire conversations surrounding an item or paragraph and preserve those comments while editing. Editorially is currently in beta, but if you can score an invite, you’ll be impressed.
Plain old text
As a catch-all option, Google Docs makes a pretty good platform for working with outlines, plain text or even rich text documents. Change tracking, commenting and easy sharing and export make it a useful tool.
As I said in the beginning, these ideas probably don’t represent a cohesive strategy that will be perfect for you. My only goal is to share some techniques and ideas that will help others develop a workflow that makes brainstorming that much more productive. The world needs more great ideas, so find what works for you and start the process that will lead to shipping great new products and services!
Off the bat I’m noticing that it doesn’t allow pasting text to create multiple nodes, and while it can import OPML, it doesn’t offer OPML or plain text export. Feature request time… ↩
It’s coming soon, and it has the ability to collapse and expand headlines and nested sections with a click, and to collapse and expand all sections with a shortcut key. ↩