Hi,

On Mon, Dec 8, 2014 at 12:29 AM, Thierry Goubier <thierry.goubier@gmail.com> wrote:


2014-12-07 20:19 GMT+01:00 Tudor Girba <tudor@tudorgirba.com>:
Hi,

On Sun, Dec 7, 2014 at 3:52 PM, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Cool.

Interesting. I recognize some of the patterns I use, but in a slightly different form.

Could you detail? I am asking because I am interesting in search use cases to see if they can be expressed in terms of Spotter of if we need to extend the interface in some way. GTSpotter is supposed to be moldable thus, it is important for it to handle as many use cases as possible.

Well, the hierarchical, drill-down type of recursive searches is something I do regularly, so I can relate. They are not as general; they revolve as a cascading sequence of implementors/finder/senders/accesses/package/class searches, but from inside the browser (but, since a search result is given in a browser, then you can keep drilling down).
��
��
The widget look very nice and clean. I'd worry about having a very long top-level list, and I know that some of the search patterns are a bit less efficient than what I use today.

What do you mean by long top-level lists?
Do you refer to categories for which a query can show many results? In this case, our interface always limits the amount per category to 5. After reaching 5 items, the rest is being computed in a process with lower priority so as not to mess too much with the responsiveness of the UI. If you want to see more than 5, you can always dive in the category and then you focus only on that category. It seems to work well enough.

Ok. I see how you are targetting that. I was thinking of what would happen if you have many extensions going into the root items.

I see. We put quite some work in this issue actually. Originally, we showed the list of categories like in Spotlight on Mac, but then we noticed we do not know what categories actually provide a match. So, if you look closely, the widget shows all categories that are at the top and at the bottom of the visible items. As you scroll they scroll in and out of the main list. If there are too many on a row, the labels trim down nicely. We tried with a couple of dozens and it scales reasonably well. I think this widget is quite cool and rather unique (I have not seen this design anywhere else).

I will try to describe these design decisions in a future post.



You should also take into account that most widgets you see are hand-made in a lighter Morphic (called Brick) created by Alex Syrel. The goal of this one is to be fast and scalable.

Cool. It's an issue for many things, and its great to see someone tackling speed issues.

I dropped some type of Morphs for that reason.
��

Does that answer the question?

Yes, it did.
��

I'm impressed by the amount of work going into that.

Thanks. Indeed, the work was quite intensive and we went through 3 major variations of the implementations.

What was I told about Smalltalk the very first time I had to use it as a student? "the language where you can break and redo all your code in a very short time.".

Indeed. For us, that time was less than 2 months and we started from scratch.

Cheers,
Doru

��


Thierry


��

Cheers,
Doru

��

Thierry

2014-12-07 14:14 GMT+01:00 Tudor Girba <tudor@tudorgirba.com>:
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:
Inline image 2��Inline image 1��Inline image 3


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




--

"Every thing has its own flow"




--
www.tudorgirba.com

"Every thing has its own flow"