HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Official Marimba Guide to Bongo

Danny Goodman · 5 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Official Marimba Guide to Bongo" by Danny Goodman.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
Covers all aspects of Bongo use, from building simple interfaces with existing components, to blending Java programs with presentations, to extending Bongo by programming widgets. The CD-ROM includes fully functional evaluation versions of Bongo for Windows 95, Windows NT, and Solaris, plus the Castanet Tuner and Castanet Transmitter. Annotation c. by Book News, Inc., Portland, Or.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
Jan 17, 2022 · DonHopkins on Window System X (1984)
That's interesting! I love Forth, but I love PostScript even more, because it's so much like Lisp. What is it about PostScript that you dislike, that doesn't bother you about Forth?

Arthur van Hoff wrote "PdB" for people who prefer object oriented C syntax to PostScript. I wrote some PdB code for HyperLook, although I preferred writing directly in PostScript.

https://news.ycombinator.com/item?id=25432748

DonHopkins on Dec 15, 2020 | parent | context | favorite | on: Source of the famous “Now you have two problems” q...

Leigh Klotz has written more PostScript than Jamie too, while working at Xerox! But "KLOTZ IS A LOGO PRIMITIVE [BEEP BEEP BEEP]". He wrote a 6502 assembler in Logo!

https://news.ycombinator.com/item?id=13524588

Leigh Klotz's comment on the regex article:

>OK, I think I’ve written more PostScript by hand than Jamie, so I assume he thinks I’m not reading this. Back in the old days, I designed a system that used incredible amounts of PostScript. One thing that made it easier for us was a C-like syntax to PS compiler, done by a fellow at the Turning Institute. We licensed it and used it heavily, and I extended it a bit to be able to handle uneven stack-armed IF, and added varieties of inheritance. The project was called PdB and eventually it folded, and the author left and went to First Person Software, where he wrote a very similar language syntax for something called Oak, and it compiled to bytecodes instead of PostScript. Oak got renamed Java.

>So there.

>And yes, we did have two problems…

>— comment by Leigh L. Klotz, Jr. on June 7th, 2008 at 3:22am JST (12 years, 6 months ago) — comment permalink

Arthur van Hoff (the author of PdB and the original Java compiler written in Java) has also written more PostScript than Jamie, especially if you count the PostScript written by programs he wrote, like PdB and GoodNeWS/HyperNeWS/HyperLook.

Here's the README file (and distribution) of PdB, Arthur van Hoff's object oriented C to PostScript compiler:

https://github.com/IanDarwin/OpenLookCDROM/blob/master/NeWS/...

Also a paper by Arthur van Hoff about "Syntactic Extensions to PdB to Support TNT Classing Mechanisms":

https://www.donhopkins.com/home/archive/NeWS/PdB.txt

Some before and after examples, like menu.h menu.pdb menu.PS:

https://www.donhopkins.com/home/archive/HyperLook/Turing/hn3...

menu.h: https://www.donhopkins.com/home/archive/HyperLook/Turing/hn3...

menu.pdb: https://www.donhopkins.com/home/archive/HyperLook/Turing/hn3...

menu.PS: https://www.donhopkins.com/home/archive/HyperLook/Turing/hn3...

GoodNeWS/HyperNeWS/HyperLook:

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...

pvg on Dec 15, 2020 | prev [–]

Arthur van Hoff (the author of PdB and the original Java compiler written in Java) And the original AWT, if this is to be a full Airing of Sins.

DonHopkins on Dec 15, 2020 | parent [–]

Agreed, AWT was a horrible compromise in an impossible situation! But he made up for it by creating "Bongo" at Marimba.

Bongo is to Java+HyperCard as HyperLook is to PostScript+HyperCard.

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...

>Arthur van Hoff [...]

>Marimba Castanet and Bongo

>Eventually Arthur left Sun to found Marimba, where he developed the widely used Castanet push distribution technology, and the under-appreciated Bongo user interface editing tool: a HypeLook-like user interface editor written in Java, that solved the runtime scripting extension problem by actually calling the Java compiler to dynamically compile and link Java scripts.

>Nobody else had ever done anything remotely like Bongo before in Java. Dynamic scripting with Java was unheard of at the time, but since he had written the compiler, he knew the API and how the plumbing worked, so had no qualms about calling the Java compiler at runtime every time you hit the “Apply” button of a script editor.

