Nautilus questions

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

Re: Nautilus questions

Thierry Goubier
Le 19/08/2015 20:26, Dimitris Chloupis a écrit :

>
>
> On Wed, Aug 19, 2015 at 5:51 PM Sean P. DeNigris <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     kilon.alios wrote
>
>
>     For example, let's say your project has a class that implements a
>     generically-named method, like #asMorph. If you try to rename that
>     method
>     via Refactoring, Pharo will try to rename all #asMorph methods, and
>     update
>     all senders, in the entire system, not just yours. But if you scope the
>     browser first to your package or class, you can restrict the
>     environment to
>     which the refactoring is applied
>
>
> This sounds useful indeed. Is just the browser aware of the scope or is
> also the pharo environment aware of the scope too ? It would be nice if
> the scope could expand to include multiple  packages , or is this
> something left to groups ?

What is happening is that many commands linked to the IDE (refactorings,
searches) have an environment entity. By default, this environment is
Smalltalk, but it can be a subset of it, and any subset of it.

Have a look into the RBBrowserEnvironment class and subclasses and you
will see all the variants. For example, a RBPackageEnvironment will
scope to one or multiple packages.

Thierry



Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

stepharo
In reply to this post by EstebanLM
Sorry but reading code is really important and now assistant is taking too much space.
And your proposal does not take into account hierarchy and I use it all the time.
The same way we use all the time variables.

Stef

Le 19/8/15 11:50, Esteban Lorenzano a écrit :

On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)


Thierry


Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

stepharo
In reply to this post by Thierry Goubier
For example why protocol get the same space than method. We could split the protocol by half and use the space for
soemthing useful.

I would like the coding area to expand a bit when a method is too long.
I do it all the time by hand.

Stef


Le 19/8/15 13:13, Thierry Goubier a écrit :
Hitting send too early :(

2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:

On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:


On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
 

for example: I try your alt browser time to time, because I find it has some good ideas. 
But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
… and the traditional browser adapts a lot better to that way of doing.

I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).

I also like the fact I can see both class and instance side methods at the same time...
 
Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.

The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).

Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.

Thierry


Esteban



Thierry



Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

philippeback


Le 20 août 2015 09:15, "stepharo" <[hidden email]> a écrit :
>
> For example why protocol get the same space than method. We could split the protocol by half and use the space for
> soemthing useful.

Protocol names can be long...
>
> I would like the coding area to expand a bit when a method is too long.
> I do it all the time by hand.

Yes, especially with Seaside renderOn:

Phil

>
> Stef
>
>
> Le 19/8/15 13:13, Thierry Goubier a écrit :
>>
>> Hitting send too early :(
>>
>> 2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:
>>>
>>>
>>>> On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:
>>>>
>>>>>
>>>>> On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:
>>>>>
>>>>>> <Screen Shot 2015-08-19 at 11.10.41.png>
>>>>>>
>>>>>> … but arriving to it is not so easy. 
>>>>>>
>>>>>> In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)
>>>>>
>>>>>
>>>>> Hi Esteban,
>>>>>
>>>>> My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)
>>>>>
>>>>> My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).
>>>>>
>>>>> It will be nice to see simpler / cleaner Nautilus code coming along :)
>>>>
>>>>
>>>> yes, of course you are right :)
>>>> the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
>>
>> I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
>>>>
>>>> (also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
>>
>> Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 
>>>>
>>>>
>>>> Esteban
>>>>
>>>> ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
>>
>> That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
>>  
>>>
>>>
>>> for example: I try your alt browser time to time, because I find it has some good ideas. 
>>> But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
>>> … and the traditional browser adapts a lot better to that way of doing.
>>
>>
>> I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).
>>
>> I also like the fact I can see both class and instance side methods at the same time...
>>  
>>>
>>> Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.
>>
>>
>> The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).
>>
>> Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.
>>
>> Thierry
>>
>>>
>>> Esteban
>>>
>>>>
>>>>>
>>>>> Thierry
>>>
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

