After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 529113 - Use tags instead of (or in addition to) categories
Use tags instead of (or in addition to) categories
Status: RESOLVED FIXED
Product: hamster-applet
Classification: Deprecated
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: hamster-applet-maint
hamster-applet-maint
: 600735 602737 603464 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-04-20 20:07 UTC by Toms Bauģis
Modified: 2010-01-14 23:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Toms Bauģis 2008-04-20 20:07:07 UTC
Reported by todd.chambery, Apr 17 (3 days ago)

Like the look and feel of the Hamster.  Would like to able to assign
multiple categories (or subcategories or tags) to a task:

Work (category)
  Do the stuff I gots to do :: Project 1, Training (tags)


What version of the product are you using?
0.1.7.4

Please provide any additional information below.

Looks great, keep up the good work.
 


Comment 1 by toms.baugis, Apr 18 (2 days ago)

I think, tagging is useful, when working with large amounts of data. Considering the hypothetical standard case of Hamster, one shoulw have something like max 20 activities.

Could you maybe dive a little deeper into possible use cases for tags?


Comment 2 by todd.chambery, Apr 18 (2 days ago)

I serve multiple masters as a consultant (filling out 3 timesheets).  For example, I'm working on Team X, which is actually composed of Project A,B, and C (each of which is really a separate client).  That's category/subcategory, but for my own accounting, I'd like to characterize the particular activity as either Think Time, Implementation, Testing, etc.

Right now, I'm using a '-' to separate the bits: Team X - Project A - 1.2f - Testing

For my reporting, it would be nice to just create a report for Project A, or know how long I'm spending on Implementation, etc.


Comment 3 by toms.baugis, Apr 18 (2 days ago)

Thanks for the use case - i'll speculate on that. It's clear that categories'n'stuff in hamster could be done better.
Comment 1 Toms Bauģis 2008-04-20 22:45:33 UTC
It would be great, if hamster would adapt to both simple, and a little more sophisticated tracking, without big configuration. Also it would be great, if hamster would allow to mix both behaviours.

Good thing about categories is, that you preconfigure them, and afterwards tasks fall automatically into right pockets. It doesn't work if activities have same names for different categories, well, at least not now, since you would get just one activity, both in drop-down and in the menu itself. And figuring out category currently is just picking the most recent, categorized entry (filed bug 529132 on that).

Thinking about it, maybe we could parse entered activity for commas, and treat first part as activity, and the rest as tags.

like:    activity, tag, tag, tag
example: testing, project x, billable, whatever

This would solve the entering part, but i wonder, how to do configuration, stats and others...

Humm, how about this:

We stick to activities and categories as they are now - when you rename activity or category in "Edit Activities" dialog, it applies to all records.
BUT, then we add tags - which can be entered using commas. An "edit fact" dialog will be created (we need one anyway), where you can adjust tags afterwards. When you change or rename tags, they change only for the individual fact only.


Another thing then would be showing / filtering facts in the stats view. 
And the export (bug 529100) which hopefully will be geekout :)


Comment 2 Juan A. Suarez Romero 2008-11-24 11:05:32 UTC
Yes, I agree it would be very helpful to allow more than one category per task. IMHO it would be more powerful than subcategories (and probably easier to implement).
Comment 3 Gareth Jones 2009-03-11 10:48:10 UTC
This is something I'd appreciate too. Ideally, once the data has been recorded I'd like to be able to view all tasks for a given tag (or set of tags) and over a specified time period. My aim would be to use categories/tags for projects, types of activity etc and the tasks themselves as much more fine-grained activities like 'Implemented feature X'.
Comment 4 Mac Ryan 2009-09-29 11:21:16 UTC
I am using hamster in pretty much the same scenario described by Todd: multiple clients, multiple projects for clients, multiple tasks for project... and to make it complicated: similar tasks in each project [assistance / development / training...]

If you know "drupal" (http://drupal.org) and the way it manages taxonomies, I think that would be the perfect way for hamster to handle tags.

Two of the most handy feature of the drupal system:
* You can have multiple vocabularies (and each vocabulary can allow multiple or single selection of tags).
* You can arrange terms in a hierarchy (and you can say if you can select only the leaves as tags or also the branches).

This system is extremely flexible: it allows the final user to use the system as "pure tags" or as a "strict hierarchy", but also to use it as something intermediate.

EXAMPLE USAGE (just one of the dozen possible ones!!):
*** Vocabulary one: hierarchical taxonomy of projects w/ "select at least one and only one leave"
Client A (project alpha and bravo)
Client B (project charlie)
Client C (team one -> project delta, team two -> project echo and foxtrot)
*** Vocabulary two: hierarchical vocabulary of actions "with select many, branches also, at least one":
Conception: think-time, prototyping, research
Implementation: development, debugging
Customercare: assistance, training, meetings

This way the user would be forced to insert exactly one project (alpha to foxtrot) and at least one action or class of actions (for example "training" or "Customercare" or "development, prototyping").

Now you can have your reports by any of the following:
- Clients
- Projects
- Teams
- Actions
- Action-classes (Conception / Implementation / CustomerCare)
- any combination of the above, possibly even including logical operators (eg: "delta NOT CustomerCare" or "NOT team_two AND (thinktime OR meetings)"

It does sound complicated, but really... in reality is only complex, with the huge trade-off of an extremely flexible system, and hamster could come with default sensible settings or installation options ("use tags" / "use hierarchy" / "custom settings").

This system allows for any kind of filtering (such as "project close / open" "national / international" etc...) and in conjunction with a date-based filter would practically allow hamster to report anything! :)

The only slippery point I can see of now, is that multiple tags can be tricky to report correctly in the statistics: If I bill my clients by time, and I tagged an activity by both "development" and "prototyping" I need to make sure I do not count that time twice, in both "Conception" and "Implementation". This could be done by checking the actual start_time and end_time, but that could become "heavy" for large reports.

Hope this is clear enough, but I am happy to clarify if I wasn't able to explain myself properly.

PS: if this is not hard enough to implement I already have my next suggestion in the pipeline: pivot functionality!!! :P

All the best,
Mac.
Comment 5 Toms Bauģis 2009-09-29 12:02:21 UTC
ontologies, taxonomies and folksonomies make sense when used amongst several people.

individuals - the target user of hamster, on the other hand might benefit from adaptive interfaces that learn from user habits, like gnome-do does.

this would be my take on things.
Comment 6 Mac Ryan 2009-09-29 13:29:40 UTC
Hi Tom, I suspect we failed to communicate, this time! :)

