[MonoDevelop] Please review Proposal: Task/Collaboration focused frontend for MonoDevelop (Similar to Eclipse Mylyn)

Anirudh anirudh at anirudhsanjeev.org
Tue Mar 24 12:43:28 EDT 2009


Hi, After speaking to mhutch on IRC the other day, I decided to try and see
if I can take several of the best features of the Mylyn Plugin for Eclipse,
which has been lauded to improve productivity among teams and deal with
information overload. I'd love to see this feature in MonoDevelop, and since
it's a deliverable independent extension, I think it'll make a nice GSoC
project. Please reply with any feedback, questions, or suggestions, I'll be
on #monodevelop with the handle "antileet" if you have any feedback.

Thank you.

Proposal draft content:
Title: Mylyn-like functionality for developer collaboration.

Deliverable:

(A) A bug report management system with a single frontend and multiple,
pluggable backends to write to local database, bugzilla, trac, jira, etc
with the following functionality:
  (i)  Create, edit delete and query for bug reports with an interface built
in to the IDE.
  (ii) Edit bugs, change status, assignment, cc list, and many other
parameters exposed by the backend.
  (iii) Comment on bug reports from within the IDE, with ability to link to
lines of code and previous bugs, attach and download files, apply attached
patches and test them. The IDE will   also unobtrusively notify you of
unread comments to watched bug reports, preventing them from overflowing
your inbox.
  (iv) Ability to save queries for bugs and even categorize bug reports
locally. Suggested examples include bugs assigned to co-workers, and long
term goals for milestone releases, etc.

(B) A system encouraging task driven development. A bug report is treated as
a "task" that has to be worked on. Tasks can be local - for personal use and
planning, or on a remote repository. In this case, a bug report is
equivalent to a task with only slightly different background. I hope to
expose the following functionality of the task driven development:
  (i) On marking a task as "Active", and thus choosing to work on it, you
are not interested in any other details. The GUI will hide all other tasks,
and will not show notification of new bugs, comments, etc, and will let you
do your work.
  (ii) A small notice in the corner of the window reminds you on what you
are working on, and provides an easy and quick way to add comments to the
bug/task, thus alerting your co-workers about your progress(almost like a
twitter feed for your bug).
  (iii) [TIME PERMITTING]Cloning mylyn's famous "Context" Feature. Give a
particular task a context comprising of files, functions, classes, etc. Now
the solution view, and other views show only these files and even the
jump-to-type and jump-to-file show only these. This prevents overload on
larger projects, and enables tasks to be finished sooner. This feature would
obviously be optional and has to be willingly turned on.


Benefits:
1. Functionality similar to what's found in Mature, Proprietary IDEs.
2. Possibly very useful for organizations and large software development
teams, and might help improve adoption of MonoDevelop in corporate
environments.
3. Useful even locally for individual users. Local tasks will probably use
ideas from David Allen's "Getting things done" technique.
2. Will be implementation independent and universally useful.
3. Makes communication between developers more seamless and intiutive, with
a bonus ability to link to code from bug reports and bug reports from code.
4. Prevents you from having to check your email/internet which can lead to
distractions.

Inspiration:
Almost all ideas have been taken by the mature Mylyn project , which is used
as an Eclipse plugin. A lot of extra features and ideas are in concept now,
and not drafted officially.

Related Links:
http://www.eclipse.org/mylyn/ - Main Site
http://wiki.eclipse.org/index.php/Mylyn/User_Guide - User guide with
screenshots
http://tasktop.com/videos/w-jax/kersten-keynote.html - "Less is More" - a
keynote talking about developer productivity and Mylyn's role.

Implementation:
//TODO


-- 
Fourth Year Undergraduate Student, Indian Institute of Technology, Kharagpur
E-Mail/jabber/googletalk: anirudh -at- anirudhsanjeev -dot- org
Phone: +91-97335-04828
My PGP key: anirudhsanjeev.org/pubkey.txt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/monodevelop-list/attachments/20090324/cb1aec84/attachment.html 


More information about the Monodevelop-list mailing list