variable assignments button

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

variable assignments button

Ralph Boland
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

Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Jakob Reschke
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 <[hidden email]> 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



Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Christoph Thiede

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.

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. 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 <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Montag, 20. Januar 2020 18:42:58
An: [hidden email]; 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 <[hidden email]> 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



Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Jakob Reschke
Thiede, Christoph <[hidden email]> schrieb am Mo., 20. Jan. 2020, 19:51:

 on the other hand, which person that wants to be efficient uses the button instead of <cmd>a?

Tablet users while browsing, not writing ;-)


Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Christoph Thiede

Good point. But we're far away from a good touch concept at all, I guess :)


Von: Squeak-dev <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Montag, 20. Januar 2020 19:55:19
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] variable assignments button
 
Thiede, Christoph <[hidden email]> schrieb am Mo., 20. Jan. 2020, 19:51:

 on the other hand, which person that wants to be efficient uses the button instead of <cmd>a?

Tablet users while browsing, not writing ;-)


Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

timrowledge
In reply to this post by Jakob Reschke

> Thiede, Christoph <[hidden email]> schrieb am Mo., 20. Jan. 2020, 19:51:
>  on the other hand, which person that wants to be efficient uses the button instead of <cmd>a?

People used to preferring their mouse over keyboard.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
"Wibble" said Pooh the stress beginning to show.



Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Chris Muller-3
In reply to this post by Christoph Thiede
On Mon, Jan 20, 2020 at 12:51 PM Thiede, Christoph <[hidden email]> 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. 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 <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Montag, 20. Januar 2020 18:42:58
An: [hidden email]; 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 <[hidden email]> 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




Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Christoph Thiede

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.


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

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. 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 ... :-)

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von Chris Muller <[hidden email]>
Gesendet: Montag, 20. Januar 2020 23:55:58
An: The general-purpose Squeak developers list
Cc: [hidden email]
Betreff: Re: [squeak-dev] variable assignments button
 
On Mon, Jan 20, 2020 at 12:51 PM Thiede, Christoph <[hidden email]> 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. 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 <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Montag, 20. Januar 2020 18:42:58
An: [hidden email]; 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 <[hidden email]> 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




Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Chris Muller-3
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 <[hidden email]> im Auftrag von Chris Muller <[hidden email]>
Gesendet: Montag, 20. Januar 2020 23:55:58
An: The general-purpose Squeak developers list
Cc: [hidden email]
Betreff: Re: [squeak-dev] variable assignments button
 
On Mon, Jan 20, 2020 at 12:51 PM Thiede, Christoph <[hidden email]> 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. 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 <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Montag, 20. Januar 2020 18:42:58
An: [hidden email]; 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 <[hidden email]> 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





Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Christoph Thiede

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 <[hidden email]> im Auftrag von Chris Muller <[hidden email]>
Gesendet: Mittwoch, 22. Januar 2020 23:37:28
An: The general-purpose Squeak developers list
Cc: [hidden email]; [hidden email]
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 <[hidden email]> im Auftrag von Chris Muller <[hidden email]>
Gesendet: Montag, 20. Januar 2020 23:55:58
An: The general-purpose Squeak developers list
Cc: [hidden email]
Betreff: Re: [squeak-dev] variable assignments button
 
On Mon, Jan 20, 2020 at 12:51 PM Thiede, Christoph <[hidden email]> 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. 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 <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Montag, 20. Januar 2020 18:42:58
An: [hidden email]; 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 <[hidden email]> 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





Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Chris Muller-4

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.

Great!  :)
 
This workflow is not supported by <cmd>a.

Very true.  The MC Browser also forces me into the "operation first, subject second" workflow.  I definitely prefer your Inbox submission for the workflow dimension, but..
 
But yes, the current text morph menu is way too long.

.. yep.  :)  On small screens, some menus end up taller than the screen.
 
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.

Also like what we did with button labels, shortening them to the first letter when their extent gets too small.  I ended up liking that, and could imagine something similar with menus, wherever we currently put a separator break, ---------- , what if it could be a "grayed out" label for that section of menu items which would, whenever the World height was too small, collapse that section into into a cascading menu, and ungray the label..?
 
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.