"Taxonomy" (in the way Drupal uses the term) is a general term to encompass a concept of which one possible declination is "tags". In mathematical terms:

     "OOP language" : "python" = "taxonomy" : "tags"

Indeed, most drupal site implement visible taxonomies as plain tags, and the user would not be able to spot the difference between WordPress tag system and Drupal, for example.

For this reason I believe I must have failed to properly explain myself in the previous post, or your comment must refer to the entire idea of "tags" (which does not seem to, reading your previous comments in this thread).

The reason for which I am proposing the adoption of taxonomies is that doing so, you provide the user with a higher degree of freedom: thus allowing hamster to be more "adaptive" to the user's needs, rather then enforcing a single approach to task classification (Jim could be happy with flat tags, but Tom might wish to have his tasks organised in a hierarchy)

In my eyes, the choice between going for taxonomy or just tags is a bit of a software design choice, similar to the one you are called to make when you have to make a choice between storing your data in a sqlite DB or just in a plain text file. Sure, the text file wins in terms of simplicity and it "just works" for what you might want to do right now... maybe. But if you are planning to keep on evolving your application, the DB option might prove a wiser road to follow.

As for the gnome-do part of your feedback, I probably miss some key-bit of information to properly understand it. If you have time, I would love to hear more (I do use gnome-do, btw, although I am hoping it will be soon replaced by some non-mono piece of software!)

Looking forward for more inputs,
Mac.
Comment 7 Toms Bauģis 2009-09-29 15:04:38 UTC
Let's disambiguate: taxonomies are, in essence, classifications
http://www.google.ie/search?q=define%3ATaxonomy

Thing about classifications, unless they are used just as a technical mean to organize data and thus not perceivable in the interface, is that they have to be maintained. 

when typing in letters in gnome-do, it will come up with your most frequent chosen result matching the pattern, that's why most of programs i can launch with two or three letters and that i describe as adaptive (e.g. as one that learns from user input).

i would like to go with similar approach in hamster, both for matching tag fragments and tags themselves. 

Choice between going for taxonomy or "just tags" is not that of a software design - it is of purpose and applicability. Also, in fact, there no choice nor dichotomy at all - taxonomy can be seen as layer over existing functionality if a need to do so emerges.

> The reason for which I am proposing the adoption of taxonomies is that doing
> so, you provide the user with a higher degree of freedom: thus allowing 
> hamster to be more "adaptive" to the user's needs, rather then enforcing a 
> single approach to task classification (Jim could be happy with flat tags, 
> but Tom might wish to have his tasks organised in a hierarchy)

You have reused but twisted the term "adaptive" here and set it in the context where any other option would mean contrary. 


Anyway, in my opinion it is too early to talk about taxonomies, as there are no tags in place at all.
Comment 8 Mac Ryan 2009-09-29 15:48:25 UTC
Ok. Now it seems that we understood each other. Thanks for the explanation! :)
Comment 9 Toms Bauģis 2009-11-04 22:19:55 UTC
*** Bug 600735 has been marked as a duplicate of this bug. ***
Comment 10 Toms Bauģis 2009-11-23 15:47:23 UTC
*** Bug 602737 has been marked as a duplicate of this bug. ***
Comment 11 chili-bugzilla 2009-11-23 17:50:20 UTC
Ok thanks. I have the same use of Hamster like 
 

« Mac Ryan      2009-09-29 11:21:16 UTC
I am using hamster in pretty much the same scenario described by Todd: multiple
clients, multiple projects for clients, multiple tasks for project... and to
make it complicated: similar tasks in each project [assistance / development /
training...] »

My question was more for "similar tasks in each project". It's because I need to report my time /client-project and /type of tasks which are [assistance / dev / training / ...]
Comment 12 Toms Bauģis 2009-12-01 10:49:01 UTC
*** Bug 603464 has been marked as a duplicate of this bug. ***
Comment 13 Toms Bauģis 2010-01-14 23:01:32 UTC
Tags can be added, edited, drilled down by, searched and exported in activities.
They can't be renamed though. But if you want to rename tag, you can just create a new one. Maybe one day a batch edit tool will come.