Dia in our enterprise



Greetings,
 
I work in a start-up and have been using Dia for some time now, mainly for UML and flow chart design. Dia is a great tool, with all the flexibility and potential required to become our enterprise's official diagram software.
 
In our effort to move away from Windows, we have been looking for a replacement for Visio. Dia is the obvious choice, being open and easily extendable. We have been evaluating Dia for two months now, first v0.86 then v0.88.1. Our conclusion is that Dia is mature, but still needs a few tweaks to be fully usable. In fact, we would need a v1.0 stable release. To this end, even though we are quite new to the Dia code, we would like to contribute to the Dia project, either in terms of code or in terms of graphics (shapes etc.).
 
All machines we use are x86 with Mandrake 8.0. (linux 2.4.12, glibc22)
Here is the list of all our remarks and feature requests:
 
Critical priority:
 
 - Loading/Saving
Several times, we have experienced problems in reloading our diagrams, mostly errors on connexion points. Once, the diagram was completely unusable.
 
 - Error recovery
Our main concern is stability. We cannot afford to lose work (This is why we went to Linux in the first place). Error recovery could be an autosave file which can be loaded in place of the damaged diagram( in case of a segfault for example).
 
 - Stable features only
In v0.86, anti-aliasing could crash Dia. It would be nice to be able to choose at compile time to only include stable features with a flag (--enable-stable ?). Selecting the 'Help' menu also crashed Dia once, but we don't  know why .. 
 
 - Flowchart sheet
The flowchart sheet of v0.86 and v0.88.1 has two glitches which makes it unusable in production.
* The diamond shape resizes both horizontally (good) and vertically (bad!). We use instead the diamond of SDL.
* We also need an arrow to link the different shapes; we use the UML message arrow.
These two shapes (diamond and arrow) need to be part of the flowchart sheet.
(We have already modified this sheet internaly, we will send it to the developers).
 
Features:
 
 - Read/Write in an archive
This may sound strange, but it would be nice for Dia (and other software) to be able to read/write files into a tar[.gz] archive. Reason for this is that large documents contain many files, amoung which Dia diagrams, postcript pictures, lyx files etc. One archive containing all these documents would simplify a lot the management work a user has to do today: we must create a folder for each new lyx document and place in it all the dia diagrams.
If anyone has a better solution, please let me know.
 
 - Rotation
Rotation has already been discussed in the mailing list of Dia. It is a feature which we could have made use of, especially for text.
 
Extra features:
 
 - Graphic quality
The graphic output quality is not critical, because Dia is a functional software. However, it wouldn't be bad to improve the general output. One possibility would be to diminish the default thickness of lines (thin lines look more professional). Also, there is a problem with the default size of the shapes: they are much too big. Almost all the shapes could be resized to a "reasonable" value as seen on a Letter or A4 page. This way, the canvas wouldn't have to be resised too much before printing.
 
 - Mouse wheel
The mouse wheel only scrolls when the pointer is on the scrollbar. It would be nice to scroll also on the canvas, perhaps in both directions( ie. wheel vertically, CTRL+wheel horizontally ).
 
 - Dynamic sheets
Today, to add a new shape to a sheet, we need to edit by hand the sheet file. This is very powerfull: almost any shape can be obtained in this way. However, a simple mecanism to save a diagram into a shape and place it in a sheet from *inside* dia could be done. This is a feature present in Visio. One use we had for this is when we draw network packets: we cut and paste boxes with different gray backgrounds. For the time being, we keep them on a 'template' diagram.  
 
Cheers,
 
Jean-Philippe Player
jpplayer everbee com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]