>Danny Goodman’s “Official Marimba Guide to Bongo”

https://www.amazon.com/Official-Marimba-Guide-Bongo-Goodman/...

>Danny Goodman, the author of the definitive HyperCard book, “The Complete HyperCard Handbook”, went on to write the “Official Marimba Guide to Bongo”, a great book about Bongo, described as the “reincarnation of HyperCard on the Internet”.

>[TODO: Write about Bongo’s relationship to HyperCard, HyperLook and Java.]

>Java applets are everywhere on Web pages these days, but if you’ve made the move to Java from a contemporary programming environment you’ve probably been dismayed by its relative immaturity. The Official Marimba Guide to Bongo covers Marimba’s Bongo environment, which is designed to allow rapid development of Java user interfaces. The book shows you how to use the large library of graphics “widgets” supplied with Bongo, how to wire them together with simple scripting, and how to integrate other Java applets. It also explains how Bongo can be used to build channels for Marimba’s Castanet system. -Amazon.com Review

>Java users should be rejoicing at the promise of programming aid Bongo, which is is the reincarnation of HyperCard on the Internet. It is fitting that the first major book about Bongo comes from Goodman, the author of the definitive HyperCard book of days gone by (The Complete HyperCard Handbook, Random, 1994). His background is as a journalist, not a technologist, and readers will make good use of this first-rate introduction. This book will circulate. -Library Journal Review

Unfortunately Marimba's Bongo got overshadowed by Sun's announcement of "Java Beans" which Sun was pushing with much fanfare and handwaving as an alternative to "ActiveX", but which eventually turned out to actually be just a server side data modeling technology, not a client gui framework.

https://news.ycombinator.com/item?id=21784027

[...]

Marimba developed Bongo, a Java-based gui toolkit / user interface editor / graphical environment, inspired by HyperCard (and HyperLook), which they used to develop and distribute interactive user interfaces over Castanet.

https://people.apache.org/~jim/NewArchitect/webtech/1997/10/...

>Feel the Beat with Marimba's Bongo, By Chris Baron

>In 1996, four programmers from the original Java-development team left Sun to form Marimba and produce industrial-strength Java-development tools for user interface and application administration. Bongo, one of Marimba's two shipping products, allows developers to create either a Java-application interface or a standalone Java-based application called a "presentation." A Bongo presentation resembles a HyperCard stack -- it allows developers to quickly create an application with a sophisticated user interface, but without the tedious programming of directly coding in Java or C/C++. Bongo's nonprogramming, visual approach makes it ideal for producing simple applications that don't involve a lot of processing, such as product demonstrations, user-interface prototypes, and training applications. Bongo is fully integrated with Castanet, Marimba's other product, a technology for remotely installing and updating Java applications.

Bongo was unique at the time in that it actually let you edit and dynamically compile scripts for event handlers and "live code" at run-time (in contrast with other tools that required you to recompile and re-run the application to make changes to the user interface), which was made possible by calling back to the Java compiler (which Arthur had written before at Sun, so he knew how to integrate the compiler at runtime like a modern IDE would do). Without the ability to dynamically edit scripts at runtime (easy with an interpreted language like HyperTalk or PostScript or JavaScript, but trickier for a compiled language like Java), you can't hold a candle to HyperCard, because interactive scripting is an essential feature.

Danny Goodman, who wrote the book on HyperCard, also wrote a book about Bongo. Arthur later founded Flipboard and JauntVR, and now works at Apple.

