A Personal History of Modeless Text Editing and Cut/Copy-Paste (2012) [pdf]
Wow, what a fantastic article jam-packed with history!<p>Here is a collection of my notes and responses.<p>Line breaks indicate separate ideas.<p>---<p>- Ted Nelson would point out that word processor copy and paste misses the analogy to the real world cutting and pasting for posters that Tesler cites in this article in that the copy buffer can only contain one item and whenever another selection is made it silently loses the previous content. (The physical world cut and paste has the cut items still existing).<p>This is addressed in the box: &quot;Objections to Modeless Editing and Cut&#x2F;Copy-Paste&quot; but the response is not satisfying.<p>&gt; Objection 1. User mistakes. After performing a cut, the user might forget that important text was in what we now call the clipboard. She could lose it by cutting or copying something else without an intervening paste or undo.<p>&gt; Response: The ability to do other things between cut and paste entails more benefits than risks.<p>&gt; Response: A suitable undoing or versioning facility will allow recovery of accidentally deleted data.<p>The first response is too general, certainly there is a way to design separate cut&#x2F;copy and paste functionality without this risk.<p>I have yet to use a word processor that has a &quot;suitable undoing or versioning facility&quot;. This problem plagues each word processor I have ever seen used. It looks like Tesler overestimated the developers behind word processor applications that came after his on modern PCs. We have more still yet to learn from Gypsy than is represented in Microsoft Word (or google docs or apple word).<p>---<p>- Early text editors seemed to be a mess of keyboard playing, likely a result of the lack of screens when most were designed and so it makes sense that there needed to be a first invention of the cursor and interactive word processing that we now have thanks to Tesler and others. The cause doesn&#x27;t matter, but it seems there is room for another transition as they have obsoleted their greatest pain points.<p>In the box &quot;How Modes Degrade Usability&quot; bullet 2:<p>&gt; If unmodified letter keys are typed in command mode but the user things the system is in text mode, unintended and sometimes disastrous results ensue.<p>It seems that these mode errors should and have been obsoleted by interactive displays as your editor or application can maintain a visual indicator of the mode a user is in. It also seems that this issue would only effect novice users of a software and so shouldn&#x27;t encourage us to avoid the use of modes when they might overall simplify the user experience.<p>Once taught about vim&#x27;s command and insert mode, do users with a visual mode indicator make mode errors? That seems hard to believe.<p>I also see some other holes in the &quot;NOMODES&quot; philosophy in the dialog box as presented in this article:<p>&gt; The typical dialog prevented the user from continuing work while it was open.  That made it modal. But the widgets within the dialog could be operated in any order, making it locally modeless. And the mode escape was performed in a consistent way...<p>---<p>- It&#x27;s fascinating to read the anecdote that:<p>&gt; Jef Raskin, who was beginning work on a concept he called Macintosh, was skeptical about the mouse but generously offered suggestions and support.<p>because Jef Raskin went on to develop the Cannon Cat, and mouseless office and personal secretary computer which was unique for its &quot;Leap&quot; key functionality which allowed the user a press of a button to enable file wide text search to move its cursor.<p>---<p>- Doug Engelbart would contest the value of the idea that NLS was &quot;hard&quot;. That powerful software should be full of features and becoming situated with them shouldn&#x27;t &quot;need&quot; to be a simple task. Tesler gets into the fine points of number of key presses and the mental models behind having a copy paste buffer, but I don&#x27;t think that Tesler&#x27;s advances in this area should indicate a failure of NLS as a whole. It seems the two could have been reconciled, simplifying Engelbart&#x27;s NLS control system by adopting Tesler&#x27;s improvements and the methodology of his user studies.<p>---<p>A last mention: Tesler developed the Smalltalk Browser, and I cannot find the source now but there does exist some record of conversations within PARC about that development that are not what we might expect if we just think of this Browser as a code editor. The browser was (as stated in the article) a precursor to modern IDEs and was intended and used to edit code and text within Smalltalk, but it&#x27;s origin story is more than that, including thought as to how non-programmers would access information in a computer system. The Smalltalk browser was designed as the browser for all text, not just code, within the personal computer.<p>There is so much more to go into here, this history is so very rich and still full of insights for us to learn from today.