A few weeks ago I wrote a post titled The best design tool, where I argued that paper is the best tool for initial planning and design and making sketches, and such.
It did not take Yanic Inghelbrecht too much time to point out that his tool is better for sketching sequence diagrams, and asked if I would review his tool, Trace Modeler. Of course I said sure, and it was not because he offered me a personal licence – I just have to tell you that yes, he offered one, also as he wrote in his mail:
Please understand that I do not wish to influence you in any way by this. I’m pretty confident you’ll like it and of course I’m hoping for a favorable evaluation, but above all I hope you’ll give your honest opinion.
So there we go, all transparent and you all know the complete background.
So I just downloaded Trace Modeler, and started to poke around. I have to admit that at first sight I did not like it. The fact that there is no class diagram, so I just have to draw the sequence diagram “in the air” so to speak made me balk. I tried it anyway and after a while it dawned on me that this is a sketch tool, not a design tool, and for that there is no real need for a class diagram. Keeping that in mind I concentrated on how well it supports the sequence diagram sketching.
So after playing with it and poking at it I have a well formed opinion, and it boils down to a list of “Things I like” and a list of “Things I don’t like”. The latter is more like a wish-list and some suggestions. One more thing. I will not show you how to use it, what are the menus and will not tell you what a sequence diagram is – for that there are resources like the Trace Modeler User Manual and the UML Superstructure Specification.
So lets see the likes and dislikes.
Things I like
-
The handling.
I like it. It is self evident and easy to understand most of the time – the exception see under Things I don’t like – and honestly one of the easiest I have met so far.
-
Diagram Style
First place to go.Beside the possibility to set up the layout rules – distance between objects, message spacing, layout direction, etc. – you can set whether empty returns are shown or not – I usually hide them, make it less cluttered, but sometimes it’s good to see them – and you can display the Control Flow – with configurable colour, so you can make it bright red and see the control flow from a mile.
-
It’s small and no install
Really, the whole thing takes up 4.2MB, no installation required, so you can carry it around on a USB stick.
Things I don’t like (suggestions + wishlist)
-
The message dragging
It is handy and convenient, but there are a few problems:
- Sometimes the drawing is oversensitive and you have to re-drag the line
UPDATE: Ok, it was pointed out that you don’t have to drag the arrow, you simply place it over the target line and it will put it there.
- there are “dead spaces”, which means that between two lifelines the red trace disappears (signaling that it won’t be a ‘self message’) and you have to drag the mouse further right for it to reappear (signaling it will be a message to the next lifeline). This dead zone is about half a centimeter on my screen.Solution: you don’t start from the originating object but place the arrow on the target object.
However, if you do this, it will take a while to discover that you actually can send messages both direction.
Update: Ok, see above, it is not the solution, it is how it was intended to work.I would like it better if there were no dead zone, and the source-target objects would be highlighted, but this deadzone is the result of testing and user feedback, so apparently works for the majority of users.
-
Can’t move the end of the arrows.
One of the more interesting examples in the UML Superstructure specification under the Sequence diagram section is overtaking messages – actually an asynchronous message with a duration constraint, but calling it “overtaking message” sounds more car-race like.

The message CardOut overtakes the message OK in the way that the receiving event occurrences are in the
opposite order of the sending OccurrenceSpecifications. Such communication may occur when the messages are
asynchronous.But as this is a sketch oriented tool it is not a big loss – just make a note somewhere. And there is a promise that multiple-flow of control, and more will be implemented this year.
So after all the above, and taking into consideration that we are talking about a sketching application, not a full blown CASE tool, I think Trace Modeler is up to that task. It won’t replace any big, integrated CASE tools, but it is perfect when you have to do a quick sketch and paper is not an option.
For a sequence diagram sketchpad it is good. What would be even better if there was an export option to some of the usual CASE formats – Rational Rose, EA, etc. – so after I made the sketch I could import it into my usual case tool and use it – Yanic’s response to this wish was
Unfortunately there is no easy way to do this. XMI was supposed to be a standard way of exchanging UML diagrams and models, but every CASE tool has its own little quirks and inconsistencies so interchanging data is not straightforward.
The sad truth is that he is totally right and I am well aware that the standard is not a standard at all. But I still wish. Wouldn’t it be nice if standards were treated like standards?
So Tracemodeler is definitly on my list of “on-site tools”. And in the end, a 30sec demo from the
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=121315da-b79a-45fa-86a8-a30ea5a3ac61)
Hi, Roland!
You might also want to visit http://www.websequencediagrams.com, which is a different concept than Tracemodeler. With this online tool, you just enter a quick diagram description, eg, “User->ACSystem:Code(PIN)” and it will spit out a diagram with a link: http://www.websequencediagrams.com/?lz=VXNlci0-…
Thanks Steve!
I checked it out and it is really a quick and dirty method, but it needs internet which is not readily available all the time. But I like the concept of the app.
Hi Roland,
I think you'll be pleased to know that I've tweaked the UI a bit after our review :
– the drag&drop indicator for activations was changed and now clearly shows where the call will originate and where it will end (with a big blue arrow)
– because of this new indicator, the deadzone between targets was no longer necessary and was removed.
You can check it out in the new 30s demo I made.
The above improvements (and others) are available as of Trace Modeler v1.6.0.
Thanks again for the review!
You are welcome, checking the new video.