
Ask HN: What software for diagrams and flowcharts do you use? - ziko
What software for diagrams and flowcharts do you use?
======
bdfh42
A pencil and paper are the superior solution.

When you get to show the results to others - just use whatever you are
presenting the rest of the message with - almost all "office" type products
have sufficient capacity to manage that part. The clever bit is the bit you do
by yourself.

~~~
alok-g
Nothing beats pencil and paper. We used to just scan hand-drawn diagrams and
insert them into PowerPoint or wherever. Over the time this got accepted as
the culture within the group.

------
fatman
I started using Dia
([http://projects.gnome.org/dia/](http://projects.gnome.org/dia/)) when my
employer wouldn't spring for Visio. A bit quirky at times, but overall not too
bad for simple stuff.

------
ndcrandall
I first use paper and pencil, but then I transcribe and keep it up to date
electronically.

[http://lucidchart.com](http://lucidchart.com) has been my favorite service as
it is free for simpler projects and can be upgraded if you need more
complexity. I've watched the project grow from an idea, to recruiting
developers in my CS classes, to a full blown project which has exceeded my
expectations. It's exciting to watch!

~~~
abrichr
What's your process/toolchain for transcription and storage?

~~~
ndcrandall
My process is a bit rudimentary. I just have a folder with notebook paper in
it. When I need to create a new system or subsytem I will draw it on paper
just as it would look in any of these diagraming tools. Once ready I'll use
lucidchart to replicate the drawing (schema or flowchart). Once it's
implemented in code and committed in Git I will go back to the electronic
copy, mark in red or other colors anything that will change in the next
refactor or implementation. As I refactor I change the red makrings to black
indicating it is now part of the system. The paper becomes an artifact of the
first revision.

Sometimes I'll break out a new paper and do the initial drawings to test my
knowledge of the system and see if I have complicated the design. This system
works well for me.

------
gnosis
Inkscape, when I want them to look really nice and am willing to put some time
in to making them look the way I want.

I've also used kivio on occasion, and graphviz, and ploticus. Again, all
depending on what I'm after.

------
crm416
Latex, with the TikZ package:
[http://www.texample.net/tikz/](http://www.texample.net/tikz/)

Steep learning curve, but there are plenty of examples around the Internet,
and it's certainly worth the investment.

------
torstesu
GraphViz: [http://www.graphviz.org/](http://www.graphviz.org/)

------
kryten
Pencil + paper.

Then zap it with my DSLR. Or if it needs to be published, use Dia and export
SVG/png into target document.

I occasionally write out graphviz stuff from my code using a very light weight
library I wrote (C struct to stdout) if I'm trying to visualise what is in
memory at a point in time. This has been invaluable whilst knocking up a
simple mark-sweep GC for a project I was working on.

------
dorfsmay
UML, network diagram, flowchart:
[http://projects.gnome.org/dia/](http://projects.gnome.org/dia/)

Sequence diagram:
[http://sdedit.sourceforge.net/](http://sdedit.sourceforge.net/)

Also for the corporate world where only Microsoft tools are an option, I tend
to just use MS Word, you can make diagrams that are good enough to get the
message across, yet everybody has access to it without requiring a special
license.

~~~
ch
sdedit looks like a really useful tool. Thanks for posting this!

~~~
dorfsmay
No Problem. I was really impress by the ease of use and output quality.

------
PavlovsCat
[http://www.yworks.com/en/products_yed_about.html](http://www.yworks.com/en/products_yed_about.html)

~~~
alok-g
Seconding Yed. It is great for making structured diagrams. It is very quick to
make good looking diagrams without spending much time on formatting and
beautification. User interface is nice and configurable, though a bit counter-
intuitive at times. I have been unable to figure how to make free-form
diagrams using Yed, so feel sometimes that creativity is hampered.

------
joelhaasnoot
\- A variety of online software along the way (most already mentioned here,
nothing cheap or good enough for the long haul)

\- Dia

\- Microsoft Visio (when available, makes nicer diagrams than above, but sucks
at anything software modeling related)

\- Enterprise Architect is supposedly the standard for the enterprise corp I
work for.

------
olegp
Here is a list of web apps for making diagrams:
[https://starthq.com/apps/?q=diagrams](https://starthq.com/apps/?q=diagrams)

I'll add any new ones that are included in the comments here.

------
wmil
I use Umlet: [http://www.umlet.com/](http://www.umlet.com/)

It's good for quick diagrams when you need to explain some of the more bizarre
architectural choices in your system.

------
AdamGibbins
OmniGraffle

~~~
neilbowers
Yep, OmniGraffle for me. I've been using it for the last 8 years.

------
pauldelany
[http://www.sparxsystems.com/products/index.html](http://www.sparxsystems.com/products/index.html)

------
alok-g
This is one of the best I have found:

[http://www.tentouchapps.com/grafio](http://www.tentouchapps.com/grafio)

It makes good looking diagrams very quickly without hampering creativity. It
requires almost no effort on formatting and beautification.

I wish they had an app for the desktop. People have requested the same on
their forums a few times.

------
Satoshietal
Flowcharts are stupid. Simple systems can be internalized (kept in your mind,
perfectly), and complex systems are too complex to graph to any human scale
size or useful purpose. These two categories do not overlap. They apply
recursively all the way down. Waste of time, no value.

~~~
wmil
Flowcharts are waste of time.

But diagrams can be very helpful. The important thing to remember is that "a
complete map" will be too noisy to be useful.

A diagram can describe a few parts of a complex system quickly and easily.

------
lubomir
Last time I needed to to create a diagram, I experimented with Diagrams [1],
which is an interesting way of doing it if you like Haskell.

[1]:
[http://projects.haskell.org/diagrams/](http://projects.haskell.org/diagrams/)

------
sahil_videology
For the rare moment when I need create a diagram in a computer, I'll use
PowerPoint. However, mostly it's just the whiteboard or pen+paper. I like the
chance to not look at the screen and, for the former, getting out of my chair.

------
wolfe
[http://www.draw.io/](http://www.draw.io/)

------
AdamGibbins
For ASCII diagrams: [http://www.asciiflow.com/](http://www.asciiflow.com/) or
[http://ditaa.sourceforge.net/](http://ditaa.sourceforge.net/)

~~~
dorfsmay
Neat! Thanks.

------
tobinharris
Sketchbook Pro + Wacom for sketching ideas and pasting in
Campfire/Email/Whatever.

yUML for auto-generated diagrams or where I need something more pretty.

Sometimes a notepad + iPhone camera to capture meeting/whiteboard diagrams.

------
corford
I use [http://www.gliffy.com](http://www.gliffy.com) whenever I need to knock
up a network diagram or similar. It's a browser based app but works very well.

------
bharyms
Lekh Diagram ([http://www.avabodh.com/lekh](http://www.avabodh.com/lekh))
Quick way to draw flowchart, block diagram etc. Only available for iOS though.

~~~
alok-g
I had tried Lekh Diagram and Grafio both and found the latter to be better.
You may want to try it out.

[http://www.tentouchapps.com/grafio](http://www.tentouchapps.com/grafio)

~~~
rajeevk
Lekh has better shape recognition and shape customizibility.

\- you can resize vertically and horizontally independently which grafio can
not

\- you can move vertices of any polygon.

\- You can draw bezier curve and modify it to any shape by changing the
control points.

-Lekh recognizes different kinds of connections from your drawing.

------
DanBC
gnuplot ([http://www.gnuplot.info/](http://www.gnuplot.info/))

dia ([https://live.gnome.org/Dia](https://live.gnome.org/Dia))

------
oliveratkinson
definitely
[http://www.websequencediagrams.com/](http://www.websequencediagrams.com/), it
produces clear results for management and clients

~~~
seivan
This is how I think it up in my head, just with words, and end up writing it
like that as well.

Thanks!

------
motley
yEd Graph Editor from yWorks
([http://www.yworks.com/en/products_yed_about.html](http://www.yworks.com/en/products_yed_about.html))

------
clearly
Gliffy. It's not perfect but it is quick and easy to get something decent
looking. It also has reasonable integration with Confluence if you're using
that internally.

------
ziko
Does anyone have enough expertise to tell me in which program this was made?

[http://cl.ly/image/1o070d3s2Y0b](http://cl.ly/image/1o070d3s2Y0b)

------
tdec
\- Mindjet Mindmanager for mind mapping \- Visio for quick and dirty
flowcharts \- ARIS for full blown process management exercises

------
pradn
I sketch the initial versions on paper. To present and distribute the chart, I
recreate it in MS Visio. Pretty powerful tool.

------
cdvonstinkpot
Presently I use LibreOffice Draw, but I've wondered what HN readers use. I'm
glad you submitted this thread.

~~~
ziko
Thanks! I think of this topic as rarely discussed but its 'products' are often
used.

------
stevejalim
Used to use Omnigraffle, but these days I'm a Keynote kid.

------
darkFunction
yUML ( [http://yuml.me](http://yuml.me) ) is brilliant for quickly putting
together simple, nice looking diagrams. It's based on Graphviz and doesn't
require graphical tools, just a basic text language, so you can throw together
something for a demo in 2 minutes.

I'm working on a tool to parse Objective-C into yUML at the moment-
[https://github.com/darkFunction/DFGrok](https://github.com/darkFunction/DFGrok)

~~~
tobinharris
Interesting! I built yUML and have an iOS apps company, we should use your
plugin. And add it to the yUML community page :) Thanks -- Tobin

------
hexagonc
Sparx Enterprise Architect

------
meerita
Omnigraffle. Illustrator.

------
X9E-127
I use paper. derp.

------
chrisgoman
Omnigraffle pro

------
wanghq
Powerpoint

------
mmgutz
Open Source PlantUML

------
russomi
Lucid

------
betterunix
Dia

