what happened to alternativeBrowseIt in 3.9?

Chris Muller afunkyobject at yahoo.com
Mon Jan 10 23:03:28 UTC 2005


> Note that the purpose of #alternativeBrowseIt has nothing to do with 
> which browser is used.

Note the comment in ParagraphEditor>>browseClassFromIt indicates a hierarchy
browser is to be used.  But I've noticed the ambiguity that I think you're
alluding to.  alternativeBrowseIt seems to do two things:

  1) open with a Hierarchy browser instead of a package browser.
  2) Be more friendly/responsive when the user requests to browse something
that doesn't exactly match a class-name in the system.

I think alternativeBrowseIt should toggle just between the two parts of #1. 
This allows the user/developer to focus primarily on the object-model or the
package-model as he desires.  (To have that function toggle between the
PackageBrowser or the PackagePaneBrowser seems to contradict our favorite axiom
that if two things are 99% the same we should make them the same or very
different).

For #2, how about we make it more user-friendly all the time, regardless of the
alternativeBrowseIt setting.  Today, when a new user browses "Int" without
alternativeBrowseIt turned on the system does nothing; no response.  When is
this sort of behavior desirable?

I've attached a changeSet which I think does better.  It follows these rules in
order of precedence:

  1) If you type an exactly matching class name, it automatically browses that
class.
  2) If no exact match from #1, then it presents a list of the classes whose
name partially matches what you've typed, even if the match is only in the
middle.
  3) If there is no match from either of the first two rules, then it looks for
an exact-match of the capitalized Smalltalk-words inside the selection.  For
example, if you are looking at Interval>>

  from: startInteger to: stopInteger 

and you double click "startInteger" and browse it, the system brings up
Integer.  If you browse "aGlobalPoint" you get Point and if you browse
"anOrderedCollection" you get a list to select between OrderedCollection or
Collection.  So the system provides a next-best-guess alternative based on
Smalltalk naming conventions of prefixing with "a", "an" or some adjective.

The third rule is very nice for fast browsing.  I've been using it for years
and have learned to type-imply my argument names so it will quickly open the
correct browser.  No need for Chuck when browsing my own code.

Note, this changeset *only* changes the what-to-browse behavior; it does not
affect *which* browser is used to present it.

3.9 is a for-developers release, I think this changeSet should be considered
for inclusion.

 - Chris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ImprovedBrowseIt.1.cs
Type: application/octet-stream
Size: 2881 bytes
Desc: ImprovedBrowseIt.1.cs
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20050110/a08aad6a/ImprovedBrowseIt.1.obj


More information about the Squeak-dev mailing list