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.

8 comments:

  1. Hi!

    Tyler from Fog Creek here. I'm not on the FogBugz team, but I thought I might be able to help out a bit with a couple things on your list.

    Various aspects of subscribing to cases covers a lot of your bullet points, so I'll start there.

    Take a look at the AutoSubscribe Plugin (http://www.fogcreek.com/FogBugz/Plugins/plugin.aspx?ixPlugin=20). I think it could go a long way for you. It lets you auto subscribe to various sets of cases, including cases you open and cases in a project, which would allow managers to monitor their projects. If everyone on your team had it set to auto subscribe, you could subscribe someone to a case just by pinging them (assigning to them and then back to yourself).

    As for TOFU quoting, installing BugMonkey (http://www.fogcreek.com/FogBugz/Plugins/plugin.aspx?ixPlugin=16) and adding just a few lines of Javascript to it could place your cursor at the bottom of email replies if you prefer bottom-posting.

    By default, case links are sent in auto replies, but nowhere else. However, you can add them to the default message template in the Mailbox settings by adding the {ticketurl} tag to the template. You can also add {ticketurl} to a snippet if you would prefer to insert it that way.

    The "_garbage" part of the link is an authentication mechanism. It helps ensure that only the original sender can see the link, and people can't just scan your entire bug database. Try hitting https://tghw.fogbugz.com/default.asp?39. You just get sent to the login screen. Now try https://tghw.fogbugz.com/default.asp?39_lgg8dsqe. With that one, you can see the case. Change the last part of it, and you can't see the case anymore.

    If you want FogBugz emails to have your name on them, just select your name from the From dropdown menu, there should be an entry for "Rob McMillin ". You can also add other mailboxes via the Mailbox settings page, allowing you to use other email addresses.

    I don't know enough about FogBugz's LDAP stuff to speak to that. You might want to ask about it on fogbugz.stackexchange.com. Your last point sounds like it might be a true bug. Shoot us a bug report at customer-service(at)fogcreek.com and someone will take a look at it.

    It sounds there might be a few other things you are frustrated with. A lot of problems can be solved by knowing where to look for specific settings or plugins. The easiest way to find that information is on the FogBugz Knowledge Exchange (http://fogbugz.stackexchange.com/). If a question is not already there with a good answer, add one and someone will get you a solution.

    If all else fails, the plugin framework (https://developers.fogbugz.com/default.asp?W1) gives you a lot of access to customize FogBugz just the way you want.

    Cheers,

    Tyler

    ReplyDelete
  2. Thank you for replying.

    I will look into the AutoSubscribe Plugin, but still do not understand why I should have to embed this core functionality in an external product (the browser) when it would be relatively trivial to add it to FogBugz itself. It gives me the opinion that Fog Creek has not really thought about the consequences of their maldesigns in this area, or (more likely) that Joel Spolsky has some very rigid ideological reasons for the way things are that are unsupported by practice -- at least, our practice. (Our instance is not externally facing, so all clients are staff or contractors.) More, it is an after-the-fact workaround unavailable for browsers other than Firefox.

    The _garbage URL link provides me, in addition to the bug requrested, a totally useless list of what appears to be every single bug I have ever worked on since the beginning of time. For me, the entire page represents over a half a meg, with render times approaching 30 seconds.

    The e-mail name dropdown is fine if you want the bug magically reassigned to you. This is another example of puzzling (to put it very mildly) side effects that have no justification whatsoever that I can see.

    FogBugz' LDAP integration is nonexistent (at least in our current release it is) and a long-standing feature request from us.

    ReplyDelete
  3. Just to clarify a few points:

    The AutoSubscribe Plugin, like all FogBugz Plugins (http://www.fogcreek.com/FogBugz/Plugins/), plugs in to FogBugz, not the browser. We realized that what we believe is the best workflow for developing software doesn't necessarily apply to everyone else. The Plugin Framework allows the customization needed to implement those alternative workflows.

    As to the long list of previous bugs when you hit a "_foobar" URL, well, it is expected that most bugs will be submitted via the New Bug form (example.fogbugz.com?command=new&pg=pgEditBug), not via email. Is there any particular reason you don't use the New Case form? The email form is intended to be for users and other external parties, and the list of cases is a convenience so they can access previous cases. The New Case form doesn't display the list. Since you get the user list, this also helps with the LDAP problem if they're in the system.

    If any of this isn't clear, please just shoot an email to customer-service(at)fogcreek(dot)com and ask for me by name, and I can go into more detail and hopefully get you some more specific answers.

    Cheers,
    Tyler

    ReplyDelete
  4. The AutoSubscribe Plugin, like all FogBugz Plugins (http://www.fogcreek.com/FogBugz/Plugins/), plugs in to FogBugz, not the browser.

    Thank you for that clarification. I figured it out after I tried to install it on my browser.

    As to the long list of previous bugs when you hit a "_foobar" URL, well, it is expected that most bugs will be submitted via the New Bug form (example.fogbugz.com?command=new&pg=pgEditBug), not via email. Is there any particular reason you don't use the New Case form?

    You misunderstand me. This is a consequence of replying by e-mail from the form; our installation tries -- and mostly fails -- to add a trailer to the new e-mailed comment that includes a link to the page. The consequence is that if you receive the e-mail and get this link, you end up with a ton of useless cruft at the bottom of the page that adds nothing to the conversation. This may be a site-specific problem, but that it is even available as an option tells me that there's something very wrong going on here. At most this should be a diagnostic, and one only visible to people attempting to debug the package.

    A lot of the problems I have with FogBugz have specifically to do with unintended consequences.

    ReplyDelete
  5. please, PLEASE keep posting. More developers need to speak up against this horrendous product! Joel Spolsky must be the world's sharpest marketing mind for him to actually get someone to PAY for this crap. I haven't met a SINGLE developer who's used FogBugz and liked it! It's really a shame that no one has taken the time to speak up on the subject earlier.

    ReplyDelete
  6. I like it :-) I'm an on-demand user and that way also have to fight latency problems in addition to FB specifics things (I'm located in Europe).

    For example, "Send and close" is horrible and often results in cases getting closed without the intention to do it. In reality one developer wanted to notify another of something immediate important.

    FB has its flaws so has Windows, Linux, my car, etc. I'm happy with it after having tried a few others (including e.g. FlySpray and Mantis, both much more worse than FB).

    ReplyDelete
  7. Why oh why do you need to close a case just to edit a release note??? This makes NO SENSE AT ALL!!!

    ReplyDelete
  8. I like it too! But please keep up with your rants about its faults. Spolsky should hire you to work out the bad stuff :)

    ReplyDelete