<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
+100 :-)
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> on behalf of Chris Muller <asqueaker@gmail.com><br>
<b>Sent:</b> Thursday, June 23, 2022 1:39:37 AM<br>
<b>To:</b> The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org><br>
<b>Subject:</b> [squeak-dev] IDE design philosophy -- doing a lot with a little</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">On Wed, Jun 22, 2022 at 12:24 PM tim Rowledge <<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>> wrote:<br>
</div>
<div class="x_gmail_quote">
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
Yeah, I was just looking into what that change was all about - plenty long ago enough to be a mystery. My notes suggest it was fixing duplications in the incoming list and so using a Set was pretty obvious. I'm astonished it's taken almost 2 years for anyone
 to notice any problem...<br>
</blockquote>
<div><br>
</div>
<div>I can't speak for MessageSet, but I don't think there were any duplication problems with MessageTrace.</div>
<div> </div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
I think the real problem here is trying to use a simple listing UI to present too-sophisticated information. A message trace browser could probably do much better with something akin to a folding-list UI. Or even a cool!Graphical!web! (like
<a href="https://vega.github.io/vega/examples/edge-bundling/" rel="noreferrer" target="_blank">
https://vega.github.io/vega/examples/edge-bundling/</a> or similar)</blockquote>
<div><br>
</div>
<div>It's funny, because what I think is a common issue with UI design throughout is just how little usability mileage they get.  That "edge bundling" widget is a prime example.  Supreme sophistication and (over)engineering relative to the usability benefit
 it provides to the user (basically none).</div>
<div><br>
</div>
<div>Squeak turning that on its head is what attracted me to it in the late 1990's and early 2000's.  I couldn't believe how fully-capable its IDE was
<u>all within a few MB of code</u>, *because* it took the philosophy of using simple UI components to cover all the necessary use-cases.  And not just for economy (small dev team), but as a matter of philosophy (which carried over into the Morphic philosophy
 of direct manipulation) -- because it's a great approach for using an interactive environment of live objects.  It's fundamentally about sending messages, so the tools don't stop you from doing things you aren't "supposed" to do.  The user is in charge.<br>
</div>
<div><br>
</div>
<div>Vertical, domain-specific IDE tools can be cool and look pretty, but are a lot more modal and siloed from other tools than general-purpose tools.  They're good for applications and kiosks that might have low-tech users.  I believe general-purpose tools
 are better for high-tech users like yourself operating a Smalltalk IDE.  I still love Squeak's philosophy.</div>
<div><br>
</div>
<div> - Chris</div>
</div>
</div>
</div>
</body>
</html>