Being largely a back-end developer (and a somewhat large-backended developer, to provide full disclosure) I end up spending some significant amount of time explaining what it is I am proposing to do, and how it will help with the things people can see. Often enough, it is also how I go back and explain what I have accomplished to people who may not be interested in hitting my RESTful API with curl.
To this end I’ve gained some experience making diagrams in Inkscape (Installation instructions here). Why Inkscape? Because when I’m done, it looks elegant, unique, and beautiful. Something you can’t pull off with OmniGraffel or other “made for programmers” drawing tools.
So without further rambling, here are my 10 tips for drawing great diagrams in Inkscape:
Tip #1: Use a custom color pallet. Having a pre-selected set of colors that work together means you aren’t wasting precious brain cycles trying to get this right on your own. My goto tool for this is Color Scheme Designer. Because I’m often trying to pull attention to some specific detail in a larger architectural diagram, I tend to use the “accented analogic” setting which gives you a nice set of colors with a clearly contrasting color that will really offset some aspect of the drawing. Here is a great tutorial.
Tip #2: Work within the bounds of the printed medium. The bounds of a printed page are THE major limiting factor in what I put into a diagram. It’s the means by which I abstract away the noise (because it won’ t fit) and it forces me to focus on what matters. (Tufte is right, paper still matters)
Tip #3: Use the Guides Creator. Under the menu: Extensions / Render / Guides Creator you can add guides (light blue non-printing lines) to your drawing that will help create a professional layout. I tend to use “The Golden Ratio” preset. I don’t keep things quarantined to these rectangles, but I do use them as a guide for the overall layout of the page. It just makes the final product more visually pleasing, and it gives me some starting structure. You might find that generating this, then removing 2 of the lines (so you only have 2 left) gives you a nice space to break out your diagram from supporting comments, keys, titles etc … You can find out more information here, though it is likely already built into your current version of Inkscape. — You may want to turn the “Snap” off under view – or it may drive you mad.
Tip #4: Start with squares and circles and lines, and label them. Just like any artist with a blank canvas, start with simple shapes and build out from there. Every diagram I can remember starts that way, though it rarely ends up looking even remotely like how it starts.
Tip #5: Build out templates – You often find that you need to draw out a series of similar things, its great if they all look alike and follow a similar style.
Tip #6: Use the align tools to keep things lined up and centered. (crll-shift-a) or under the “Object” menu “Align and Distribute” – the better aligned and evenly distributed your drawing, the more likely people will see the details you want them to see, and not focus in on something that doesn’t line up. What’s more, you can intentionally mis-align those things you want to stand out.
Tip #7: Extensions add the “sex”. – When I think a chunk of technology is really sexy (say MongoDB, or some cool design pattern that will that offer an elegant solution) then I make damn sure it looks sexy. I just click around inside the Filters and Extensions menus ’til I think it looks hot. Likewise, if I think something is old and crufty, then Filters can achieve that as well … Just to be clear, subtlety in sex is critical. No leopard pants! And remember your light source – don’t add drop shadows under one object as if the light is from the top, then on top another object, as if the light is from the bottom.
Tip #8: Vary size and color of similar objects – For instance, if you need to get across that some connections are more expensive than other (ie they carry more data, or are over a tighter connection) then vary the size of your arrows – or if you need to clearly distinguish between the types of data being sent, change their colors …
Tip #9: Include a Legend – Sometimes information gets really dense and repetitive, so adding in a key can greatly simplify and elucidate your drawing.
Tip #10: Be creative. While there are great symbols and methods for getting across relationships between objects in UML – or establishing flow in a Flow chart, with a tool like Inkscape, you can use your imagination and the application of various tools to create relationships that can be more immediately intuitive and more fun to view.