This is a strange paper.  It reads a lot like &quot;Personal Dynamic Media&quot;, Kay&#x27;s paper from the 1970s, which led to the Alto and Smalltalk.  Back then, this was all new.  Now, it&#x27;s not.<p>The big thing here seems to be defining domain-specific languages (they don&#x27;t use that term) which allow certain classes of problems to be written concisely. The examples given of those language look rather conventional:<p><pre><code>    selectionWatcher &lt;- 
      when 
        DocEditor.selectedDocBox :b 
      then 
        this.textContents(if b then b.printString() else &quot;&quot;)
    ...
</code></pre>
Their approach to GUI programming:<p><pre><code>    layout
        ^ KSSimpleLayout new
        keep: #topLeft  of: ’titleBar’ to: 0@0;
        keep: #right    of: ’titleBar’ to: #right offset: 0;
        keep: #height   of: ’titleBar’ to: 25;
    ...
</code></pre>
These are constraints for a constraint engine, which is a good idea not original with them. But writing constraints as text is painful.  You can do that sort of thing in CAD programs such as Autodesk Inventor from the GUI, and you get useful error messages when you overconstrain or underconstrain.  That&#x27;s how web page layout really ought to work.<p>They created about 100 domain-specific languages, and in each, the demo programs are short, because the languages are well-matched to the specific problem.  But they didn&#x27;t get to the point where they put users on these languages.  That&#x27;s needed to find out if they&#x27;re as concise as claimed, or the users end up writing complex code to get around limitations of the language.<p>There are widely used domain-specific languages, such as Matlab and Excel.  In each of those, stuff the language designer thought of is easy, and hard stuff is really ugly. That&#x27;s what usually happens.<p>Not seeing the big breakthrough here.