Yet Another Diagramming Application

People often tell us they know other solutions on the market that do something similar to Diagrams. They are right, those tools indeed do something similar. So why are we building yet another diagramming application?

Because Diagrams differs in a few fundamental aspects which have the potential to change the way people create structured diagrams. In this post, we are going to briefly introduce them to you.

Meta-model

We believe that diagram types with different layouts require different interactions. Supporting all possible diagram types in one application would mean dropping to the least common denominator of the interaction model and this would be a suboptimal solution.

This is why Diagrams supports only “structured diagrams” which are based on graphs. To put it simply, these are diagrams which consist of boxes (elements) connected with lines (relationships). This meta-model is universally applicable to a variety of diagram types like class diagrams, network diagrams, flowcharts, organizational charts, and many more.

diagram-objects.png

Building upon this meta-model allows for interactions which are leveraging the specifics of elements and relationships. Among other things, this means that relationships stay connected to elements when moved.

Zero Distractions

Here is what we have figured out: Most tools out there are packed with tons of features. They attempt to support as many individual options and special use cases as possible. In our eyes, these are nothing but distractions. They keep you from focusing on the content of your diagram.

Even worse, those features create room for fiddling around with fine configurations of pixel sizes, layouts, colors, fonts, and so on. Although these settings are useful for graphic designers, they are certainly useless when creating structured diagrams.

This is the reason why Diagrams has no inspector pane on the right side of the application window, leaving more space for the canvas and therefore for your focused work. It’s almost like drawing on a paper.

Rethought Workflow

A lot of effort was put into designing the diagramming workflow right from the beginning of the development. For us, workflow optimization is all about speed, intuitive interactions, and standardization.

Canvas

We truly believe in the visual nature of diagramming as we think that automatic generation of diagrams can never reach the same quality level as a human can produce. This is why an interactive canvas plays an essential role in the diagram creation process. The canvas is the entry point into the application and we’ve equipped it with streamlined interactions to make diagram editing a joy.

Furthermore, the canvas leverages a grid which simplifies the layout as it is used to align the elements and relationships in the diagram. It prevents you from losing focus by fiddling with alignments and size adjustments. This feature is so essential that it sits at the core of the application and it is reflected in most canvas interactions.

There is also no need to set the size of your diagrams manually. Just grow them as big as your structures demand. Diagrams has an infinite canvas which will adapt to the size of your diagram.

Semantics

Diagrams follows a, what we call, “creational approach”. This means that instead of applying random visual attributes to generic shapes you pick the types for your elements and relationships from a palette at the time of their creation. Each type defines the visual attributes which leads to ensured consistency among all its instances.

palettes.png

This might sound like a minor change but it’s actually a deal breaker as this approach allows working in a semantic manner. When working on a diagram of a particular type the palette would show only the relevant element and relationship types from which you can choose. So if you are creating a class diagram, for example, you’re actually adding a class element and an inheritance relationship instead of a rectangle with a text field and a line with a non-filled arrowhead.

Native Application

Last but not least we believe that only native applications can deliver the user experience you deserve. We don’t compromise in this regard and therefore we’re building a native application which feels at home on macOS.

Stay Tuned!

Hopefully, we could illustrate that we’re doing everything we can to help your brain stay focused while removing clutter at the same time. That’s how we understand the user experience.

There is more to show. We can’t wait to share some more in-depth insights with you during the next months. The further we are in development, the more details we will be able to talk about.

But for now, let’s get back to Xcode.

Hello World!

Hi there, this is Lukáš.

I’m the founder and developer of Diagrams, an upcoming Mac application for creating structured diagrams. In this post, I’d like to introduce you to this project which I have dedicated my life to for the last few years.

I came into software development in one of the weirdest ways possible: Before I started programming, I taught myself UML, the visual modeling language for describing software systems. Despite the controversy about the usefulness of UML and the processes it is usually connected to, I saw greater value in its way of visual representation.

Since I’m a visually oriented person, I still do a lot of drawing when developing software nowadays. This helps me to structure my ideas and possibly to come up with better architectures in the end.

 
uml-diagram-paper.png
 

As I was looking for a digital solution which would support my workflows on the Mac, I wasn’t able to find any suitable applications.

The UML editors supported the logic, but looked really crappy, and were overloaded with tons of unnecessary features.

The vector graphics editors, on the other hand, were not designed with the logic in mind. I had to fight the features specific to graphics editing as well as the flexible formatting and layout possibilities.

These tools were too complex for my needs. I wanted something as simple as a plain paper with all the benefits of the digital world. This is why I decided to build it myself. In the form of a truly native macOS application.

MacBook+Pro.jpg

Currently, the app is under development. The core architecture of the app is finished and a few internal alpha versions were already released. But there is still plenty of work to be done. You can expect the private release to come out next year.

Over the next weeks, we will reveal more details about Diagrams on this blog. We will explain where it tries to innovate and improve on the existing tools. We will share further concepts, show off some bits from the design process, and discuss individual features.

If you’re interested in these topics you should read this blog, subscribe to our mailing list, or follow us on Twitter.

Stay tuned!
Lukáš