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.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Be a Mechanic...with Android and Linux!
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters