I had a "simple" goal: to change Calypso's class pane to a tree. After an hour or two, I didn't feel any closer! I'm wondering if it's my process or something else. A few questions: 1. Is there a heuristic for finding relevant documentation? We have lots of docs, but there seem to be a lot of separate locations for it. I think I searched on the Nabble ML mirror for "Calypso" posts on either Pharo list. After digging around, I found a discussion where Steph was working on a [] booklet, which I read and was helpful for understanding the model but didn't directly address my issue (not that it should, this is pretty low-level hacking!). Then I tackled the class comments, which are VERY thorough, but it's hard (at least for me) to piece together the overall design from the individual parts. 2. How do we make sophisticated designs discoverable? I remember one of my Aha! moments when I discovered Smalltalk was using Morphic halos on a menu item and easily finding the code it used underneath. Things like that do not generally seem possible anymore in my experience. I thought to myself, packages are already in a tree, let me dig there! I got a bit worried when I saw what seemed to be a mini-DSL for tree making instead of simple message sends: ClyFullBrowser >> #newPackageView ... treeStructure: { ClyProjectChildItem -> #prepareProjectItemsQueryFrom:in:. RPackage -> #prepareClassGroupQueryFrom:in: }; But I pressed on and tried to duplicate that logic: ClyFullBrowser >> #newClassView ... ^ self newNavigationView treeStructure: { Class -> #prepareProjectItemsQueryFrom:in: } ... And... nothing. When #prepareClassItemsQueryFrom:in: didn't exist, I got no debugger. When I created it, placing a halt in it never got triggered. Besides my immediate experiment of making the class pane a tree, my more fundamental questions are: 1. What is the best heuristic to explore the system? This would be great to put somewhere publicly. Especially, but as we can see from this post not exclusively, for new users. 2. Do we value discoverability? 3. If so, are we designing our system with this value in mind? ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html