Mind Maps: the Poor Man's Design Tool
CowboyRobot writes "'UML too complex? Flowcharts too old school? Mind maps offer a simple way to capture designs and weave them together elegantly.' The quickest way to begin designing a program is to simply write down the steps in normal text, but this method breaks down with more complex projects. UML can be a useful format for larger projects but can be difficult to get right, especially when trying to use it with a less conventional project. The middle ground are 'Mind Maps,' 'a diagrammatic representation of loosely connected ideas. They are a central tool in brainstorming sessions. Mind map tools help capture ideas and then mush them around until you have the structure you want.'"
Slashdot discovers mind maps. News at 11.
I suspect we all know what a Mind Map is, and what their uses are. Alas, I don't know of any program which implements the original concept for Mind Maps (BBC2's "Use Your Head" series from the 1970s). Does any existing program support cyclic relationships, for example? Other than as a hack with external arrows or similar added as decorations.
Those who can make you believe absurdities can make you commit atrocities. - Voltaire
I don't know - it's a free / open source mind mapping tool he recommends.
Mind Maps are basically digitized "brainstorms" that we were all (some?) taught in school. Digitizing anything comes at a cost: Using the UI. Usually pencil and paper is way more freeform and faster, but having your ideas digitized has some intense nerd value!
No not all of us were taught this in school. Also there are mind maps and mind maps. Tony Buzan is the man for the classic mind mapping techniques but people should try to evolve their own and like myself will often develop their own shorthand in the process which makes note taking and mind map design so much easier.
I like FreeMind (mentioned in the DrDobbs article). Of course I knew about mind maps before, but the ability to export a perfectly formated map as Pdf, HTML and in various image formats is great. I think I'll be using this instead of paper in the future. I've tried various UML design tools in the past, but they all require that you have already made some of the decisions beforehand.
I think UML is a great way of describing a system once you have made all major decisions, but whenever I need to think about a new project, I have always prefered pen and paper. I'll seriously give FreeMind a go now.
She made the willows dance
You can spend a week in a tiger team lock-in session, mind mapping the shizzle out of your next project. Eventually, a desperate delirium sets in, and you'll agree to anything just to get out of there. Thus the design is "finalised".
Then by the time you get back to your keyboard, some executive vice president of marketing is accidentally exposed to a copy of Wired, and decides that instead of writing an app to keep recipes on, what you really need is to ride the frontsurge to a collaboratively cloudsourced web 3.0 win-win solution, and the charade starts all over again.
Experience starts to look a lot like cynicism after a while.
If you were blocking sigs, you wouldn't have to read this.
If you are an experienced thinker then you probably need time (in ways you have got used to eg On waking-up or hiking or "Shut up! I've just had an idea!") to note your thoughts and see where they lead. You're quite likely to have ways of grouping and ordering notes on [bits of] paper which just happen. The only software you need is a pencil and scrap paper.
If you are one of the 90% of people who don't use analysis and imagination then you need prompts and buckets. Prompts to ask say 'what are the sub-tasks' and buckets to keep similar things together. MM don't have prompts and the buckets are very generic. For a particular task such people need particular headings to put 'first answers' into.
You make a very poignant argument, but it fails to address that fact that yes, they are.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
I suspect that for most people, the reason to use a mind map rather than UML would not be UML's complexity. UML scales pretty well: a bunch of boxes with names in them and lines between them to signal what is related to what is a valid UML class diagram already. Instead, I think the problem with UML is that it forces you to think very carefully about what exactly it is that you're going to create. Back in the 1960's and 1970's, people like Donald Knuth and Edsger Dijkstra advocated careful thinking about software, rigid specification, and proving correct any important algorithms. They saw software as a mathematical construct, and the exercise of building software as akin to proving theorems.
Fast forward to the Internet age. Software is everywhere, and rare is the project where the customer can tell you clearly what they want. The small cadre of people who are capable of the precise and abstract thought required to do programming the mathematical way is not by far big enough to write all the software that the world needs, so even if customers could make rigid specifications, most programmers would find them written in an alien language. So we have adopted a biological rather than mathematical approach: specifications are never exact, software is always broken, but it's okay because the software has an immune system (we call it vendor support), which fixes up errors continuously. In such a world, maybe a mind map is as formal a description as you need.
Personally, I used UML to describe a logical data model in my last big project. I was the only one with a formal CS background in the project, but everyone understood the diagrams just fine. I had to explain a few more advanced things to some people, but it was no problem. And we did think everything through very carefully, and so far the whole thing is holding up very well because of that. In my opinion, even in the age of agile development and web technologies, careful thought is still invaluable in software development, and a diagram language that lets you specify a bit more detail when you need it is a very useful tool. I'll stick with UML.
Undoing mod points to post this. If you like FreeMind, you really need to try out Freeplane. Much more functional than FreeMind on so many levels. :-)
Video of me using Compendium in real time to create a concept map of a discussion: http://barcamp.org/w/page/47221410/Desktop%20or%20Mobile%20or%20Web
No video, but here is the concept map made in real-time with Compendium in another workshop at the 2011 Capitol Camp:
http://barcamp.org/w/page/47222818/Tools%20for%20Collective%20Sensemaking%20and%20Civic%20Engagement
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.