My pro web apps: June 2010

June 8, 2010 | 3 comments

I thought I’d list the third-party web applications I use on a daily basis to do my job. There are plenty more that I use for fun (Flickr) or find useful (Twitter) – but these are the things that have become integral to how I make money. I’d be interested to hear yours: if you post them to Twitter with the hashtag #myprowebapps, or leave them in the comments, I’ll do an update in a future post.

My apps, then:

  • Gmail (email). I used to be a die-hard Mozilla Thunderbird user, but during my Elgg days I switched over. There are probably better email web apps to be using these days; ideally I’d like one that runs on my own infrastructure rather than in Google’s cloud. But with one tweak (I have a separate pane that keeps all starred messages at the top of the screen, so I know what to reply to imminently), the default interface is all I really need.
  • Google Calendar (scheduling). I didn’t get into Google Calendar until I figured out how to sync it to my iPhone – and then it became invaluable. I get a reminder of imminent tasks wherever I am. Interoperability with Gmail for event invitations means I have an integrated system for keeping on top of calls and conferencing.
  • Producteev (task management). Until I found this, I’d been using Remember the Milk for tasks, which I never really got into, despite buying a pro account. Integration with Google Calendar is perfect, and the iPhone app has its own push notifications. And for my purposes, it’s free, which is even better.
  • Freckle (time management) has dramatically simplified the way I bill for my time. The integrated timer means I can effortlessly keep track of how many hours I’m spending on what project, and I get to export unbilled hours to a nicely-formatted automatic invoice. Offline access and the ability to mark invoices as paid would make me even happier.
  • Beanstalk (source code management) is by far the best hosted subversion repository provider I’ve found. (Projects can also be hosted using Git.) It integrates with a bunch of different applications, including Basecamp and Zendesk, but so far I’ve only needed to tie it to Lighthouse.
  • Lighthouse (issue management) is low on features compared to Trac (which I’ve used for years), and it’s true that I’d prefer an easy-to-use bug tracker that managed to incorporate things like Mylyn integration and bug priority levels. But when it comes to interacting with clients, given the choice between feature-packed and non-developer-friendly, I’ll pick the latter every time. Lighthouse is simple, well-designed and light years less painful to use than a tool like Bugzilla. It’s also proven pretty useful inside teams of developers, although there are usually complaints about missing features.

It should go without saying that I’m not involved with any of these companies, and none of them have paid me for this post. In fact, in the case of Freckle, Beantalk and Lighthouse, I happily pay them. I think subscription or one-off license charges are probably a better way for smaller software houses to fund their web applications, and I’m really glad to see these kinds of premium models become more popular.

I’d love to hear your thoughts on these, and the apps you find useful in your work. Leave a comment or write your own post and tweet it with the hashtag #myprowebapps.

Bug tracking

March 9, 2009 | 4 comments

All software has bugs; the trick is to find them and remove them as quickly as possible while balancing against the other development you have to do. This is where bug trackers come in: they allow developers to project manage these activities while allowing users and other members of their organization to submit issues while not interrupting the development workflow.

Even though every software project needs a decent bug tracker, finding one isn’t easy. Everything seems to have a downside:

  • Bugzilla, while very powerful, has a near-psychotic user interface – or at least, I nearly went psychotic trying to use it. I’m the technical lead of an open source project with a computer science degree and twenty-five years of programming under my belt; an ordinary user stands no chance of reporting issues in a meaningful way.
  • Lighthouse is really simple and integrates well with email and things like Basecamp. Unfortunately, it’s so simple that certain features – like a drop-down menu that allows users or developers to suggest the priority (or complexity) of an issue – have been deliberately left out of the mix with no hope of inclusion. That means there’s no way of saying that a massive privacy flaw is more important than a minor rendering error, except by integrating with another product.

In the end, Trac seems to be the best solution. Integrations with the Eclipse development environment and Subversion source code repository (through plugins) are a definite advantage, and although the web interface leaves a lot to be desired, it’s nothing like Bugzilla.

The perfect bug tracker needs to encompass these two values:

  • Project developers must find it a significant help, not a hindrance.
  • Users (and project managers) must be able to easily submit useful bug reports, issues and feature requests, and follow progress on them.

Useful bug reports are ones that aren’t duplicated and effectively describe the problem so that the guesswork required on the part of the programmer is minimized. In some ways, both bullet points would be satisfied by a bug submission wizard that falls back to an integrated form once users have become used to the process. At any rate, it requires some empathy on the part of the user interface designer, and more of an emotional approach to the interface design.

In the most perfect world, this would also be fulfilled:

  • In an open source project, external developers must find it easy to contribute code through the same interface.

I’d be interested to hear recommendations for any other products – or to hear any bug tracker horror stories from developers and users alike.

Image Lucanus cervus taken by CCCvrcak and distributed under a CC attribution license.