Hi,


> On Jan 11, 2016, at 10:02 AM, Paul DeBruicker <[email protected]> wrote:
> 
> Hi Doru,
> 
> The lack of this functionality has been my main complaint against spotter. 
> So thanks for adding it.

Please voice these concerns as early as possible. We need this feedback to be 
able to react and adapt to people’s needs. It is not always possible to make it 
happen, but we need this information to think about future solutions.


> Is the #s <myMethodName> functionality backported to/loadable in Pharo 4?  

Ahh, please do not call it like this :).

It is not a special functionality. The mechanism exists since the beginning of 
Spotter. What I described is an instantiation of it for handling the direct 
senders use case.

Spotter is meant to be extensible including for your objects. Which means that 
you should be able to adapt it to your needs as well. Please try and let us 
know if you have questions :)


> is there an equivalent search for implementors?

A solution for this exists already since the beginning of Spotter :). You will 
see an #Implementors category. Could you check to see if this is good enough 
for you?


> Will you also please please please fix it such that the entire list  of
> search results is shown as its only one category rather than having to 'dive
> in' on anything?

This was a feature that we never got around to do. Right now the logic depends 
on a hardcoded limit for each search processor, and for the use case you 
describe we would need to make it more dynamic. This would require a bit of 
work, but it is certainly an interesting thing. If anyone would like to look at 
it, it would be great :).


> E.g. In the example you've given you cut the list of
> class/method name pairs shown to the first 5 alphabetically where certainly
> the entire list of 11 would fit in the drawn window without scrolling.  And
> really since there aren't any sections you should be able to run  a massive
> list of 500++ that could be scrolled with the page up/page down keys or
> scroll wheel on a mouse.

The size is not the issue. If you dive in a category (Cmd+Shift+Right), you 
will see that it can handle lists of 100k elements without problems (and in a 
streaming like fashion).

Cheers,
Doru

