MacPaint and MacWrite First Public Demo (1984) [video]
He called out Owen Densmore for writing the printing routines at 10m45s:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=mqQJ-VnJ2uc&amp;t=10m45s" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=mqQJ-VnJ2uc&amp;t=10m45s</a><p>And Owen answered a question about printing at 15m:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=mqQJ-VnJ2uc&amp;t=15m" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=mqQJ-VnJ2uc&amp;t=15m</a><p>Owen is a brilliant programmer and &quot;User Interface Flower Child&quot;, who led the &quot;Print Shop&quot; group at Apple that created the printing architecture for Apple&#x27;s Lisa and Macintosh hardware, working closely with John Warnock and other Adobe engineers on the LaserWriter.<p>MacPaint and MacWrite popularized &quot;Desktop Publishing&quot;, but they wouldn&#x27;t have had nearly as much impact as they did  without the PostScript LaserWriter, which let you create and edit WYSIWYG text and graphics on the screen with a mouse and keyboard, then print the exact same content on paper.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;LaserWriter" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;LaserWriter</a><p>&gt;Steve Jobs of Apple Computer had seen the LPB-CX while negotiating for supplies of 3.5&quot; floppy disk drives for the upcoming Apple Macintosh computer. Meanwhile, John Warnock had left Xerox to found Adobe Systems to commercialize PostScript and AppleTalk in a laser printer they intended to market. Jobs was aware of Warnock&#x27;s efforts, and upon his return to California he began convincing Warnock to allow Apple to license PostScript for a new printer that Apple would sell. Negotiations between Apple and Adobe over the use of PostScript began in 1983 and an agreement was reached in December 1983, one month before Macintosh was announced. Jobs eventually arranged for Apple to buy $2.5 million in Adobe stock.<p>&gt;At about the same time, Jonathan Seybold (John W. Seybold&#x27;s son) introduced Paul Brainerd to Apple, where he learned of Apple&#x27;s laser printer efforts and saw the potential for a new program using the Mac&#x27;s GUI to produce PostScript output for the new printer. Arranging his own funding through a venture capital firm, Brainerd formed Aldus and began development of what would become PageMaker. The VC coined the term &quot;desktop publishing&quot; during this time.<p>Owen went on to Sun, where he invented object.ps for NeWS,  implementing its object system in PostScript, and using it to write numerous GUI toolkits and apps. NeWS user interface toolkits and applications were all based on his PostScript object oriented programming system, which efficiently and flexibly uses the PostScript dictionary stack for dynamic scoping.<p>It&#x27;s like Smalltalk classes, with multiple inheritance, and the ability to dynamically promote class methods and variables into object instance methods and variables (to support prototype based specialization of objects with properties and callbacks, which is so useful for constructing user interfaces, like HyperCard and HyperLook do).<p>Object Oriented Programming in NeWS:<p><a href="https:&#x2F;&#x2F;ia802600.us.archive.org&#x2F;5&#x2F;items&#x2F;pdfy-1U9Ry1_Qj0LPSR6e&#x2F;monterey86.pdf" rel="nofollow">https:&#x2F;&#x2F;ia802600.us.archive.org&#x2F;5&#x2F;items&#x2F;pdfy-1U9Ry1_Qj0LPSR6...</a><p>PizzaTool is a thoroughly commented example of object oriented user interface programming in NeWS (and printing and faxing pictures of pizzas with PostScript):<p><a href="https:&#x2F;&#x2F;www.donhopkins.com&#x2F;home&#x2F;archive&#x2F;NeWS&#x2F;pizzatool.txt" rel="nofollow">https:&#x2F;&#x2F;www.donhopkins.com&#x2F;home&#x2F;archive&#x2F;NeWS&#x2F;pizzatool.txt</a><p><a href="https:&#x2F;&#x2F;donhopkins.medium.com&#x2F;the-story-of-sun-microsystems-pizzatool-2a7992b4c797" rel="nofollow">https:&#x2F;&#x2F;donhopkins.medium.com&#x2F;the-story-of-sun-microsystems-...</a><p>SimCity, Cellular Automata, and Happy Tool for HyperLook (nee HyperNeWS (nee GoodNeWS)):<p><a href="https:&#x2F;&#x2F;donhopkins.medium.com&#x2F;hyperlook-nee-hypernews-nee-goodnews-99f411e58ce4" rel="nofollow">https:&#x2F;&#x2F;donhopkins.medium.com&#x2F;hyperlook-nee-hypernews-nee-go...</a><p>&gt;HyperLook was like HyperCard for NeWS, with PostScript graphics and scripting plus networking. Here are three unique and wacky examples that plug together to show what HyperNeWS was all about, and where we could go in the future!<p>I&#x27;ve written about Owen&#x27;s wonderful work and John Warnock&#x27;s vision for PostScript before:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22456710" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22456710</a><p>DonHopkins on March 1, 2020 | parent | context | favorite | on: Sun&#x27;s NeWS was a mistake, as are all toolkit-in-se...<p>&gt;Owen Densmore recounted John Warnock&#x27;s idea that PostScript was actually a &quot;linguistic motherboard&quot;.<p>&gt;(This was part of a discussion with Owen about NeFS, which was a proposal for the next version of NFS to run a PostScript interpreter in the kernel. More about that here:)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17077721" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17077721</a><p>&gt;Owen Densmore&#x27;s discussion of John Warnock&#x27;s &quot;Linguistic Motherboard&quot; idea for PostScript:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;archive&#x2F;NeWS&#x2F;linguistic-motherboard-owen.txt" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;archive&#x2F;NeWS&#x2F;linguistic-motherbo...</a><p>&gt;Window System? ..NeWS ain&#x27; no stinkin&#x27; Window System!<p>&gt;-or-<p>&gt;Swiss Army NeWS: A Programmable Network Facility<p>&gt;Introduction<p>&gt;NeWS is difficult to understand simply because it is not just a window system. It is a &quot;Swiss Army Knife&quot; containing several components, some of which contribute to its use as a window system, others which provide the networking facilities for implementing the client-server model, all embedded in a programmable substrate allowing extremely flexible and creative combination of these elements.<p>&gt;During the initial implementation phase of the Macintosh LaserWriter software, I temporarily transfered from Apple to Adobe working closely with John Warnock and other Adobe engineers. At lunch one day, I asked: &quot;John, what do you plan to do after LaserWriter?&quot; His answer was interesting:<p><pre><code>        PostScript is a linguistic &quot;mother board&quot;, which has &quot;slots&quot;
        for several &quot;cards&quot;.  The first card we (Adobe) built was a
        graphics card.  We&#x27;re considering other cards.  In particular,
        we&#x27;ve thought about other network services, such as a file
        server card.