Franck Warlouzet
In reply to this post by stepharo
Maybe there is something to do with line numbers in the code area for the assistant.
Something like :
- No ctiric, do not show anything
- Critic to show about a line -> activate the line numbers and put a warning on this line in the left column.

Franck


Date: Thu, 20 Aug 2015 09:13:09 +0200
From: [hidden email]
To: [hidden email]
Subject: Re: [Pharo-dev] Nautilus questions

Sorry but reading code is really important and now assistant is taking too much space.
And your proposal does not take into account hierarchy and I use it all the time.
The same way we use all the time variables.

Stef

Le 19/8/15 11:50, Esteban Lorenzano a écrit :

On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)


Thierry


Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

stepharo


Le 20/8/15 09:49, Franck Warlouzet a écrit :
Maybe there is something to do with line numbers in the code area for the assistant.
Something like :
- No ctiric, do not show anything
- Critic to show about a line -> activate the line numbers and put a warning on this line in the left column.

yes



Franck


Date: Thu, 20 Aug 2015 09:13:09 +0200
From: [hidden email]
To: [hidden email]
Subject: Re: [Pharo-dev] Nautilus questions

Sorry but reading code is really important and now assistant is taking too much space.
And your proposal does not take into account hierarchy and I use it all the time.
The same way we use all the time variables.

Stef

Le 19/8/15 11:50, Esteban Lorenzano a écrit :

On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)


Thierry



Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

stepharo
In reply to this post by philippeback


Le 20 août 2015 09:15, "stepharo" <[hidden email]> a écrit :
>
> For example why protocol get the same space than method. We could split the protocol by half and use the space for
> soemthing useful.

Protocol names can be long...


yes but 99% of the time you do not care.
And methods are way more important.
In fact protocol could just the tag (as in the catalog browser) after the method names.

Stef

>
> I would like the coding area to expand a bit when a method is too long.
> I do it all the time by hand.

Yes, especially with Seaside renderOn:

Phil

>
> Stef
>
>
> Le 19/8/15 13:13, Thierry Goubier a écrit :
>>
>> Hitting send too early :(
>>
>> 2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:
>>>
>>>
>>>> On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:
>>>>
>>>>>
>>>>> On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:
>>>>>
>>>>>> <Screen Shot 2015-08-19 at 11.10.41.png>
>>>>>>
>>>>>> … but arriving to it is not so easy. 
>>>>>>
>>>>>> In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)
>>>>>
>>>>>
>>>>> Hi Esteban,
>>>>>
>>>>> My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)
>>>>>
>>>>> My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).
>>>>>
>>>>> It will be nice to see simpler / cleaner Nautilus code coming along :)
>>>>
>>>>
>>>> yes, of course you are right :)
>>>> the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
>>
>> I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
>>>>
>>>> (also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
>>
>> Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 
>>>>
>>>>
>>>> Esteban
>>>>
>>>> ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
>>
>> That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
>>  
>>>
>>>
>>> for example: I try your alt browser time to time, because I find it has some good ideas. 
>>> But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
>>> … and the traditional browser adapts a lot better to that way of doing.
>>
>>
>> I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).
>>
>> I also like the fact I can see both class and instance side methods at the same time...
>>  
>>>
>>> Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.
>>
>>
>> The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).
>>
>> Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.
>>
>> Thierry
>>
>>>
>>> Esteban
>>>
>>>>
>>>>>
>>>>> Thierry
>>>
>>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

Thierry Goubier
In reply to this post by stepharo


2015-08-20 9:14 GMT+02:00 stepharo <[hidden email]>:
For example why protocol get the same space than method. We could split the protocol by half and use the space for
soemthing useful.

An example to illustrate the empty space in the protocol area:

Images intégrées 1
 
I would like the coding area to expand a bit when a method is too long.
I do it all the time by hand.

Same example with AltBrowser, exact same bounds:

