The dude who wrote HotJava is an amazing fellow!<p>Years before Arthur van Hoff wrote HotJava (and the Java version of the Java compiler, and AWT), he wrote something much more powerful than HotJava, called HyperLook (aka HyperNeWS, aka GoodNeWS), which was a rich graphical and dynamically scriptable PostScript shell for the NeWS window system.<p>HyperLook let users and network clients download protocol implementations and interactive user interfaces on the fly (both locally self contained or client&#x2F;server). Users could flip running apps into edit mode at any time, to customize, built and script their own user interfaces at runtime.<p>It was implemented, scripted and rendered in NeWS with PostScript code and graphics, and included direct manipulation GUI editing tools, an Adobe Illustrator like PostScript graphics editor, warehouses of preconfigured customizable components, a client&#x2F;server networking library, plus an object oriented C to PostScript compiler he wrote called PdB (for Pure dead Brilliant). [1]<p>(From my earlier post [2], which includes more details and lots of links, screen shots and manuals):<p>&gt;At the Turing Institute in Glasgow, Arthur and his colleagues created a groundbreaking HyperCard-like PostScript-based networked user interface creation tool called GoodNeWS, later renamed HyperNeWS and then HyperLook, which was the most amazing thing anyone ever did with NeWS.<p>&gt;HyperLook was so far ahead of its time in 1989, that there still isn&#x27;t anything quite like it for modern technology. Since we developed HyperLook and SimCity at the same time, that forced us to eat our own dog food, and ensure that HyperLook supported everything you needed to develop real world applications. (Not to imply that SimCity is a real world! ;)<p>After Arthur left Sun to form Marimba and publish Castanet, he also wrote a little-known and under-appreciated Java scriptable HyperCard-like system called Bongo [3], which distributed interactive content via Castanet &quot;channels&quot;, and had the important ability that was present in HyperCard and HyperLook but missing in HotJava: attaching and evaluating scripts on objects at runtime, by virtue of calling the Java compiler at runtime. (Having written the Java compiler himself, it was easy for Arthur to figure out how call it and dynamically link in the compiled byte code at runtime, a feat that is necessary for implementing HyperCard-like interactive programming tools, was unheard of at the time (not even HotJava did that), but is now taken for granted today with JavaScript. ;)<p>[1] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=avJnpDKHxPY&amp;index=30&amp;list=PLX66BqHq0qTCvsWWrjptBUdHnzItlelrE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=avJnpDKHxPY&amp;index=30&amp;list=PL...</a><p>[2] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8546507" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8546507</a><p>[3] <a href="https:&#x2F;&#x2F;people.apache.org&#x2F;~jim&#x2F;NewArchitect&#x2F;webtech&#x2F;1997&#x2F;10&#x2F;note&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;people.apache.org&#x2F;~jim&#x2F;NewArchitect&#x2F;webtech&#x2F;1997&#x2F;10&#x2F;...</a>