UMLetino is a free, web-based UML tool. It features a mix of fast, markup-based element edits, and mouse-controlled overall layout design. (Btw, UMLetino is an offspring of the stand-alone UML tool “UMLet“.)
Like its ancestor tool UMLet, it aims at the fast creation of UML sketches. Its main idea is retained: let users edit elements with minimal hassle. To achieve this, the GUI took a somewhat different approach than other UML tools:
- UMLet does away with palettes relying on pictograms or icons, because it is quite tricky to guess what element an icon represented. Instead, UMLet palettes contain typical instances of actual elements – no guessing required. The palette is a 1:1 scale model.
- Because these palettes simply contain elements, users can, right away, modify the elements on the palette, immediately creating useful custom palettes or element templates.
- Inserting an element from a palette is then naturally best thought of as duplicating an existing (palette) element. This might resonate with modelers – it’s, after all, a prototype design pattern. We find that pattern much more natural than some notion of “instancing a meta-element” – in fact, after decades, we’re still unable to find out how Microsoft Word handles its template documents.
- This prototyping or duplicating is often best performed not on palette elements, but on elements on the main diagram panel – it’s just likely that a new class, e.g., might look like some other you just edited in the main diagram. A double-click (in other tools usually reserved for some change-attribute pop-up dialog) simply duplicates an element. It might not sound like much; after all, “select + Ctrl-C + Ctrl-V” would do the same. But in our view, inserting from the palette (possible via double click) and duplicating from a good similar starting element should unconsciously merge in the mindset of the designer.
- The next issue we needed to address was the flow of creating diagrams – other tools, in our view, relied on way too many pop-up dialogs. They are distracting and require, over time, considerable mental focus from the user. A typical use case we found concerned the common task of setting and then reversing a relation’s direction – in other tools, this often could involve having to open a separate dialog, guessing which relation end is called “A”, selecting a relation end-type from a drop-down list box, closing the dialog, discovering that end “B” was meant instead, and repeating these steps once again. UMLet does away with dialogs and uses a small markup-language, e.g.,
=<-describes a relation whose left end is an arrow, while
=->is the reverse relation. Changing direction is thus a fast and mentally effortless keyboard activity, as opposed to the much more mentally challenging mouse-pointing/selection activity.
- UMLet allows all UML elements to be inserted on the same diagram; it allows all relation types to connect to all other UML elements; it does not restrict the designer. That does not seem like much of a feature. In our view, though, it is. Some tools try to be helpful by enforcing UML standards on the user, and prohibiting certain diagram configurations. We find this to be problematic: designers, in our view, naturally have sudden, not fully formed ideas; they try to plot their ideas’ core down, e.g., “a relation exists between entities A and B” – and at this early stage, you might not even be interested in the specific type of relation (inheritance,..). If a tool forces you down the path of choosing, too early, a specific relation type, it distracts you and leads your mind away from where it would like to go – namely to think about entity C, and “whether it should relate to B”.
We sure hope you like UMLetino — and please let us know your feedback at [email protected]!
The UMLet Team