Images intégrées 2

It's interesting to see the difference in displayed information between the two (which one gives the feeling the method is too long?). As shown, the second screenshot provides less context (i.e. no package name) but is this information available?

Thierry
 

Stef


Le 19/8/15 13:13, Thierry Goubier a écrit :
Hitting send too early :(

2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:

On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:


On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
 

for example: I try your alt browser time to time, because I find it has some good ideas. 
But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
… and the traditional browser adapts a lot better to that way of doing.

I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).

I also like the fact I can see both class and instance side methods at the same time...
 
Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.

The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).

Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.

Thierry


Esteban



Thierry




Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

Thierry Goubier
In reply to this post by stepharo


2015-08-20 10:19 GMT+02:00 stepharo <[hidden email]>:


Le 20 août 2015 09:15, "stepharo" <[hidden email]> a écrit :
>
> For example why protocol get the same space than method. We could split the protocol by half and use the space for
> soemthing useful.

Protocol names can be long...


yes but 99% of the time you do not care.

I'm not sure of that. On classes with a lot of methods (Object, Morph, any class with over 20 methods), I believe one rely on protocols to avoid being overwhelmed by the sheer number, and that most of them are irrelevant to the task at hand (the method you're writing and reading, and the same class methods it is using).

I wonder if the fact Nautilus shows us by default the 'all' method list is not inciting us, by pure laziness, to disregard protocols...
 
And methods are way more important.
In fact protocol could just the tag (as in the catalog browser) after the method names.

Then you could use the message list GUI instead of the system browser.

Thierry
 

Stef

>
> I would like the coding area to expand a bit when a method is too long.
> I do it all the time by hand.

Yes, especially with Seaside renderOn:

Phil

>
> Stef
>
>
> Le 19/8/15 13:13, Thierry Goubier a écrit :
>>
>> Hitting send too early :(
>>
>> 2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:
>>>
>>>
>>>> On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:
>>>>
>>>>>
>>>>> On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:
>>>>>
>>>>>> <Screen Shot 2015-08-19 at 11.10.41.png>
>>>>>>
>>>>>> … but arriving to it is not so easy. 
>>>>>>
>>>>>> In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)
>>>>>
>>>>>
>>>>> Hi Esteban,
>>>>>
>>>>> My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)
>>>>>
>>>>> My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).
>>>>>
>>>>> It will be nice to see simpler / cleaner Nautilus code coming along :)
>>>>
>>>>
>>>> yes, of course you are right :)
>>>> the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
>>
>> I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
>>>>
>>>> (also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
>>
>> Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 
>>>>
>>>>
>>>> Esteban
>>>>
>>>> ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
>>
>> That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
>>  
>>>
>>>
>>> for example: I try your alt browser time to time, because I find it has some good ideas. 
>>> But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
>>> … and the traditional browser adapts a lot better to that way of doing.
>>
>>
>> I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).
>>
>> I also like the fact I can see both class and instance side methods at the same time...
>>  
>>>
>>> Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.
>>
>>
>> The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).
>>
>> Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.
>>
>> Thierry
>>
>>>
>>> Esteban
>>>
>>>>
>>>>>
>>>>> Thierry
>>>
>>>
>>
>



Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

EstebanLM
In reply to this post by kilon.alios

On 19 Aug 2015, at 20:26, Dimitris Chloupis <[hidden email]> wrote:



On Wed, Aug 19, 2015 at 5:51 PM Sean P. DeNigris <[hidden email]> wrote:
kilon.alios wrote


For example, let's say your project has a class that implements a
generically-named method, like #asMorph. If you try to rename that method
via Refactoring, Pharo will try to rename all #asMorph methods, and update
all senders, in the entire system, not just yours. But if you scope the
browser first to your package or class, you can restrict the environment to
which the refactoring is applied

This sounds useful indeed. Is just the browser aware of the scope or is also the pharo environment aware of the scope too ? It would be nice if the scope could expand to include multiple  packages , or is this something left to groups ?

no, you can select and then browse scoped :

- multiple packages
- groups (btw, current scoped button does not takes that into account) 
- a single class (you have to use the context menu on classes for it)

it is really powerful :)

Esteban

 

Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

EstebanLM
In reply to this post by stepharo

On 20 Aug 2015, at 09:13, stepharo <[hidden email]> wrote:

Sorry but reading code is really important and now assistant is taking too much space.

for me code is as important as the other functionality. 
the size of the code area (and the default size of the browser) can be easily increased, if needed.

And your proposal does not take into account hierarchy and I use it all the time.

my “proposal” is just a fast sketch  made to illustrate how I would like to show certain functionality,  it does not take into account any other functionality… If I finish my browser proposal ever, it will have a lot more buttons in the toolbar :)
about hierarchy I think it should spawn a new browser, as before… but it is still something we need to play with it. 

The same way we use all the time variables.

*we* use them all the time, but most people does not use them never :)
anyway: an option in a tab is one click, same as with a button: not hard… and we can play with the information we show in auxiliary panels better :)

Esteban


Stef

Le 19/8/15 11:50, Esteban Lorenzano a écrit :

On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)


Thierry



Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

EstebanLM
In reply to this post by stepharo

On 20 Aug 2015, at 09:14, stepharo <[hidden email]> wrote:

For example why protocol get the same space than method. We could split the protocol by half and use the space for
soemthing useful.

I would like the coding area to expand a bit when a method is too long.
I do it all the time by hand.

not just a bit: I would like a button (and a key combination) to expand the full area to occupy all browser space when needed. 
and not just the code area: the different panels too: no matter how much you reduce the size of protocols and/or packages, there will always be methods and classes with bigger names… I think an “expand” function is better solution than arbitrary change panel sizes. 

Esteban


Stef


Le 19/8/15 13:13, Thierry Goubier a écrit :
Hitting send too early :(

2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:

On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:


On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
 

for example: I try your alt browser time to time, because I find it has some good ideas. 
But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
… and the traditional browser adapts a lot better to that way of doing.

I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).

I also like the fact I can see both class and instance side methods at the same time...
 
Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.

The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).

Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.

Thierry


Esteban



Thierry




Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

philippeback
In reply to this post by stepharo


On Thu, Aug 20, 2015 at 10:19 AM, stepharo <[hidden email]> wrote:


Le 20 août 2015 09:15, "stepharo" <[hidden email]> a écrit :
>
> For example why protocol get the same space than method. We could split the protocol by half and use the space for
> soemthing useful.

Protocol names can be long...


yes but 99% of the time you do not care.
And methods are way more important.
In fact protocol could just the tag (as in the catalog browser) after the method names.

FWIW, protocols allow to have nice segregation of methods without inflating the number of classes (hey, Java, I am looking at you).
I have a number of cases where I do have *myproject-someaspect1",  *myproject-someaspect2", "*myproject-someaspect3" ... in the classes.

Protocols also help in making sense of the methods.

It is also something different about the way we do code. Protocol really work well with the "messaging" concept.
"We can talk because we understand that protocol". Not because we have a full dictionary of sentences.

Phil

Stef

>
> I would like the coding area to expand a bit when a method is too long.
> I do it all the time by hand.

Yes, especially with Seaside renderOn:

Phil

>
> Stef
>
>
> Le 19/8/15 13:13, Thierry Goubier a écrit :
>>
>> Hitting send too early :(
>>
>> 2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:
>>>
>>>
>>>> On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:
>>>>
>>>>>
>>>>> On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:
>>>>>
>>>>>> <Screen Shot 2015-08-19 at 11.10.41.png>
>>>>>>
>>>>>> … but arriving to it is not so easy. 
>>>>>>
>>>>>> In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)
>>>>>
>>>>>
>>>>> Hi Esteban,
>>>>>
>>>>> My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)
>>>>>
>>>>> My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).
>>>>>
>>>>> It will be nice to see simpler / cleaner Nautilus code coming along :)
>>>>
>>>>
>>>> yes, of course you are right :)
>>>> the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
>>
>> I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
>>>>
>>>> (also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
>>
>> Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 
>>>>
>>>>
>>>> Esteban
>>>>
>>>> ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
>>
>> That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
>>  
>>>
>>>
>>> for example: I try your alt browser time to time, because I find it has some good ideas. 
>>> But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
>>> … and the traditional browser adapts a lot better to that way of doing.
>>
>>
>> I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).
>>
>> I also like the fact I can see both class and instance side methods at the same time...
>>  
>>>
>>> Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.
>>
>>
>> The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).
>>
>> Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.
>>
>> Thierry
>>
>>>
>>> Esteban
>>>
>>>>
>>>>>
>>>>> Thierry
>>>
>>>
>>
>



Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

kilon.alios
In reply to this post by Thierry Goubier
I took a look at the class you recommended and now I see what you mean.I am glad this is not deeply tied to the system browser and is something other tools can use as well with ease. Very flexible too. Looks like the tools only expose a fraction of the power of the environment .

Makes me wonder whether environment would be a good idea to be used as some sort of namespaces. 

On Thu, Aug 20, 2015 at 9:08 AM Thierry Goubier <[hidden email]> wrote:
Le 19/08/2015 20:26, Dimitris Chloupis a écrit :
>
>
> On Wed, Aug 19, 2015 at 5:51 PM Sean P. DeNigris <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     kilon.alios wrote
>
>
>     For example, let's say your project has a class that implements a
>     generically-named method, like #asMorph. If you try to rename that
>     method
>     via Refactoring, Pharo will try to rename all #asMorph methods, and
>     update
>     all senders, in the entire system, not just yours. But if you scope the
>     browser first to your package or class, you can restrict the
>     environment to
>     which the refactoring is applied
>
>
> This sounds useful indeed. Is just the browser aware of the scope or is
> also the pharo environment aware of the scope too ? It would be nice if
> the scope could expand to include multiple  packages , or is this
> something left to groups ?

What is happening is that many commands linked to the IDE (refactorings,
searches) have an environment entity. By default, this environment is
Smalltalk, but it can be a subset of it, and any subset of it.

Have a look into the RBBrowserEnvironment class and subclasses and you
will see all the variants. For example, a RBPackageEnvironment will
scope to one or multiple packages.

Thierry



Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

philippeback
In reply to this post by EstebanLM


On Thu, Aug 20, 2015 at 11:08 AM, Esteban Lorenzano <[hidden email]> wrote:

On 20 Aug 2015, at 09:14, stepharo <[hidden email]> wrote:

For example why protocol get the same space than method. We could split the protocol by half and use the space for
soemthing useful.

I would like the coding area to expand a bit when a method is too long.
I do it all the time by hand.

not just a bit: I would like a button (and a key combination) to expand the full area to occupy all browser space when needed. 
and not just the code area: the different panels too: no matter how much you reduce the size of protocols and/or packages, there will always be methods and classes with bigger names… I think an “expand” function is better solution than arbitrary change panel sizes. 

Right thing to do if you ask me.
Or like TWM, have a bunch of icons to put the part where you want it.
Or like on Windows applications: drag and drop the panes around and save the layout with a given name (now, this one would be harder)

Phil
 

Esteban


Stef


Le 19/8/15 13:13, Thierry Goubier a écrit :
Hitting send too early :(

2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:

On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:


On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
 

for example: I try your alt browser time to time, because I find it has some good ideas. 
But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
… and the traditional browser adapts a lot better to that way of doing.

I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).

I also like the fact I can see both class and instance side methods at the same time...
 
Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.

The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).

Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.

Thierry


Esteban



Thierry





Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

stepharo
In reply to this post by EstebanLM


