This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| hyperlook [2007-07-17 10:45] – created nik | hyperlook [2020-07-17 09:49] (current) – nik | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ---- | ---- | ||
| - | http:// | + | via;: http:// |
| * Date: Thu Dec 28 10:58:09 EST 2006 | * Date: Thu Dec 28 10:58:09 EST 2006 | ||
| Line 12: | Line 12: | ||
| * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] | * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] | ||
| - | I love the ideas behind Smalltalk, EToys and HyperCard, and would like | + | > I love the ideas behind Smalltalk, EToys and HyperCard, and would like |
| - | to combine them with ideas from visual programming languages like Robot | + | > to combine them with ideas from visual programming languages like Robot |
| - | Odyssey, KidSim, Klik-and-Play, | + | > Odyssey, KidSim, Klik-and-Play, |
| - | Max/ | + | > Max/ |
| Here are some ideas about HyperLook and other systems, that could be | Here are some ideas about HyperLook and other systems, that could be | ||
| Line 23: | Line 23: | ||
| for the NeWS window system, which Arthur van Hoff created at the Turing | for the NeWS window system, which Arthur van Hoff created at the Turing | ||
| Institute in Glasgow. | Institute in Glasgow. | ||
| + | |||
| http:// | http:// | ||
| Line 29: | Line 30: | ||
| non-editable runtime, and I used it to port SimCity to Unix, and develop | non-editable runtime, and I used it to port SimCity to Unix, and develop | ||
| other components and applications . | other components and applications . | ||
| + | |||
| http:// | http:// | ||
| - | http:// | + | |
| + | {{http:// | ||
| HyperLook was inspired by HyperCard, but it additionally provided a | HyperLook was inspired by HyperCard, but it additionally provided a | ||
| Line 47: | Line 50: | ||
| the first to admit the X11/NeWS merge was quite a hodge-podge and | the first to admit the X11/NeWS merge was quite a hodge-podge and | ||
| huge-kludge!) | huge-kludge!) | ||
| + | |||
| NeWS had an object system based on the simple dynamic ideas of | NeWS had an object system based on the simple dynamic ideas of | ||
| Smalltalk, implemented with the PostScript dictionary stack, supporting | Smalltalk, implemented with the PostScript dictionary stack, supporting | ||
| multiple inheritance and runtime modification of objects and classes. | multiple inheritance and runtime modification of objects and classes. | ||
| - | http:// | + | |
| + | {{http:// | ||
| HyperLook was a gui development framework and desktop environment, | HyperLook was a gui development framework and desktop environment, | ||
| Line 60: | Line 65: | ||
| manager, gui editor, clipboard and other desktop tools and services, all | manager, gui editor, clipboard and other desktop tools and services, all | ||
| designed around the PostScript graphics format and message passing system. | designed around the PostScript graphics format and message passing system. | ||
| - | http:// | + | |
| - | http:// | + | {{http:// |
| - | http:// | + | |
| - | http:// | + | {{http:// |
| + | |||
| + | {{http:// | ||
| + | |||
| + | {{http:// | ||
| Users could create their own integrated applications, | Users could create their own integrated applications, | ||
| Line 71: | Line 80: | ||
| handlers, sending and receiving messages between other stacks and | handlers, sending and receiving messages between other stacks and | ||
| applications, | applications, | ||
| - | http:// | + | |
| + | {{http:// | ||
| It provided a user-editable window manager, that allowed you to draw and | It provided a user-editable window manager, that allowed you to draw and | ||
| Line 78: | Line 88: | ||
| controls, as well as combining and scripting together multiple | controls, as well as combining and scripting together multiple | ||
| application components and custom graphics. | application components and custom graphics. | ||
| + | |||
| Because everything was based on PostScript, you could print any window | Because everything was based on PostScript, you could print any window | ||
| to a PostScript printer or copy it to the clipboard, and iconified | to a PostScript printer or copy it to the clipboard, and iconified | ||
| windows were just live miniaturized views. | windows were just live miniaturized views. | ||
| - | http:// | + | |
| + | {{http:// | ||
| Developers could create back-end services (like audio mixing) and | Developers could create back-end services (like audio mixing) and | ||
| Line 87: | Line 99: | ||
| shared memory for efficient bitmap animation, and share services like | shared memory for efficient bitmap animation, and share services like | ||
| audio mixing with other applications. | audio mixing with other applications. | ||
| - | http:// | + | |
| - | http:// | + | {{http:// |
| + | |||
| + | {{http:// | ||
| I developed SimCity in parallel with HyperLook, so there was a powerful | I developed SimCity in parallel with HyperLook, so there was a powerful | ||
| synergy, SimCity drove the development of many of HyperLook' | synergy, SimCity drove the development of many of HyperLook' | ||
| and the other way around. | and the other way around. | ||
| + | |||
| SimCity extended HyperLook with client/ | SimCity extended HyperLook with client/ | ||
| city editor, map view, graph display, which could be copied and pasted | city editor, map view, graph display, which could be copied and pasted | ||
| and placed anywhere in the interface. | and placed anywhere in the interface. | ||
| + | |||
| It was great to have a demanding application like SimCity as an acid | It was great to have a demanding application like SimCity as an acid | ||
| test, to shake out bugs and limitations of the platform, and prove the | test, to shake out bugs and limitations of the platform, and prove the | ||
| abilities of general purpose components like bitmap animation and audio | abilities of general purpose components like bitmap animation and audio | ||
| mixing. | mixing. | ||
| - | http:// | + | |
| - | http:// | + | {{http:// |
| + | |||
| + | {{http:// | ||
| HyperLook was a commercial product, with a WYSIWYG interface development | HyperLook was a commercial product, with a WYSIWYG interface development | ||
| environment for developers, and a freely redistributable non-editable | environment for developers, and a freely redistributable non-editable | ||
| runtime. | runtime. | ||
| + | |||
| We released it at the same time as SimCity (using SimCity as bait to | We released it at the same time as SimCity (using SimCity as bait to | ||
| entice people to try out the included HyperLook runtime). | entice people to try out the included HyperLook runtime). | ||
| + | |||
| http:// | http:// | ||
| + | |||
| http:// | http:// | ||
| Line 118: | Line 139: | ||
| components around, and edit their scripts (enabling user interface | components around, and edit their scripts (enabling user interface | ||
| vandalism). | vandalism). | ||
| + | |||
| Personally, I think all users should have a user-editable development | Personally, I think all users should have a user-editable development | ||
| environment, | environment, | ||
| it, so casual user's can't accidentally break the system, or get | it, so casual user's can't accidentally break the system, or get | ||
| confused with unnecessary details. | confused with unnecessary details. | ||
| - | http:// | + | |
| + | {{http:// | ||
| HyperLook included a " | HyperLook included a " | ||
| Line 128: | Line 151: | ||
| script to create your own HyperLook applications, | script to create your own HyperLook applications, | ||
| interactive presentations, | interactive presentations, | ||
| - | http:// | + | |
| - | http:// | + | {{http:// |
| + | |||
| + | {{http:// | ||
| Like HyperCard, you could copy and paste components around (including | Like HyperCard, you could copy and paste components around (including | ||
| per-object customizations like scripts, properties and graphics) to | per-object customizations like scripts, properties and graphics) to | ||
| construct and edit your own interfaces. | construct and edit your own interfaces. | ||
| + | |||
| Like HyperCard, you could open up a property sheet or script editor on | Like HyperCard, you could open up a property sheet or script editor on | ||
| - | any object. | + | any object. |
| Unlike HyperCard, the scripts were written in object oriented | Unlike HyperCard, the scripts were written in object oriented | ||
| PostScript. (Arthur van Hoff also wrote PdB, an object oriented C to | PostScript. (Arthur van Hoff also wrote PdB, an object oriented C to | ||
| PostScript compiler, and later went on to write the first Java compiler | PostScript compiler, and later went on to write the first Java compiler | ||
| in Java at Sun!) | in Java at Sun!) | ||
| + | |||
| Unlike HyperCard, the property sheets were implemented as HyperLook | Unlike HyperCard, the property sheets were implemented as HyperLook | ||
| stacks themselves, which made it easy to develop new components or | stacks themselves, which made it easy to develop new components or | ||
| Line 164: | Line 192: | ||
| clock editor property sheet, and paste your original creations back into | clock editor property sheet, and paste your original creations back into | ||
| the warehouse to use again: | the warehouse to use again: | ||
| - | http:// | + | |
| - | http:// | + | {{http:// |
| + | |||
| + | {{http:// | ||
| Here's a cellular automata laboratory that uses the shared memory raster | Here's a cellular automata laboratory that uses the shared memory raster | ||
| Line 174: | Line 204: | ||
| screen backgrounds, | screen backgrounds, | ||
| component clipped into a lava-lamp shaped window!): | component clipped into a lava-lamp shaped window!): | ||
| - | http:// | + | |
| + | {{http:// | ||
| The nice thing about having a standard PostScript based structured | The nice thing about having a standard PostScript based structured | ||
| Line 187: | Line 218: | ||
| automata, | automata, | ||
| graphics between various HyperLook applications. | graphics between various HyperLook applications. | ||
| + | |||
| http:// | http:// | ||
| + | |||
| http:// | http:// | ||
| Line 194: | Line 227: | ||
| PostScript, but including Encapsulated PostScript or modern equivalents | PostScript, but including Encapsulated PostScript or modern equivalents | ||
| like PDF, SVG, PNG, etc). | like PDF, SVG, PNG, etc). | ||
| + | |||
| It's also essential to have a reusable structured graphics editor | It's also essential to have a reusable structured graphics editor | ||
| component, and also that all of the property sheets and applications | component, and also that all of the property sheets and applications | ||
| Line 207: | Line 241: | ||
| tools for playing with the live cellular automata pixels through shared | tools for playing with the live cellular automata pixels through shared | ||
| memory). | memory). | ||
| + | |||
| Something like Photoshop or GIMP would be too complicated and | Something like Photoshop or GIMP would be too complicated and | ||
| monolithic, unless it could be stripped down and re-packaged as an | monolithic, unless it could be stripped down and re-packaged as an | ||
| light-weight, | light-weight, | ||
| - | I've worked on and programmed in some interesting visual programming | + | > I've worked on and programmed in some interesting visual programming |
| - | languages like Bounce (aka Body Electric, VPL's VR scripting language), | + | > languages like Bounce (aka Body Electric, VPL's VR scripting language), |
| - | SimAntics (The Sims behavior scripting language) and PSIBER (visual | + | > SimAntics (The Sims behavior scripting language) and PSIBER (visual |
| - | PostScript and NeWS debugger), and played around with others like | + | > PostScript and NeWS debugger), and played around with others like |
| - | Max/ | + | > Max/ |
| - | which was at once point actually implemented in ProGraph!). | + | > which was at once point actually implemented in ProGraph!). |
| Visual programming languages are great fun, and can be extremely | Visual programming languages are great fun, and can be extremely | ||
| Line 222: | Line 257: | ||
| have more differences than similarities, | have more differences than similarities, | ||
| looking at the world. | looking at the world. | ||
| + | |||
| There is no one best way to design the ultimate visual programming | There is no one best way to design the ultimate visual programming | ||
| language, but there are many good ideas to be tried (and bad ideas to be | language, but there are many good ideas to be tried (and bad ideas to be | ||
| Line 256: | Line 292: | ||
| compile the visual graph notations into (or interpret the visual | compile the visual graph notations into (or interpret the visual | ||
| languages directly in Python, if practical). | languages directly in Python, if practical). | ||
| - | So kids could easily create a high-level graphical scripts like The | + | |
| - | Learning Company' | + | > So kids could easily create a high-level graphical scripts like The |
| - | developers could meticulously create low-level behind-the-scenes scripts | + | > Learning Company' |
| - | in visual languages like "Body Electric" | + | > developers could meticulously create low-level behind-the-scenes scripts |
| - | like Python (or a hybrid of the visual and text languages -- check out | + | > in visual languages like "Body Electric" |
| - | how PSIBER implements a new visual interface to the existing PostScript | + | > like Python (or a hybrid of the visual and text languages -- check out |
| - | language, and how Cycling 74's Max/Jitter integrates JavaScript with the | + | > how PSIBER implements a new visual interface to the existing PostScript |
| - | visual programming language: JS code inside icons, JS objects on wires!): | + | > language, and how Cycling 74's Max/Jitter integrates JavaScript with the |
| - | http:// | + | >visual programming language: JS code inside icons, JS objects on wires!): |
| - | http:// | + | > http:// |
| - | http:// | + | > http:// |
| + | > http:// | ||
| Just imagine a visually scriptable version of SimCity, that lets you | Just imagine a visually scriptable version of SimCity, that lets you | ||
| Line 353: | Line 390: | ||
| Flash 9 (AVM2)! | Flash 9 (AVM2)! | ||
| - | http:// | + | * http:// |
| - | http:// | + | |
| - | http:// | + | |
| It turns out that AVM2 does not totally suck. (There are no benchmarks | It turns out that AVM2 does not totally suck. (There are no benchmarks | ||
| Line 399: | Line 436: | ||
| NeWS Toolkit at Sun, and various NeWS tools and applications for other | NeWS Toolkit at Sun, and various NeWS tools and applications for other | ||
| companies. | companies. | ||
| + | |||
| http:// | http:// | ||
| I developed lots of other fun stuff with NeWS, including various | I developed lots of other fun stuff with NeWS, including various | ||
| implementations of pie menus and tab windows: | implementations of pie menus and tab windows: | ||
| + | |||
| http:// | http:// | ||
| http:// | http:// | ||
| Line 410: | Line 449: | ||
| entirely in NeWS PostScript, which I helped develop at Sun, and | entirely in NeWS PostScript, which I helped develop at Sun, and | ||
| integrated with HyperLook, and used to develop pie menus and tab windows. | integrated with HyperLook, and used to develop pie menus and tab windows. | ||
| + | |||
| http:// | http:// | ||
| Pizza Tool was a graphical Open Look gui for editing and ordering pizzas | Pizza Tool was a graphical Open Look gui for editing and ordering pizzas | ||
| via FAX, that I wrote as a programming demo for The NeWS Toolkit: | via FAX, that I wrote as a programming demo for The NeWS Toolkit: | ||
| + | |||
| http:// | http:// | ||
| The HyperTIES hypermedia browser, with pie menus and " | The HyperTIES hypermedia browser, with pie menus and " | ||
| in PostScript (for Ben Shneiderman at the UMCP HCIL): | in PostScript (for Ben Shneiderman at the UMCP HCIL): | ||
| + | |||
| http:// | http:// | ||
| Line 423: | Line 465: | ||
| Emacs), with pie menus and multiple tab windows, and an authoring tool | Emacs), with pie menus and multiple tab windows, and an authoring tool | ||
| for HyperTIES: | for HyperTIES: | ||
| + | |||
| http:// | http:// | ||
| Line 429: | Line 472: | ||
| I worked on HyperLook with Arthur van Hoff at the Turing Institute, and | I worked on HyperLook with Arthur van Hoff at the Turing Institute, and | ||
| used it for various applications. | used it for various applications. | ||
| + | |||
| http:// | http:// | ||
| Line 434: | Line 478: | ||
| I ported SimCity to HyperLook and X11, and designed a multi player | I ported SimCity to HyperLook and X11, and designed a multi player | ||
| scriptable user interface using TCL/Tk. | scriptable user interface using TCL/Tk. | ||
| + | |||
| http:// | http:// | ||
| Line 439: | Line 484: | ||
| NeWS. | NeWS. | ||
| I developed it at the UMCP HCIL and Grasshopper Group. | I developed it at the UMCP HCIL and Grasshopper Group. | ||
| + | |||
| http:// | http:// | ||
| Line 450: | Line 496: | ||
| extension system, and multimedia support, with David Levitt at Levity | extension system, and multimedia support, with David Levitt at Levity | ||
| and Interval Research Corporation. | and Interval Research Corporation. | ||
| + | |||
| http:// | http:// | ||
| Line 458: | Line 505: | ||
| developed its user interface (Edith) and primitives (character | developed its user interface (Edith) and primitives (character | ||
| animation, etc), with Will Wright at Maxis: | animation, etc), with Will Wright at Maxis: | ||
| + | |||
| http:// | http:// | ||
| Line 467: | Line 515: | ||
| is free speech, and why all election software should be open source and | is free speech, and why all election software should be open source and | ||
| publicly inspectable. | publicly inspectable. | ||
| + | |||
| http:// | http:// | ||
| Line 480: | Line 529: | ||
| + | ---- | ||
| + | [[category animation]] | ||