|
| 1 | +<head> |
| 2 | +<title>Roundup: A Simple and Effective Issue Tracker in Python</title> |
| 3 | +</head> |
| 4 | +<body bgcolor="#efefef"> |
| 5 | +<table bgcolor="#4040a0" width="100%" border=0 cellspacing=0 |
| 6 | +><tr valign=bottom><td> <br> <br |
| 7 | +><font face="helvetica, arial" color="#ffffff"><big><big><strong |
| 8 | +>Roundup Short Paper</strong></big></big></font></td><td align=right |
| 9 | +><a href="http://www.lfw.org/" |
| 10 | +><img src="/images/lfwblue.gif" border=0 width=33 height=22 alt="[LFW]" |
| 11 | +></a></td></tr></table> |
| 12 | +<h3>Roundup: A Simple and Effective Issue Tracker in Python</h3> |
| 13 | +<small><em>Ka-Ping Yee</em> |
| 14 | +(<a href="http://www.lfw.org/ping/roundup.html">original site: http://www.lfw.org/ping/roundup.html</a></small>) |
| 15 | + |
| 16 | +<p>Please note that <strong>there is a new, active Roundup project</strong> |
| 17 | +led by Richard Jones. Please <a href="http://roundup.sf.net/">visit them |
| 18 | +at SourceForge</a>. |
| 19 | + |
| 20 | +<p>The Roundup prototype is open source. You can |
| 21 | +<a href="roundup.tar.gz"><strong>download it here</strong> |
| 22 | +(roundup.tar.gz, 32 kb)</a>. |
| 23 | +Or <strong><a href="roundup/roundup.cgi">play with the live prototype!</a> |
| 24 | +</strong> |
| 25 | +When prompted for authentication, you can use |
| 26 | +one of the test accounts: "test", "spam", or "eggs" |
| 27 | +(password same as account name). Roundup's e-mail address is |
| 28 | +<a href="mailto:roundup---lfw.org">roundup---lfw.org</a>. You can't |
| 29 | +create new accounts, but you can read the mail spools for |
| 30 | +<a href="test.spool">test</a>, |
| 31 | +<a href="spam.spool">spam</a>, or |
| 32 | +<a href="eggs.spool">eggs</a> here to see what they're getting. |
| 33 | + |
| 34 | + |
| 35 | +<p><em>A <a href="sc-roundup.html">detailed design proposal |
| 36 | +for a more advanced issue-tracking system based on Roundup</a> |
| 37 | +has been submitted to |
| 38 | +<a href="http://www.software-carpentry.com/">Software Carpentry</a>'s |
| 39 | +open source software design competition.</em> This first-round |
| 40 | +submission was |
| 41 | +<a href="http://software-carpentry.codesourcery.com/first-round-results.html" |
| 42 | +>selected as a finalist</a>. A <a href="sc-roundup-2.html">more |
| 43 | +detailed implementation guide</a> was submitted to the |
| 44 | +<a href="http://software-carpentry.codesourcery.com/second-round-entries.html" |
| 45 | +>second round of the competition</a>. |
| 46 | + |
| 47 | +<p><em>You might also want to check out |
| 48 | +<a href="/python/">other Python-related stuff on this site</a>.</em> |
| 49 | + |
| 50 | +<hr> |
| 51 | + |
| 52 | +<p>This short talk will share some experiences from developing and using |
| 53 | +the issue tracking system used by my development group at ILM. It integrates |
| 54 | +two modes of access: e-mail for gathering information, and the Web |
| 55 | +for search and retrieval. We currently work with it daily and it |
| 56 | +does its job pretty well. |
| 57 | + |
| 58 | +<h4>Fine-Grained Mailing Lists</h4> |
| 59 | + |
| 60 | +<p>The key strength of Roundup is that it generates a small virtual |
| 61 | +mailing list for each new issue. In a way, this is like implementing |
| 62 | +private conversation rooms in e-mail. Although the mechanism is |
| 63 | +very simple, the emergent properties are quite effective. Here's |
| 64 | +how it works: |
| 65 | + |
| 66 | +<ol type="a"> |
| 67 | +<li>New issues are always submitted by sending an e-mail message. |
| 68 | +This message is saved in a mail spool attached to the newly-created |
| 69 | +issue record, and copied to the relatively large user community of |
| 70 | +the application so everyone knows the issue has been raised. |
| 71 | + |
| 72 | +<li>All e-mail messages sent by Roundup have their "Reply-To" |
| 73 | +field set to send mail back to Roundup, and have the issue's |
| 74 | +ID number in the Subject field. So, any replies to the |
| 75 | +initial announcement and subsequent threads are all received |
| 76 | +by Roundup and appended to the spool. |
| 77 | + |
| 78 | +<li>Each issue has a "nosy list" of people interested in the |
| 79 | +issue. Any mail tagged with the issue's ID number is copied |
| 80 | +to this list of people, and any users found in the From:, |
| 81 | +To:, or Cc: fields of e-mail about the issue are automatically |
| 82 | +added to the nosy list. Whenever a user edits an item in the |
| 83 | +Web interface, they are also added to the list. |
| 84 | +</ol> |
| 85 | + |
| 86 | +<p>The result is that no one ever has to worry about subscribing to |
| 87 | +anything. Indicating interest in an issue is sufficient, and if you |
| 88 | +want to bring someone new into the conversation, all you need to do |
| 89 | +is Cc: a message to them. It turns out that no one ever has to worry |
| 90 | +about unsubscribing, either: the nosy lists are so specific in scope |
| 91 | +that the conversation tends to die down by itself when the issue is |
| 92 | +resolved or people no longer find it sufficiently important. The |
| 93 | +transparent capture of the mail spool attached to each issue also |
| 94 | +yields a nice searchable knowledge repository over time. |
| 95 | + |
| 96 | +<h4>User Interface Decisions</h4> |
| 97 | + |
| 98 | +<p>The web interface to Roundup aims to maximize the density of |
| 99 | +useful information. Although this principle is important to all |
| 100 | +information presentation, it is especially vital in a web browser |
| 101 | +because of the limited window real estate. Hence Roundup avoids |
| 102 | +repetitive or unnecessary information and tries to fit as many |
| 103 | +items as possible on the first screen. For example, Bugzilla |
| 104 | +initially displays seven or eight items of the index; Jitterbug can't |
| 105 | +even manage to fit any items at all in the first screenful, as it's |
| 106 | +taken up by artwork and adminstrative debris. In contrast, Roundup |
| 107 | +shows you about 25 high-priority issues right away. Colour indicates |
| 108 | +the status of each item to help the eye sift through the index quickly. |
| 109 | + |
| 110 | +<p>In both Jitterbug and Bugzilla, items are sorted by default by ID, |
| 111 | +a meaningless field. Sorting by ID puts the issues in order by |
| 112 | +ascending submission date, which banishes recent issues as <em>far</em> |
| 113 | +away as possible at the bottom of the list. Roundup sorts items |
| 114 | +in sections by priority so the high-priority items are |
| 115 | +immediately visible; within sections, items are sorted by date |
| 116 | +of last activity. This reveals at a glance where discussion is |
| 117 | +most active, and provides an easy way for anyone to move an issue |
| 118 | +up in the list without changing its priority. |
| 119 | + |
| 120 | +<p><hr> |
| 121 | +(The following has been added for this web page and was not |
| 122 | +part of the short paper in the IPC8 proceedings.) |
| 123 | + |
| 124 | +<h4>Screenshots of the Web Interface</h4> |
| 125 | + |
| 126 | +<p>Here is the <a href="images/roundup-1.png">Roundup index</a>, the first |
| 127 | +thing presented to you when you go to Roundup. Note the use of |
| 128 | +colour coding and the attempt to dedicate maximum space to the |
| 129 | +description of each issue. |
| 130 | + |
| 131 | +<p>In comparison, here is the <a href="images/jitterbug-1.gif">first |
| 132 | +screen you see when you use Jitterbug</a>. No information is |
| 133 | +actually visible! You have to scroll down to the |
| 134 | +<a href="images/jitterbug-2.gif">second screen</a> before you get to |
| 135 | +see any bugs, and even then your view is limited to a paltry |
| 136 | +eight entries. The boldface on the item descriptions helps, |
| 137 | +but the visual effect of the table is still swamped by the |
| 138 | +powerful green header line -- which contains zero bits of |
| 139 | +new information. |
| 140 | + |
| 141 | +<p>As another example, Bugzilla presents somewhat more information |
| 142 | +than Jitterbug in its <a href="images/bugzilla-4.gif">index view</a>, but |
| 143 | +forces you to go through three |
| 144 | +bewildering screens replete with form widgets |
| 145 | +(<a href="images/bugzilla-1.gif">one</a>, |
| 146 | +<a href="images/bugzilla-2.gif">two</a>, |
| 147 | +<a href="images/bugzilla-3.gif">three</a>) before you even get to see |
| 148 | +anything. Examination of the <a href="images/bugzilla-4.gif">index view</a> |
| 149 | +shows that one-third to one-half of the screen area (depending how |
| 150 | +you count it) is wasted on trivialities or empty space, and the |
| 151 | +most important column, the description of each issue, |
| 152 | +is shoved off of the right side of the page. |
| 153 | + |
| 154 | +<p><table bgcolor="#4040a0" width="100%" border=0 cellspacing=0 |
| 155 | +><tr valign=bottom><td |
| 156 | +><font face="helvetica, arial" color="#c0c0e0"><small |
| 157 | +>copyright © by |
| 158 | +<a href="http://www.lfw.org/ping/" |
| 159 | +><font color="#c0c0e0">Ka-Ping Yee</font></a> |
| 160 | +updated Sun 2 Jul 2000</td><td align=right |
| 161 | +><font face="helvetica, arial" color="#c0c0e0" |
| 162 | +><small><small> |
| 163 | +</small></small></font></td></tr></table> |
| 164 | +</body> |
0 commit comments