[squeak-dev] variable assignments button

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Thu Jan 23 07:59:22 UTC 2020


Hi Chris,

> It wasn't really meant as a proposal as much as an "example" of how we do it with our object oriented UI.  Since that is already available on the Class menu (also as Cmd+a on that pane, which is how I usually access it), we will have to decide whether we want to lengthen the already-long text menu, as you alluded to below..

In your previous message, you convinced me that it would be a better user experience to select the subject first and the operation second. This workflow is not supported by <cmd>a. But yes, the current text morph menu is way too long. Maybe we should clean it up at some time (for example, by extracting all find/"* with it" items into one submenu ... just an idea).

> Maybe the button row could morph itself automatically into one of those based on size and number of truncated labels..  :)   Another idea, ability to select which functions one wants at each place...   :-o   :)

Ah, that sounds a bit like MS (Office) Ribbons :) They are indeed a good example of how to keep a UI quite clear.
Free configurability of each menu and button bar is a cool thing, but when I think at Visual Studio, for example, there were so many command lists to be adjusted that I actually never managed to adjust any of them. Plus, this kind of modularity impair universally comprehensible and reproducibly tutorials or screenshots.

Best,
Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Chris Muller <asqueaker at gmail.com>
Gesendet: Mittwoch, 22. Januar 2020 23:37:28
An: The general-purpose Squeak developers list
Cc: ralphpboland at gmail.com; ma.chris.m at gmail.com
Betreff: Re: [squeak-dev] variable assignments button

Hi Chris, good idea! I sent two commits regarding your proposal to the inbox.

It wasn't really meant as a proposal as much as an "example" of how we do it with our object oriented UI.  Since that is already available on the Class menu (also as Cmd+a on that pane, which is how I usually access it), we will have to decide whether we want to lengthen the already-long text menu, as you alluded to below..


However, I do not think that Ralphs original request got redundant per this proposal.  The text morph menu is very horrible long, even if you can type to search, and there few more hotkeys free to use.

I think it's indicative of the complexity of software development and the power of the IDE to address it -- it needs a lot of functions and multiple ways of doing the same thing, resulting in a lot of buttons and menu items.  Button row is subject to the same design balance between "too long", or fewer functions, too.

In my opinion, the button row is exactly appropriate in order to provide a reduced set of operations to the overwhelmed user (such as me). I keep desiring a split button as mentioned below, maybe this dream can become reality someday ... :-)

Maybe the button row could morph itself automatically into one of those based on size and number of truncated labels..  :)   Another idea, ability to select which functions one wants at each place...   :-o   :)

Best,
  Chris



Best,
Christoph
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org<mailto:squeak-dev-bounces at lists.squeakfoundation.org>> im Auftrag von Chris Muller <asqueaker at gmail.com<mailto:asqueaker at gmail.com>>
Gesendet: Montag, 20. Januar 2020 23:55:58
An: The general-purpose Squeak developers list
Cc: ralphpboland at gmail.com<mailto:ralphpboland at gmail.com>
Betreff: Re: [squeak-dev] variable assignments button

On Mon, Jan 20, 2020 at 12:51 PM Thiede, Christoph <Christoph.Thiede at student.hpi.uni-potsdam.de<mailto:Christoph.Thiede at student.hpi.uni-potsdam.de>> wrote:

Hi, this sounds great! It took me also a few months to find out that this feature "browse assignments" exists :)

On the other hand, I think this makes the button row look even more overfilled.

We have an unpleasant mix of a "command-oriented" UI, where you select a command (instead of an object) and THEN the system prompts you, modally, for the object to apply that command to -- we should be moving AWAY from this, not toward --

mixed along with with our "object-oriented" UI, where you select the object first, THEN the contextual command to apply to it (via button or menu or hot-key).

For example, you can select the instVar name (text) and use "References to it (N)" off the menu (or hot-key) to show all references to an instVar that way.  It would be easy to add an additional menu entry for assignments only.

Best,
  Chris



Another option might be to offer a pop-up menu similar to the code provenance button. This menu would have two items: 'references' and 'assignments'. Good for clarity, not so good for efficiency -- on the other hand, which person that wants to be efficient uses the button instead of <cmd>a?


A popular GUI element for such problems is the split button<https://docs.microsoft.com/en-us/windows/win32/windowsribbon/windowsribbon-controls-splitbutton>. Emphasises the default option of a series, but still provides fast access to the rest of series, too. But we don't have a pluggable implementation for this in Morphic so far, do we?

Best,
Christoph
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org<mailto:squeak-dev-bounces at lists.squeakfoundation.org>> im Auftrag von Jakob Reschke <forums.jakob at resfarm.de<mailto:forums.jakob at resfarm.de>>
Gesendet: Montag, 20. Januar 2020 18:42:58
An: ralphpboland at gmail.com<mailto:ralphpboland at gmail.com>; The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] variable assignments button

Hi,

One can invoke this also with Cmd-a on the class, or somewhere in its pop-up menu.

A button for it could be nice on touch screens though. There is no button space for all our favorite features though.

Ralph, could you send a screenshot of your solution for a quick impression, please?

Kings regards,
Jakob


Ralph Boland <rpboland at gmail.com<mailto:rpboland at gmail.com>> schrieb am Mo., 20. Jan. 2020, 18:35:
In the Browsers there is a line of buttons:  "browse", "senders" etc.
One of the buttons is  "vars"  which when pressed brings up a GUI that
allows you to select a variable and then a list of all methods using
that variable
is brought up from which you can select a method to inspect.

Sometimes I only want to view the subset of the methods in which the
variable is assigned.
I have implemented this feature (new button to the right of "vars"
labeled  ":=")
and find it to be very useful.
I am wondering if this feature can be added to the next version of Squeak.
I can send my code changes if someone is willing to do this but the changes
required are small so my help may not be needed.

If some do not like this feature (it's great really!) then perhaps it
could be turned
on or off depending on a Preferences setting.

If this feature happens to be in  5.3 then my apologies for wasting
peoples time.

Ralph Boland



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200123/97c65cbe/attachment.html>


More information about the Squeak-dev mailing list