Hacker News new | ask | show | jobs
by kamaal 4654 days ago
Thanks for posting this.

Maps make amazing summarization/summary capturing tools. I used to unknowingly use them during my college days. One of the main reasons why I spent 1/10th the time yet scored the same as my classmates was maps. I would practically convert each chapter into a map, and merely crawling though a map was more than sufficient for any kind of a revision.

In our industry maps make wonderful testing tools. Lets say you want to test X, write down a map of each functionality, then write down further nodes, which basically is what could possible go wrong or right with each node(Each of this becomes a separate node). For each node you expand, stress the node bring out more test nodes until you can't stress any node anymore.

The resultant map will be nearly the best test cases you can come up with.

Now do this before you start coding, and what you will get is all the scenarios you need to handle to make the code bug free.

Additional tip, avoid using map software. Best tools for this kind of work are paper/pen or whiteboard/marker.

I've been using this strategy to write C code for embedded systems. And it works like a charm.

3 comments

Regarding software, I use Freeplane/FreeMind to record the majority of the thoughts and information I want to preserve, and I think it works well for me. It doesn't have the sheer freedom of pen on paper - which I still use for mapping out thoughts that I'm not quite sure about or have complex relationships - but it serves me well in 1) categorising random scribbles and steps into meaningful subcategories, and 2) crystallizing the final, synthesized thoughts I have on a matter. Plus I keep my map files in my Dropbox so they're synced to all my computers (although I haven't set up the software to view them on my phone). Scalable, easily reorganized and expanded, cross-connectable, very fast to input, synced and backed up, free - what's not to like about software?

I agree with you on the usefulness of mapping for testing. It's definitely has helped me a lot in problem-solving. I'll throw out a few nodes that I think I need to investigate, explore each one a bit, write more items to consider, and whittle down or branch out as necessary. So after a while I resolve all the branchy, bushy sub-issues and have a reasonable game plan. Sometimes I dive into code halfway, but switch back to the map to record where I am and add new issues that come up that I need to resolve.

I also record most of the coding methods I find while working on tasks, in general form. So my mindmaps are also a web of how-to notes or a gigantic cheatsheet that details how to achieve any effect that I've previously worked through: from comparatively minor ones like the syntax for Rails migrations or opening a new window in JS, to larger ones like how to set up a Rails+postgres+nginx stack on Ubuntu, recording every action taken and issue encountered along the way. Comparisons of tools and databases and frameworks, mysterious bugs that I've run across, Sublime Text shortcuts - they all go into the maps.

I'm not sure I need to record every thought that goes through my head like the author suggests, but I think there's a lot to be said for keeping a comprehensive, organized knowledgebase.

One thought that occurred to me was that if the author had written this in the past few years, it could easily have ended up as a paid "self-help/achievement" e-book that he'd be hawking for several bucks via affiliate sales and a snazzy marketing site with sample chapters and a newsletter. It's admirable to see substantial written content being offered without all the digital marketing.

What makes paper/whiteboard so advantageous ? (Honest question, I'm using hierarchical TOC at the moment) considering it's much harder to edit, and slower to get thoughts out compared to typing ? (Note that I've only started reading the link, it may be addressed further down, if so, sorry).
>>What makes paper/whiteboard so advantageous ?

This is a very important question. Drawing Maps, especially for testing purposes depends on dumping things from your brain to paper as they come to you. The problem with Map creation software is Mouse and Keyboard, take time to draw a circle(Or at best position a circle), and write things inside the circle. Brain doesn't work in get-idea->hibernate-until-recorded->proceed mode. Our brains pretty much reach an idea, and then proceed towards the other. For that you need a quickly interacting tool. Pen/Paper, Whitboard/Marker is the best tool at this time for that kind of a purpose.

Another advantage of White board is the size. Many software teams gather create a map on a big white board, take a photograph and mail the team.

Also stuff like using Pen/Paper has separate advantages. Like putting in quick note points, or a diagram etc.

I, too, prefer paper for the reasons you noted. However, I also tend to run out of paper and the map becomes a disorganized mess as I cram in new ideas. So often I end up reverting to software. I haven't found nice mapping software, so for the time being I'm using a text editor. So I don't draw circles or write pretty headlines or such; I focus on writing thoughts down (I type pretty fast) and I worry about organizing it later.

A map editor is on my todo list though. The goal is to make something where I can do exactly what I do now (type things down, little to no mousing involved, minimize time spent on the circles/organization/whatever) and shuffle the data around when it becomes more convenient. Diagrams and drawings will still be a pain though. Maybe I'll get a Cintiq or something :-)

Have you tried FreeMind? The interface is quite good -- none of this circle drawing stuff you point out.
Bears repeating that the keyboard shortcuts in freemind, particularly enter and insert, remove the need for the mouse. They are much quicker than circle and line drawing with pen and paper.
I use Wisdomap. One level about Mind42 but I can't collapse parents. I use it to make outlines. Click text mode then manually add the format after exporting. It's a pain. Does Freemind export formats in HTML?
It can export your mind map as a set of nested lists.
If you use Org-Mode in Emacs, you can also export to Freemind (C-c C-e m)
What map software have you tried and what are your problems with it? Due to my schooling, I find pen and paper better as a thinking tool than map software, but it is not searchable or persistent - two attributes that I really value.