presets

Automation and More Flexibility with Diagrams 2.2

We’ve just released Diagrams 2.2, which adds new options for configuring element and relationship types in the palette. It’s ready for macOS Monterey, and it includes initial support for automation with Shortcuts.

New Shapes and Arrows

Since it was first released, Diagrams has only supported basic shapes and arrow heads. When we made the palette customizable earlier this year, all attributes became configurable, but we only added new element colors and text formatting options. To continue our efforts in extending the flexibility of diagram creation, we’re introducing eight new element shapes and eleven relationship heads. You’ll find them in the respective pop-up menus in the palette.

New Shapes and Heads in Diagrams 2.2

By taking advantage of these additions, you now gain the ability to create even richer diagrams. When designing your palette, choose your desired shape for element types, and adorn relationship types with fitting heads at both ends for the perfect arrow.

In addition to specific palettes, there are also generically applicable use cases for these new options. For example, it’s now possible to make a Note appear like a sticky note and a Document appear like a sheet of paper. Diagrams can also get closer to the standards of certain visual languages like flowcharts or UML, as certain object types are now representable. The following overview shows a few examples. To get even more inspiration, you can browse through our updated Examples Library.

Palette Examples

Flowcharts

We refreshed the built-in presets and focused on flowcharts, a very popular diagram type among Diagrams’ userbase. As illustrated above, we made some adjustments to the existing element types and introduced two new ones:

  • Subprocess — Represents a larger, multistep process that is defined elsewhere, e.g. in a separate flowchart.

  • Input/Output (sometimes called Data) — Indicates information entering and leaving the process. This might include user input and UI output in the software domain; or controls, sensors, and displays in the hardware domain.

While these two types aren’t fundamental to most flowcharts, having them at hand allows you to be more expressive, should you have advanced needs. To give you an idea of how they might be used, we prepared a sample diagram:

Flowchart Sample Diagram

Automation with Shortcuts

This year, Apple brought its visual automation system, Shortcuts, from iOS to the Mac. Diagrams 2.2 adds support for Shortcuts by providing three actions for creating and exporting Diagrams documents. Beginning with macOS Monterey, you can integrate these actions into your custom workflows to automate recurring tasks. If you’d like to learn more about Shortcuts, we have an in-depth blog post for you.

Diagrams 2.2 is a free update, and it’s available on the Mac App Store and Setapp. For the full list of changes, you can refer to the release notes. We hope you like these new features!

A Guide to Palettes

Diagrams 2.0 Macaw, the biggest update to our app, has just been released. In addition to optimizations for macOS Big Sur and Apple Silicon Macs, it introduces a lot of new functionality. In this post, we’ll explore the most significant addition: palettes. For a detailed overview of all features and improvements, please head over to the release notes.

Getting Started

Up until now, Diagrams let you pick from a fixed set of shapes and colors for elements and arrow types for relationships. Over the past few months, we’ve received plenty of requests from you, our users. The message was clear: You want more flexibility. And we heard your feedback and agreed that the single static palette was simply too restrictive. That’s why we removed this limitation with Diagrams 2.0, and for the first time, enabled each of your documents to have its own different palette.

We’ve mentioned the term “palette” a few times already, but what do we mean exactly? Let’s take a closer look. A palette is a collection of element and relationship types. Every document contains exactly one palette, which is specified upon document creation and can be further adjusted. Each type within the palette encodes a meaning and visual appearance for diagram objects it’s applied to. The association between an element or relationship and its type is permanent, meaning that changing the attributes of a type affects all objects associated with that type. Pfff, do these definitions sound overwhelming? Then let’s get more practical.

Getting-Started.png

When you create a new document, you’re asked to select a palette. There are multiple options, and you can choose the one that best fits your use case. The most straightforward way is to start with one of the three built-in palette presets (A): Universal, Grayscale, or Flowchart. Another option is to start with an empty palette and build your types later (B).

Once you’ve created a few documents with custom palettes, you can leverage a third option and load a palette from an existing document to reuse it in a new document (C).

Palette Customization

