Documentation- Browser improvements

Peter Smet peter.smet at flinders.edu.au
Wed Jun 16 10:32:07 UTC 1999


>One of the holy grails I quest for is the presentation of ever greater
>informational bandwidth, allowing larger and larger amounts of info up
>and down the scale to be seen and comprehended at once. Ever deeper
>explicit hierarchies limit the view to smaller and smaller parts of the
>system. It becomes the story of the three blind men and the elephant all
>over again. The smallest details of complex systems are easily
>comprehended - the great difficulty is in comprehending the operation
>and structure of ever larger portions of the system.
>


I think a collapsible tree is a great way to navigate hierachies. Dolphin
uses a tree-view for selecting classes out of the hierachy, and leaves
the category/package name in a little box at the top. This is much better,
since the categories take up a lot of space, and convey information
only rarely. Most times people are moving around classes and 
methods. Dolphin also lets you drag and drop methods and classes
around the tree. We could even take the idea one further so that you 
could have a pull down menu of categories. When a category was 
selected, the tree would expand only the relevant nodes for that
category, highlighting the classes and methods. Rather than having
selectors display separately, they could be the leaves on the tree.

Finally, while I'm having a rant, we could incorporate the idea that
heavily used classes and methods will be displayed more
prominently via Smalltalks reflection mechanisms. I had
an experimental attempt where I made the browser sort
the methods to be displayed not alphabetically, but according
to how many senders of the method there are. It worked
but was incredibly slow. Still, if the results could be cached
we could get around this bottleneck. One of the first things
you think when you file in new stuff is: which are the
important classes and methods, and which ones are
more incidental. It would be great to use reflection to provide
hints towards this end.

I suspect we could scavenge some great tree-modelling code
from the archives to incorporate into the browser..
Look how useful the Java tree widget has become..

The other concept is self-organization. Barnes and Noble do it.
so does Amazon. All they do is reflect on buying patterns. Then
their software inserts links like: people who bought this book also
bought 'Smalltalk in a Nutshell' (catchy little title there) etc.
You get the analogy - people who browsed Semaphore are
also likely to be interested in Process etc...
The browser could insert links indicating the most commonly
followed paths.
Like the company that refused to build concrete footpaths
for 6 months - deliberately. And then built them exactly
where all the trails had been worn.




Peter





More information about the Squeak-dev mailing list