26 ms·
What made display postscript so great? I have only seen it mentioned in frothy marketing terms, not an in depth discussion of its approach, why it worked well,
by paddy_m 1y ago
What made display postscript so great? I have only seen it mentioned in frothy marketing terms, not an in depth discussion of its approach, why it worked well, and how that compares to other alternatives.
- WillAdams 1y agoYou have to understand or have experienced how fragile the early graphics programs were --- basically a .eps file would be a black box of PostScript code, and would have a pixel image preview used on-screen (a classic gag was to use a resource editor to change the pixel preview) --- whether or no it would actually print/image correctly was something one wasn't certain of until holding the actual output in hand, and even then, it only held for a specific PostScript rasterizer/job setting. Sure, it was okay 99.99% of the time, but that 0.01% could be disastrous. Display PostScript meant that the system used for on-screen display was the same as for actual printed output --- I _never_ had a job on my NeXT Cube fail to print to match the on-screen version. Moreover, one could do cool DPS programming such as custom strokes and fills in Altsys Virtuoso. These days, PDF and Quartz (née Display PDF) mostly address the reliability (and presumably it's gotten even better since I left the industry), but I miss the programmability. Hopefully, using METAPOST will let me get some of that back.
- paddy_m 1y agoThanks, I'm starting to understand. So Display Postscript was useful because it let you know that what you put on the screen as a programmer would be what's printed? And it allowed for cool graphics effects like custom strokes and fills. So that primarily matters for stuff you want to print. It wouldn't matter as much for assembling a UI. How does windows handle this stuff?
- WillAdams 1y agoAs a graphic designer/compositor/typesetter. Windows uses (used?) WMF and pixels for on-screen display which would then either be used for printout via some conversion process, or a parallel construction would be maintained for output and the need to keep that in synch would often result in slight differences in output --- maybe there were other approaches. One of the neat things in Display PostScript was one could use Interface Builder to add a print button to any window to get the underlying PS code.
- mpweiher 1y agoIn theory, you could also capture screenshots as high-quality vector graphics.
- DonHopkins 1y agoIn practice that's what you could do with HyperLook on NeWS: SimCity, Cellular Automata, and Happy Tool for HyperLook (nee HyperNeWS (nee GoodNeWS)) 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! https://donhopkins.medium.com/hyperlook-nee-hypernews-nee-goodnews-99f411e58ce4 https://donhopkins.medium.com/hyperlook-nee-hypernews-nee-go... HyperLook SimCity Demo Transcript This is a transcript of a video taped demonstration of SimCity on HyperLook in NeWS. https://donhopkins.medium.com/hyperlook-simcity-demo-transcript-17f627eab14a https://donhopkins.medium.com/hyperlook-simcity-demo-transcr... Discussion with Alan Kay about HyperLook and NeWS: Alan Kay on “Should web browsers have stuck to being document viewers?” and a discussion of Smalltalk, HyperCard, NeWS, and HyperLook https://donhopkins.medium.com/alan-kay-on-should-web-browsers-have-stuck-to-being-document-viewers-and-a-discussion-of-news-5cb92c7b3445 https://donhopkins.medium.com/alan-kay-on-should-web-browser...
- mpweiher 1y agoAbsolutely, since NeWS was largely the same concept, though with more intelligence on the PostScript side.
- DonHopkins 1y agoPostScript is great for user interfaces! I've written lots and lots of user interfaces in PostScript. Just not Display PostScript. NeWS was a lot better for making interactive user interfaces than Display PostScript, and it came out a lot earlier. https://en.wikipedia.org/wiki/NeWS https://en.wikipedia.org/wiki/NeWS The Story of Sun Microsystems PizzaTool (entirely written in PostScript): https://donhopkins.medium.com/the-story-of-sun-microsystems-pizzatool-2a7992b4c797 https://donhopkins.medium.com/the-story-of-sun-microsystems-... PizzaTool PostScript Source code: https://www.donhopkins.com/home/archive/NeWS/pizzatool.txt https://www.donhopkins.com/home/archive/NeWS/pizzatool.txt I also worked on HyperLook, which was like HyperCard for NeWS with colorful PostScript instead of black and white pixels, plus networking: https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-goodnews-99f411e58ce4 https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g... Discussion with Alan Kay about HyperLook and NeWS: https://medium.com/@donhopkins/alan-kay-on-should-web-browsers-have-stuck-to-being-document-viewers-and-a-discussion-of-news-5cb92c7b3445 https://medium.com/@donhopkins/alan-kay-on-should-web-browse... Then I used HyperLook to implemented the user interface for SimCity, programming the entire interactive user interface in NeWS PostScript -- Display PostScript couldn't do anything like that: https://donhopkins.medium.com/hyperlook-simcity-demo-transcript-17f627eab14a https://donhopkins.medium.com/hyperlook-simcity-demo-transcr... Several years before that, I worked on the NeWS version of Gosling Emacs at UniPress, with multiple tabbed windows and pie menus. (Gosling also wrote NeWS, and much later Java.): HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS: https://www.youtube.com/watch?v=hhmU2B79EDU https://www.youtube.com/watch?v=hhmU2B79EDU The source code for UniPress Emacs 2.20 recently surfaced! (We called the NeWS version of Emacs "NeMACS" of course.): https://github.com/SimHacker/NeMACS https://github.com/SimHacker/NeMACS Here's the PostScript code of the NeWS Emacs display driver: https://github.com/SimHacker/NeMACS/blob/main/src/D.term/TrmPS.cps https://github.com/SimHacker/NeMACS/blob/main/src/D.term/Trm... And lots of other fun interactive PostScript user interface code we shipped with NeMACS: https://github.com/SimHacker/NeMACS/tree/main/ps https://github.com/SimHacker/NeMACS/tree/main/ps Pie menus: https://donhopkins.com/home/archive/NeWS/win/pie.ps https://donhopkins.com/home/archive/NeWS/win/pie.ps Tabbed windows: https://donhopkins.com/home/archive/NeWS/win/tab.ps https://donhopkins.com/home/archive/NeWS/win/tab.ps I used UniPress Emacs to develop an authoring tool for the NeWS version of HyperTIES, an early hypermedia browser, which we developed at the University of Maryland Human Computer Interaction Lab. Designing to Facilitate Browsing: A Look Back at the Hyperties Workstation Browser: https://donhopkins.medium.com/designing-to-facilitate-browsing-a-look-back-at-the-hyperties-workstation-browser-535eab3a3b3c https://donhopkins.medium.com/designing-to-facilitate-browsi... HyperTIES Discussions from Hacker News: https://donhopkins.medium.com/hyperties-discussions-from-hacker-news-937d156f0330 https://donhopkins.medium.com/hyperties-discussions-from-hac... I also worked on the Gnu Emacs 18 NeWS driver for The NeWS Toolkit: https://donhopkins.com/home/code/emacs18/src/tnt.ps https://donhopkins.com/home/code/emacs18/src/tnt.ps A visual PostScript programming and debugging environment: The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines — October 1989: https://donhopkins.medium.com/the-shape-of-psiber-space-october-1989-19e2dfa4d91e https://donhopkins.medium.com/the-shape-of-psiber-space-octo... PSIBER source code: https://www.donhopkins.com/home/pub/NeWS/litecyber/ https://www.donhopkins.com/home/pub/NeWS/litecyber/ NeWS was architecturally similar to what is now called AJAX, except that NeWS more coherently: 1) Used PostScript CODE instead of JavaScript for PROGRAMMING. 2) Used PostScript GRAPHICS instead of DHTML and CSS for RENDERING. 3) Used PostScript DATA instead of XML and JSON for DATA REPRESENTATION. More on that: SimCity, Cellular Automata, and Happy Tool for HyperLook (nee HyperNeWS (nee GoodNeWS)): https://donhopkins.medium.com/hyperlook-nee-hypernews-nee-goodnews-99f411e58ce4 https://donhopkins.medium.com/hyperlook-nee-hypernews-nee-go... Here's a comparison of X-Windows and NeWS: https://donhopkins.medium.com/the-x-windows-disaster-128d398ebd47 https://donhopkins.medium.com/the-x-windows-disaster-128d398...