Here's a paper I wrote comparing Bongo with IFC (Netscape's much-ballyhooped Java Internet Foundation Classes). (Notice how IFC = Internet Foundation Classes was Netscape's answer to MFC = Microsoft Foundation Classes. Never define your product's name in terms of a reaction to your widely successful competitor's name. cough SunSoft cough)

NetScape's Internet Foundation Classes and Marimba's Bongo

https://donhopkins.com/home/interval/ifc-vs-bongo.html

>In summary, I think it was too early to write a Java toolkit before JDK 1.1, so IFC has gone and done a lot of its own stuff, which will have to be drastically changed to take advantage of the new stuff. Bongo is not as far down the road of painting itself into a corner like that, and if some effort is put into it, to bring it up to date with the new facilities in Java, I think it will be a better framework than IFC. Java Beans remains a big unknown, that I don't have a lot of faith in. Arthur says Java Beans does too much, and I'm afraid it may try to push competing frameworks like IFC and Bongo out of the limelight, instead of just providing a low level substrate on top of which they can interoperate (like the TNT ClassCanvas). If Bongo can pull off ActiveX integration with style and grace, then it wins hands down, because I doubt IFC can, and I don't trust Sun to deliver on their promises to do that with Java Beans.

More:

https://news.ycombinator.com/item?id=19837817

>Wow, a blast from the past! 1996, what a year that was. [...]

arethuza
It was explained to me by one of Arthur's colleagues at the Turing Institute that PdB stood for "Pure Dead Brilliant" - which indeed it was and the Institute being in Glasgow.

HyperNeWS was definitely one of the neatest systems I have ever worked with.

Edit: I also really liked PostScript.

DonHopkins
That's right! ;)

http://www.scotranslate.com/translate/scottish/pure-dead-bri...

>pure dead brilliant - Scottish to English : The English translation of "pure dead brilliant" is 1. exceptional 2. fantastic

ncmncm
Was Marimba "push" the inspiration for the expression "This like TV. I don't like TV" going around at the time? I never found out.

"Before co-founding Marimba, [Kim] Polese spent more than seven years with Sun Microsystems and was the founding product manager for Java when it launched in 1995. She also influenced the transition of its internal name of "Oak" to "Java".[11]

"Prior to joining Sun, Polese worked on expert systems at IntelliCorp Inc., helping Fortune 500 companies apply artificial intelligence to solving complex business challenges."

Anybody remember "expert systems"?

rbanffy
> What is it about PostScript that you dislike, that doesn't bother you about Forth?

I think it's what we were trying to accomplish. My work with Forth was on Apple II computers while my contact with PostScript was to make printers do things they weren't supposed to do - such as printing fractals - because, for some time, they were the most powerful computers we had at the office.

Apart from that, the syntax seemed awkward for things more complicated than rendering text in predefined positions, but, then, I didn't have any development tools similar to what was available with NeWS (when NeWS was still hot).

DonHopkins
I learned FORTH on the Apple ][ too! 6502 FORTH (and others) have a great RPN assembler that is nice for writing the performance sensitive and hardware accessing parts of your program. It was perfect for writing stuff like terminal emulators.

The original LaserWriter was actually a more powerful computer than the Macs that used it, at the time of its release.

Debugging on a laser printer definitely was a challenged, and used lots of paper.

You're right that NeWS made it a lot easier to debug PostScript code interactively without killing trees. It had a command line debugger, but was great for making visual interfaces too! Here's a visual PostScript programming and debugging environment I made with NeWS:

The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines — October 1989

Abstract

The PSIBER Space Deck is an interactive visual user interface to a graphical programming environment, the NeWS window system. It lets you display, manipulate, and navigate the data structures, programs, and processes living in the virtual memory space of NeWS. It is useful as a debugging tool, and as a hands on way to learn about programming in PostScript and NeWS.

https://donhopkins.medium.com/the-shape-of-psiber-space-octo...

Agreed, AWT was a horrible compromise in an impossible situation!

But he made up for it by creating "Bongo" at Marimba.

Bongo is to Java+HyperCard as HyperLook is to PostScript+HyperCard.

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...

>Arthur van Hoff [...]

>Marimba Castanet and Bongo

>Eventually Arthur left Sun to found Marimba, where he developed the widely used Castanet push distribution technology, and the under-appreciated Bongo user interface editing tool: a HypeLook-like user interface editor written in Java, that solved the runtime scripting extension problem by actually calling the Java compiler to dynamically compile and link Java scripts.

>Nobody else had ever done anything remotely like Bongo before in Java. Dynamic scripting with Java was unheard of at the time, but since he had written the compiler, he knew the API and how the plumbing worked, so had no qualms about calling the Java compiler at runtime every time you hit the “Apply” button of a script editor.

>Danny Goodman’s “Official Marimba Guide to Bongo”

https://www.amazon.com/Official-Marimba-Guide-Bongo-Goodman/...

>Danny Goodman, the author of the definitive HyperCard book, “The Complete HyperCard Handbook”, went on to write the “Official Marimba Guide to Bongo”, a great book about Bongo, described as the “reincarnation of HyperCard on the Internet”.

>[TODO: Write about Bongo’s relationship to HyperCard, HyperLook and Java.]

>Java applets are everywhere on Web pages these days, but if you’ve made the move to Java from a contemporary programming environment you’ve probably been dismayed by its relative immaturity. The Official Marimba Guide to Bongo covers Marimba’s Bongo environment, which is designed to allow rapid development of Java user interfaces. The book shows you how to use the large library of graphics “widgets” supplied with Bongo, how to wire them together with simple scripting, and how to integrate other Java applets. It also explains how Bongo can be used to build channels for Marimba’s Castanet system. -Amazon.com Review

>Java users should be rejoicing at the promise of programming aid Bongo, which is is the reincarnation of HyperCard on the Internet. It is fitting that the first major book about Bongo comes from Goodman, the author of the definitive HyperCard book of days gone by (The Complete HyperCard Handbook, Random, 1994). His background is as a journalist, not a technologist, and readers will make good use of this first-rate introduction. This book will circulate. -Library Journal Review

Unfortunately Marimba's Bongo got overshadowed by Sun's announcement of "Java Beans" which Sun was pushing with much fanfare and handwaving as an alternative to "ActiveX", but which eventually turned out to actually be just a server side data modeling technology, not a client gui framework.

https://news.ycombinator.com/item?id=21784027

[...]

Marimba developed Bongo, a Java-based gui toolkit / user interface editor / graphical environment, inspired by HyperCard (and HyperLook), which they used to develop and distribute interactive user interfaces over Castanet.

https://people.apache.org/~jim/NewArchitect/webtech/1997/10/...

>Feel the Beat with Marimba's Bongo, By Chris Baron

>In 1996, four programmers from the original Java-development team left Sun to form Marimba and produce industrial-strength Java-development tools for user interface and application administration. Bongo, one of Marimba's two shipping products, allows developers to create either a Java-application interface or a standalone Java-based application called a "presentation." A Bongo presentation resembles a HyperCard stack -- it allows developers to quickly create an application with a sophisticated user interface, but without the tedious programming of directly coding in Java or C/C++. Bongo's nonprogramming, visual approach makes it ideal for producing simple applications that don't involve a lot of processing, such as product demonstrations, user-interface prototypes, and training applications. Bongo is fully integrated with Castanet, Marimba's other product, a technology for remotely installing and updating Java applications.

Bongo was unique at the time in that it actually let you edit and dynamically compile scripts for event handlers and "live code" at run-time (in contrast with other tools that required you to recompile and re-run the application to make changes to the user interface), which was made possible by calling back to the Java compiler (which Arthur had written before at Sun, so he knew how to integrate the compiler at runtime like a modern IDE would do). Without the ability to dynamically edit scripts at runtime (easy with an interpreted language like HyperTalk or PostScript or JavaScript, but trickier for a compiled language like Java), you can't hold a candle to HyperCard, because interactive scripting is an essential feature.

Danny Goodman, who wrote the book on HyperCard, also wrote a book about Bongo. Arthur later founded Flipboard and JauntVR, and now works at Apple.

Here's a paper I wrote comparing Bongo with IFC (Netscape's much-ballyhooped Java Internet Foundation Classes). (Notice how IFC = Internet Foundation Classes was Netscape's answer to MFC = Microsoft Foundation Classes. Never define your product's name in terms of a reaction to your widely successful competitor's name. cough SunSoft cough)

NetScape's Internet Foundation Classes and Marimba's Bongo

https://donhopkins.com/home/interval/ifc-vs-bongo.html

>In summary, I think it was too early to write a Java toolkit before JDK 1.1, so IFC has gone and done a lot of its own stuff, which will have to be drastically changed to take advantage of the new stuff. Bongo is not as far down the road of painting itself into a corner like that, and if some effort is put into it, to bring it up to date with the new facilities in Java, I think it will be a better framework than IFC. Java Beans remains a big unknown, that I don't have a lot of faith in. Arthur says Java Beans does too much, and I'm afraid it may try to push competing frameworks like IFC and Bongo out of the limelight, instead of just providing a low level substrate on top of which they can interoperate (like the TNT ClassCanvas). If Bongo can pull off ActiveX integration with style and grace, then it wins hands down, because I doubt IFC can, and I don't trust Sun to deliver on their promises to do that with Java Beans.

More:

https://news.ycombinator.com/item?id=19837817

>Wow, a blast from the past! 1996, what a year that was. [...]

pvg
Hah yeah, I remember Bongo and IFC and did some work on one of their competitors. In retrospect, yes, it's not an approach that really had much of a chance in the long term because at the end of the day, it's building dynamic dispatch/message passing and all sorts of other scaffolding out of more-or-less strings on top of a language/runtime that's supposed to provide these.
DonHopkins
And then Eclipse happened.

https://www.youtube.com/watch?v=HmLk2vSXXtk&ab_channel=NEAZI...

IBM named it Eclipse just to poke Sun in the eye. And it worked, it totally tweaked them! A friend of mine working at Sun at the time once lamented to me that "The name 'Eclipse' is so unfortunate. And why won't anybody use NetBeans?" ;)