"Command lists?"  It sounds like they buried it into some tab on a modal "Preferences" panel?  The Squeak way is "live" configuration.  Shift+red-click a menu item, you can edit it.  Shift+blue-click it, and you can use the red halo to remove it, or the green-halo to tear it off as a button and place it anywhere, such as the DockingBar.  We just need to make it _remember_ these actions, and put the removed ones under "more..." for retrieval.  Squeak's live configuration is allows the user to do it without having to context-switch.
 
Plus, this kind of modularity impair universally comprehensible and reproducibly tutorials or screenshots.

I hope you won't limit your imagination based on that.  No, close your eyes and let it run wild, imagine the most amazing and intuitive UI ever (something like in Minority Report).  Worry NOTHING about the implementation, ONLY the vision, as a user, and what you would want.  THEN make the tutorials and screenshots about THAT!  Maybe it'd even be a self-teaching, user-guiding UI, like in video games, so you wouldn't even need them.  Have you noticed how many modern consumer products no longer come with owners manuals, just "quick start" cards?  Integrated documentation seems to be a thing...  :)

Best,
  Chris
 


Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Christoph Thiede

Also like what we did with button labels, shortening them to the first letter when their extent gets too small.


This is indeed an improvement in terms of design, but it does not actually help you to find the right button.


wherever we currently put a separator break, ---------- , what if it could be a "grayed out" label for that section of menu items which would, whenever the World height was too small, collapse that section into into a cascading menu, and ungray the label..?


Interesting idea :) I never struggled in a situation where a menu was too high, but in this case, it clearly sounds like an improvement to me. In order to give meaning names to these "automatical categories", we would need to revise or current menu design. However personally, I absolutely favor type-to-search in case of any menu that has more than 6 items :).

Shift+red-click a menu item, you can edit it.  Shift+blue-click it, and you can use the red halo to remove it, or the green-halo to tear it off as a button and place it anywhere, such as the DockingBar.  We just need to make it _remember_ these actions, and put the removed ones under "more..." for retrieval.  Squeak's live configuration is allows the user to do it without having to context-switch.

But users cannot change the default contents of any kind of menu permanently without modifying the underlying code.

> > Plus, this kind of modularity impair universally comprehensible and reproducibly tutorials or screenshots.
> I hope you won't limit your imagination based on that.  No, close your eyes and let it run wild, imagine the most amazing and intuitive UI ever (something like in Minority Report).  Worry NOTHING about the implementation, ONLY the vision, as a user, and what you would want.  THEN make the tutorials and screenshots about THAT!

Well, of course, you're absolutely right :-) Provided that we provide a convenient command search function for all of these commands.

Have you noticed how many modern consumer products no longer come with owners manuals, just "quick start" cards?  Integrated documentation seems to be a thing...  :)

I come from a generation that never consults an owner manual for an application until physical coercion is applied :) Intuitivity first, always, ever, of course! That's the way I learned Squeak until now, so we are not on a bad path.
However, a quick start guide sounds interesting, too :) This would also be a nice project for Squeak: If the user opens the MCBrowser the first time, for example, a decent pop-up could lead him or her to the most popular few buttons of the dialog and guide him or her how to make their first commit. Also see TipOfTheDay for this more ideas.

Best,
Christoph


Von: Chris Muller <[hidden email]>
Gesendet: Donnerstag, 23. Januar 2020 22:36 Uhr
An: Thiede, Christoph
Cc: The general-purpose Squeak developers list; [hidden email]
Betreff: Re: [squeak-dev] variable assignments button
 

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.

Great!  :)
 
This workflow is not supported by <cmd>a.

Very true.  The MC Browser also forces me into the "operation first, subject second" workflow.  I definitely prefer your Inbox submission for the workflow dimension, but..
 
But yes, the current text morph menu is way too long.

.. yep.  :)  On small screens, some menus end up taller than the screen.
 
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.

Also like what we did with button labels, shortening them to the first letter when their extent gets too small.  I ended up liking that, and could imagine something similar with menus, wherever we currently put a separator break, ---------- , what if it could be a "grayed out" label for that section of menu items which would, whenever the World height was too small, collapse that section into into a cascading menu, and ungray the label..?
 
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.

"Command lists?"  It sounds like they buried it into some tab on a modal "Preferences" panel?  The Squeak way is "live" configuration.  Shift+red-click a menu item, you can edit it.  Shift+blue-click it, and you can use the red halo to remove it, or the green-halo to tear it off as a button and place it anywhere, such as the DockingBar.  We just need to make it _remember_ these actions, and put the removed ones under "more..." for retrieval.  Squeak's live configuration is allows the user to do it without having to context-switch.
 