After a document is created, you can start constructing a diagram using types from the palette you selected, but you can also customize the palette to fit your needs. You can add new types, remove unnecessary types, or change the appearance of existing types. There’s a new palette customization interface for this purpose, which is accessible from the toolbar (Palette), from the main menu (Palette > Customize Palette…), or via Cmd+1.

Palette-Customization.png
  1. List of all element or relationship types

  2. Create and remove types

  3. Indicator of change

  4. Preview of selected type

  5. Optional title of selected type

  6. Visual attributes of selected type

  7. Indicator and details view listing all changes from the session

The left pane lists all available element or relationship types, depending on the tab selected in the top bar. The selected type is reflected in the right pane; it shows a preview and allows you to name it and configure its visual attributes.

While many of the preexisting visual attributes were brought over from Diagrams 1.0, with Diagrams 2.0, we’ve introduced a bunch of new ones as well. When it comes to elements, you can set the shape, color, and text in the caption. And in the case of relationships, you can set the line style, configure arrow heads separately at each of the ends, and format the label.

Once you’re done editing the palette, you can apply changes and save them in your document. This workflow is efficient when performing a multistep customization of the palette, as it allows you to make all changes at once. However, you can also access type editing directly from the canvas.

For example, when adding a new element via a double-click on the canvas, you can click the “+ New” button and create a new type using a familiar interface. The ability to create or edit types on the fly while working on your diagram keeps you from interrupting your flow.

Palette-Customization-2.png

Creating Custom Palettes

With all these preset options, you might be wondering why you’d ever want to start with an empty palette. What’s the point of creating a diagram with no types at hand? Well, starting with a clean slate gives you the freedom to build your palette as you go while working on a diagram at the same time. Moreover, this approach makes it possible to craft a personalized palette that isn’t cluttered with types you don’t need.

Creating a palette from scratch might be the right approach when you have a specific idea in mind or you want to build a diagram one step at a time. Depending on your use case, you might be better off starting with a preset, quickly outlining the diagram, and converting the types from the preset to an organized palette. If you’d like to work in a more freeform manner, you can simply use one of the generic presets and disregard the palette logic.

Embracing the palette, organizing your types, and giving them meaning by naming them comes with many benefits. Not only do your diagrams become better structured and more consistent, but the ability to reuse your types makes you faster and more efficient. This is even applicable across multiple documents, since you can reuse your personalized palettes in new documents.

Now that we’ve covered the theory, let’s talk examples for a moment. The image below shows a variety of palettes. Along with the Flowchart palette that’s available as a built-in preset, you can find palettes extracted from diagrams in our examples library. If you’re looking for a source of inspiration, go check them out.

Create-Custom-Palettes.png

It’s completely up to you if and how you configure your palettes. Diagrams doesn’t dictate which palettes to use or how exactly to organize your types. It does give you tools and just enough freedom to get creative. We believe this unique approach is ideal because our users come from different domains and have different use cases, and our app caters to all those possibilities. The “one-size-fits-all” rule doesn’t always apply.

Where Does This Lead?

If you’re coming from Diagrams 1.0 and you were a true fan of its simple nature, don’t worry. While we made the app more powerful, we tried to keep the palette functionality as unobstructive as possible. Enriching the app’s capabilities without compromising on simplicity is a general principle we strive for, and we think we delivered on it this time.

You might be surprised to discover we didn’t introduce an inspector sidebar that would enable changing attributes directly on the canvas selection. This pattern, which is common in apps that are seemingly similar to Diagrams, doesn’t fit with our semantic approach or our overall vision for the app. We see Diagrams as a diagramming app that supports you primarily when working in a structured manner.

That being said, we see a lot of possibilities of how to expand on the new palette functionality. While you can already import palettes from existing documents, it’s certainly possible to build a general import/export for palettes or even add support for storing your palettes as presets. Now that the visual attributes of element and relationship types can be set individually, there are so many directions we could take this, and boy, do we have a lot of ideas!

With version 2.0, the app has made a major step toward its maturity, but there are still many fundamental features we’d like to add, especially related to the canvas and system integration. The work on the palette kept us busy over the past couple of months, and we’re now ready to continue focusing on our roadmap. But we can assure you that Diagrams has a brighter future than ever. To follow along on our journey, you can find us on Twitter or subscribe to our newsletter. Until next time!