"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Friday, March 26, 2004

Designing Interactive Systems

The Craft of Text Editing, by Craig Finseth, is on-line. I remember reading Craig's MIT technical memo, which is a progenitor to his book, in the early 1980's.

If you like reading code, you probably also like reading about designs and patterns. This book is not just a description of an Emacs-like editor, and it is not just about text editing in particular.

This book is about software design and patterns that can be implemented in interactive systems in general. If you are designing an interactive system today, you should have this book digested as part of your vocabulary and design pattern library. Period.

Excercise to the reader: if you typically buy a book that explains how to use a specific language, library, or framework, you will additionally benefit from reading older sources like this. Try translating these ideas into your system of choice. This excercise includes low level details like translating from a pull-based command loop to push-based event handlers. So for example what would an event handler system look like to incorporate Emacs-like keymaps? How might this make your design simpler and more flexible for advanced users with modes and sub-editors, etc.?

No comments:

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.