Skip to content. | Skip to navigation

Personal tools


Recording User Intents

This blog entry is a summary of a talk I gave at Philadelphia CocoaHeads meeting Nov. 10th, 2016. 

The video is on the Philadelphia CocoaHeads Vimeo account.

Good Design is an intentional process. When we make design decisions, those decisions are based on trying to achieve a certain objective. These intents are important to the design process and yet many are ignored by most of our design tools. This talk will highlight how our intents shape our design work. How our tools ignore these intents resulting in lost design information and developer friction. The talk will propose ways our tools or our habits could be modified to easily include the design intent thereby improving usability, reliability and end user satisfaction of the final product.


There are always 2 parts to the user interaction with a tool, the action and the intent. The action is the how but the intent is the why. For example, when using a word processor, the user might put a whole bunch of spaces in front of a word. That is the action but why were they putting the spaces in front of the word? Perhaps they wanted the word centered? In which case, modern word processors have a way of recording the user's intent as well as action. There is usually a button to apply a "centered" property to the word. Or maybe what the user really wanted was a Title and they wanted the Title centered. In this case, again the modern word processor can handle this with a "Title" style and the title style having the centered property. If the user takes advantage of the Title style for all their titles in a document, then instead of putting lots of spaces in front of every title word and then editing every single title when the document margin changes, the program takes care of keeping the title centered. In addition, the font properties of the title style can be changed once and all titles reflect the change. This is the expected behavior for all modern word processors. It is expected they record the user's intents.

Graphic Design Tools & Intents

The unique aspect of IntelliDraw was that not only did it draw pictures, it allowed you to add behavior to your drawings

On the other hand, other than in the field of CAD, graphic design and drawing applications do not do a good job of recording user intents. The question is why?

When a designer places a square centered in a circle. Odds are, they intended for the circle to stay centered and for the square to stay square. Very few if any vector graphics programs record this intent. None that I know of. Why not? There once was a program which did a great job of recording user intents for vector graphics. It was called IntelliDraw and it failed. The reason given for the failure was that it was too complicated for users. This is at the same time that the Mac is taking off due to the amazing new desktop publishing apps such as QuarkExpress & PageMaker made possible by the Mac. The strength of these tools was the ability to record the users textual and graphic layout intents. Apparently they did more but were not too complicated?


Despite the recent explosion in new and successful graphic design tools such as Sketch, PaintCode & Affinity Designer, none of them do a good enough job at recording the user's intents as well as actions. Current graphics design tools have a huge potential for improvement. With modern UIs based on layout constraints and reusable components, we need an IntelliDraw for the 21st century.