One of my most used apps on my Mac at the moment is a prototype of my own making: a plain text editor with a working title of subtext.
You could say I designed subtext by accident. I’ve been working on another app (in collaboration with Chris Marmo), and I built subtext as a tech demo: I was learning how to create view based NSTableViews in Cocoa, learning about the NSControl system and some of the in’s and out’s of text handling. The idea for the tech demo was to see if I could built a table view that could handle multiple cells containing passages of text, with a few animated elements, copy & paste support, drag to reorder, dragging between documents, a few other things. Basic stuff.
On a whim, to test my knowledge of control event capturing, I added a new interaction – hitting ‘return’ at the end of a line would, rather than inserting a new line in to the current cell, insert an entirely new cell of text.
This might not seem so dramatic – it’s just like treating cells as paragraphs, right?
Well, the answer to that is ‘sort of’. What I discovered is that having paragraphs as draggable ‘cells’ by default, (which affords quick structural editing), and having paragraphs conceptually separated (by horizontal lines) — and this is not hyperbole — completely changes the way that I think about writing. Subtext is like a funny cross between a plain text editor, a basic outliner (with no nesting), and an iPhone style list. When using a regular text editor I write in ‘paragraphs’ or ‘sentences’. When using an outliner I feel the need to establish structure before writing. When using subtext I write in ‘thoughts’.
What subtext enabled was something I didn’t even know I was missing: a different level of control over structural flow. Using subtext, I can create an outline as a I go. I can write an idea as soon as I think of it, out of order, and move it later. I can delete a thought without worry. I can easily skip over a paragraph while reading. Regular text editors can do this too, but subtext seems designed for it. It’s a subtle difference, but an important one — one that has changed the way that I write.
This points to two important things related to my PhD research: the first is the act and impulse to collect (much, much more on this later, I promise). The second, which I’ll discuss here, is the material practice of prototyping.
Something that I think is missing from the UX and IxD design world is enough focus on material practice as a way of discovering and knowing. What I am talking about is making as a way of discovery. Design as research . Here is my personal revalation: the process of making software can materially change the way that a design works, and — more importantly — changes what is possible to think of. When working with digital materials, prototyping is the best way to do this: I’ve talked about ‘dynamic gestalt’  before: when working in a digital space you can’t understand something until you use it — you have to actually make something to know what it is.
Now: I know that I could never have ‘designed’ subtext had I sat down specifically to do it. I would never have considered that it might be useful to me. I would never have considered using the interactions that the app now includes. I certainly wouldn’t have thought that a basic structural text editor could become my most used app. The process of making made all this possible.
This is why it is important for designers of technology to actually work with their materials. It’s not enough to have a great idea, it’s not enought to ‘design’ it: you have to make it to know what it is. You have to make it to know what it could be.
- I know this is not a new discovery in the ‘contribution to knowledge’ sense: the idea has been around in the art and architecture world for many years. But I now think I really understand what it means and why it is important. ↩
- Löwgren, Jonas, and Erik Stolterman. 2004. Thoughtful Interaction Design: A Design Perspective on Information Technology. The MIT Press, December 1. ↩
Posted in uncategorized and tagged cocoa, design, material practice with 1 comment »