Friday, March 5, 2010

Communication, or Lack Thereof

The first and most vital thing we do as programmers is communicate. And yet FogBugz strangely refuses to assist in this activity, at times actively interfering with this process.
  • Form e-mail doesn't know about LDAP users. This means if you use the Reply feature, you get to type in the full e-mail address of the person with which you wish to communicate every stinkin' time (unless those persons were on the last e-mail message for the bug). Unlike every other field in FogBugz where you can insert a person into it, it doesn't even give you the option of filling in a name from its own internal list, even though it has e-mail addresses for each and every one of them.
  • It's not possible to subscribe a third party to a bug.
  • It's not possible to tell who is subscribed to a bug. This is even stranger. Should I ask my coworkers if they care about this bug? I keep sending off one-off e-mails to others to give them the idea that maybe something I'm working on is important.
  • E-mails sent from the form do not automatically include a link back to the bug...
  • ... or if they do, they also include a _garbage string at the end of the URL that causes bizarre and pointless data dumps.
  • E-mails sent from the form do not indicate the actual author. I have to manually indicate that I am the author of the e-mail, since all e-mails originating from the form are identified as being from FogBugz.
  • The bug creator and/or current assignee does not automatically get subscribed to bugs he writes/is assigned. Why not? If somebody changes that bug, don't I, as the person responsible, want to know what is going on with it? I could understand it if the person is a management type who only really is interested in state changes or handoffs (Joe Coder broke the frobnitz() method, let him fix it, etc.), but that is an entirely different matter that could be handled with some relatively simple changes. Such as:
  • There is no way for management types to be updated on only their charges' bug state changes. The tradeoff I seem to hear from the Fog Creek people — and I would really like to get to the bottom of this at some point — is that the Bugzilla model of bug tracking is fundamentally broken for large, commercial development environments because it assumes everyone has an equal interest in all communication that goes on during development. Clearly, this assumption is incorrect. But FogBugz goes too much the other way, hampering developer communication by making far too many things optional or developer-dependent (bug subscription in particular).
  • Microsoft-style TOFU quoting. I realize this is "standard" for some version of that word, but it stymies clarity; point-by-point interleaved responses make the discussion much more straightforward. Making TOFU standard means two things:
    1. E-mail replies from e-mail clients that actually do interleaved quoting are entirely at the mercy of those clients' word wrapping. (Thunderbird, for instance, annoyingly but entirely within the standard, strips all newlines and reformats each paragraph as a single line.) This doesn't help with ease of reading.
    2. TOFUers end up shoving tons of quoted text that is all but certainly redundant with earlier discussions.
  • Replying as yourself when using e-mail from the form to reply in a bug causes the bug to silently be reassigned to the writer. Why?
  • Lastly (for now), my favorite trivial bug within FogBugz: E-mail using "bug XXXXXX" in the subject spawns a new bug. If you use "case XXXXXX" this does not occur. But this is the only place in the whole package where this equivalence is not recognized.
Enough for now.