my “proposal” is just a fast sketch  made to illustrate how I would like to show certain functionality,  it does not take into account any other functionality… If I finish my browser proposal ever, it will have a lot more buttons in the toolbar :)
about hierarchy I think it should spawn a new browser, as before… but it is still something we need to play with it.


NOoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

The same way we use all the time variables.

*we* use them all the time, but most people does not use them never :)
anyway: an option in a tab is one click, same as with a button: not hard… and we can play with the information we show in auxiliary panels better :)

We could have a set up for normal dev and one for indiana jones.



Esteban


Stef

Le 19/8/15 11:50, Esteban Lorenzano a écrit :

On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)


Thierry




Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

stepharo
In reply to this post by EstebanLM


Le 20/8/15 11:08, Esteban Lorenzano a écrit :

On 20 Aug 2015, at 09:14, stepharo <[hidden email]> wrote:

For example why protocol get the same space than method. We could split the protocol by half and use the space for
soemthing useful.

I would like the coding area to expand a bit when a method is too long.
I do it all the time by hand.

not just a bit: I would like a button (and a key combination) to expand the full area to occupy all browser space when needed. 
and not just the code area: the different panels too: no matter how much you reduce the size of protocols and/or packages, there will always be methods and classes with bigger names… I think an “expand” function is better solution than arbitrary change panel sizes.

I want an accordeon like.....


Esteban


Stef


Le 19/8/15 13:13, Thierry Goubier a écrit :
Hitting send too early :(

2015-08-19 11:59 GMT+02:00 Esteban Lorenzano <[hidden email]>:

On 19 Aug 2015, at 11:50, Esteban Lorenzano <[hidden email]> wrote:


On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
I'm certainly looking forward for the GT-based system browser results, while probably I won't be using it; some of the design / implementation choices of the GT tools just don't fit the way I work, and I feel down by just looking at how clumsy and slow I become when using them.
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)
Agreed. I still miss a bit the OmniBrowser I started Pharo with... Especially the code regularity and architecture. 

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)
That's why I added the 68% result: I do agree that the context matter; I still think that the overhead is too high.
 

for example: I try your alt browser time to time, because I find it has some good ideas. 
But since my workflow is usually: I dig a package, then I see the classes inside and try to figure out how they work together, then I read the comments, try to find examples, tests… then I finally go to the method level, and even that often with an eye into the class it belongs and even the package… so the AltBrowser is useless for me… it is really not confortable for me to use… and yes, it has a bigger code area, but that is not really relevant (for me). 
… and the traditional browser adapts a lot better to that way of doing.

I think I more or less do the same, but with a slightly different approach, with for example a lot of scoping (to a class, to a package, implementors, senders, finder). I especially rely on the fact that I stay in the browser task model (but with multiple windows) all the time while doing that; I don't have to deal with disparate tools (Spotter, Finder, MessageList).

I also like the fact I can see both class and instance side methods at the same time...
 
Now… real question is: I work that way because fits better my mind-model or my mind-model fits what the browser provides me? well, who knows… but back in my java days I also was using the “java browsing perspective” of Eclipse, who resembles a Smalltalk browser.

The good question we have here is that our search/exploration/understanding strategies are different, but based on the same building blocks... So there is some Moldable issue there as per the GT group, but not inside the tool as they are currently doing, instead the tool itself has to be moldable (or what is the tool).

Now, I'm so attuned to the Alt Browser tree view that I prefer it in any case... even to the point that I can do short and fast smalltalk edits directly on github through the web interface.

Thierry


Esteban



Thierry





Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

Thierry Goubier
In reply to this post by kilon.alios


2015-08-20 11:51 GMT+02:00 Dimitris Chloupis <[hidden email]>:
I took a look at the class you recommended and now I see what you mean.I am glad this is not deeply tied to the system browser and is something other tools can use as well with ease. Very flexible too. Looks like the tools only expose a fraction of the power of the environment .

Well, behind all things RB (the Refactoring Browser[1]) you have a complete model of Smalltalk code. It allows refactoring tools to work on live code but also on non-live code. For example, in SmaCC, which is implemented by the same guys, the code for a parser is generated entirely as refactorings (i.e. non-live code), then refactored for optimisations for both code performance and to minimize the number of refactorings (but still non-live), then split to fit the Cog Jit limits (my work!), and then compiled to the live system in one (large) step.

But why am I saying that? To show that those environments are very flexible (and the tools around as well), that they may work on non-live code (for example, a non-loaded package) and that most of the IDE needed functions in practice apply on a model linked to the live code, including when using them through Nautilus.



Makes me wonder whether environment would be a good idea to be used as some sort of namespaces. 

The difference between an environment and a namespace is at the compiler level: can you make the compiler use an environment when compiling a method? I think that Marcus has done things in that direction recently (such as allowing you to add "virtual" instance variables before compiling a method). Also an environment never "renames" stuff, it only "restricts" what is visible.

At the programmer level, a Namespace is the ability to have two pieces of code where the class named Morph is an entirely different class, and that you can't understand the code anymore because you're never sure of what a global refers to (since it may be renamed via an import statement)... Some will say it's a feature ;)

Thierry
 

On Thu, Aug 20, 2015 at 9:08 AM Thierry Goubier <[hidden email]> wrote:
Le 19/08/2015 20:26, Dimitris Chloupis a écrit :
>
>
> On Wed, Aug 19, 2015 at 5:51 PM Sean P. DeNigris <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     kilon.alios wrote
>
>
>     For example, let's say your project has a class that implements a
>     generically-named method, like #asMorph. If you try to rename that
>     method
>     via Refactoring, Pharo will try to rename all #asMorph methods, and
>     update
>     all senders, in the entire system, not just yours. But if you scope the
>     browser first to your package or class, you can restrict the
>     environment to
>     which the refactoring is applied
>
>
> This sounds useful indeed. Is just the browser aware of the scope or is
> also the pharo environment aware of the scope too ? It would be nice if
> the scope could expand to include multiple  packages , or is this
> something left to groups ?

What is happening is that many commands linked to the IDE (refactorings,
searches) have an environment entity. By default, this environment is
Smalltalk, but it can be a subset of it, and any subset of it.

Have a look into the RBBrowserEnvironment class and subclasses and you
will see all the variants. For example, a RBPackageEnvironment will
scope to one or multiple packages.

Thierry




Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

Thierry Goubier
In reply to this post by stepharo


2015-08-20 11:53 GMT+02:00 stepharo <[hidden email]>:


my “proposal” is just a fast sketch  made to illustrate how I would like to show certain functionality,  it does not take into account any other functionality… If I finish my browser proposal ever, it will have a lot more buttons in the toolbar :)
about hierarchy I think it should spawn a new browser, as before… but it is still something we need to play with it.


NOoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

The same way we use all the time variables.

*we* use them all the time, but most people does not use them never :)
anyway: an option in a tab is one click, same as with a button: not hard… and we can play with the information we show in auxiliary panels better :)

We could have a set up for normal dev and one for indiana jones.

I'll put you in the Indiana Jones category :) Whip-enabled system browser!

Thierry
 




Esteban


Stef

Le 19/8/15 11:50, Esteban Lorenzano a écrit :

On 19 Aug 2015, at 11:44, Thierry Goubier <[hidden email]> wrote:

<Screen Shot 2015-08-19 at 11.10.41.png>

… but arriving to it is not so easy. 

In conclusion: We are doing some right steps. It is not finished, but we are not going to go back to older way :)

Hi Esteban,

My opinion is that you're still tied a lot to the Smalltalk 80's way... Which is good: someone coming from 1980 would be able to use Nautilus ;)