> 
> Thanks
> 
> Paul
> 
> 
> 
> 
> Tudor Girba-2 wrote
>> Hi Stef,
>> 
>> Thanks for taking the time. I think I did not express myself properly in
>> the previous mail because we are not really in disagreement :).
>> 
>> The basic mechanism you talk about exists already in Spotter. Let me
>> explain. When you type: "#e graphs", you will get two examples (and only
>> the example search is being performed).
>> 
>> 
>> 
>> This works because the name of the “Examples” category starts with “E”.
>> 
>> Until now we did not have a top level processor that would search for
>> Senders (only inside a method). So, because of this you could not search
>> for them at the top level. In the meantime Stefan just finished
>> implementing it, the name of the category is Senders. So, you will type
>> “#s something”.
>> 
>> 
>> 
>> I now made the category name start with # so that it is closer to the way
>> to query for it. So, when you do not know how, you will just search for
>> “something”. Then you will discover the #Senders category, and then you
>> can learn that you can search for it.
>> 
>> Now, you seem to be saying that instead of “#s something” you want to type
>> “#n something”. For this we would need to find a solution to reconcile the
>> two. My proposal was to maybe introduce something like “&n something” to
>> distinguish between the string match of a category name and a “shortcut”
>> (I do not know how to call it). I can see how to do this technically, but
>> I still think this is less discoverable then the filtering by the name
>> like described above, and it would be an extra mechanism. We could add
>> this shortcut next to the category name to address this issue. The
>> interesting thing about the shortcut is that we could possibly make it
>> less ambiguous. For example, if you have two categories starting with #S,
>> you will get both when you type “#S something”, which is less ideal for a
>> common case. So, there are pros and cons.
>> 
>> Now, what is missing is a top level category for References, and I really
>> think we would have what you wanted (and it is a good goal). The cool
>> thing is that we would be solving this problem with a generic mechanism.
>> 
>> So, what I am suggesting is to invest a bit in categories (#Senders can be
>> integrated now) and then we play with it.
>> 
>> Is this explanation clearer? Did I misunderstand something? What do you
>> think?
>> 
>> Cheers,
>> Doru
>> 
>> 
>>> On Jan 10, 2016, at 10:23 PM, stepharo &lt;
> 
>> stepharo@
> 
>> &gt; wrote:
>>> 
>>> Ok my last attempt :( 
>>> 
>>> When I look for something there are two cases
>>> 
>>>    - most of the time I
>>> ********************KKKKNNNOOOOOOOWWWWWWW*********
>>>    is it clear? I know I know I know what I look for and I WANT THE
>>> FASTER WAY TO GET IT
>>>    => no three clicks and strange navigation.
>>> 
>>>    I want the sender of this message (not the implementors the sender)
>>>    I want that package
>>>    I want the references to this class (not the class and the refs that
>>> class)
>>>    and I'm ready to learn 
>>>        #N for reference 
>>>        #n for senders
>>>        #m for implementors 
>>>        Because they are the same.
>>>        #e for example like in the finder
>>> 
>>>    - looking around and the system can propose me something
>>>    and I can navigate and think. 
>>> 
>>> But this is ok I just use Spotter to open the class browser and all the
>>> rest I do it with shortcuts.
>>> I tried to help but I failed.
>>> 
>>> I will present Spotter as the great tool to open browser because I cannot
>>> use it otherwise and 
>>> nobody around me can show me on the spot something more efficient than a
>>> shortcut in a workspace. 
>>> Or may be I will simply not spend energy doing a videos on Spotter
>>> because to me this is not ready
>>> and far less usable than it is supposed to be. 
>>> 
>>> Now to me Spotter is taking a lot of classes for the gain I get. What
>>> esteban did or what is in Squeak 
>>> is working perfectly for me because Spotter does not let me express my
>>> needs. 
>>> So may be you have other needs but I would like to know how people really
>>> works and not 
>>> how Spotter should be usefull. 
>>> 
>>> The video of dimitry shows that well: Just browse a class and sometimes
>>> you get an implementor
>>> May be you do not like my mail because they look aggressive but when is
>>> the last time 
>>> you did a real study with users that were not already convinced. Or may
>>> be with users
>>> that loves just one tiny feature and not the one you think that they use?
>>> 
>>> And BTW it hangs my images two times with 4.0 when I was in africa and
>>> this was annoying. 
>>> Stef
>>> 
>>> 
>>>>> I do not get why you cannot
>>>>>   - have a set of fixed most used queries and this will create a small
>>>>> vocabulary that can be extensible
>>>>>   and it can be mapped to what we do with shortcuts = reduce cognitive
>>>>> load
>>>>>   and then a full search when you do not know what you are searching.
>>>>> This is not exclusive and it works for the two scenario.
>>>> 
>>>> I understand the intention, but I do not understand how these fixed
>>>> queries are any different than we have now. When you are on the top of
>>>> Spotter, when you query, you get always the same processors being
>>>> executed. At first you will not know their names, and you will scroll.
>>>> And if you see them, you might remember them and reproduce afterwards.
>>>> It’s a discoverable learning process that you do not have to remember.
>>> 
>>> Because with these wonderfull queries I do not get what I'm looking for.
>>> Because the system is trying to guess what I have in my mind and this
>>> system is not good for that because I'm thinking about
>>> the metallica song I'm listening. 
>>> 
>>> 
>>>> The only part that is not discoverable is that # introduces a category
>>>> search. Thinking loud, I just thought that we can make the label start
>>>> with # like this (I committed this change):
>>> 
>>> Sorry but I do not get it. 
>>> 
>>>> 
>>>> 
>> <Mail Attachment.png>
>>>> 
>>>> We also thought of having completion as soon as someone type #. So, you
>>>> have a kind of a dropdown for the available categories, but we did not
>>>> get to implement that one. This should solve the discoverability problem
>>>> even more. What do you think about that?
>>> Why not 
>>> but just a ghost with 
>>>    #n printOn: #m #N ....
>>> would be a huge improvement
>>> 
>>> Each time I used Spotter to look for something more than a class I could
>>> not find it. 
>>> 
>>> 
>>> 
>>>> Regarding the shortcuts, we could associated such shortcuts with a
>>>> processor, but I would first want to see if we cannot manage to produce
>>>> a solution with the current set of options.
>>> 
>>> I was not saying shortcuts and I was thinking the same vocabulary
>>> 
>>> Cmd+N
>>> #N
>>> Cmd+m
>>> #m
>>> Cmd+n
>>> #n
>>>> 
>>>> 
>>>>> I was discussing with Luc and he made a fun but sad remark
>>>>>   "Since people do not understand well spotter they most of the time
>>>>> only use it to open a class.
>>>>>   And this is something that he already had before."
>>>>>   I briefly looked at the Youtube video of Chloupis and
>>>>> So you can have a generic super cool tool, if people do not use it it
>>>>> defeats its purpose.
>>>> 
>>>> Certainly.
>>>> 
>>>> 
>>>>> You can be really happy because you go fast with it but you only.
>>>> 
>>>> That is not really true :).
>>> 
>>> See my remark above. 
>>>> 
>>>>> So making sure that the most used actions are really supported is
>>>>> important.
>>>> 
>>>> Of course it is. For Senders we did not find a good solution yet that is
>>>> reasonably fast and useful. Stefan and I are still literally working on
>>>> this. I think we should be able to have a solution, but we have to see
>>>> if it is reasonable enough. We will announce it once we have it working.
>>> 
>>> the problem is that you want to solve everything at once. While the
>>> divide and conquer is the solution for the first 
>>> scenario I mention. I do not need something that crawls the entire system
>>> when I have one precise query.
>>> 
>>> 
>>>> 
>>>> But, really, this tool more than anything allows one to play with
>>>> possibilities in a couple of lines of code. We want people to play (some
>>>> did) and to get concrete feedback and possible solutions. I think we
>>>> should not just say that we need something else before we actually play
>>>> with it a bit more.
>>> I do not get it. 
>>> I never worked with me. And so far I did not see anybody succeeding to
>>> show me how to find something that I cannot 
>>> find faster with a shortcut. 
>>> 
>>> 
>>> 
>>>>> But more important the discoverability is important because there is
>>>>> not even a help.
>>>>> Right now as a user I can only guess and often I close spotter and use
>>>>> my shortcuts.
>>>>> As a user I see something that ask me about network (and I do not care)
>>>>> but nothing
>>>>> that brings me to the next level.
>>>> 
>>>> This is something we need to work on, but you know, time is limited for
>>>> us, too.
>>> 
>>> Add a button and an help text copied from your blog!
>>> And you will have made a 100% documentation jump.
>>>> 
>>>> 
>>>>> Most of the time the user forgets the key combination (may be this will
>>>>> be solved with
>>>>> the cool shortcut reminder we developed and is under review)
>>>> 
>>>> All actions in spotter have a visible icon. All. And if you hover over
>>>> it you get the command. And there are literally 5 such actions. What is
>>>> missing in this regard from your point of view?
>>> 
>>> I do not know
>>> They do not cover what I want to do.
>>>    I do not care of setting
>>>    Most of the time I do not care about seeing all. I saw now that you
>>> have an arrow to show more than the top 5
>>>    good but again Cmd-shift > is not easy to type and give pain. 
>>>    I do not understand why I should dive in most of the time.
>>> 
>>> I realised that I could use Spotter when I saw that I can press shift
>>> under the return because
>>> before I got immediate pain when trying with the left shift.
>>> To me left shift is a NO WAY. 
>>> esc (top left) would work but I did not have the time to hack Spotter.
>>> 
>>>> 
>>>> Doru
>>>> 
>>>> 
>>>>> Stef
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> --
>>>> www.tudorgirba.com
>>>> www.feenk.com
>>>> 
>>>> "Reasonable is what we are accustomed with."
>>>> 
>>> 
>> 
>> --
>> www.tudorgirba.com
>> www.feenk.com
>> 
>> "The coherence of a trip is given by the clearness of the goal."
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> a GTSpotterMorph(858507264)2016-01-10T23-06-19-10433+02-00.png (108K)
>> &lt;http://forum.world.st/attachment/4870487/0/a%20GTSpotterMorph%28858507264%292016-01-10T23-06-19-10433%2B02-00.png&gt;
>> a GTSpotterMorph(10402452482016-01-10T23-11-35-849359+02-00.png (130K)
>> &lt;http://forum.world.st/attachment/4870487/1/a%20GTSpotterMorph%2810402452482016-01-10T23-11-35-849359%2B02-00.png&gt;
> 
> 
> 
> 
> 
> --
> View this message in context: 
> http://forum.world.st/Understanding-Spotter-tp4870311p4870547.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
> 

--
www.tudorgirba.com
www.feenk.com

"Things happen when they happen,
not when you talk about them happening."


Reply via email to