My top 5 wishes for VAST’s Tabbed Browsers

Over at the VA Smalltalk Support Forum, Taylor asked me for my top 5 wishes for changes in the Tabbed Browsers’ Menus.

I’ll do my best to describe them here. I am well aware that every change I suggest might not be accepted by many other developers. Some may think my suggestions are counter-productive and would conflict with their muscular brain in their every-day usage of the VAST Browsers. So I try not to come up with revolutionary re-structuring of the way VAST Browsers work (although I have some ideas here…), but just show a few things that I think are not helpful or misleading.

Of course, if you think you want to shout at me for some of the crazy stuff I am writing here or want to add suggestions, I’ll be happy to read them in the comments. I am sure that Taylor will ba able to handle 6 or 8 suggestions as well…

I just started a Class Browser on Object, Tabbed Browsers are enabled of course and I have the Envy code formatter loaded as well as the MED Refactoring Browsre extensions. I consider this as minimal set of browsing environment extensions.

My thoughts completely ignore the fact that some of the “oddities” come from the fact that the different menus are added by VA Assist. VA Assist now is part of the tool, so the tool should be adopted to embracing it seemlessly. I know some people would probably like to keep the option of deactivating VA Assist, bevause they’re not used to it. But hey, can you get rid of Ribbons in the latest Office suite?

So, let’s start with some easy stuff:

Get rid of duplicate (sub)menus

Browse Methods > Marked / Recently visited / Recently Modified / Including Strings is in two menus: Methods and Options. I suggest keeping it in the Methods menu, mainly due to the fact that is also suggest to…

Tidy up the Options Menu

I don’t like the Options menu, because it’s like a zoo of some randomly “maybe someone might find ituseful” features. There are hardly any Browser related menu items in there. A lot of the stuff belongs into a settings dialog. I rarely want to change the drag&drop behaviour just for this single Browser. I am not even sure if the setting would only affect the current Browser.

Here’s what I’d remove from the Options Menu:

  • Most of the settings like
    • Enhanced List Widgets
    • Color Syntax
    • Spell Check
    • Abbreviations
    • Synchronize Browsers
    • Use Abbreviated Names
    • Auto Indent
    • Use Method List Notebook
    • Drag Drop
  • Other stuff to get rid of:
    • Browse Methods (see above)
    • The Zoom option belongs into a new View menu
    • Browse Classes > Marked/Unreleased: this option is unrelated to the Class this Browser is currently open on
  •  Things I hardly ever used and wouldn’t miss (but maybe others would)
    • Desired Window size (couldn’t wejust have a global auto-save option for window sizes?)
    • Inspect
    • Snapshot
  • So only Tools would be left…!?
    • Yes, and to be honest, most of what’s in there has nothing to do with the Class I am Browsing or is available in the Methods menu if it is
  • But wait, there’s also Tool Bar…
    • Yes, it belongs into a new View Menu

So, at the end of the day, I vote for killing the Options Menu. That doesn’t mean that I want to remove the functionality, but it belongs elsewhere, either in some central settings dialog or into the Transcript’s menus.

If the Options menu remains, make it the right-most menu

Options are always some very special stuff, not what you usually use every day. Therefor I see no reason why the Breakpoints menu should be at the right of the Options menu.

Add a new View menu

The typical sequence of menus (at least on Windows and Mac, but I guess it’s adopted on X-Windows as well) is File – Edit – View – [some special menus] – Options – Help. I vote for an addition of a View menu.

This new View menu should at least include the option to modify the toolbar and the Zoom option. This option should also be available by double-clicking a tab in the edit pane.

I tend to think that setting fonts (if it only affects the currently used browser) would also belong there. But in case of VAST, that’s a global setting anyways, so it doesn’t necessarily belong into the Browser’s menus at all.

Rename “VA Assist Pro Tools” in the Method menu

For users not working with VA Assist Pro for years, it’s completely unclear what this option might mean.Maybe another name and/or groupingfor the options in it would make things better.

I must admit that I neither know what Hide/Show method source does (clicking on either option seems to have no effect), nor can I judge whether it is useful here.

Throw away the Tool submenu in the Method menu

I guess it comes from Envy/Q, because in my image it only has one option in it: Format. That one is already in the Edit menu. So depending on whether Envy/QA would add more to this submenu if I had loaded more features of it, it can go away without any harm. If I am correct about the QA thing, it’s probably much better to have that goodie install its own top-level menu, rather than having a completely intention hiding submenu titled “Tool. The word Tool tells me quite exactly nothing.

Eliminate the formatting buttons at the lower left

VA Assist adds 6 icons to the lower left of the Browser. They let you indent code blocks, comment and uncomment them and put brackets around a the text selection. You can add these to the toolbar today already, and if you haven’t been using VA Assist before you’ll probably not understand why they are there anyways. I vote for their removal and their addition to thetoolbar by default.For VA Assist users, this might be heretic, but if there’s much protest about this one, maybe a “VA Assist classic mode” for some of the changes would make sense. This should, of course, be added to a central settings dialog rather than a Browser menu 😉

Okay, I already more than five suggestions in this post, so I’ll stop here. Let me know what you think about them.

These suggestions also apply to the Class Editor, but I already have posted a few additional tghoughts about the Class Editor here.