Eclipse is a big bold name with an obvious meaning related to Sun, that expressed IBM's goal in one word: they intended to eclipse Sun in the Java world.

Their plausibly deniable cover story was that they meant to be competitive with Visual Studio on Windows (which was a passive-aggressive dig at Sun, because Sun had nothing to compare with Visual Studio, which was more ambitious than NetBeans to eclipse).

https://www.eweek.com/development/eclipse-behind-the-name

>Eclipse: Behind the Name

>Whats in a name?

>Back in 2003, when Sun Microsystems Inc. was considering whether it might join the then soon-to-be-independent Eclipse Foundation, one of the key concerns, aside from technical issues, was the name Eclipse.

>Sun said it would not join an organization named Eclipse, and the foundation agreed to change the name. The Santa Clara, Calif., company didn't want to join an organization whose name was perceived as encouraging the demise of Sun, company executives said at the time. [...]

>"We decided to do what it would take to be competitive with Visual Studio on Windows," he [IBM's Nackman] said.

>So the target then was and now is Microsoft, not Sun, he said.

>But the name seems so perfect a knock against Sun. How could it not be? Well, according to a source, some of the early Eclipse originators had a retreat where one of the themes was the universe and many code names emerged involving celestial themes. Eclipse stuck. And while Sun was not necessarily the primary target, "these were really smart people, and I don't think the visualization and competitive implication was lost," a source said. [...]

https://www.eweek.com/development/eclipse-casts-shadow-on-su...

>Eclipse Casts Shadow on Sun

>The Eclipse open-source development platform is outshining Sun's NetBeans in terms of developer and vendor support, but Sun vows to continue to innovate around NetBeans.

>Does Sun have lunar envy? [...]

>And of the tools landscape, a Microsoft source said: "The game is not over, but when we think of developer ecosystems other than Visual Studio we think Eclipse. We don't think NetBeans."

Oh, snap!

Bongo was by far the most advanced user interface toolkit and editor for Java of its time. It had a HyperCard-like GUI editor AND an interactive script editor that let you build and edit applications and user interfaces while they were running, just like HyperCard, instead of recompiling and restarting every time you made a change.

https://people.apache.org/~jim/NewArchitect/webtech/1997/10/...

>Feel the Beat with Marimba's Bongo

>By Chris Baron

>In 1996, four programmers from the original Java-development team left Sun to form Marimba and produce industrial-strength Java-development tools for user interface and application administration. Bongo, one of Marimba's two shipping products, allows developers to create either a Java-application interface or a standalone Java-based application called a "presentation." A Bongo presentation resembles a HyperCard stack -- it allows developers to quickly create an application with a sophisticated user interface, but without the tedious programming of directly coding in Java or C/C++. Bongo's nonprogramming, visual approach makes it ideal for producing simple applications that don't involve a lot of processing, such as product demonstrations, user-interface prototypes, and training applications. Bongo is fully integrated with Castanet, Marimba's other product, a technology for remotely installing and updating Java applications.

https://www.amazon.com/Official-Marimba-Guide-Bongo-Goodman/...

>Official Marimba Guide to Bongo, by Danny Goodman

Thank you! Here's an article I wrote about HyperLook (nee HyperNeWS (nee GoodNeWS)) [as it went through several revisions over the years, and the name kept changing each time]. The article is actually just an early draft that I haven't had time to finish and polish, and is kind of rambling, meandering, incoherent, and unfocused, but I hope you'll get the drift.

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...

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

[...]

>The Axis of Eval: Code, Graphics, and Data

>We will return to these three important dimensions of Code, Graphics and Data as a recurring theme throughout this article. But which way to go from here?

>Alan Kay on NeWS:

>“I thought NeWS was ‘the right way to go’ (except it missed the live system underneath). It was also very early in commercial personal computing to be able to do a UI using Postscript, so it was impressive that the implementation worked at all.” -Alan Kay

It was indeed deeply inspired by and indebted to HyperCard, but of course had networking built in thanks to NeWS, and used PostScript as the data format and networking protocol (like XML and JSON are now used), and as the scripting language (which is more like Lisp than HyperTalk), and as the imaging model instead of pixels (including a nice built-in structured graphics editor component that supported EPS and raster images too, which you could use to build your own apps, property sheets, and editors, like the editable Clock component the article shows).

Another significant difference between HyperCard and HyperLook is that HyperLook used its own "stacks" to implement its own user interface for property sheets, etc. HyperCard just used the traditional Mac Toolbox for its user interface, instead of property sheets and dialogs being stacks. So you could edit and customize HyperLook property sheets and dialogs, and define new classes of HyperLook widgets, and then build your own seamlessly integrated property sheets for them (or just customize the property sheets of existing components). For example, I defined some NeWS Toolkit OPEN LOOK components like sliders and buttons and menus to support SimCity, all configurable with their own property sheets. The property sheets could use as many PostScript graphics editor components as they needed: for example, the editable clock component's property sheet let you edit its clock face, minute hand, and hour hand, which it rotated and drew around the clock. ...But it was just too slow to practically redraw a second hand once per second, so I left that out! Then you could copy and paste your custom clocks into any HyperLook stack, in case you cared what time it was.

However, this feature did enable "user interface vandalism", so HyperLook has a non-editable runtime system with the editors stripped out, that you could ship with apps:

http://www.art.net/~hopkins/Don/hyperlook/TalkRunTime.gif

In case you don't like PostScript as much as I do, Arthur van Hoff also wrote "PdB", an object oriented C to PostScript compiler that you could use to write classes and scripts. Later, after working on Java at Sun and leaving to found Marimba, Arthur wrote Bongo in Java, which was inspired by HyperCard (and called the Java compiler he wrote at Sun to dynamically compile scripts), and Danny Goodman wrote the book on Bongo! (He also wrote the book on HyperCard.) Arthur's working at Apple, now.

https://en.wikipedia.org/wiki/Arthur_van_Hoff

https://www.amazon.com/Official-Marimba-Guide-Bongo-Goodman/...

https://books.google.nl/books?id=NToEAAAAMBAJ&pg=PA47&lpg=PA...

I've included links to a bunch of brochures, articles, product info, documentation, and SimCity README and manual at the end of the article. Here's the link to the HyperLook product info, which summarizes it pretty well, and the HyperLook SimCity manual, which has a lot of screen snapshots and shows what it can do.

HyperLook Product Info:

http://donhopkins.com/home/HyperLook-Product-Info.pdf

HyperLook SimCity Manual:

https://donhopkins.com/home/HyperLook-SimCity-Manual.pdf

Also here's an illustrated transcript of a HyperLook SimCity demo (that shows all kinds of other HyperLook and NeWS stuff too, and includes a link to the original video):

https://medium.com/@donhopkins/hyperlook-simcity-demo-transc...

Imagine a window manager built on top of something like HyperLook, where users can not only edit the "chrome" in the window frames to make them look and behave any way they prefer, but also compose custom task-oriented interfaces by copying and pasting components from different parts of the same app, or even different apps, and integrating them by scripting, so you don't have to flip between different windows and navigate to different parts of multiple apps, and you just have all the controls you need together in one place, without any unnecessary junk. For example, SimCity came with an audio mixing server that other apps could use by sending messages to it, which would be mixed with SimCity's sounds, so you could make a button that went "PING" whenever you pressed it, then copy and paste it into any other HyperLook stack, and it would work! Or you could make a custom "SimCity Surveillance" window by copying three different map views into the same window:

https://miro.medium.com/max/556/0*XknyNX0FMotAR7y_.gif

>The neat thing is that this view here itself is just another user interface component, and I can copy and paste that, and have multiple views. Each one of these animated scrolling SimCity editors, once I’ve made one, I can put them anywhere. This window, you can click here to get three of them.

DonHopkins
For another interesting approach to sampling, customizing, and remixing existing user interfaces, check out Morgan Dixon's PhD thesis on "Prefab"!

https://news.ycombinator.com/item?id=15327767

>Morgan Dixon's and James Fogarty's work is truly breathtaking and eye opening, and I would love for that to be a core part of a scriptable hybrid Screen Scraping / Accessibility API approach.

>Screen scraping techniques are very powerful, but have limitations. Accessibility APIs are very powerful, but have different limitations. But using both approaches together, screencasting and re-composing visual elements, and tightly integrating it with JavaScript, enables a much wider and interesting range of possibilities.

>Think of it like augmented reality for virtualizing desktop user interfaces. The beauty of Morgan's Prefab is how it works across different platforms and web browsers, over virtual desktops, and how it can control, sample, measure, modify, augment and recompose guis of existing unmodified applications, even dynamic language translation, so they're much more accessible and easier to use!

https://news.ycombinator.com/item?id=11520967

Web Site: Morgan Dixon's Home Page. http://morgandixon.net/

Web Site: Prefab: The Pixel-Based Reverse Engineering Toolkit.

https://web.archive.org/web/20130104165553/http://homes.cs.w...

Video: Prefab: What if We Could Modify Any Interface? Target aware pointing techniques, bubble cursor, sticky icons, adding advanced behaviors to existing interfaces, independent of the tools used to implement those interfaces, platform agnostic enhancements, same Prefab code works on Windows and Mac, and across remote desktops, widget state awareness, widget transition tracking, side views, parameter preview spectrums for multi-parameter space exploration, prefab implements parameter spectrum preview interfaces for both unmodified Gimp and Photoshop:

http://www.youtube.com/watch?v=lju6IIteg9Q

PDF: A General-Purpose Target-Aware Pointing Enhancement Using Pixel-Level Analysis of Graphical Interfaces. Morgan Dixon, James Fogarty, and Jacob O. Wobbrock. (2012). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '12. ACM, New York, NY, 3167-3176. 23%.

https://web.archive.org/web/20150714010941/http://homes.cs.w...

Video: Content and Hierarchy in Prefab: What if anybody could modify any interface? Reverse engineering guis from their pixels, addresses hierarchy and content, identifying hierarchical tree structure, recognizing text, stencil based tutorials, adaptive gui visualization, ephemeral adaptation technique for arbitrary desktop interfaces, dynamic interface language translation, UI customization, re-rendering widgets, Skype favorite widgets tab:

http://www.youtube.com/watch?v=w4S5ZtnaUKE

PDF: Content and Hierarchy in Pixel-Based Methods for Reverse-Engineering Interface Structure. Morgan Dixon, Daniel Leventhal, and James Fogarty. (2011). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '11. ACM, New York, NY, 969-978. 26%.

https://web.archive.org/web/20150714010931/http://homes.cs.w...

Video: Sliding Widgets, States, and Styles in Prefab. Adapting desktop interfaces for touch screen use, with sliding widgets, slow fine tuned pointing with magnification, simulating rollover to reveal tooltips:

https://www.youtube.com/watch?v=8LMSYI4i7wk

Video: A General-Purpose Bubble Cursor. A general purpose target aware pointing enhancement, target editor:

http://www.youtube.com/watch?v=46EopD_2K_4

PDF: Prefab: Implementing Advanced Behaviors Using Pixel-Based Reverse Engineering of Interface Structure. Morgan Dixon and James Fogarty. (2010). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '10. ACM, New York, NY, 1525-1534. 22%

https://web.archive.org/web/20150714010936/http://homes.cs.w...

PDF: Prefab: What if Every GUI Were Open-Source? Morgan Dixon and James Fogarty. (2010). Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI '10. ACM, New York, NY, 851-854.

https://web.archive.org/web/20141024012013/http://homes.cs.w...

Morgan Dixon's Research Statement:

http://morgandixon.net/morgan-dixon-research-statement.pdf

Community-Driven Interface Tools

Today, most interfaces are designed by teams of people who are collocated and highly skilled. Moreover, any changes to an interface are implemented by the original developers and designers who own the source code. In contrast, I envision a future where distributed online communities rapidly construct and improve interfaces. Similar to the Wikipedia editing process, I hope to explore new interface design tools that fully democratize the design of interfaces. Wikipedia provides static content, and so people can collectively author articles using a very basic Wiki editor. However, community-driven interface tools will require a combination of sophisticated programming-by-demonstration techniques, crowdsourcing and social systems, interaction design, software engineering strategies, and interactive machine learning.

HyperCard inspired Arthur van Hoff to develop a network aware version of HyperCard in PostScript for James Gosling's networked-PostScript-based NeWS Window System. It was originally called "GoodNeWS", then called "HyperNeWS", then finally released as a product called "HyperLook", which I worked on with Arthur and used to port SimCity to X11/NeWS on SunOS/Solaris.

https://en.wikipedia.org/wiki/Arthur_van_Hoff

Arthur later went on to Sun, wrote the Java compiler in Java, developed the AWT user interface toolkit, then formed Marimba with Kim Polesi and Jonathan Payne and others from the original Java team, where they developed Castanet and Bongo.

https://www.wired.com/1996/11/es-marimba/

>1996-11-01: Tuning in to Marimba. Kim Polese wants you to upgrade your HTML-based browser to a more interactive, more TV-like, Java-based "tuner" by the name of Castanet.

>Marimba's first product, scheduled to be announced in early October, is the punnily named Castanet, which aims to push Java toward its full potential. Java was created to deliver interactive content over distributed networks, and its much-hyped arrival last year promised to completely change the way information and entertainment are delivered electronically. The first popular Java programs have been based on HTML - for example, the Java applets that lend some animation to boring Web pages. But Java doesn't need the Web to fly. It was designed to communicate over any kind of decentralized system. [...]

Marimba developed Bongo, a Java-based gui toolkit / user interface editor / graphical environment, inspired by HyperCard (and HyperLook), which they used to develop and distribute interactive user interfaces over Castanet.

https://people.apache.org/~jim/NewArchitect/webtech/1997/10/...

>Feel the Beat with Marimba's Bongo, By Chris Baron

>In 1996, four programmers from the original Java-development team left Sun to form Marimba and produce industrial-strength Java-development tools for user interface and application administration. Bongo, one of Marimba's two shipping products, allows developers to create either a Java-application interface or a standalone Java-based application called a "presentation." A Bongo presentation resembles a HyperCard stack -- it allows developers to quickly create an application with a sophisticated user interface, but without the tedious programming of directly coding in Java or C/C++. Bongo's nonprogramming, visual approach makes it ideal for producing simple applications that don't involve a lot of processing, such as product demonstrations, user-interface prototypes, and training applications. Bongo is fully integrated with Castanet, Marimba's other product, a technology for remotely installing and updating Java applications.

Bongo was unique at the time in that it actually let you edit and dynamically compile scripts for event handlers and "live code" at run-time (in contrast with other tools that required you to recompile and re-run the application to make changes to the user interface), which was made possible by calling back to the Java compiler (which Arthur had written before at Sun, so he knew how to integrate the compiler at runtime like a modern IDE would do). Without the ability to dynamically edit scripts at runtime (easy with an interpreted language like HyperTalk or PostScript or JavaScript, but trickier for a compiled language like Java), you can't hold a candle to HyperCard, because interactive scripting is an essential feature.

Danny Goodman, who wrote the book on HyperCard, also wrote a book about Bongo. Arthur later founded Flipboard and JauntVR, and now works at Apple.

https://www.amazon.com/Official-Marimba-Guide-Bongo-Goodman/...

I've written lots more about HyperLook, NeWS and SimCity:

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...

https://news.ycombinator.com/item?id=19837817

https://news.ycombinator.com/item?id=18314265

https://news.ycombinator.com/item?id=20182294

https://news.ycombinator.com/item?id=19007885

HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.