[Pharo-project] getting rid of these boring questions and popup

Schwab,Wilhelm K bschwab at anest.ufl.edu
Sat Sep 12 13:22:38 EDT 2009


Philippe,

I am not an eclipse user, so I could be missing something, just as I think people who have not worked with Dolphin's IDE cannot fully appreciate its robustness.  However, I find it hard to believe the scrollbars and time-tested methods of text editing can be rendered obsolete with a few keyboard shortcuts.  You would no doubt find some of my methods too long; I respond that the alternative has too many entry points.  The extra entry points are all the more offensive to me without Dolphin's ability to apply multile categories to methods - again, something one has to experience to fully appreciate.

The idea of non-modally flagging offending code is well taken, but I find two flaws: (1) the highlighting itself could easily "get in my way" by adding visual clutter; (2) you seem to assume there is at most one rule violation.  You say that adding panes will not fix things, but it seems that a pane showing the broken rules is exactly what is needed.  An alternative might be a drop-down of broken rules, whith the selection (defaulting to nothing) highlighting the code breaking that rule.

I agree that the current browser's panes are not optimally sized.  However, I doubt that there is a univeral preference that will satisfy all users.  Further, I have never like "system browsers" in Smalltalk systems; a filtered class hierarchy browser is vastly superior IMHO.  Again going back to Dolphin, it's use of tabs for the various browser panes is subtly but vastly superior to Squeak and Pharo's use of buttons to change the pane contents.  The difference is that multiple views on a selection (class, class+method, class+method+instance variable, etc.) can be "open" at the same time.  It becomes much easy to use one browser to edit a method, go to the class definition to view/copy variable names, go back to the code to keep typing, and not have to accept the method along the way.

Any promise to provide summaries or alternate representation of code always makes me nervous; it is fine as an option, but not as a replacement for text editing.  I format my code in particular ways, including (especially!!!) comments, and that formatting is analogous to phrasing in music.  In porting a lot of my Dolphin code in recent months, I have been reminded of how important my month-year tagged comments can be - they helped me find three long-standing bugs in just the past week.  For two of those bugs, the seeds of the solution were suggested by the comments themselves.  I like my code and my scrollbars.  Version history can provide some of the same assistance, but it gets clobbered by compressing changes and requires one to compare the versions and/or read through a machine's efforts to present the differences.  The comments I leave for myself are designed to be useful to me in the future, and have stood the test of time.

Bill


-----Original Message-----
From: pharo-project-bounces at lists.gforge.inria.fr [mailto:pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Philippe Marschall
Sent: Saturday, September 12, 2009 11:16 AM
To: pharo-project at lists.gforge.inria.fr
Subject: Re: [Pharo-project] getting rid of these boring questions and popup

Stéphane Ducasse wrote:
> well for this we will have to rewrite paragraphEditor :) So in making 
> pharo moves forward we will have to accept losing some feedback.

The feedback is still there. The piece of code is still marked as a problem. It just doesn't get in your way.

> But yes your idea is cool.

You'll have to do more than that. I think this whole 80ies style browser that's based on scrolling, clicking and popups doesn't cut it anymore and adding more tabs and buttons isn't gonna fix it.

Example, why is the browser the size it currently is? Because that was more or less full screen in the 80ies. Consequence you'll always have to resize and scroll when you open a browser because the category and class panes are too small. I see how this was cool, exciting and new in the 80ies but today it gets in my way.

Example, I want to go to a method in a class. Either I click '--all--'
and scroll, scroll, look, scroll, scroll back or I click through the protocols until I found on it. When I'm in Eclipse and want to open a variable or method declaration I hit Ctrl + O, Eclipse shows me a short outline of the class. Like in Firefox Awesome Bar it filters the list as I type part of the name. Once I select something it closes and goes there. Zero mouse activity. Zero additional window. When I'm in a method and want to go to a method invoked there either I Ctrl + click it or I hit F3. When I want to see the hierarchy of a class or the inheritance of a method I just do Ctrl + T and an inline window opens. It closes when I select something or hit Esc. Pharo stacks so many windows on top of each other that you're never going to find your way back. So at the end of the day you just close dozens of windows.

Short anecdote, I our current project we don't ask the user for confirmation, ever. If he decides to delete Migros, we do it without asking. The previous version of the product did but users just developed a reflex to click popups away without even reading them.

And don't get me started on breakpoints. Or blocking the UI.

Cheers
Philippe


_______________________________________________
Pharo-project mailing list
Pharo-project at lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



More information about the Pharo-dev mailing list