Le 02/12/2013 10:05, kilon alios a écrit :
"It's done for me (with the added fact that you want to return the
search results inside the system browser itself: done for me too). For
Nautilus, there is a need to reactivate the Finder plugin."
that's great to hear, this makes things much easier for me. How to
reactivate that plugin ? Also where I can find documentation for the
Nautilus plugin system ? I have no intention of reinventing the wheel,
if I can just extend Nautilus that would be great. Having this option
means I could even start Cyclops now, cause it will take me much less
time than I expected.
"Takes ages to tag correctly a system as large as Pharo nowadays.
Such a graph can also makes things very complex at times. You may want
to look into dynamic tagging... which brings you to scoped browsing,
more or less.
"
My plan was to offer tagging for some classes I heavily use but
obviously not all. I wanted to allow user to create their own tags even
custom ones and sync automatically with other users against a common
online tag repository.
Yes, that can be interesting. A good tagging / oragnization creation GUI
can be nice.
"Up to you :)
Me, I have a fairly good spatial memory, so a tree helps me because I
can remember where things are (and the tree also shorten long package
names ;))."
It was not my intention to offer ONLY a tag system, hierarchy trees are
useful too. I see the tag system as another alternative way of viewing
classes and methods not as a complete replacement
to hierarchy trees.Also the tree hides part of the name but force you to
make long package names to use the tree anyway. Am I wrong ?
No. What I have is in fact a category hierachy + a name matching scheme.
* The category hierarchy starts with top level items (Core, GUI, System,
Packages, Networking, Development), with sub categories (such as Spec in
GUI). I could have as many level of subcategories as I want.
* Then I have a name matching scheme: a package starting with Spec will
be put under GUI/Spec... If there is a common core, I improve on that
and add subcategories under Spec to do Spec-Gui (for the packages
Spec-Gui-Morphic, Spec-GUI-Amber, Spec-GUI-MVC, Spec_GUI-Gtk), and so on.
The tree does automatic prefix reduction: if parent item is XXX and
current item is XXXYYY then current item display is YYY.
It also has an ability to clean up the system: load
ConfigurationOfSomething in, it will be moved under
Packages/Configuration/. You can load hundreds of configurations and
they will all be stored there and you won't be annoyed by the length of
the packages list (unless you open the Monticello Browser, of course :P).
All this is to target the 7 +/-2 magic number HCI strives for. And the
fact that we usually have a fairly good memory to find back things (they
are allways in the same position).
" Beware: there is no common logic in that (you're a specific case, I'd
be very unhappy with your GUI as far as I can see, and the reverse is
also true). "
Common logic means exactly what is implied, logic which some people
agree on. Obviously nothing is absolute and people
have different workflow which I respect and love to hear about them ;)
I definitely would not want to force people doing things a single way.
Anything can useful.
Yes, that's why I suggest experiments... There is a lot of tuning necessary.
For example, I played a lot with automatic scoping in browsing and
search... And backed off a bit because it made a mess of my search and
understand workflow. I used to do like that:
- looked at a method in a class
- select implementors on a selector in the method source
- get a browser scoped with only the implementors of that selector
- look for an implementor in that browser...
- :( empty browser because I was looking inside the previous scope
So, now, if I ask for implementors in a selector scope, I back off one
level in scoping: if the parent scope was a package, I'll search in the
package scope.
"Do it, do it! As I experienced myself, it's fairly easy to rebuilt a
complete system browser..."
Is it or are you being sarcastic ? It was never my intention to rebuilt
a complete system browser, just reskin and extend the existing one. I
find the system browser already extremely powerful and fun to use , I
just wanted to add my own touches to it. This is why I was considering
Glamour .
No, no, really. The underlying system is a bit hard to get into and
isn't too well described, but it has everything you need to build one.
Even mine... The specifics are the tree handling, but, honestly, you
could use any other way to classify the code and replace that part of
the GUI, reusing all the command and tracking system events logic. I
reused code from the other browsers as well; I have a lot of respect for
the architecture of the OmniBrowser, and for the features of Nautilus.
Thierry
On Mon, Dec 2, 2013 at 10:37 AM, Goubier Thierry <thierry.goub...@cea.fr
<mailto:thierry.goub...@cea.fr>> wrote:
Le 29/11/2013 18:16, kilon alios a écrit :
Currently I am working on Hyperion, a vector editor for Athens.
Then I
will work on Prometheas, on board documentation tool again with
Athens.
My third tool, if ever reach that far is Cyclops which will
target the
system browser. Now I am no fan of hierarchy trees. I find them
hard to
navigate and messy when hierarchy gets too complex. I see two
solution
on this one
a) Sophisticated search facility, we have that already with the
finder
tool . I feel its time for the finder tool to go and be one with the
system browser.
It's done for me (with the added fact that you want to return the
search results inside the system browser itself: done for me too).
For Nautilus, there is a need to reactivate the Finder plugin.
b) Tag based browsing. That means attach tags to your classes and
methods , make it easy this way to make things belong to groups
and most
importantly one thing could belong to more than one group. This also
means bye bye packages, and instead replaced with infinite level
groups,
a group can be inside another group which can be inside another
group
etc. Of course those groups wont "exist" only their tags will
"exist".
Takes ages to tag correctly a system as large as Pharo nowadays.
Such a graph can also makes things very complex at times. You may
want to look into dynamic tagging... which brings you to scoped
browsing, more or less.
I am also smiling to the Glamour philosophy of having a browser tool
that can have multiple ways of viewing your classes. Bottom line
is that
I will be using existing ideas and I hope also code to push
things just
tiny bit further.
Do it, do it! As I experienced myself, it's fairly easy to rebuilt a
complete system browser...
So for me at least smart browsing plus tags plus good search
facility
can easily replace ugly hierarchy trees and packages with really
long
names.
Up to you :)
Me, I have a fairly good spatial memory, so a tree helps me because
I can remember where things are (and the tree also shorten long
package names ;)).
Just using common logic can take you a long way into improving the
tools, the hard part is actually coding all this because it
takes time
and effort.
Beware: there is no common logic in that (you're a specific case,
I'd be very unhappy with your GUI as far as I can see, and the
reverse is also true).
On Fri, Nov 29, 2013 at 6:55 PM, Sean P. DeNigris
<s...@clipperadams.com <mailto:s...@clipperadams.com>
<mailto:s...@clipperadams.com <mailto:s...@clipperadams.com>>__>
wrote:
kilon alios wrote
> I dont see much room for thought, this looks to me like
ideal
behavior.
I agree in theory, but it seems that the tree is primarily
about
chunking
information into manageable pieces.
A primary difficulty here is that packages are often
divided for reasons
that have nothing to do with the domain model, e.g. the
ubiquitous
MyPackage-Platform, which is an artifact of Metacello that
is not
all that
relevant to a user wanting to understand the system.
>From the naive user perspective, if I'm exploring from
the top
level of the
system, I want to see things like:
- CodeImport
- Collections
- Compiler
>From this perspective, the 14 entries for Collections,
multiplied
by a few
dozen top-level categories make the list unwieldy and only
marginally less
daunting than the flattened list we used to have (see
http://en.wikipedia.org/wiki/__The_Magical_Number_Seven,___Plus_or_Minus_Two
<http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two>
):
<http://forum.world.st/file/__n4726287/Picture_1.png
<http://forum.world.st/file/n4726287/Picture_1.png>>
-----
Cheers,
Sean
--
View this message in context:
http://forum.world.st/__Nautilus-Tree-__tp4723819p4726287.html
<http://forum.world.st/Nautilus-Tree-tp4723819p4726287.html>
Sent from the Pharo Smalltalk Developers mailing list
archive at
Nabble.com.
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92
<tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95