<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Paul,<div class=""><br class=""></div><div class="">What you did was very cool! Quite an achievement, and great taste to implement APL.</div><div class=""><br class=""></div><div class="">Back in the day, the ST group at PARC did overlapping windows, and the Mesa folks  did Spaces, IIRC, non-overlapping windows. Although I have heard from many who prefer the non-overlapping ones, I stronger prefer the overlapping sort, at least given the particular systems I have been to. I can give quasi-rational reasons for the preference--no machine can figure out what I need to be able to see as well as I can--but my best guess would be that it comes down to a combination of brain wiring (n.b. the "typical mind fallacy") <i class="">and</i><span style="font-style: normal;" class=""> the "incidental" aspects of the experience. For instance, how verbose the language is, how the IDE lays out windows (e.g. Xcode </span><i class="">insists </i><span style="font-style: normal;" class="">on putting certain things in certain places), and whether the new window jumps "into the hand". That last was a Smith-ism, which turned out to be fantastic, IMO. Ask for implementors, and just put it down where you like. Whether next-to, or overlapping. For my money, Morphic/Self was maybe two hours better at the 3am test than any of the "modern" IDEs I've used.</span></div><div class=""><br class=""></div><div class="">Our debugger reified each frame, so you could see as many as you wanted to, at once. Could yank them out, rearrange them, make a column morph of just the slots you wanted to see. And it was much less tool-centric than ST, or almost anything I've seen after.</div><div class=""><br class=""></div><div class="">Menus and icons are two more stories. I suspect the hierarchical radial ones might be OK, but haven't used them.</div><div class="">The guy with the best insight on this stuff is Randy Smith.</div><div class=""><br class=""></div><div class="">- David<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 25, 2020, at 4:56 PM, Paul Chapman <<a href="mailto:paul@igblan.free-online.co.uk" class="">paul@igblan.free-online.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<div dir="ltr" class="">
<div dir="ltr" class="">
<div style="font-size: 12pt; font-family: Calibri;" class="">
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">David,</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">Five 
years before I saw Smalltalk, I built a windowed IDE in C for a FORTH-like 
language (called DE before I’d heard the term IDE) of my own design, which 
rendered on a 25x80 monochrome text screen. Exactly six resizable and 
maximizable/restorable, non-overlapping windows; no icons; no menus; no mouse. 
Each window could display any of: selectable list of global functions; editable 
function source with settable breakpoints; function symbolic object code; 
contents of RAM (heap); contents of call stack; contents of value stack; 
contents of local variable; source trace; object trace; application I/O console. 
Where a value referenced something else symbolically, the symbol was shown; eg 
READ_LINE+0014H, RAM+1210H. The IDE ran entirely in RAM on a 128K IBM PC clone. 
The output was a symbolic object-code file. An STSC APL*PLUS program then 
compiled this to binary – eventually taking 5 hours.</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">It 
took me 9 months to use this language and IDE to implement I-APL, a complete, 
standard-conforming APL interpreter which compiled to 26K of object code which 
ran under a VM. The VM was then implemented on a number of platforms (by other 
members of the I-APL project), including CP-M, Apple II, IBM PC, BBC Micro, 
etc.</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">It 
took me one month (1st-30th September 1987) to design the language and implement 
the IDE. On schedule!</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">My 
take-away?</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">Overlapping 
windows are overrated, and maybe even counterproductive to dev (see most IDEs of 
the past 20+ years: they use minimizable-in-place windows and docking). I do 
love my mouse now, but tabbing through the windows was easy in my IDE. My 
Smalltalk/V dev setup was always 3 non-overlapping windows: Transcript, 
Workbench (my idea: ListBox+TextEdit where I could define & run small pieces 
of code), and one CHB for the app. A second, overlapping, CHB, usually 
minimized, was used for browsing non-app classes. Of course walkback windows and 
inspectors overlapped (but when I get around to writing a Smalltalk dev 
environment, they won’t.)</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">Menus 
*might* be a design choice left over from when graphics displays had much lower 
resolutions, to save on real estate. (Look at the welcome proliferation of 
toolbars.) </div>
<div style="TEXT-DECORATION: ; FONT-FAMILY: ; COLOR: ; DISPLAY: inline" class="">In those 
days, IBM keyboards had 10 function keys arranged in 2 columns on the left. I 
stole WordStar’s 2-function-key commands (one from the left column, one from the 
right) allowing 25 commands at my fingertips without having to hit CTRL or ALT. 
These were my ‘menu shortcuts’ and all I needed.</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">And 
I still find icons annoying: they’re not scalable, ie eventually they all look 
like a multicoloured splodge. Same with emojis. Okay, maybe my eyesight isn’t as 
good as it used to be.</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">As 
you can probably tell, I’m still resting on this particular laurel.</div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class=""> </div></div>
<div class="">
<div style="font-size: small; text-decoration: none; font-family: Calibri; font-weight: normal; font-style: normal; display: inline;" class="">Cheers, 
Paul</div></div></div></div></div>
_______________________________________________<br class="">Self-interest mailing list<br class=""><a href="mailto:Self-interest@lists.selflanguage.org" class="">Self-interest@lists.selflanguage.org</a><br class="">http://lists.selflanguage.org/mailman/listinfo/self-interest<br class=""></div></blockquote></div><br class=""></div></body></html>