</code></pre>
&gt;He went on to say how a programmable network was really his goal, and that the printing work was just the first component. His mentioning using PostScript for a file server is particularly interesting: Sun&#x27;s next version of NFS is going to use PostScript with file extentions as the client-server protocol!<p>&gt;This paper explores NeWS in this light: as a Programmable Network Facility, a major part of Sun&#x27;s future networking strategy.<p>&gt;[...]<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22456471" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22456471</a><p>DonHopkins on March 1, 2020 | parent | context | favorite | on: Sun&#x27;s NeWS was a mistake, as are all toolkit-in-se...<p>&gt;[...] In October 1986, before I ever used NeWS or learned of Owen Densmore&#x27;s Smalltalk-like PostScript object system, I had just used PostScript on the LaserWriter and invented my own simple object system like Lisp Machine Flavors (which was quite easy and obvious) for drawing pie menus, I wrote the following to Mitch Bradley comparing Forth and PostScript. (Mitch was the Forth guru at Sun who developed ForthMacs &#x2F; Sun Forth &#x2F; CForth &#x2F; Open Firmware &#x2F; etc -- I worked with him at Sun on Forth as his summer intern, then later with James Gosling at Sun on NeWS as a full time employee):<p><a href="https:&#x2F;&#x2F;github.com&#x2F;MitchBradley" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;MitchBradley</a><p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;archive&#x2F;forth&#x2F;forth-postscript.txt" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;archive&#x2F;forth&#x2F;forth-postscript.t...</a><p>&gt;[...] PostScript makes it easy to efficiently implement a flexible dynamic object oriented programming system like Smalltalk&#x27;s, with multiple inheritance, and prototype objects that you can dynamically promote both methods and instance variables from classes to instances. Tom Stambaugh described how Smalltalk inspired Owen Densmore&#x27;s PostScript object oriented system in NeWS:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18696116" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18696116</a><p>&gt;Tom Stambaugh described how Smalltalk inspired Owen Densmore&#x27;s PostScript object oriented system in NeWS.<p>&gt;A point he didn&#x27;t mention is that PostScript is directly descendent from Interpress, which was developed at Xerox PARC and reincarnated as PostScript at Adobe by Chuck Geschke and John Warnock: [...]<p>&gt;Tom Stambaugh wrote:<p>&gt;It seems to me that Forth is to stacks what LispLanguage is to lists. Forth demonstrated the advantages of a stack-centric paradigm in which each pushed or popped item could be evaluated as an expression or a primitive. Postscript reflects the application of that paradigm to the world of typography, 2-d graphics, and page layout. My own recollection is that Postscript&#x27;s primary contribution was the use of splines to describe character glyphs, allowing them to be effectively rendered at virtually any resolution desired. If anything, Postscript owes more to TexLanguage and DonaldKnuth than to Forth. I view the stack-based language paradigm as a convenient afterthought rather than a central organizing principle.<p>&gt;I also think we should note the contribution that OwenDensmore, at Sun, made in demonstrating how to use Postscript dictionaries to create a dynamically-bound object-oriented runtime environment. This was the fundamental premise of the Sun window server that ultimately became the NetworkExtensibleWindowSystem. Owen and I discussed his &quot;crazy&quot; idea at a poolside table at the now-demolished Hyatt Palo Alto, on El Camino. I told him that it made sense to me, we scribbled furiously on napkins, and I helped him see how he might adopt some learnings from Smalltalk. It was one of those afternoons that could only have happened at that time in that place in that culture. -- TomStambaugh<p>&gt;I&#x27;ve extracted Owen Densmore&#x27;s paper from the news.tape.tar (marked PD), &quot;Object Oriented programming in NeWS&quot;, and uploaded it:<p><a href="https:&#x2F;&#x2F;ia802600.us.archive.org&#x2F;5&#x2F;items&#x2F;pdfy-1U9Ry1_Qj0LPSR6e&#x2F;monterey86.pdf" rel="nofollow">https:&#x2F;&#x2F;ia802600.us.archive.org&#x2F;5&#x2F;items&#x2F;pdfy-1U9Ry1_Qj0LPSR6...</a><p>&gt;[...]