VA Smalltalk 8 Tabbed Browsers – what I’d like to see improved

One of the new features of VA Smalltalk are the Tabbed Browsers, mostly a visual visual redo of teh Tabbed Browsers. I like the new look of the Browsers and find most of the new look nicer as well as an improvement in usability.

The Browsers look much better now and make navigating the System much easier. I’d say they are a great fit for the improvements taht VA Assist bring into the System like the inheritance indicators etc.

They are however, not finished. I am not talking about some minor bugs or the like but things that need to be done. I am sure the people at Instantiations have some of the topics I’ll mention here on their to do list already. I hope I’ll find out when I have the chance to meet John at Brest. Maybe I can even make him put some of my points appear on the listif they are missing there 😉

A sample of a Tabbed browser in VA Smalltalk

First of all, the new Browsers need cleanup. Lots of. There are way too many menu items and many are misleading or simply misnamed. Some of that stems from the fact that these menu items are added to the Browser by add-ons like  VA Assist or the Refactoring Browser, both of which should be part of the base system today in most environments.

To me it looks as if the tab strips are just a few pixels high and the methods list or source editor etc. are below the notebook/tab strip instead of “in” the notebook. I wonder why that is. I see no good reason for it and it does look a bit weird because there is a thick border at the top of the method list that doesn’t belong there. This is surely not a killer bug, but it’s visually “unpleasant”.

Then, there are things where I think Instantiations didn’t go far enough.

  • Look at the icons at the bottom left side, the ones that have been introduced with VA Assist and are used to indent code blocks, comment / uncomment code etc. They are at the wrong place (I think this is due to the fact that this is the place where they’ve always been) . The have to be in the tool bar, at least in my opinion.
  • Then, if you look at the Class Editor, which is what you see in the Screenshot in this posting, I think the same  is true for the icons on the left side of the window. One of these (the run icon) is obosolete, because today we have the run icon in the toolbar already, but there it is a green circle with a “play” symbol on it. The “new method template” is also an option that should be in the toolbar (I usually don’t use it, but for a newby it’s probably not obvious how to add a new method without it. The “SubpartFeatures Syntax” icon as well.
  • Talking about run icons, the Toolbar today has two of them: “Test Window” (which in the case of the class that is edited in our screenshot is useless – it’s not a visual part) and”Execute” – I think that can be improved
  • In the class editor, the view switcher (bottom right) should go into the toolbar as well, and I think the two other editors you can switch to (Public Interface Editor and Composition Editor) should be just additional Tabs in the Tab Strip where the class definition and the method source/notes/comment tabs are.
  • The Class Editor now has two status text areas, the old one at the very bottom of the Window and a new one at the bottom of the editing tab strip. While there is useful info in the new one, I rarely see any text in the old one – except when I work in the Composition editor. The old one with its left/right scroll buttons doesn’t really fit into modern GUI standards, so it should possibly go away. Maybe the Composition Editor should come with its own status bar within the Tab strip instead of at the bottom of the Window – thus it would integrate nicely into the environment.
  • I like the Public/Private/All notebook. It is much easier to understand than the classic buttons that Smalltalk Browsers used to have before. This is good work. I keep thinking that somehow the instance/class selection should be similar to that. But I haven’t found  the “perfect” answer to the question how you could integrate this selection into the tabs above the methods list. I think Dolphin solved this by adding vertical tabs to the left edge of the notebook, which is convenient and easy to understand but neither saves spaces nor fits into today’s GUI standards.

All of this probably boils down to cleaning up icons into the Toolbar and getting rid of artefacts that aren’t useful any more.

For all of this to be really usable thre should be an option to zoom into the lower end Tab Strip, so that the Composition Editor can be “maximized” inside this window. Of course, the good old “zoom” feature for method source is what I am talking about. In eclipse, this is simply achieved by double-clicking a Tab which I find quite convenient.

In the end, the difference between a Class Editor and a Class Browser would be nothing more than the availability of a few more toolbar items and one or two tabs.Of course, there’s more to it. The menu bars would have to be harmonized and especially in the case of the Composition Editor I can imagine a lot of code would have to be changed and tested.

So I am not suggesting that all of this is cheap and easy, but I think for VA Smalltalk to really gain usability and some “mainstreamlook and feel”, these things must be done. And probably a few more. I’d love to read comments from other users what they think about these suggestions and ideas….


4 thoughts on “VA Smalltalk 8 Tabbed Browsers – what I’d like to see improved

  1. Ernest,

    just today I listened to your episode on James’ podcast. Makes me regret even more that I don’t have time to look at all interesting things going on in Smalltalk out there…

    I am aware of EtToolVendorExtensionsApp, but would guess it doesn’t support adding new tabs to the tabbed browsers…

  2. @Anonymous

    Have a look at the EtToolVendorExtensionsApp from Joseph Pelrine, it is now part of VA8. By implementing methods such as addToClassesMenu: aMenu browser: aBrowser (just look for implementors), you can control many browser menus. I used this a lot to extended the IDE with the Philemon Tools. They will work for the Tabbed Browsers too AFAIK.

  3. Hi there,

    I don’t think there is a documented API for extending the tabbed Browsers in VAST 8. I suspect that an architecture for extension is on its way, but I don’t have any facts on that one.

    Of course, I’d like to see an architecture which allows for configurable toolbars and extending the tabbed browsers. Why not add a GLORP Mapping editor or an sUnit test Runner or such into the tabs?

  4. Is there some kind of adaptor where to add toolbar items, menu items or context menu items somewhere?

    Is this documented /somewhere/?

    Thanks, but no thanks, I do not want to fight my way through half of the class hierarchy just to get a few simple workflow enhancements in there …

Comments are closed.