owen

I’ve been looking for groupware for myself and my projects, and I think I’ve found an enormous hole in these offerings. Here is what I need, why, and how much I am willing to pay for it:

Imagine thousands of out of work software developers. All of these developers turn to the web to make money while they look for jobs. Some have even evolved this into new full-time careers. Some have banded together to support each other and formed small, custom web-development companies. Keeping track of small projects is no problem for these islands of web development, but should they want to take on more work or provide more value to their client, they’re going to need groupware to manage it well. What groupware should they choose? Well, there isn’t anything out there for them.

Here are some fundamental features that web developers might like to have in their groupware:

  • Fast artistic prototyping.
  • Client-developer communication management.
  • Project and task estimation processing.
  • Issue tracking.
  • Web file management and versioning.
  • Project deployment.

Assume that you’re looking for software that allows users, regardless of location, to collaborate on and contribute to one or more projects and track their progress. A project is a group of organized tasks with an intentional, directed outcome. Collaboration allows these users to discuss their individual or group tasks with others involved with the project, including clients. Tracking consists of estimating the length of time required to complete finite tasks and reporting on whether these tasks are being completed accurately and according to the estimates.

Fast artistic prototyping would allow web developers to sketch out a site - just like you would do in person - and post it on a site that the client can access and comment on. This isn’t necessarily a whiteboard application, but something that doesn’t necessarily require the developer to produce files offline and then upload them to the groupware site. This is just for a quick sketch design to ask basic questions, like “Is this the general look you’re after?” or “Which layout do you like best?”

Client-developer communication management would keep all communication about the project in one place. The way I envision this working optimally is that everyone sends email to the groupware instead of individuals, and then the groupware figures out who needs to see the email and forwards it along. Annotations to mesages that are made in the groupware web interface would forward out via email to group members also. All of the messages for a project would be archived for review, so clients can never say “But I didn’t say that”.

Project and task estimation processing allows the groupware to provide essential help in planning and estimating the project. It shouldn’t only provide a means to add simple tasks to the project, but to collate them and produce a task completion date. One of the hardest aspects of doing this kind of work is producing estimates for completion. The groupware should help accomplish this.

Keeping track of individual to-do lists is an important aspect of the groupware, too. Developers should be able to comment on each task as they work on it to save notes for themselves or others. It should be a simple matter of pushing a button to escalate a problem task to others working on the project and send out messages to anyone concerned.

Issue tracking would be part of this process. If a feature isn’t working to specifications, it’s better to be notified while that code is fresh than to let other components be built upon it. Clients should be able to submit issues into the development database directly. Doesn’t it make sense that the client would know better whether the features you develop will work for them?

Web file management and versioning can allow developers a common area to store the files for a project so that others have the latest versions available to them. Versioning is especially important for large projects with changes by many developers, or on updates to older projects.

Project deployment gives your clients a place to watch your progress, not just in Gannt charts, but on the project itself. Especially if it’s a web project, it would probably be a good idea to provide not only a download location of a completed project, but a live version of the project.

Notice how these items fit a process for project completion, and aren’t a conglomeration of features that a group of project workers just might be able to use. It’s a thought-out finite path from start to finish. Unfortunately, most available groupware has none of this.

Most groupware I’ve seen online targets no industry and has no process for completing any project. Maybe you’re thinking that I should be talking specifically about “Project Management Software”, but you should step up to reality here - At what point did you need groupware when you weren’t trying to complete a finite project? You must be working at one of those companies that is perpetually having meetings but not actually doing much.

Currently available groupware fails me in one or more of these ways:

  • Too many unnecessary features.
  • Marketing jargon is incomprehensible by practical web developers.
  • The groupware's poor HTML design would be embarassing for a web developer to show to clients.
  • The groupware is hosted on a server other than the entity who would provide the client's hosting.
  • Too expensive for a small firm to justify.

Most open source groupware I’ve seen has too many unnecessary features. I suppose that having some kind of forum might be useful for client-developer communication, but do you really need forums and email and task comments and a wiki? And tell me what point a forum serves if it’s not tied to a specific task or issue. Not much, as far as I’m concerned.

Incomprehensible marketing jargon is the hallmark of a marketing-driven program. Yes, I’ve been there. Groupware should be designed to accomplish a specific task, not cater to what your marketing department thinks it needs to sell. It should be clear to your market that what you’re offering will help them. Sell what they need and they’ll buy it. Sell what you think they should have, and you’ve got nothing.

Poor HTML design is a problem more specific to web development-specific groupware than in general. Think about this - You’re trying to sell a customer on your great semantic CSS-friendly state-of-the-art design, and then you send them into your groupware that is built with tables, font tags, and frames. That’s not going to sell your skills.

More perplexing to me is that many of the sites that use tables for layout could more easily use CSS. I know, I’ve rewritten the interfaces of two of these just to see if it could be done. For example, my personal redesign for Copper shaves kilobytes of table tags from each page download and it’s CSS-friendly. Likewise for the silverorange intranet solution.

Hosted solutions are not necessarily a problem – Unless you don’t want your files on a server that’s not under your control, that shares its space with potentially hundreds of other companies’ projects, and that is subject to the whims of the provider that offers the service. The upside of hosted solutions is lower cost and persistent maintenance, but if you’re a provider of your clients’ hosting, what does that say to them? “You don’t maintain your own groupware server, how are you going to maintain our site?”

And if you’re serious about your business, wouldn’t you figure that any amount for an installed package would eventually pay itself out instead of $50+ per month in perpetutity for a hosted service? You do plan on staying in business, don’t you? As a web developer you’re likely already paying for reseller or dedicated hosting somewhere, so why pay for hosting again?

And to top it all off, anything that’s not hosted is just too darn expensive. Seriously, if there was groupware out there that was close to what I needed and in the $99 range, I would buy it for my own work almost instantly. If there was groupware that was perfect in the $300 range, I would recommend it to my small company. If I worked for a medium-to-large-sized company, I’d shell out in the neighborhood of $2000 for an enterprise-level solution. Nothing in the current crop meets any of these demands.

Maybe my suggested prices seem unreasonable, but you’ve got to hit that sweet spot of optimum price versus volume of sales. If you’re not making ends meet selling your groupware code at these prices, then you probably should have done some feasability studies before you started coding, no? Just be sure to release your stuff under GPL when you go belly-up so that I can take it over.

It seems hypocritical to say that any price would pay out and then say that $300 is too expensive, but look at it from a solitary or small group developer point of view. It’s going to take several projects to pay off that investment. $50 per month might be doable, but you don’t want to be stuck renting your software forever. It’s a catch-22: Too expensive to buy outright, but costs even more to rent over the long run. Maybe these groupware guys should consider software lease-purchases, where if you rent the software for a fixed amount of time, you can then take the software elsewhere and stop paying for your own installation, or continue to pay a reduced rate for hosting and maintenance. There would be no penalty for stopping service after even one month except that you may have to start over if you intended to do the lease-purchase again. That seems like a nice compromise.

So that’s my take on it as of today. I’m disappointed that nothing out there meets my needs. The needs of The Long Tail in groupware (software) are not being met. Someone please step up because I just don’t have the time.