Dia - The Diagram Creation Tool
Dia is an application designed for quick creation of structured diagrams such as simple, line-based illustrations, flowcharts, UML charts and network diagrams. Being a vector based tool, there is some overlap with other applications such as Inkscape, but Dia's focus is on diagrams that are more functional than aesthetic.
The hub of Dia is its floating toolbox. Personally, I prefer to work fullscreen with this type of task, so I set the toolbox to always float on top of other windows in the preferences. The actual diagrams are edited within one or more document windows. The document is theoretically infinite in size, and you create more page space by scrolling off the side of the page.
The toolbox features a set of tools that will be familiar to anyone who has used a vector drawing package before, such as lines and boxes, alongside selection and text tools. These facilities seem sparse until you reach the meat of the program, the shapes palette. Initially, this defaults to about 25 flowchart objects that can be placed onto the diagram. However, these objects are more than just simple icons. For example, if you select the first shape, a rectangular box that represents “operation” in a standard flow chart, you can then place it within the diagram. The operation box has a flashing cursor in the middle of it for text input, and it automatically resizes itself to contain text, even when you add multiple lines.
Objects typically feature connection points around the perimeter, which makes it very easy to connect shapes using lines. You can connect a line to a specific connection point or allow the program to automatically select the best connection point, which updates as you move the object around.
You can choose other sets of shapes by using a drop-down menu. For example, there is a set for creating diagrams of electrical circuits, and another for chemical engineering diagrams. In total there are about 20 sets, most of which are applicable to scientific, computing and business fields. Dia is particularly good for creating computer network diagrams, and has a set of objects for just this purpose.
Dia can export to the PNG bitmap format in addition to a wide range of common vector formats. The program itself has some support in third party applications such as LaTeX publishing system LyX. It's also available as a Windows application.
As with a lot of specialist software, the user interface isn't aimed at casual users, and this results in a learning curve that may necessitate some recourse to the manual. It's possible to add your own sets of custom shapes, but unfortunately, it's a fiddly business that involves editing files. In fairness, the shapes are more than just pictures as they have quite a lot of extra information associated with them.
Dia is designed for the drag and drop (click and then click again and then press space to repeat, actually) creation of structured diagrams involving standard sets of objects. I suspect that many users also use it as a no-nonsense vector illustration creation program. However, if this is your main requirement, you might be better off with Inkscape. In fact, it would be quite possible to use Dia to create the type of diagrams that it's best at and then import the result into Inkscape to add a bit of eye candy.
Although Dia hasn't seen much in the way of actual updates in a couple of years, thankfully, it is still being maintained. If you have to create a lot of standardized diagrams, Dia is still hard to beat.
The Dia website
UK based freelance writer Michael Reed writes about technology, retro computing, geek culture and gender politics.
- Linux Kernel Testing and Debugging
- NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
- RSS Feeds
- Tails above the Rest, Part III
- Wanted: Your Embedded Linux Projects
- Tech Tip: Really Simple HTTP Server with Python
- Docker: Lightweight Linux Containers for Consistent Development and Deployment
- Numerical Python
- Tails above the Rest: the Installation
- Tails above the Rest, Part II