Plus, this kind of modularity impair universally comprehensible and reproducibly tutorials or screenshots.

I hope you won't limit your imagination based on that.  No, close your eyes and let it run wild, imagine the most amazing and intuitive UI ever (something like in Minority Report).  Worry NOTHING about the implementation, ONLY the vision, as a user, and what you would want.  THEN make the tutorials and screenshots about THAT!  Maybe it'd even be a self-teaching, user-guiding UI, like in video games, so you wouldn't even need them.  Have you noticed how many modern consumer products no longer come with owners manuals, just "quick start" cards?  Integrated documentation seems to be a thing...  :)

Best,
  Chris
 


Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Karl Ramberg


On Fri, Jan 24, 2020 at 3:29 PM Thiede, Christoph <[hidden email]> wrote:

Also like what we did with button labels, shortening them to the first letter when their extent gets too small.


This is indeed an improvement in terms of design, but it does not actually help you to find the right button.


wherever we currently put a separator break, ---------- , what if it could be a "grayed out" label for that section of menu items which would, whenever the World height was too small, collapse that section into into a cascading menu, and ungray the label..?


Interesting idea :) I never struggled in a situation where a menu was too high, but in this case, it clearly sounds like an improvement to me.

For example of menu overflowing vertical space: WorldMenu/ new morph.../ from alphabetical list/ 

Many of the sub menus there will overflow vertical space, unless you have a very tall screen.

Best,
Karl


 
In order to give meaning names to these "automatical categories", we would need to revise or current menu design. However personally, I absolutely favor type-to-search in case of any menu that has more than 6 items :).

Shift+red-click a menu item, you can edit it.  Shift+blue-click it, and you can use the red halo to remove it, or the green-halo to tear it off as a button and place it anywhere, such as the DockingBar.  We just need to make it _remember_ these actions, and put the removed ones under "more..." for retrieval.  Squeak's live configuration is allows the user to do it without having to context-switch.

But users cannot change the default contents of any kind of menu permanently without modifying the underlying code.

> > Plus, this kind of modularity impair universally comprehensible and reproducibly tutorials or screenshots.
> I hope you won't limit your imagination based on that.  No, close your eyes and let it run wild, imagine the most amazing and intuitive UI ever (something like in Minority Report).  Worry NOTHING about the implementation, ONLY the vision, as a user, and what you would want.  THEN make the tutorials and screenshots about THAT!

Well, of course, you're absolutely right :-) Provided that we provide a convenient command search function for all of these commands.

Have you noticed how many modern consumer products no longer come with owners manuals, just "quick start" cards?  Integrated documentation seems to be a thing...  :)

I come from a generation that never consults an owner manual for an application until physical coercion is applied :) Intuitivity first, always, ever, of course! That's the way I learned Squeak until now, so we are not on a bad path.
However, a quick start guide sounds interesting, too :) This would also be a nice project for Squeak: If the user opens the MCBrowser the first time, for example, a decent pop-up could lead him or her to the most popular few buttons of the dialog and guide him or her how to make their first commit. Also see TipOfTheDay for this more ideas.

Best,
Christoph


Von: Chris Muller <[hidden email]>
Gesendet: Donnerstag, 23. Januar 2020 22:36 Uhr
An: Thiede, Christoph
Cc: The general-purpose Squeak developers list; [hidden email]
Betreff: Re: [squeak-dev] variable assignments button
 

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.

Great!  :)
 
This workflow is not supported by <cmd>a.

Very true.  The MC Browser also forces me into the "operation first, subject second" workflow.  I definitely prefer your Inbox submission for the workflow dimension, but..
 
But yes, the current text morph menu is way too long.

.. yep.  :)  On small screens, some menus end up taller than the screen.
 
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.

Also like what we did with button labels, shortening them to the first letter when their extent gets too small.  I ended up liking that, and could imagine something similar with menus, wherever we currently put a separator break, ---------- , what if it could be a "grayed out" label for that section of menu items which would, whenever the World height was too small, collapse that section into into a cascading menu, and ungray the label..?
 
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.

"Command lists?"  It sounds like they buried it into some tab on a modal "Preferences" panel?  The Squeak way is "live" configuration.  Shift+red-click a menu item, you can edit it.  Shift+blue-click it, and you can use the red halo to remove it, or the green-halo to tear it off as a button and place it anywhere, such as the DockingBar.  We just need to make it _remember_ these actions, and put the removed ones under "more..." for retrieval.  Squeak's live configuration is allows the user to do it without having to context-switch.
 
Plus, this kind of modularity impair universally comprehensible and reproducibly tutorials or screenshots.

I hope you won't limit your imagination based on that.  No, close your eyes and let it run wild, imagine the most amazing and intuitive UI ever (something like in Minority Report).  Worry NOTHING about the implementation, ONLY the vision, as a user, and what you would want.  THEN make the tutorials and screenshots about THAT!  Maybe it'd even be a self-teaching, user-guiding UI, like in video games, so you wouldn't even need them.  Have you noticed how many modern consumer products no longer come with owners manuals, just "quick start" cards?  Integrated documentation seems to be a thing...  :)

Best,
  Chris
 



Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Jakob Reschke
In reply to this post by Christoph Thiede
Am Fr., 24. Jan. 2020 um 15:29 Uhr schrieb Thiede, Christoph <[hidden email]>:

I come from a generation that never consults an owner manual for an application until physical coercion is applied :) Intuitivity first, always, ever, of course! That's the way I learned Squeak until now, so we are not on a bad path

Don't forget that you probably received the initial live introduction lecture at HPI ;-)
I still believe that all those Smalltalk tools with unlabeled lists are mystical at first without some kind of introduction, either by a peer or by a book/manual/tutorial/...


Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Christoph Thiede
Don't forget that you probably received the initial live introduction lecture at HPI ;-)
> I still believe that all those Smalltalk tools with unlabeled lists are mystical at first without some kind of introduction, either by a peer or by a book/manual/tutorial/...

Well, that's correct :-)
Squeak by Example may be a good point to start, but I would not start myself by reading a book.
Do we have some interactive tutorial stuff? Something like https://amber-lang.net/learn.html, just for Squeak and much larger.
It is good that Nicola makes some YouTube content for Squeak, we could really need more of this stuff.

@Karl
For example of menu overflowing vertical space: WorldMenu/ new morph.../ from alphabetical list/ 

Ouch, this is indeed ugly. Maybe MenuMorph should be a ScrollPane?

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Freitag, 24. Januar 2020 21:39:19
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] variable assignments button
 
Am Fr., 24. Jan. 2020 um 15:29 Uhr schrieb Thiede, Christoph <[hidden email]>:

I come from a generation that never consults an owner manual for an application until physical coercion is applied :) Intuitivity first, always, ever, of course! That's the way I learned Squeak until now, so we are not on a bad path

Don't forget that you probably received the initial live introduction lecture at HPI ;-)
I still believe that all those Smalltalk tools with unlabeled lists are mystical at first without some kind of introduction, either by a peer or by a book/manual/tutorial/...


Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

timrowledge


> On 2020-01-25, at 5:29 AM, Thiede, Christoph <[hidden email]> wrote:
>
> Do we have some interactive tutorial stuff? Something like https://amber-lang.net/learn.html, just for Squeak and much larger.

There have been various attempts at a tutorial/teaching thread on the swiki. Look at http://wiki.squeak.org/squeak/178
Do note how many are now dead links - including one that was supposed to be on the main squeak.org site.
One very good starting point (that still needs work and updating of the screenshots) is http://wiki.squeak.org/squeak/4 "Basic Squeak Development Tools"

Creating a good teaching resource is a lot of hard work. We need to teach the fundamentals of the language, the use of the tools, good practise in programming, handling the source & package management, user interface design and implementation... in other words a substantial part of a university degree.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
'Profanity: the universal programming language'





Reply | Threaded
Open this post in threaded view
|

Re: variable assignments button

Karl Ramberg
In reply to this post by Christoph Thiede
Yes, I think menus should become scroll-able if they overflow vertical space.
I'm not sure how much work it would be to implement this though...

Best,
Karl



On Sat, Jan 25, 2020 at 2:29 PM Thiede, Christoph <[hidden email]> wrote:
Don't forget that you probably received the initial live introduction lecture at HPI ;-)
> I still believe that all those Smalltalk tools with unlabeled lists are mystical at first without some kind of introduction, either by a peer or by a book/manual/tutorial/...

Well, that's correct :-)
Squeak by Example may be a good point to start, but I would not start myself by reading a book.
Do we have some interactive tutorial stuff? Something like https://amber-lang.net/learn.html, just for Squeak and much larger.
It is good that Nicola makes some YouTube content for Squeak, we could really need more of this stuff.

@Karl
For example of menu overflowing vertical space: WorldMenu/ new morph.../ from alphabetical list/ 

Ouch, this is indeed ugly. Maybe MenuMorph should be a ScrollPane?

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Freitag, 24. Januar 2020 21:39:19
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] variable assignments button
 
Am Fr., 24. Jan. 2020 um 15:29 Uhr schrieb Thiede, Christoph <[hidden email]>:

I come from a generation that never consults an owner manual for an application until physical coercion is applied :) Intuitivity first, always, ever, of course! That's the way I learned Squeak until now, so we are not on a bad path

Don't forget that you probably received the initial live introduction lecture at HPI ;-)
I still believe that all those Smalltalk tools with unlabeled lists are mystical at first without some kind of introduction, either by a peer or by a book/manual/tutorial/...



Reply | Threaded
Open this post in threaded view
|

scrollable menus (was Re: variable assignments button)

timrowledge


> On 2020-01-25, at 11:48 AM, karl ramberg <[hidden email]> wrote:
>
> Yes, I think menus should become scroll-able if they overflow vertical space.
> I'm not sure how much work it would be to implement this though...

Absolutely. I fudged that for NuScratch by making a menu split and have  'more...' last entry if it would take up more than (I think) 75% of display height. OK for a quick solution but a proper scrollable menu would be superior.

Raspbian (the Raspberry PI OS) provides menus that have an up arrow at the top and a down at the bottom (not much use the other way round!) which work... meh. RISC OS menus gain a perfectly normal scroll bar if they need it. Much better.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
A bug in the code is worth two in the documentation.



Reply | Threaded
Open this post in threaded view
|

Learning material (was: variable assignments button)

Jakob Reschke
In reply to this post by timrowledge
There are also Smalltalk4U videos about Squeak 4.3


tim Rowledge <[hidden email]> schrieb am Sa., 25. Jan. 2020, 19:58:


> On 2020-01-25, at 5:29 AM, Thiede, Christoph <[hidden email]> wrote:
>
> Do we have some interactive tutorial stuff? Something like https://amber-lang.net/learn.html, just for Squeak and much larger.

There have been various attempts at a tutorial/teaching thread on the swiki. Look at http://wiki.squeak.org/squeak/178
Do note how many are now dead links - including one that was supposed to be on the main squeak.org site.
One very good starting point (that still needs work and updating of the screenshots) is http://wiki.squeak.org/squeak/4 "Basic Squeak Development Tools"

Creating a good teaching resource is a lot of hard work. We need to teach the fundamentals of the language, the use of the tools, good practise in programming, handling the source & package management, user interface design and implementation... in other words a substantial part of a university degree.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
'Profanity: the universal programming language'







Reply | Threaded
Open this post in threaded view
|

Re: Learning material (was: variable assignments button)

Christoph Thiede

Thanks for all the links! I think especially the videos are a very good source for beginners. Should we add a link to them into http://wiki.squeak.org/squeak/178?


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von Jakob Reschke <[hidden email]>
Gesendet: Sonntag, 26. Januar 2020 11:17:50
An: The general-purpose Squeak developers list
Betreff: [squeak-dev] Learning material (was: variable assignments button)
 
There are also Smalltalk4U videos about Squeak 4.3


tim Rowledge <[hidden email]> schrieb am Sa., 25. Jan. 2020, 19:58:


> On 2020-01-25, at 5:29 AM, Thiede, Christoph <[hidden email]> wrote:
>
> Do we have some interactive tutorial stuff? Something like https://amber-lang.net/learn.html, just for Squeak and much larger.

There have been various attempts at a tutorial/teaching thread on the swiki. Look at http://wiki.squeak.org/squeak/178
Do note how many are now dead links - including one that was supposed to be on the main squeak.org site.
One very good starting point (that still needs work and updating of the screenshots) is http://wiki.squeak.org/squeak/4 "Basic Squeak Development Tools"

Creating a good teaching resource is a lot of hard work. We need to teach the fundamentals of the language, the use of the tools, good practise in programming, handling the source & package management, user interface design and implementation... in other words a substantial part of a university degree.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
'Profanity: the universal programming language'







Carpe Squeak!
12