Room 101


Gilad Bracha's blog. A place to be (re)educated in Newspeak

Originally published August 15th 2022

What You Want Is What You Get

Today I want to discuss text editors, specifically, rich text editors.  This post will focus on one particular issue in the design of such editors, the tension between two extremes, WYSIWYG (What You See Is What You Get) and markup.

WYSIWYG has the advantage of liveness. You have the final product directly in front of you at all times; every action you take is immediately reflected in it. It is concrete. Markup has all the benefit of using a language. You edit a description of a document, written in a markup language. That language allows you to define and use abstractions. You can compose sophisticated abstractions out of simpler ones. In some systems, you can even write metaprograms that manipulate markup programs, allowing you to analyze, transform or even synthesize documents.

My goal, as usual, is to have my cake and eat it too: in this case, combine the advantages of both of the above approaches.

Tangent: I was gratified to learn recently that this perspective on cake ownership and consumption has long been advocated by Alan Kay. It is indeed a very valuable approach to design issues, technical or otherwise.

First, a few more background observations.