[Pharo-project] Some user interface suggestions
Hi everybody, as you might remember, I'm teaching Pharo in an introductory class. I'm finding a few rough edges with Pharo and was wondering whether people could help me. I'm using Pharo 1.3 with the CogVM on Mac OS X Lion. One problem I have is with fullScreen mode. First, I could no longer figure out how to go into fullScreen mode from the menus. Is this something that Pharo users don't do? If so, that seems a real shame. I then used the command (Display fullScreen: true). That worked, but, when I'm in fullScreen mode, I can no longer Alt-Tab between applications or workspaces. Is this a CogVM problem? Is it just that that's no longer the accepted way to go into fullScreen mode? In the class I'm doing live coding, basing a lot of stuff on showing something in a Workspace and having students work on problems to print to the Transcript (we are still on very basic for loops and have a while to go before they can use the browser to create classes). I use the Workspace to just list the things that I want to cover on that day. This is a mixture of plain text and code snippets. Kudos on being able to employ native fonts. I was able to use a big font that works well on the projector. Here are a few things I wish I could do: 1) Turn off syntax highlighting (already implemented) and programming-specific input (not enabled). When I just write a piece of text, it thinks I'm trying to write a message name. If I add a [, it adds the matching ]. Syntax highlighting and programming-specific input could be separate things, but they could also go together (i.e., you turn off one, then you turn off the other). For my use, I'd ideally want to switch off both highlighting and input help. 2) On a small note, when you turn off syntax highlighting, the workspace retains the current font. Ideally, it should switch everything to a black default font. 3) I'd like to be able to bold some text to make it appear like a heading (e.g., Assignment 3). With Squeak, you could just bring up the halos, get down to the text, and change the aspects. With halos gone, I don't know of a way to do this. Perhaps it would at least make sense to move some of that lost functionality to the contextual menu. 4) When I change the global font for workspace content, it does not affect existing workspaces. Considering how well the redecoration of system windows works, I'd expect that to work as well. 5) There are some awkward bits to the programming-specific input. Here's one that happens to me all the time. I have incorrectly placed the boundaries of a block. I delete the [ from the original location. I go to the new location to place it. I enter in [, but get []. To get what I want, I have to hit [, right arrow, and backspace. This is even worse for trying to add an extra ' to a place it is missing. I press ' and get ''. I find my cursor in the middle, so I hit backspace. Instead of deleting one ', it deletes both. Wouldn't it make more sense to have a backspace delete the automatic addition; that's the way most auto-correct systems work. So, [ + backspace produces [ and ' + backspace produces '. I think that would be more intuitive. Cheers, Jeff PS Overall, I'm pretty happy with Pharo. It definitely has fewer rough edges and a smoother interface than Squeak. That's important for my students.
These are the kind of productivity:usage details (e.g., counting gestures, measuring effort) that need to be analyzed. Your feedback is like gold, Jeff. A comment and suggestion:
One problem I have is with fullScreen mode. First, I could no longer figure out how to go into fullScreen mode from the menus. Is this something that Pharo users don't do? If so, that seems a real shame. I then used the command (Display fullScreen: true). That worked, but, when I'm in fullScreen mode, I can no longer Alt-Tab between applications or workspaces. Is this a CogVM problem? Is it just that that's no longer the accepted way to go into fullScreen mode?
Being able to toggle full-screen is really nice because it allows a feeling of "immersion" in whatever work you're doing. I sometimes use Pharo I hope they will consider emulating Squeak on this -- an always-accessible button neatly integrated into the interface. Unfortunately, I have the same issue with Alt+Tabbing to other windows -- never could solve that, which makes the button all the nicer.
5) There are some awkward bits to the programming-specific input. Here's one that happens to me all the time. I have incorrectly placed the boundaries of a block. I delete the [ from the original location. I go to the new location to place it. I enter in [, but get []. To get what I want, I have to hit [, right arrow, and backspace. This is even worse for trying to add an extra ' to a place it is missing. I press ' and get ''. I find my cursor in the middle, so I hit backspace. Instead of deleting one ', it deletes both. Wouldn't it make more sense to have a backspace delete the automatic addition; that's the way most auto-correct systems work. So, [ + backspace produces [ and ' + backspace produces '. I think that would be more intuitive.
For all pair notations (e.g., quotes, double-quotes, brackets, curly's, parentheses, etc.), -- you can highlight the section you want and press the appropriate key for the pair you want. For example, highlight a section and press Command+[ to surround it in brackets. However, for the scenario above, I guess you said you wanted to remove a pair of of brackets and put them somewhere else. Unfortunately there is no easy way to do this in Pharo, but if Pharo would consider to emulate Squeak's handling of this, I think everyone could benefit. In Squeak, highlighting the innards of a pair allows you to *toggle* that pair on and off. So, to remove brackets, you just highlight to the inner edges of one of the brackets (either double-clicking or pressing Command+Space there), and then press Command+[ and the corresponding bracket pairs are removed. ALSO, in Squeak the selection is left undisturbed so you can immediately place a different pair, overtype, copy, exchange, whatever. I wish Pharo would do this too so that whenever I use Pharo it would be easier.
PS Overall, I'm pretty happy with Pharo. It definitely has fewer rough edges and a smoother interface than Squeak. That's important for my students.
Squeak developers are continually improving the Squeak UI so if you remember what some of the rough edges were, we'd love to know on squeak-dev. Regards, Chris
Hi, thanks for feedback... some answers: 1) If you use one of the latest VMs (https://ci.lille.inria.fr/pharo/view/Cog/job/Cog-VM/Architecture=32,OS=mac/l...) you will have a nice full-screen mode button which works like any other full screen mode in mac. For now, you need to use that button. I will change the full screen mode primitive to behaves like that probably soon :) 2) You still have the halos, but you need to press ctrl+shift+click (in mac) 3) You can disable code completion in the Settings menu (at least in 1.4... I don't remember how it behaves in 1.3) 4) Yes, we need to improve how workspaces reflect system changes and property changes... you are completely right with that :) Hope this solve some of your problems... Cheers, Esteban On May 11, 2012, at 7:02 PM, J.F. Rick wrote:
Hi everybody,
as you might remember, I'm teaching Pharo in an introductory class. I'm finding a few rough edges with Pharo and was wondering whether people could help me. I'm using Pharo 1.3 with the CogVM on Mac OS X Lion.
One problem I have is with fullScreen mode. First, I could no longer figure out how to go into fullScreen mode from the menus. Is this something that Pharo users don't do? If so, that seems a real shame. I then used the command (Display fullScreen: true). That worked, but, when I'm in fullScreen mode, I can no longer Alt-Tab between applications or workspaces. Is this a CogVM problem? Is it just that that's no longer the accepted way to go into fullScreen mode?
In the class I'm doing live coding, basing a lot of stuff on showing something in a Workspace and having students work on problems to print to the Transcript (we are still on very basic for loops and have a while to go before they can use the browser to create classes). I use the Workspace to just list the things that I want to cover on that day. This is a mixture of plain text and code snippets. Kudos on being able to employ native fonts. I was able to use a big font that works well on the projector. Here are a few things I wish I could do: 1) Turn off syntax highlighting (already implemented) and programming-specific input (not enabled). When I just write a piece of text, it thinks I'm trying to write a message name. If I add a [, it adds the matching ]. Syntax highlighting and programming-specific input could be separate things, but they could also go together (i.e., you turn off one, then you turn off the other). For my use, I'd ideally want to switch off both highlighting and input help. 2) On a small note, when you turn off syntax highlighting, the workspace retains the current font. Ideally, it should switch everything to a black default font. 3) I'd like to be able to bold some text to make it appear like a heading (e.g., Assignment 3). With Squeak, you could just bring up the halos, get down to the text, and change the aspects. With halos gone, I don't know of a way to do this. Perhaps it would at least make sense to move some of that lost functionality to the contextual menu. 4) When I change the global font for workspace content, it does not affect existing workspaces. Considering how well the redecoration of system windows works, I'd expect that to work as well. 5) There are some awkward bits to the programming-specific input. Here's one that happens to me all the time. I have incorrectly placed the boundaries of a block. I delete the [ from the original location. I go to the new location to place it. I enter in [, but get []. To get what I want, I have to hit [, right arrow, and backspace. This is even worse for trying to add an extra ' to a place it is missing. I press ' and get ''. I find my cursor in the middle, so I hit backspace. Instead of deleting one ', it deletes both. Wouldn't it make more sense to have a backspace delete the automatic addition; that's the way most auto-correct systems work. So, [ + backspace produces [ and ' + backspace produces '. I think that would be more intuitive.
Cheers,
Jeff
PS Overall, I'm pretty happy with Pharo. It definitely has fewer rough edges and a smoother interface than Squeak. That's important for my students.
Rick what you can also do is to set up a couple of script so that you set the settings to the value you like. On May 11, 2012, at 7:02 PM, J.F. Rick wrote:
Hi everybody,
as you might remember, I'm teaching Pharo in an introductory class. I'm finding a few rough edges with Pharo and was wondering whether people could help me. I'm using Pharo 1.3 with the CogVM on Mac OS X Lion.
One problem I have is with fullScreen mode. First, I could no longer figure out how to go into fullScreen mode from the menus. Is this something that Pharo users don't do? If so, that seems a real shame. I then used the command (Display fullScreen: true). That worked, but, when I'm in fullScreen mode, I can no longer Alt-Tab between applications or workspaces. Is this a CogVM problem? Is it just that that's no longer the accepted way to go into fullScreen mode?
In the class I'm doing live coding, basing a lot of stuff on showing something in a Workspace and having students work on problems to print to the Transcript (we are still on very basic for loops and have a while to go before they can use the browser to create classes). I use the Workspace to just list the things that I want to cover on that day. This is a mixture of plain text and code snippets. Kudos on being able to employ native fonts. I was able to use a big font that works well on the projector. Here are a few things I wish I could do: 1) Turn off syntax highlighting (already implemented) and programming-specific input (not enabled). When I just write a piece of text, it thinks I'm trying to write a message name. If I add a [, it adds the matching ]. Syntax highlighting and programming-specific input could be separate things, but they could also go together (i.e., you turn off one, then you turn off the other). For my use, I'd ideally want to switch off both highlighting and input help.
yes
2) On a small note, when you turn off syntax highlighting, the workspace retains the current font. Ideally, it should switch everything to a black default font. 3) I'd like to be able to bold some text to make it appear like a heading (e.g., Assignment 3). With Squeak, you could just bring up the halos, get down to the text, and change the aspects. With halos gone, I don't know of a way to do this. Perhaps it would at least make sense to move some of that lost functionality to the contextual menu. 4) When I change the global font for workspace content, it does not affect existing workspaces. Considering how well the redecoration of system windows works, I'd expect that to work as well.
I think that I fixed that in 1.4 because Text usage did not honor the setting.
5) There are some awkward bits to the programming-specific input. Here's one that happens to me all the time. I have incorrectly placed the boundaries of a block. I delete the [ from the original location. I go to the new location to place it. I enter in [, but get []. To get what I want, I have to hit [, right arrow, and backspace. This is even worse for trying to add an extra ' to a place it is missing. I press ' and get ''. I find my cursor in the middle, so I hit backspace. Instead of deleting one ', it deletes both. Wouldn't it make more sense to have a backspace delete the automatic addition; that's the way most auto-correct systems work. So, [ + backspace produces [ and ' + backspace produces '. I think that would be more intuitive.
Yes sometimes the system is confused. In 1.4 we starting to clean the mess around Ocompletion/ecompletion and we should continue.
Cheers,
Jeff
PS Overall, I'm pretty happy with Pharo. It definitely has fewer rough edges and a smoother interface than Squeak. That's important for my students.
Thanks. Jeff could you open one issue per problem so that we can tackle them one by one. I would be really interested by the exercises you propose. Also improving ProfStef. So if you have ideas :)
participants (4)
-
Chris Muller -
Esteban Lorenzano -
J.F. Rick -
Stéphane Ducasse