(This article contains several updates the the bottom, and a recent note about what I’m now using years later.)
I’ve reached the point, like so many developers do, where I need to start using bug tracking software to track issues with my various projects. In addition to this I’m looking for basic project management software written in PHP. My quest so far has been, well, frustrating. My requirements:
It must be written in PHP and support a MySQL backend. It must have an attractive design and be absolutely simple to use. I want non-tech users to be able to submit bugs with a limited view login of their own. I also want email notifications of new bugs / bug changes. I do NOT want added feature bloat like time tracking, etc. Seems like the core of what most bug trackers would do right?
Similar to the bug tracker, I need something to keep track of my projects and their tasks. I have been using a wiki for this, but it’s just not friendly for reporting and organizing etc. It must have a pleasing, clean design and be fairly simple to use. It must allow me to add projects with descriptions, tasks under those projects, priorities, status, and notes. Again, no bloat like invoicing, CRM, calendars, forums, etc.
I would prefer to find both of these needs combined into one simple app, but so far that seems to be a pipe dream. I’d also prefer something that is not a dead project. I’ve been pouring over the demos and screen shots of many, many contenders. If there was no screen shots or demo, I didn’t even give it a chance (with one exception). The following are some of the options I looked at, and what my impressions were.
PHP Bug Tracking Software
- Mantis Mantis is a solid program, but the interface is atrocious. It looks like a big spreadsheet at first glance and would make any of my non-tech users go cross-eyed. It also does not have good skin support to work around this problem. I got as far as the demo.
- Trac I started looking at this program before I realized it was not written in PHP, but rather in Python, which rules it out b/c I want to be able to tweak code myself. In addition it has a strange work flow and is not for multi-project environments (you have to go to the command line to add another project). I don’t need an integrated wiki (I already use Dokuwiki) and while it has a nice clean design, it does not match my project management process.
- eTicket Eticket I actually installed and played with for a while. It’s a nice, well designed, simple program but it does not support accounts & logins for clients (you login with your email and a ticket id. yuk.) and it required me to make too many changes to move around menus and improve the navigation. No logins for clients ruled that out.
- FogBugz This one I judged based on a cursory glance to their website and a review I read here. It’s very limiting in how you can use it and I need something flexible. It also has several features I don’t need and would have to go into it and hide them.
- Bug Genie I tried the demo for this one and didn’t like it. It seemed to have a hand-holding interface and extra non-web related features. Looks pretty good but not what I want.
- BugZilla I think BugZilla is a nice program, and many companies use it. I’m VERY familiar with this one and have used it a lot, but it requires shell-access to install (as far as I know) which rules it out for me, and it’s interface is ugly and I find it kind of clunky. Like when it forces you to add a comment for nearly everything you change on a bug.
- Arctic is no longer free, the ‘FREE’ version limits you to one project. That ended my look at Arctic right there.
- phpBugTracker Here we find a project that might very well be rock-solid and good quality, but a poor design gives a bad impression that turned me off. Design is not an after-thought people!
- AnvilMax From what I can tell, this project is no longer supported. The ‘website’ for it has nothing to do with bug tracking. But, based on the nice looking admin screen shots in the Sourceforge page, I downloaded and installed it. Well, the screen shots are a lie- that skin doesn’t exist in the project and the client-side interface does not live up to the pretty admin screen shots. It is also built on a large and complex code base. So I un-installed it.
- eTraxis This one looked good but there was no demo so I installed it to try it out. It turns out that it’s written to be generic enough that you can track just about anything with it. Not specifically bugs. Setting up templates and permissions is a convoluted poorly documented nightmare, and it did not have enough bug-specific features (like highlighting high priority bugs) so I’ve decided not to use it. But it is a solid little app for tracking general types of things.
- Bug Tracker Here’s the one I thought I would settle for. It has the nicest, simplest interface I’ve seen so far and a special login for clients to post bugs. I installed and played with it for a while, but I came across a couple initial bugs I had to work through and I was also strongly bothered to find that each time you add a new project- it creates 6 new sql tables in your DB for that project! So your number of tables, large to begin with will keep growing. A poor design in my opinion, and it bothered me enough that I decided not to go with it since I may potentially have many projects.
- Fly Spray This is the one I’m currently leaning towards. At first I dismissed it due to it’s kind of gloomy and busy interface, but I may be able to fix that up with a custom flyspray theme and some tweaks to the code (you gotta love open source for that). It’s feature rich and allows me to set the Group and User permission the way I want. So as of now… this one’s the winner. Whew!
- Tiny Issue A commenter told me about this one. Looks clean and simple, but I have not tried it personally.
So, that wraps up my bug tracking adventures. I’m pretty frustrated that I can’t seem to find one that is a perfect fit since I consider my requirements to be pretty basic, but I did find some pretty good options.
PHP Project Management Software
For project management, I tried several including dotProject, phpGroupWare and Achievo but found them all to be either complicated, poorly designed or to have extreme feature bloat. In the case of Achievo it was too time-scheduling oriented and I needed something task oriented.
I finally settled on phpCollab which does exactly what I need with only a couple un-needed features. However I’ve had to work around a few issues such as hard-coded settings, also the project seems all but abandoned, so I will have to do updates myself. Even the root of the project’s website points to an empty blog install, and you have to go to the /blog/ sub directory to get to the main site for the project (this has been fixed after I pointed it out to them on the forum). Not much has been going on with the project for some time so I’ll likely have to fix issues and manage it myself. Which I’m thinking I will be willing to do. I added a phpCollab screen shot to the forum, which seems to be the only screen shot for this program that is available. That’s a shame, because it’s got a nice design and is easily skinable.
Update: May 26, 2009: I’ve been using Flyspray for a little while now and I’m really liking it. The only thing I miss is the ability to search/filter on the reason why a bug was closed. But that’s minor. Excellent work, the creators should be commended.
Update May 27, 2009: I ran across Task Freak which is exactly what I was originally looking for, but not very visually appealing. What is it with OSS that inspires programmers to make free software, but nary a designer to be found. I may eventually abandon phpCollab to use Task Freak instead, but it will need some sprucing up. I might wait to see how the new version looks if/when it is released. I’m also toying with the idea of forking phpCollab and ripping out the silly features like invoicing and sprucing it up a bit. We’ll see. On a related note- who are these people who would use something like phpCollab to do their invoicing? Don’t you use accounting software?
Update June 23, 2009: I like TaskFreak more and more and have stopped using phpCollab which is a bit to convoluted and bloated for me. I’ve also released a Light Blue Theme for TaskFreak for anyone who wants a nicer look. I like to give a little something back to these fantastic free programs.
Update Sept 12, 2009: I seem to be permanently unsatisfied with my quest for a PHP project management app. I’ve been toying with the convenience of tracking milestones and phases in my projects and TaskFreak is too simplistic. I came across Project Pier which I initially dismissed due to its rather ugly design of the website and app. However if you switch to some of the lovely themes it has, Project Pier becomes nearly a totally new application. Very similar to the rather pricey but popular, proprietary BaseCamp. Unfortunately even this nice application has show-stopping flaws. For example I must create a project then under that a milestone, then under that a tasklist then under that a task. Whew! When I finally get to the task level I cannot add a task title + description. Only a title. Also users cannot comment on tasks and I cannot track percent complete or priority. Gah! Soooo close! I’m still using TaskFreak, but am wondering if this is the best the PHP Open Source community has to offer. Many projects are wasting their time on modules like Invoicing. Who on earth are these companies who use an Open Source PM or Bug tracking software for invoicing rather than using their accounting software!?? The quest continues.
Now, my only concern is how I’m going to juggle having a wiki, bug tracker, and project tracker all as separate apps and all relevant to my ongoing projects. That’s a lot of logins I have to create for users, I’ll need to integrate ONE login area somehow.
Update Feb 4, 2013: As my business continues to grow, my client list and collection of projects grows with it, I’m increasingly interested in ‘cloud’ hosted solutions managed by a 3rd party. It’s a relief to offload the burden of updating software, tracking bugs, etc to someone else. For the last while I have been using Feng Office Community Edition (self hosted) for project and contact management, and Bitbucket (cloud hosted but free) for bug tracking and source control. I love Feng Office but have never truly committed to any bug tracker since I still record most bugs in my wiki. This is probably a sign that I still haven’t found the right fit though. I’m still on the search for a permanent, all-in-one solution. Probably on the cloud if the price is right. When I finally find The One, I’ll post an updated version of this article. I’m leaning to BitBucket because Atlassian has paid solutions that look great when I finally need something more hefty.
Update Mar 8, 2015: Still happy with Feng Office (cloud) for CRM and project task tracking. BitBucket for source control and my light needs for bug tracking. Everything else goes in my wikis (Dokuwiki).