My critics on that design: the tabs are nice and certainly help see that a class has a class side. Overall look is more up to date. Tabs headers, scroll bars, etc... take far too much space: work area (the code area) is 39% of overall window size, and 68% counting in the context (package, class, protocol and method) (Numbers are worse on a small window, of course, but I guess some do work on small screens).

It will be nice to see simpler / cleaner Nautilus code coming along :)

yes, of course you are right :)
the GTools guys are working in a complete replacement, and I’m sure it will be a lot better… but we will always need a backdoor… and I would like to have a good browser even as a backdoor. 
(also, our philosophy is incremental: we improve what we have while we wait for the break-thru improvements)

Esteban

ps: for me the “code area” is not equivalent to the “work area”: I spend much more time understanding a problem than coding it, and for that a view of the method *in the context* is better)


Thierry





Reply | Threaded
Open this post in threaded view
|

Re: Nautilus questions

kilon.alios
In reply to this post by Thierry Goubier
Wow that pdf is very deep. Amazing abilities. Pity there is not much documentation and much exposure about these features. Thank you , I am studying it.

On Thu, Aug 20, 2015 at 2:52 PM Thierry Goubier <[hidden email]> wrote:
2015-08-20 11:51 GMT+02:00 Dimitris Chloupis <[hidden email]>:
I took a look at the class you recommended and now I see what you mean.I am glad this is not deeply tied to the system browser and is something other tools can use as well with ease. Very flexible too. Looks like the tools only expose a fraction of the power of the environment .

Well, behind all things RB (the Refactoring Browser[1]) you have a complete model of Smalltalk code. It allows refactoring tools to work on live code but also on non-live code. For example, in SmaCC, which is implemented by the same guys, the code for a parser is generated entirely as refactorings (i.e. non-live code), then refactored for optimisations for both code performance and to minimize the number of refactorings (but still non-live), then split to fit the Cog Jit limits (my work!), and then compiled to the live system in one (large) step.

But why am I saying that? To show that those environments are very flexible (and the tools around as well), that they may work on non-live code (for example, a non-loaded package) and that most of the IDE needed functions in practice apply on a model linked to the live code, including when using them through Nautilus.



Makes me wonder whether environment would be a good idea to be used as some sort of namespaces. 

The difference between an environment and a namespace is at the compiler level: can you make the compiler use an environment when compiling a method? I think that Marcus has done things in that direction recently (such as allowing you to add "virtual" instance variables before compiling a method). Also an environment never "renames" stuff, it only "restricts" what is visible.

At the programmer level, a Namespace is the ability to have two pieces of code where the class named Morph is an entirely different class, and that you can't understand the code anymore because you're never sure of what a global refers to (since it may be renamed via an import statement)... Some will say it's a feature ;)

Thierry
 

On Thu, Aug 20, 2015 at 9:08 AM Thierry Goubier <[hidden email]> wrote:
Le 19/08/2015 20:26, Dimitris Chloupis a écrit :
>
>
> On Wed, Aug 19, 2015 at 5:51 PM Sean P. DeNigris <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     kilon.alios wrote
>
>
>     For example, let's say your project has a class that implements a
>     generically-named method, like #asMorph. If you try to rename that
>     method
>     via Refactoring, Pharo will try to rename all #asMorph methods, and
>     update
>     all senders, in the entire system, not just yours. But if you scope the
>     browser first to your package or class, you can restrict the
>     environment to
>     which the refactoring is applied
>
>
> This sounds useful indeed. Is just the browser aware of the scope or is
> also the pharo environment aware of the scope too ? It would be nice if
> the scope could expand to include multiple  packages , or is this
> something left to groups ?

What is happening is that many commands linked to the IDE (refactorings,
searches) have an environment entity. By default, this environment is
Smalltalk, but it can be a subset of it, and any subset of it.

Have a look into the RBBrowserEnvironment class and subclasses and you
will see all the variants. For example, a RBPackageEnvironment will
scope to one or multiple packages.

Thierry



123