Hi, Alex Syrel, Andrei Chis and I are happy to announce a new addition to the Glamorous Toolkit: GTSpotter, a novel interface for spotting objects. GTSpotter has two goals: - Provide a uniform yet moldable interface that can work on any object, and - Handle searching through arbitrary levels of object nesting. We think this will have a significant impact on the development workflow in Pharo. Here is a couple of screenshots: A trailer is available here: A detailed description is available here: It works already in Pharo 3.0 and can be played with by following the instructions from: Please let us know what you think. Enjoy, The Glamorous Team
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hola,
Andrei demoed it to me on friday and it is *extremely* cool. I can’t wait to start using it for my next development session. I have one request though (as I already mentioned to Andrei). Since you are using a significant part of the screen, it would not be costly to (e.g. at the bottom) put a small legend of the non-obvious keystroke combinations. It would greatly increase discoverability of the features of the tool. Considering the blog post, the legend would be ( I don’t understand the difference between the last 2): Cmd+Shift+ArrowUp/ArrowDown = Next/Prev category, Cmd+RightArrow = Dive into, Cmd+Shift+RightArrow = ??? > On Dec 7, 2014, at 10:14, Tudor Girba <[hidden email]> wrote: > > Hi, > > Alex Syrel, Andrei Chis and I are happy to announce a new addition to the Glamorous Toolkit: > GTSpotter, a novel interface for spotting objects. > > GTSpotter has two goals: > - Provide a uniform yet moldable interface that can work on any object, and > - Handle searching through arbitrary levels of object nesting. > > We think this will have a significant impact on the development workflow in Pharo. > > Here is a couple of screenshots: > <gtspotter-packages-classes.png> <gtspotter-dive-class-method-sender.png> <gtspotter-playground.png> > > > A trailer is available here: > https://www.youtube.com/watch?v=PhSmjR3NOlU > > A detailed description is available here: > http://www.humane-assessment.com/blog/introducing-gtspotter > > It works already in Pharo 3.0 and can be played with by following the instructions from: > http://gt.moosetechnology.org > > Please let us know what you think. > > Enjoy, > The Glamorous Team ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi, Yes, we will still evolve the UI. At the very least you will get the shortkeys directly on the actions. The answer to your question is in the blog post: GTSpotter offers an extra action: diving in a category. Pressing Cmd+Shift+ArrowRight dives in the collection object containing only the items from that category. Thus, we can continue refining the search inside the category. So, you will open the collection of that sub-category and you will see more items at once (not just 5). Is it clearer now? Cheers, Doru On Sun, Dec 7, 2014 at 2:52 PM, Johan Fabry <[hidden email]> wrote: Hola, _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
> On 07 Dec 2014, at 14:14, Tudor Girba <[hidden email]> wrote: > > Alex Syrel, Andrei Chis and I are happy to announce a new addition to the Glamorous Toolkit: > GTSpotter, a novel interface for spotting objects. Excellent work, all around. Congratulations to the team. Thank you for pushing things like this, for thinking differently. Yes, I want this in Pharo 4 too, ASAP (especially since the main shortcut is different from the old one, cmd+Enter vs. shift+Enter). The presentation is again very well done too: excellent article, super movie. You are putting the bar very high for the rest of us ;-) A suggestion/idea: would it be possible to take the current selection anywhere and feed it into Spotter ? That way there would be very good way to make it replace all the other shortcuts: you would get implementers, senders, references almost for free. Sven _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Sven, Thanks for the kind words. Indeed, having the current selection is one of the things we should keep in mind. For that we need to go to the next step and integrate the interface in the overall environment. This will certainly come. Cheers, Doru On Sun, Dec 7, 2014 at 6:57 PM, Sven Van Caekenberghe <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Doru,
One of the things/aspects that I miss a bit is the 'objects' part. In your overall description/presentation you talk about 'objects', but right now I would say it are mainly 'code objects' like classes & methods and friends, and some IDE artefacts, like menus. What about arbitrary (user) objects ? Literal constants, like 123, 'some string' ? Globals like the Transcript ? Singletons accessible by class side accessors, like announcers ? An evaluation functionality, just type an expression ? Examples ? The clipboard (contents), open windows, processes, ... Anyway, I am sure you get the idea ;-) Sven > On 07 Dec 2014, at 19:07, Tudor Girba <[hidden email]> wrote: > > Hi Sven, > > Thanks for the kind words. Indeed, having the current selection is one of the things we should keep in mind. For that we need to go to the next step and integrate the interface in the overall environment. This will certainly come. > > Cheers, > Doru > > > > On Sun, Dec 7, 2014 at 6:57 PM, Sven Van Caekenberghe <[hidden email]> wrote: > > > On 07 Dec 2014, at 14:14, Tudor Girba <[hidden email]> wrote: > > > > Alex Syrel, Andrei Chis and I are happy to announce a new addition to the Glamorous Toolkit: > > GTSpotter, a novel interface for spotting objects. > > Excellent work, all around. Congratulations to the team. Thank you for pushing things like this, for thinking differently. > > Yes, I want this in Pharo 4 too, ASAP (especially since the main shortcut is different from the old one, cmd+Enter vs. shift+Enter). > > The presentation is again very well done too: excellent article, super movie. You are putting the bar very high for the rest of us ;-) > > A suggestion/idea: would it be possible to take the current selection anywhere and feed it into Spotter ? That way there would be very good way to make it replace all the other shortcuts: you would get implementers, senders, references almost for free. > > Sven > > > > > > -- > www.tudorgirba.com > > "Every thing has its own flow" _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Sven,
Exactly! :) To be relevant, we had to show how it solves existing use cases (plus a bit more :)). Next we will focus on objects that are less "code". The hard part of actually getting the interface smooth and performant was kind of done. It's play time now :). As I noted in the post, we already have some 30 extensions for handling these cases. This was actually easy. The menu is an example of how we used this concept to approach a problem that is classically dealt with in a completely different way. There are a couple of things we did not show yet. For example, we already have a simple implementation of how to make a Moose model completely browseable through this interface. But, as with the inspector, the coolest thing is that if someone has a specific need, it is even simpler than with the inspector to hook that need in the system and make it searchable. Your list is definitely exciting, and I am hoping that people will start playing a bit and discover things we otherwise would not consider. It should be easier than with the inspector (because there are less things to specify, hence less variation). And wait to see what happens when we start to combine this interface with others. For example, the interesting thing about being able to search a menu is that you can actually open any menu with a spotter, which essentially has the potential of changing the way we deal with contextual actions (all through keybindings without shortcuts). I am quite sure we are just scratching the surface of what is possible. So, let's play together :). Cheers, Doru On Sun, Dec 7, 2014 at 10:35 PM, Sven Van Caekenberghe <[hidden email]> wrote: Doru, _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
Hi Doru and all,
Great work. All these tools are really moving the development experience a step forward :) I will try it ASAP. At this time, I just wonder if it is possible to search text in method sources. It is often useful. Another related thing I don't know how to do, is to refactor a set of methods (could be some methods to 20 or more). In these methods, I send a specific message. Now, I just want to remove the message implementation (it is not a rename) and I have to update the code accordingly. Sometimes, I could do that by just a search/replace (text) functionality (would be cool to use patterns there) in methods source code but I cannot find a way do that for now. So I do it by hand. I wonder if it already exists a way to do that or if GTSpotter could address this issue. Christophe. Le 7 déc. 2014 à 14:14, Tudor Girba a écrit :
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev smime.p7s (5K) Download Attachment |
Hi Christophe,
On Mon, Dec 8, 2014 at 10:43 AM, Christophe Demarey <[hidden email]> wrote:
It's not done now, but you can just add it. It should probably take you a couple of minutes :). Just try to follow the instructions from the end of the post and let us know how it goes.
I think this is out of the direct realm of GTSpotter. But, it would be an interesting area nevertheless. We would likely be able to benefit from combining somehow RB rules with spotter. Cheers, Doru
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
Sorry, but no :-(
I am always confused when people say ‘category’ because the word has so many overloaded meanings. The same happens in the blog post, it is not clear to me what category means here, and what does it have to do with the collection object? > On Dec 7, 2014, at 11:16, Tudor Girba <[hidden email]> wrote: > > Hi, > > Yes, we will still evolve the UI. At the very least you will get the shortkeys directly on the actions. > > The answer to your question is in the blog post: > GTSpotter offers an extra action: diving in a category. Pressing Cmd+Shift+ArrowRight dives in the collection object containing only the items from that category. Thus, we can continue refining the search inside the category. > > So, you will open the collection of that sub-category and you will see more items at once (not just 5). Is it clearer now? > > Cheers, > Doru ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi,
Ok. Let's take it step by step and see if we cannot find a better way of explaining. Take a look at the first picture in the blog post. Entering GTSpo shows results both for Classes and for Packages. These "Classes" and "Packages" are what we call search categories, and they have associated a query processor that can populate them with results (see the "Spotting your objects" section from the bottom of the post). In our case, we get 39 classes (of which only 5 are shown) and 1 package that match the query. If you want to look at all those 39 classes, you can dive in the whole collection behind the category in a separate step. This is achieved through Cmd+Shift+ArrowRight. Does it make more sense now? I did not consider the category to be confusing. Would you propose another name? Cheers, Doru On Mon, Dec 8, 2014 at 4:02 PM, Johan Fabry <[hidden email]> wrote: Sorry, but no :-( _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
OK now I get it … thanks for clarifying! I think my confusion stems from the use of ‘category' and then talking about 'the collection object’, which made me think about collections and source code and protocols and packages and I got lost. I think that the sentence of the blog would be clearer like this (uppercase to show changes): To do this, GTSpotter offers an extra action: diving in a RESULTS category. Pressing Cmd+Shift+ArrowRight dives in the collection OF RESULTS OF that category. Thus, we can continue refining the search inside the category. So then, my suggestion for a legend at the bottom of the results list would be: Cmd+Shift+ArrowUp/ArrowDown = Next/Prev category, Cmd+RightArrow = Dive into Result, Cmd+Shift+RightArrow = Dive into Category > On Dec 8, 2014, at 12:48, Tudor Girba <[hidden email]> wrote: > > Hi, > > Ok. Let's take it step by step and see if we cannot find a better way of explaining. > > Take a look at the first picture in the blog post. Entering GTSpo shows results both for Classes and for Packages. These "Classes" and "Packages" are what we call search categories, and they have associated a query processor that can populate them with results (see the "Spotting your objects" section from the bottom of the post). > > In our case, we get 39 classes (of which only 5 are shown) and 1 package that match the query. If you want to look at all those 39 classes, you can dive in the whole collection behind the category in a separate step. This is achieved through Cmd+Shift+ArrowRight. Does it make more sense now? > > I did not consider the category to be confusing. Would you propose another name? > > Cheers, > Doru > > > On Mon, Dec 8, 2014 at 4:02 PM, Johan Fabry <[hidden email]> wrote: > Sorry, but no :-( > > I am always confused when people say ‘category’ because the word has so many overloaded meanings. The same happens in the blog post, it is not clear to me what category means here, and what does it have to do with the collection object? > > > On Dec 7, 2014, at 11:16, Tudor Girba <[hidden email]> wrote: > > > > Hi, > > > > Yes, we will still evolve the UI. At the very least you will get the shortkeys directly on the actions. > > > > The answer to your question is in the blog post: > > GTSpotter offers an extra action: diving in a category. Pressing Cmd+Shift+ArrowRight dives in the collection object containing only the items from that category. Thus, we can continue refining the search inside the category. > > > > So, you will open the collection of that sub-category and you will see more items at once (not just 5). Is it clearer now? > > > > Cheers, > > Doru > > > > ---> Save our in-boxes! http://emailcharter.org <--- > > Johan Fabry - http://pleiad.cl/~jfabry > PLEIAD lab - Computer Science Department (DCC) - University of Chile > > > > > -- > www.tudorgirba.com > > "Every thing has its own flow" ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Thanks for the suggestions, Johan. I will change the text and we will definitely look into making the shortcuts more apparent. Cheers, Doru On Mon, Dec 8, 2014 at 5:17 PM, Johan Fabry <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Administrator
|
In reply to this post by Tudor Girba-2
Tudor Girba-2 wrote
>> What about arbitrary (user) objects ? >> >> Literal constants, like 123, 'some string' ? >> Globals like the Transcript ? >> Singletons accessible by class side accessors, like announcers ? >> An evaluation functionality, just type an expression ? >> Examples ? >> The clipboard (contents), open windows, processes, ... > Next we will focus on objects that are less "code" How did your explorations go in this area? Anything we can play with?! ----- Cheers, Sean -- Sent from: http://forum.world.st/Moose-f1310756.html _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev
Cheers,
Sean |
Hi,
> On Sep 19, 2017, at 4:09 PM, Sean P. DeNigris <[hidden email]> wrote: > > Tudor Girba-2 wrote >>> What about arbitrary (user) objects ? >>> >>> Literal constants, like 123, 'some string' ? >>> Globals like the Transcript ? >>> Singletons accessible by class side accessors, like announcers ? >>> An evaluation functionality, just type an expression ? >>> Examples ? >>> The clipboard (contents), open windows, processes, ... >> Next we will focus on objects that are less "code" > > How did your explorations go in this area? Anything we can play with?! What do you mean? In the Moose image there are now 164 extensions for Spotter for 57 different classes, and most of these are not directly code related. Doru > > > ----- > Cheers, > Sean > -- > Sent from: http://forum.world.st/Moose-f1310756.html > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.tudorgirba.com www.feenk.com "Value is always contextual." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Administrator
|
Tudor Girba-2 wrote
> In the Moose image there are now 164 extensions for Spotter for 57 > different classes, and most of these are not directly code related. Ah, okay I'll take a look. Anywhere in particular to start? Is there a way to differentiate object vs. class extensions? ----- Cheers, Sean -- Sent from: http://forum.world.st/Moose-f1310756.html _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev
Cheers,
Sean |
Take a look here:
http://www.humane-assessment.com/blog/introducing-gtspotter/ http://www.humane-assessment.com/blog/discovering-and-managing-spotter-extensions/ Doru > On Sep 20, 2017, at 4:32 AM, Sean P. DeNigris <[hidden email]> wrote: > > Tudor Girba-2 wrote >> In the Moose image there are now 164 extensions for Spotter for 57 >> different classes, and most of these are not directly code related. > > Ah, okay I'll take a look. Anywhere in particular to start? Is there a way > to differentiate object vs. class extensions? > > > > ----- > Cheers, > Sean > -- > Sent from: http://forum.world.st/Moose-f1310756.html > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.tudorgirba.com www.feenk.com "Some battles are better lost than fought." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Hello Doru
Is the gtspotter included in Pharo 6.0/6.1 the same as the one in the Moose image? --Hannes On 9/20/17, Tudor Girba <[hidden email]> wrote: > Take a look here: > http://www.humane-assessment.com/blog/introducing-gtspotter/ > http://www.humane-assessment.com/blog/discovering-and-managing-spotter-extensions/ > > Doru > >> On Sep 20, 2017, at 4:32 AM, Sean P. DeNigris <[hidden email]> >> wrote: >> >> Tudor Girba-2 wrote >>> In the Moose image there are now 164 extensions for Spotter for 57 >>> different classes, and most of these are not directly code related. >> >> Ah, okay I'll take a look. Anywhere in particular to start? Is there a way >> to differentiate object vs. class extensions? >> >> >> >> ----- >> Cheers, >> Sean >> -- >> Sent from: http://forum.world.st/Moose-f1310756.html >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.list.inf.unibe.ch/listinfo/moose-dev > > -- > www.tudorgirba.com > www.feenk.com > > "Some battles are better lost than fought." > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev > Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Or asked differently: do I need to load an update into Pharo 6.0/6.1
to get the full experience of what you describe in http://www.humane-assessment.com/blog/introducing-gtspotter/ http://www.humane-assessment.com/blog/discovering-and-managing-spotter-extensions/ HH On 9/20/17, H. Hirzel <[hidden email]> wrote: > Hello Doru > > Is the gtspotter included in Pharo 6.0/6.1 the same as the one in the > Moose image? > > --Hannes > > On 9/20/17, Tudor Girba <[hidden email]> wrote: >> Take a look here: >> http://www.humane-assessment.com/blog/introducing-gtspotter/ >> http://www.humane-assessment.com/blog/discovering-and-managing-spotter-extensions/ >> >> Doru >> >>> On Sep 20, 2017, at 4:32 AM, Sean P. DeNigris <[hidden email]> >>> wrote: >>> >>> Tudor Girba-2 wrote >>>> In the Moose image there are now 164 extensions for Spotter for 57 >>>> different classes, and most of these are not directly code related. >>> >>> Ah, okay I'll take a look. Anywhere in particular to start? Is there a >>> way >>> to differentiate object vs. class extensions? >>> >>> >>> >>> ----- >>> Cheers, >>> Sean >>> -- >>> Sent from: http://forum.world.st/Moose-f1310756.html >>> _______________________________________________ >>> Moose-dev mailing list >>> [hidden email] >>> https://www.list.inf.unibe.ch/listinfo/moose-dev >> >> -- >> www.tudorgirba.com >> www.feenk.com >> >> "Some battles are better lost than fought." >> >> >> >> >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.list.inf.unibe.ch/listinfo/moose-dev >> > Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Administrator
|
In reply to this post by Tudor Girba-2
Tudor Girba-2 wrote
> http://www.humane-assessment.com/blog/introducing-gtspotter/ Thanks! MC committing as a Spotter search is coooool :) ----- Cheers, Sean -- Sent from: http://forum.world.st/Moose-f1310756.html _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev
Cheers,
Sean |
Free forum by Nabble | Edit this page |