Twitter github

Tagging in Eclipse

At Lotusphere I ran into Li-Te Cheng who gave me a cool demo of some tagging abilities in Eclipse out there. There are currently two projects out there it seems that deal with tagging in Eclipse: Eclipse Resource Tagger and TagSEA.

TagSEA is more advanced in my opinion, but after thinking a bit about this topic, wouldn’t it be cool to tag things in your code and be able to share them with co-workers (or other people)? I could imagine tagging common code (maybe like saving an EMF resource) so it could easily be found again by anyone. This begs the questions whether those crazy Mylar guys would be interested in this type of functionality.

In the end, I think a del.icio.us type thing for Eclipse or source code would benefit the community.

  • Mik Kersten

    I agree that TagSEA is a neat approach, and Peggy Storey and I have chatted a few times about how it could be integrated with Mylar. Currently Mylar takes an approach that is opposite to most tagging tools: instead of making you explicitly tag things that are relevant, it does implicit tagging by associating elements with tasks via task context. One benefit of this implicit tagging is that we don’t end up with a huge number of “// bug 123” tags in the Mylar codebase, and instead we get this linking automatically both from the ability to restore a task context, and from Mylar’s automatic commit messages and Eclipse’s team annotation support which shows the link from the revision to the bug associated with it.

    However, when chatting with Peggy we identified at least two interesting areas of overlap. First of all, you could easily end up with too many tags in a tag view like Tag SEA’s, similar to how you can end up with way too many “// TODO” tags in Eclipse’s ‘Tasks’ view. So just as we support filtering based on task context in the ‘Tasks’ view, the Focus on Active Task button could also be added to the TagSEA view.

    Another thing to consider could be how Mylar’s degree-of-interest model overlaps with tags. Way back in Mylar 0.1 you could add an @Interesting annotation to a method and it would permanently become a landmark (i.e. high interest and bold). We replaced that with the Mark as Landmark action and keyboard shortcut, because it was too weird for it to be a landmark in *every* task. However, the presence of a rich tagging infrastructure like TagSEA, it could be possible to re-consider how tags could make some elements implicitly more interesting (e.g. you tag the main entry points to your API, and for some kinds of tasks these entry points could become interesting automatically). But it’s hard to speculate without an understanding how people will use tagging tools like this for day-to-day programming. So if people out there are using Mylar in conjunction with TagSEA, I’m sure that both teams would be very interested in getting feedback on how the two tools overlap.

    Mik

    P.S. I would like to assert we Mylar guys are not crazy, even if Chris has tagged us as such šŸ˜‰

  • Mik Kersten

    I agree that TagSEA is a neat approach, and Peggy Storey and I have chatted a few times about how it could be integrated with Mylar. Currently Mylar takes an approach that is opposite to most tagging tools: instead of making you explicitly tag things that are relevant, it does implicit tagging by associating elements with tasks via task context. One benefit of this implicit tagging is that we don’t end up with a huge number of “// bug 123” tags in the Mylar codebase, and instead we get this linking automatically both from the ability to restore a task context, and from Mylar’s automatic commit messages and Eclipse’s team annotation support which shows the link from the revision to the bug associated with it.However, when chatting with Peggy we identified at least two interesting areas of overlap. First of all, you could easily end up with too many tags in a tag view like Tag SEA’s, similar to how you can end up with way too many “// TODO” tags in Eclipse’s ‘Tasks’ view. So just as we support filtering based on task context in the ‘Tasks’ view, the Focus on Active Task button could also be added to the TagSEA view.Another thing to consider could be how Mylar’s degree-of-interest model overlaps with tags. Way back in Mylar 0.1 you could add an @Interesting annotation to a method and it would permanently become a landmark (i.e. high interest and bold). We replaced that with the Mark as Landmark action and keyboard shortcut, because it was too weird for it to be a landmark in *every* task. However, the presence of a rich tagging infrastructure like TagSEA, it could be possible to re-consider how tags could make some elements implicitly more interesting (e.g. you tag the main entry points to your API, and for some kinds of tasks these entry points could become interesting automatically). But it’s hard to speculate without an understanding how people will use tagging tools like this for day-to-day programming. So if people out there are using Mylar in conjunction with TagSEA, I’m sure that both teams would be very interested in getting feedback on how the two tools overlap. MikP.S. I would like to assert we Mylar guys are not crazy, even if Chris has tagged us as such šŸ˜‰

  • Margaret-Anne

    The idea behind TagSEA is indeed to be able to share tagged locations (which we refer to as waypoints) with co-workers. Currently that is already doable tags are explicitly entered as Javadoc comments in the source code. You can also tag resources and although these tags are currently not easily shareable, our plans are to add this functionality in the next while through integration with a social bookmarking service.

    Integration with Mylar is also under design and we have been discussing this with at least one crazy Mylar guy (Mik) šŸ™‚
    We are big fans of Mylar, but think a facility to link tags to tasks (not currently active) will be very useful.

    TagSEA 0.5 will be released soon.
    We certainly would welcome feedback on it!

    Margaret-Anne (Peggy) Storey

  • Margaret-Anne

    The idea behind TagSEA is indeed to be able to share tagged locations (which we refer to as waypoints) with co-workers. Currently that is already doable tags are explicitly entered as Javadoc comments in the source code. You can also tag resources and although these tags are currently not easily shareable, our plans are to add this functionality in the next while through integration with a social bookmarking service. Integration with Mylar is also under design and we have been discussing this with at least one crazy Mylar guy (Mik) :)We are big fans of Mylar, but think a facility to link tags to tasks (not currently active) will be very useful. TagSEA 0.5 will be released soon.We certainly would welcome feedback on it!Margaret-Anne (Peggy) Storey

  • Chris Aniszczyk (zx)

    Mik, crazy is a good thing šŸ˜‰

  • Chris Aniszczyk (zx)

    Mik, crazy is a good thing šŸ˜‰

  • Eugene

    I am also not sure if tagging is really bring much value. As Mik said, it soon becomes too hard to manage (same happens with del.icio.us) and hard to categorize properly.

    I think it is more interesting to use tools like FEAT or ConcernMapper. With those you can actually build more interesting categories, but it is still unclear how that would scale to a large, but still it would be interesting to integrate those tools with Mylar and expand them to allow to work in a group (if they don’t already support that).

    http://www.cs.ubc.ca/labs/spl/projects/feat/
    http://www.cs.mcgill.ca/~martin/cm/

  • Eugene

    I am also not sure if tagging is really bring much value. As Mik said, it soon becomes too hard to manage (same happens with del.icio.us) and hard to categorize properly.I think it is more interesting to use tools like FEAT or ConcernMapper. With those you can actually build more interesting categories, but it is still unclear how that would scale to a large, but still it would be interesting to integrate those tools with Mylar and expand them to allow to work in a group (if they don’t already support that).http://www.cs.ubc.ca/labs/spl/projects/feat/http://www.cs.mcgill.ca/~martin/cm/

  • Margaret-Anne (Peggy) Storey

    Yes it would be interesting to integrate Concerngraph/mapper with Mylar for sure. They, like Mylar, are structured approaches to annotation of source code. You decide up front which tasks or concerns are relevant, and then implicitly or explicitly attach relevant code to them.

    Tagging is an unstructured, ad-hoc and light-weight approach to annotation of information spaces.

    The difference is subtle and can be compared to creating folders for organizing emails with creating labels for tagging emails in Gmail. Personally, I believe there is a place and time for both approaches, and the interesting aspect is exploring how to bridge between the two.

    Tagging overload is definitely an issue, especially when tags and bookmarks are shared socially. We are addressing this through hierarchical tags, refactoring and decay features, and in the future with Mylar.

    Tagging seems to be a feature that people either love or hate! And whether tagging can or should play a role in software development is a very interesting question!

  • Margaret-Anne (Peggy) Storey

    Yes it would be interesting to integrate Concerngraph/mapper with Mylar for sure. They, like Mylar, are structured approaches to annotation of source code. You decide up front which tasks or concerns are relevant, and then implicitly or explicitly attach relevant code to them. Tagging is an unstructured, ad-hoc and light-weight approach to annotation of information spaces. The difference is subtle and can be compared to creating folders for organizing emails with creating labels for tagging emails in Gmail. Personally, I believe there is a place and time for both approaches, and the interesting aspect is exploring how to bridge between the two. Tagging overload is definitely an issue, especially when tags and bookmarks are shared socially. We are addressing this through hierarchical tags, refactoring and decay features, and in the future with Mylar. Tagging seems to be a feature that people either love or hate! And whether tagging can or should play a role in software development is a very interesting question!

  • Christopher Stehno

    Just an FYI on the Resource Tagger Plug-in (http://taggerplugin.sourceforge.net). While the current version does not support shared tags, I have had numerous requests to support it. It will be available in the next release (2.0.0) — sometime next month.
    My plugin is often mentioned in the same breath as TagSEA (which I find quite flattering being such a new project) but it is interesting since both projects have a different though slightly overlapping approach to tagging and in my oppinion, a different end goal. It would be interesting to see how the two could/would work together.

  • Christopher Stehno

    Just an FYI on the Resource Tagger Plug-in (http://taggerplugin.sourceforge.net). While the current version does not support shared tags, I have had numerous requests to support it. It will be available in the next release (2.0.0) — sometime next month.My plugin is often mentioned in the same breath as TagSEA (which I find quite flattering being such a new project) but it is interesting since both projects have a different though slightly overlapping approach to tagging and in my oppinion, a different end goal. It would be interesting to see how the two could/would work together.