13 ms·
Gallery of programming UIs
- panic 9y agoThis has been posted before (https://news.ycombinator.com/item?id=14290909 https://news.ycombinator.com/item?id=14290909) but I think the list has been updated since then.
- samspenc 9y agoCurrently, Google Drive is telling me: "Wow, this file is really popular! It might be unavailable until the crowd clears. Try again." (Page title: "Too Many Requests") I didn't even know Google Drive had a throttling mode.
- Animats 9y agoI didn't even know Google Drive had a throttling mode. Right. That seems like something from the era of 1990s hosting services with very limited capacity.
- gonzo41 9y agoThe user data is tied to the location of the data center. the files may not be replicated past the most proximal location for his use. Regular performance/networky issues then come into play.
- wjnc 9y agoThey should have used a Lambda-function for scaling. It's only code in a zip-container.
- johannes1234321 9y agoScaling they code they can easily. The issue is with collaborative editing and keeping everybody in sync - which is the job of Google docs.
- beojan 9y agoGoogle should have used Amazon's cloud? Really? They have one of their own.
- DoTheNeedful 9y agoThe suggestion was a jab at another HN hype story, from yesterday.
- SEMW 9y agoTo be fair, Google Docs' core offering is live collaborative editing, not 'being a CDN'. Sure, there are ways they can support each at different times if they really wanted to, but it seems perfectly reasonable for them to say that when it gets to an N that they'd have to put significant engineering effort into supporting, that that's not what it was designed for, and that if someone wants CDN behaviour do that they can always export the document and put it on an actual CDN
- jordache 9y agowow so a platform with a robust sharing capability is not designed for certain 'types' of sharing. So the user has to be aware the internal implementation of each google cloud service and use them accordingly. I say this scenario is acceptable for a startup offering. Not so for one of the most concentrated comp sci engineering org. Additionally, this is Google Slides. So sharing is inherent in the name of the product
- jordache 9y agoTIL, Google Drive built on the Geocities platform.
- tabtab 9y agoOur firewall blocks it for some reason.
- scottlamb 9y ago> I didn't even know Google Drive had a throttling mode. Google Docs (docs, spreadsheets, and presentations) is designed for collaborative editing. It scales really well to lots of docs; it scales to a decent number of people collaborating on a single doc. If many people want to simply view a single document, use the "publish" menu item. It's more restrictive (iirc, it doesn't show chat, comment threads, document history, or live updates) but AFAIK has no limit on how many people can view at once.
- nathanaldensr 9y agoThanks for posting this! This is the kind of content I love to see on HN. Wow, Visual Basic... It takes me back to my AOL proggie days!
- amanzi 9y agoIf you're feeling nostalgic - just create some VBA, amazing how it's hardly changed... This picture taken from Word 2016 a few seconds ago: https://i.imgur.com/w3qX8Oa.png https://i.imgur.com/w3qX8Oa.png
- qwerty456127 9y agoIndeed VBA is a very curious phenomenon. It is cool from the retro-lover point of view (and nostalgia makes me enjoy having to code it occasionally in the real life) yet a horrible atavism from the modern developer point of view. The built-in code editor is not much smarter than Notepad is and the language itself is a ridiculous cargo-cult-level OOP imitation with no real OOP nor functional (wouldn't these be of great use in Excel?) concepts, just a slightly face-lifted QBasic capable of defining simple algorithms and interfacing native code. I can hardly understand why it still hasn't been phased-out and replaced with Python or something like that.
- tonyedgecombe 9y agoYet despite all that VB6 and VBA are very productive, inexperienced users can get things done and experienced users can get things done quickly.
- qwerty456127 9y agoWhy? It (VB6) was the first language I've learnt and I have had a lot of fun coding it as a kid (so I can think in it and have no bias against it) yet I don't understand how can it be considered productive or any good at all compared to Python or even JavaScript. One can probably say that Python and JavaScript are more complex and harder to learn - I would disagree: everything you can code in VBA can be coded in Python or JavaScript in the same manner, with the same simplicity and ease, conscious usage of concepts that can be considered advanced and/or tricky for non-programmers to undetsatnd is optional. What part other than the fact it doesn't ever change or that it reminds them about their childhood actually makes people like VBA?
- bunderbunder 9y agoAccuracy nitpick: For the record, in 1997 it was still DrScheme - it wasn't renamed to Racket until 13 years later. And it didn't run on OS X, because OS X was still 4 years away. Also, IIRC, most the really interesting UI that features in that screenshot didn't exist yet - it was just the file editor on top and the REPL on bottom.
- matte_black 9y agoNo Klik & Play?! It was the reason I can say I was building and distributing my own games back in 5th grade! No Lego Mindstorms!? I was building Robots with six degrees of freedom in middle school!
- jonathanedwards 9y agoMindstorms was pretty much a variant of Scratch. Never heard of Klik&Play - I'll check it out, thanks.
- deepakkarki 9y agoMindstorm is actually a variant of Labview (by National instruments) - which is a flow based prog environment. Different from scratch and it's clones.
- LukeShu 9y agoThe Mindstorms that I remember (~2004, on the RCX 2.0) was nothing like LabVIEW; I haven't played with Scratch, but from what people have shown me of it, it is very similar to how I remember Mindstorms.
- askvictor 9y agoI've taught students both mindstorms NXT and Scratch, and they're quite different. Scratch is basically procedural programming with blocks instead of text. Mindstorms has some of that, but variables/data connections are really different and wierd to get your head around if you're already a programmer. I've not used labview so can't compare to that.
- taneq 9y agoI had Klik & Play back on Windows 3.1! (And then later The Games Factory on '95.) It was great for a little while but I rapidly got to the point where it felt like it was getting in my way rather than making things easier. I /wish/ I'd had Lego Mindstorms, always wanted some but we could never afford it.
- robobro 9y agoMirror it as HTML / PDF please.
- ivanhoe 9y agoYou have the option to download it as a PDF when you click on the little gear icon in the bottom left corner of the screen
- candiodari 9y agoWorking link to (I hope) the same document: https://docs.google.com/presentation/d/1MD-CgzODFWzdpnYXr8bEgysfDmb8PDV6iCAjH5JIvaI/preview#slide=id.g1da0625f1b_0_56 https://docs.google.com/presentation/d/1MD-CgzODFWzdpnYXr8bE...
- jonathanedwards 9y agoCorrect, that's the slideshow version. Let me know if that isn't working and I'll post a PDF snapshot
- jcoffland 9y agoShould have been a PDF to start with.
- BozeWolf 9y agoNot working anymore... thanks in advance for fixing.
- twelvechairs 9y agoPlease post the PDF so its downloadable
- jonathanedwards 9y agohttps://drive.google.com/file/d/1RPX_9u01MEU-QDWU4h-90QF9XqZo7PvH/view?usp=sharing https://drive.google.com/file/d/1RPX_9u01MEU-QDWU4h-90QF9XqZ...
- twelvechairs 9y agoThanks very much. Web version (incl. download links) struggles for me in primitive Australia By the way another worth adding IMO (as it has serious industry use and traction) is Grasshopper (a plugin for Rhino) - focussed on 3d modelling. Very common in Architecture and design fields
- Immortalin 9y agoShameless plug: https://medium.com/@kloudtrader/private-beta-and-kloudtrader-aural-c4a8561f70d0 https://medium.com/@kloudtrader/private-beta-and-kloudtrader... Trying to build a better programming environment and platform for algorithmic trading http://KloudTrader.com http://KloudTrader.com
- exikyut 9y agoPSA: The last time I opened this presentation there were a bunch of speaker notes with incredibly insightful additional details and trivia attached. A picture might be a thousand words, but the notes added insightful context that the picture couldn't add itself. If anyone can get in touch with the owner of this document, please let them know the speaker notes have been lost. They really need to be re-added! Unfortunately I didn't download a copy of the old version D':
- swsieber 9y agoIt might be that the Google docs throttling mode might just drop those extras. Check back when it's not popular?
- jonathanedwards 9y agoI think I moved the speaker notes into the body of the slides, but the doc is so swamped I can't get in to see! Perhaps I dropped some in the process. I'll look into it. If you can remember anything in particular that is missing please let me know.
- exikyut 9y agoI was just able to check. I unfortunately don't remember what the speaker notes said exactly, I fuzzily recall there being multiple lines. I've searched a couple of HDDs for old copies; no go.
- keithnz 9y agono visual studio? borland turbo range?
- crb002 9y agoVS was in there. +1 for Borland, I loved their C++ debugger.
- lpa22 9y agoIt is mind-blowing when you have some sort of idea of how complex an endeavor it is to create programming IDEs and UIs, and to see in one document how many man-hours must have gone into them and their iterations over the years.
- baxtr 9y agoThis is also something that I find very impressive. Everywhere you look, the same thought comes up. All these buildings in the city have been built by someone sometime with so much effort. Then again, I think: maybe not so surprising after all if you consider that 100bn humans have ever lived. That’s a lot of man-hours available there
- sn41 9y agoWow.. Google Drive got swamped!
- Moru 9y agoI'm missing a lot of the ones I used. Though most of them weren't that different from normal texteditors in a terminal. Well, they were actually editors in a terminal... Cobol on an IBM AS/400 RPG also on an IBM AS/400 https://en.wikipedia.org/wiki/IBM_RPG https://en.wikipedia.org/wiki/IBM_RPG Devpac Assembler https://en.wikipedia.org/wiki/HiSoft_Systems https://en.wikipedia.org/wiki/HiSoft_Systems STOS Basic https://en.wikipedia.org/wiki/STOS_BASIC https://en.wikipedia.org/wiki/STOS_BASIC PLC https://en.wikipedia.org/wiki/Programmable_logic_controller https://en.wikipedia.org/wiki/Programmable_logic_controller
- carey 9y agoThe Wikipedia page doesn’t really give any impression of what it’s like to program in RPG with SEU, and with SDA. I wouldn’t say they’re very close to using vi or Emacs at all. I have very bad memories of STOS BASIC, mostly around how very slow it was.
- Moru 9y agoThe RPG we used was column based, Flag number in this column, command in that column and so on. We used paper to do the program and then keyed in on a terminal emulator running on a ps/2 that was connected to the central computer over a modem. When running programs they got put in a batch queue and we had to wait until it was our turn and then the printer started spitting out the resulting data. You made sure to think before running things :-)
- richardjdare 9y agoThe Amiga version of STOS, AMOS, was nice and quite popular. Wasn't as fast as Blitz Basic II though. There were some interesting "multimedia authoring systems" on the Amiga which might warrant inclusion, such as Amiga Vision (https://www.youtube.com/watch?v=u7KIZQzYSls https://www.youtube.com/watch?v=u7KIZQzYSls) and Scala (https://www.youtube.com/watch?v=k20Wvlqb96g https://www.youtube.com/watch?v=k20Wvlqb96g)
- vidarh 9y agoThe modern "descendants" of the latter could be said to be Hollywood, which is alo available on non-Amiga platforms: http://www.hollywood-mal.com/screenshots.html http://www.hollywood-mal.com/screenshots.html
- fit2rule 9y agoNo Delphi? No Visix Vibe?
- kybernetikos 9y agoAt one stage on the eve journey they were showing a sort of wiki/database thing that I wanted to use very much. It seemed like it'd be fantastic for iteratively organising the kind of information you encounter in your day to day life. Unfortunately that version of eve never saw the light of day as far as I know. Does anyone know of anything that works similarly?
- beaconstudios 9y agoYou don't have a screenshot, or any more leads on finding it do you? It sounds like an interesting concept but I'm having trouble finding an image of it.
- kybernetikos 9y agohttps://youtu.be/VZQoAKJPbh8?t=46m16s https://youtu.be/VZQoAKJPbh8?t=46m16s
- dfcowell 9y agoIt's here if you want to poke at it: https://github.com/witheve/eve-experiments/tree/af13f8d5f8a537d22c459f3e69e39b2736b16384/experimental/cardwiki https://github.com/witheve/eve-experiments/tree/af13f8d5f8a5...
- kybernetikos 9y agoAmazing, thanks.
- robertkrahn01 9y agoLively! LivelyKernel (2008): https://www.lively-kernel.org/ https://www.lively-kernel.org/ lively.next (2017): https://lively-next.org https://lively-next.org cloxp (2015): http://cloxp.github.io/cloxp-intro.html http://cloxp.github.io/cloxp-intro.html
- bringtheaction 9y agolively.next looks exactly like something I’ve been thinking about. How come though that the demo video shows it in use on Linux but the desktop application is macOS only?
- robertkrahn01 9y agoIf you don't want to run your own Lively installation locally then all it needs is a web browser. If you want to run it locally via https://github.com/LivelyKernel/lively.installer https://github.com/LivelyKernel/lively.installer then it should run well in MacOS and Linux. On Windows you might need to use a proper bash (e.g. git bash or the Ubuntu subsystem). There is a desktop app for mac os that wraps the installer and gives you a menu bar entry for controlling the lively server but in the end it is just a frontend for what the installer does.
- jonathanedwards 9y agoHi Robert! I thought (perhaps incorrectly) that Lively was largely the same programming experience as Squeak, just in the browser. Do you have any screenshots showing new programming experiences in lively.next or cloxp?
- robertkrahn01 9y agoPersonally, I think the interaction model is closer to Self than to Smalltalk. A walk-through of building a morphic app is here: https://lively-next.org/doc/todo-list-tutorial.html https://lively-next.org/doc/todo-list-tutorial.html Lively also got some influence from Emacs in terms of integrating tooling and support for remote development. One example, connecting to another webpage and modifying it via lively: https://www.youtube.com/watch?v=gbp30e_QYvY https://www.youtube.com/watch?v=gbp30e_QYvY. Apart from JavaScript, it is easy to integrate other languages as well, e.g. you can connect to a running Python process via https://github.com/LivelyKernel/lively.py https://github.com/LivelyKernel/lively.py) and then use workspaces and file editors inside of Lively to modify and run Python code. This stuff is based on a generic RPC mechanism that connects Lively worlds and other runtimes: https://lively-web.org/users/robertkrahn/2015-06-12_l2l-map.html https://lively-web.org/users/robertkrahn/2015-06-12_l2l-map..... cloxp is following more a traditional Smalltalk-model, the core component is a system browser for Clojure namespaces.
- TwoBit 9y agoIt's missing the highly influential Delphi, which was the precursor to .NET
- cubano 9y agoIt sure is, as well as it's powerful brother, Borland/Inprise C++ Builder, two IDEs that definitely deserve a spot on this list.
- lowlevel 9y agoDon't forget FoxPro
- mgsloan1 9y agoI don't think that this is prioritizing degree of influence, particularly for popular programming systems. Jonathan Edward's research has explored novel ways of programming, so naturally this selection is going to be more focused on atypical interfaces.
- cztomsik 9y agoThey should include sublime text, writing at many places at the same time sounds weird yet it is so useful.
- sguav 9y agoIf I'm correct TextMate was first using multiple cursors before sublime text came, but yes, sublime text has such a versatile UI!
- bjz_ 9y agoI came across the Alfa proof language recently (precursor to Epigram and Agda). Had this neat natural deduction editor: http://www.cse.chalmers.se/~hallgren/Alfa/Tutorial/ndstyle.html http://www.cse.chalmers.se/~hallgren/Alfa/Tutorial/ndstyle.h...
- rdsubhas 9y agoExpected to see TUI (Terminal UI) IDEs here (the likes of DBase/Foxbase/Foxpro/etc). Disappointed, because they were hugely used "programmer interfaces" for a long time and influenced GUIs when they came up. Heck, a lot of retail TUIs still run on them (and some of them are in process of being changed to "web apps" bypassing desktop apps). They were yesterday's full stack (design a database, build forms, run CLI commands, write OO code, package and distribute - all in one shell). I think the post should be titled "programming GUIs" and not "programming UIs".
- afarrell 9y agoI think Terminal UIs are under-valued. When well-designed, they enable a great combination of efficiency of operation and visibility of the model of the system. `tig` is a good example of this for viewing info about a git repo, though I'd be interested in hearing others.
- johannes1234321 9y agoThe key part is keyboard control and training. If one knows the relevant shortcuts and codes by hand working can be quite fast. Each time one has to look at the screen to target with mouse or touch it becomes slow. This all can be done with a GUI as well, as long as one doesn't create too many windows, where the user has to find the correct window all the time.
- petepete 9y agoI love tig and use it for staging/unstaging lines/chunks. Another tool I'd recommend (although I don't tend to use it so much now) is lnav, which makes jumping around/searching log files really straightforward http://lnav.org/ http://lnav.org/
- qwerty456127 9y agoIndeed. Visual Basic for DOS was a mind-blowig discovery for me as a retro-loving kid that was coding VB6 for Windows while playing mostly DOS games. I wish something alike (though based on a modern language like Python) existed today letting us create modern cross-platform TUI apps visually...
- djaychela 9y agoAm I the only one who looks at the DEC VT05 from 1970 and thinks that it still looks cool? I guess it's because I was 5 or so when Space 1999 was on, and everything looked like that, but I think there's something timeless and classic about the lines of the design. (Waits for someone from HN to say that one is still their main terminal as they eschew software terminals, etc!)
- criddell 9y agoA lot of these look cool to me. I wonder how many of the environments could be brought up in a VM?
- westoncb 9y agoI made one in 2013 that broke documents into tiles along grammatical boundaries that could be dragged around like app icons on smart phone home screens: https://youtu.be/tztmgCcZaM4?t=1m25s https://youtu.be/tztmgCcZaM4?t=1m25s
- Groxx 9y agoI still want code bubbles[1] in pretty much everything. So nice for exploring code - you don't necessarily care about whole file X, just the chain of code paths you're currently navigating. [1]: https://docs.google.com/presentation/d/1MD-CgzODFWzdpnYXr8bEgysfDmb8PDV6iCAjH5JIvaI/preview?slide=id.g1d7c11dd1b_0_630 https://docs.google.com/presentation/d/1MD-CgzODFWzdpnYXr8bE...
- jonathanedwards 9y agoAs requested, here is a PDF: https://drive.google.com/file/d/1RPX_9u01MEU-QDWU4h-90QF9XqZo7PvH/view?usp=sharing https://drive.google.com/file/d/1RPX_9u01MEU-QDWU4h-90QF9XqZ...
- molszanski 9y agoThank you!
- jkleiser 9y agoImpressive! However, no mention of Oberon or BlackBox; that's a serious omission. http://fruttenboel.verhoeven272.nl/Oberon/index.html http://fruttenboel.verhoeven272.nl/Oberon/index.html, https://github.com/pdewacht/oberon-risc-emu https://github.com/pdewacht/oberon-risc-emu, http://blackboxframework.org/index.php?cID=home,en-us http://blackboxframework.org/index.php?cID=home,en-us
- deskamess 9y agoA lot of grid style environments. Unless I somehow scrolled past it, the missing big one is 'Excel'.
- lou1306 9y agoFirst slide says "Not covered: spreadsheets". Edit: however, a little more recognizion to spreadsheets would have been nice, since some of the UIs are so evidently rooted in that metaphor
- lowlevel 9y agoThey could have covered VBA.. which is available on the office suite. I still use it today for outlook and excel automation.
- jordache 9y agowow Google can't even deal with a butt out cordial HN hug? Really reflects well for their cloud offerings... sheesh
- major505 9y agoI missed Visual Studio and C/Java Builder.
- bullen 9y agoThey forgot: http://move.rupy.se/file/logic.png http://move.rupy.se/file/logic.png (2005) You can download the program here: http://rupy.se/logic.jar http://rupy.se/logic.jar
- jeffreyrogers 9y agoIt's interesting how you see the same idea pop up in different forms over the years. Two they missed: Lazarus (based on Delphi) and Qt. I've dabbled with Lazarus, people who use it a lot tell me it's great. I use Qt professionally and it's the most enjoyable way of building GUI applications that I've found.
- vram22 9y agoYes, Lazarus is decent. Others they missed from the client-server GUI tools are PowerBuilder and Gupta Technologies' SQLWindows (one of the first GUI development tools for Microsoft Windows): https://en.wikipedia.org/wiki/Gupta_Technologies https://en.wikipedia.org/wiki/Gupta_Technologies I didn't like PowerBuilder myself. But Delphi and Visual Basic were more easy to understand and still powerful. Did some work in both.
- epicide 9y agoAm I missing something or would this be a lot easier to read if it were organized somewhat chronologically? I say somewhat since era of main use is more important than initial year of release.
- lowlevel 9y agoIt would be... but then the author would have to try and sort this mess.
- lowlevel 9y agoI guess if you're just trying to show interfaces and not every language this is ok... but if you're trying to show every languages interface there are tonnes missing. Here are a few I used. HP Basic (~1974-1980ish) Autolisp (~1986-1995) Turing (~1989-2000)
- lowlevel 9y agoI didn't see any shell programming either...
- speby 9y agoNot sure if this would count but I'd say some of the software that implemented Shlaer-Mellor OOA and code generation tools of the late 80s/early 90s might be included here too. Unfortunately can't find a great screenshot other than these: https://www.edrawsoft.com/images/shapes/soft-shlaermellor.png https://www.edrawsoft.com/images/shapes/soft-shlaermellor.pn... https://www.edrawsoft.com/solutions/shapes/shlaer-mellor-ooa.png https://www.edrawsoft.com/solutions/shapes/shlaer-mellor-ooa...
- tabtab 9y agoI miss WYSIWYG UI design IDE's. One can waste sooo much time fiddling with browser UI's to get it to work right on different browser brands/versions/sizes. It's a time sink that must cost the world billions. Can't we have a WYSIWYG browser standard instead of client-side-auto-flow crap? Most internal work-related projects don't need "responsive" (resizing) anyhow; and the server could re-calc widget sizes & spacing if needed for small screens such that you don't need a fat client to manage flow engines. And they waste screen real-estate: WYSIWYG was more compact. I could point to the screen and tell it EXACTLY where to drag somebody off my lawn ;-)
- swebs 9y agoHow would that work? The developer would have to generate and approve a rendering for every permutation of width, height, and pixel density? That may have worked back when everyone was using an 800x600 CRT, but it sounds unfeasible today with so many devices and orientations to consider.
- tabtab 9y agoYou have to do such testing now with JS/DOM-based resizing. The only real difference is that it's done on the server side, which simplifies things because you have only 1 rendering engine instead of say 50 client versions. And, often 2 sizes are usually fine, and 3 if you have a big audience. And it can increase the general resolution (magnification) to fill the current screen. JavaScript resizers, such as bootstrap often do similar now: you reach a threshold before they reshuffle, and in between the thresholds, they just multiply width by a constant factor to fill the screen. And bootstrap is buggy and inconsistent.
- cachvico 9y agoI've never seen so many examples and variations of Jackson Structured Programming! https://en.wikipedia.org/wiki/Jackson_structured_programming https://en.wikipedia.org/wiki/Jackson_structured_programming
- amatwl 9y agoA bit of a plug, but for my senior project, my team is working bringing Patchworks (slide 80) to Atom. It's currently not open source (but will be after completion of the project). We are working with an author of the original paper. http://austinhenley.com/pubs/Henley2014VLHCC_Patchworks.pdf http://austinhenley.com/pubs/Henley2014VLHCC_Patchworks.pdf
- deleted 9y ago[deleted]
- JepZ 9y agoWhile we saw there some Smalltalk development UIs, I was clearly missing some 'modern' Visualworks screenshot with the classic 4 slot upper part and the large code window below (similar to the System Browser on slide 3): https://1.bp.blogspot.com/-XO7l9e-ukCI/UKSshW0IKRI/AAAAAAAAFDo/mMADJxPs6Bc/s1600/VW_ClassBrowser.png https://1.bp.blogspot.com/-XO7l9e-ukCI/UKSshW0IKRI/AAAAAAAAF...
- Fice 9y agoInteresting how some UIs appear to be limited either to education, end-user programming, or professional software development, and others (e.g. Smalltalk) strive to be universal and work as an integral part of the OS's user interface.
- SomeHacker44 9y agoNice set of pictures. I was surprised not to see two things about Common Lisp: Symbolics's Genera UI for software engineering, and the modern Paredit editor methodology for Lisps.
- mikelevins 9y agoYeah it would have been nice to see Genera. It was interesting and distinctive. It does show SK8, which, although it's not obvious from looking at it, was a Lisp environment. It was implemented in Common Lisp--specifically Macintosh Common Lisp, which is the direct ancestor of Clozure Common Lisp--on the pre-OSX Mac system. That's sort of obvious if you look at the menubar in Slide 7. The ScriptEditor shows a snippet of SK8Script, which was the first working implementation of AppleScript. SK8 compiled SK8Script to Common Lisp, and thence to native code. The runtime underneath was Macintosh Common Lisp, and you could open a Lisp listener window or editor window if you wanted, and work directly in Lisp. The funny-looking window design has a practical purpose: it doesn't look like any other widely-used window design, which means that when you used SK8 to create a Mac application, the SK8 tools always looked distinct from all of the application windows that were under development. The funny-looking windows are notable in another way: their non-rectangular outlines required a custom code resource (a WDEF), which you could write in Lisp with MCL. As with all of the other environments illustrated in these slides, there are lots of details that are not obvious from the image. This sample screen shows someone in the middle of constructing a working giant scrollbar by snapping together boxes and arrows and editing scripts attached to them. SK8 was very direct-manipulation-oriented. You could do a lot of stuff by dragging objects onto the screen, snapping them together, and opening inspectors to edit visual properties, event-handlers, and attached behaviors. You could grab an arbitrary screen object and drop it into a message box to get an expression that, when evaluated, yielded a reference to the dropped object. It did a lot with containment--for example, you could put objects on the screen by adding them to a container called the Stage, and there was a containment hierarchy that routed events to handlers. The model was extremely flexible; for example, you can see in the Script Editor that the programmer wants an event to set the fillcolor of rj1 to green, but Dave Yost (one of the SK8 authors) used to like to demonstrate setting the fillcolor to a Clint Eastwood movie, which would then begin playing in the background of the targeted object.