Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

PostScript 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

The Story of Sun Microsystems PizzaTool (entirely written in PostScript):

https://donhopkins.medium.com/the-story-of-sun-microsystems-...

PizzaTool PostScript Source code:

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-g...

Discussion with Alan Kay about HyperLook and NeWS:

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-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

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

Here's the PostScript code of the NeWS Emacs display driver:

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

Pie menus:

https://donhopkins.com/home/archive/NeWS/win/pie.ps

Tabbed windows:

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-browsi...

HyperTIES Discussions from Hacker News:

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

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-octo...

PSIBER source code:

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-go...

Here's a comparison of X-Windows and NeWS:

https://donhopkins.medium.com/the-x-windows-disaster-128d398...




People you should be paying careful attention to this. You could be living 40 years in the future. Instead, we're were we are and rapidly ossifying.


I'd like to find a nicer development environment which made use of such options.

Apple killed off HyperCard, Runtime Revolution became LiveCode which when opensource, then closed source and now is only available for monthly license fees.

PythonCard never got to 1.0 and hasn't been updated in almost two decades...

I'm currently doing all my development in:

https://pythonscad.org/

(Python-enabled version of OpenSCAD) but the only user-facing options are the Customizer which is quite limited, and a repository of files which users can access --- unfortunately, trying to bring up a canvas or UI window crashes the app.


Since you already seem to be a fan of Python, how about CardStock? https://cardstock.run

There's also Decker, which by default is tightly sandboxed but has opt-in APIs for filesystem IO, invoking external processes, etc: http://beyondloom.com/decker/


Are there any available implementations of this?

I've long wanted to experiment w/ HyperLook (or a successor to it).


You'll need a SparcStation emulator to run it, if not a real SparcStation. I've resisted the temptation because there's so much new code to write that I don't have much time to run old code. ;) Although it would be fun to run it in an emulator 1000 times faster than it ever ran on real hardware!

Here are some links I've found:

Unix & Linux: How to emulate the NeWS window system?

https://www.youtube.com/watch?v=9ZhZqfC8sC4

Sun OpenWindows 3.0 (NeWS!)

https://www.youtube.com/watch?v=Kl08TvO0Bgw

Looks like this is running on a real Sun workstation, not an emulator. He shows RasterRap and The NeWS Toolkit demos, but not PizzaTool.

Good luck! Let me know if you get something working.


Not quite willing to dig out my Sparcstation 5 and find the mouse and matching metal mousepad...

Was more hopeful that someone had created a new implementation of that environment.

Let's turn this around --- for vector-graphic oriented development work what current environment would you recommend trying?


Is there any place where one could look up screenshots of this? I'd want to see what is capable with this technology


https://bsky.app/profile/dvrc.bsky.social/post/3lchv6gf5u22e

These are some screenshots of NeWS 1.1 running on SunOS 4.1.4 on QEMU that I took time ago. Unfortunately QEMU SPARC decided to break again. Also, keyboard doesn't work yet (forcing me to use the SunView terminal emulator), but probably it's due to the keyboard script.

In any case, SunOS 4.1.4 comes with OpenWindows out of the box.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: