[Pharo-project] [ANN] Alternative view of a system browser

Goubier Thierry thierry.goubier at cea.fr
Wed Jul 25 04:49:41 EDT 2012

Le 21/07/2012 08:55, Fernando Olivero a écrit :
> Hi, nice work. Looking forward to play with it.
> Is it similar to the Newspeak browser? Where methods expand in place.
> Fernando

No, not with the methods expanding in place. But yes, when looking at 
the tree.

At the moment, it tries to answer two needs :

A high level view of the overall system, down to as much detail you'd 
like (i.e. methods), but while still staying compact (overall view). And 
with a hierarchical organisation you can customize.

A simple UI, so that you can play with multiple browsers at the same 
time (hence see multiple methods at the same time, that is two or three).

I tried to look into a more advanced design, where I would be able to 
use the whole Pharo background image as the class tree, but I lack the 
correct data representation to make use of that (and it involves a bit 
more implementation effort). It would have looked this way :

* A single graph / tree for the entire image, layed on the world morph, 
wher you can open / close subsets.

* A few (3-5) simple morphs windows / editors with the look of a 
workspace, showing just the code of a method / a class, triggered by 
double-clicking on one item of the graph/tree.

But the normal, treeMorph layout, is more vertical than horizontal, and 
would have not made good use of the screen real estate; also because 
when you look at the code organisation, it's not very deep : I've found 
only :
* group of packages
* package
* Class category
* Class
* Class side of class
* Method protocol
* Method
Which is only 7 deep at worst.

I think this approach could be tried with a different representation, 
maybe using Mondrian? But at the same time, the tree morph is very 
powerful because it's very easy when doing keyboard navigation.


> On Wed, Jul 18, 2012 at 7:36 AM, Stéphane Ducasse
> <stephane.ducasse at inria.fr> wrote:
>> I do not have a connection to look at it.
>> But I LOVE the idea. I love the idea that we can prototype fast new tools and rethink how processes….
>> Spec is one way to enable that. For example I love the GlamourInspector and it would be great to rewrite it with Spec.
>> Thanks a lot.
>> Stef
>> On Jul 17, 2012, at 3:12 PM, Goubier Thierry wrote:
>>> I believe that the traditional SystemBrowser of Smalltalk of old has been made unusable by the amount of code (and structure) you find in today's Smalltalk images.
>>> So this is to show you an alternative, a different way to browse through packages / classes and methods and code. This is Spec-based.
>>> https://picasaweb.google.com/lh/photo/ic_fRnBXXdyqbiJ5NRP9YtMTjNZETYmyPJy0liipFm0?feat=directlink
>>> What is missing / targeted ?
>>> * Drag and drop reorganisation of the tree as preferred / or as package / category reuse.
>>> * A good search facility in the tree. It is already keyboard navigation friendly (since the tree view is).
>>> * Most / All menu methods of a complete System Browser. I'm planning on reusing the OmniBrowser command structure as much as possible (to make it faster).
>>> * Funny ideas on how to use the tree structure : group / selection display, queries, metrics ...
>>> ** There is probably a lot more to be done here, but it would probably require Mondrian or other graph visualisation tools.
>>> Expect the code sometime by the end of the week, in a Pharo 2.0 / Pharo 1.4 version.
>>> Thierry
>>> --
>>> Thierry Goubier
>>> CEA list
>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>> 91191 Gif sur Yvette Cedex
>>> France
>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95

Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95

More information about the Pharo-dev mailing list