What is wProject?

A long time coming, is what it is. Specifically, wProject is intended to be the successor to Task Rocket, which for various reasons (noted further into this post) is long over due for an update. It will feature many of the current features of Task Rocket plus more, and be built on a more robust foundation to make it easier for me to update and maintain going forward.

Why start now?

I think a little history is in order before I answer this question.

A couple of years ago, I casually announced that I had started work on Task Rocket 5. At the time it seemed like the right move, given that Task Rocket 4 was becoming a little long in the tooth – from an engineering standpoint – making it difficult to manage or expand upon.

Circumstances as they were prevented me from making any real progress, and the more I looked at the task ahead the more discouraged I became. When I first engineered Task Rocket in 2013 I did not have any expectation it would be used by so many today, and looking back I wish I’d taken more care with some of the initial development decisions. To give some context to that statement, I originally made Task Rocket just for myself because I wasn’t happy with any of the other free solutions available, and also because I wanted the option to build my own features when it became apparent I needed them.

This mindset led to what you might know as the mechanics car syndrome (or sometimes referred to as the cobblers shoes). In this situation, a mechanic who usually does an exemplary job when working on his customers cars, also takes less care when working on his own. The mental bargaining that takes place is that fundamentally only he can make himself accountable for his own actions, which he is willing to accept, and so theoretically there are no repercussions.

And while I have certainly made some improvements to Task Rocket over the years, fundamentally the code really needs significant refactoring if project management on WordPress is to evolve.

To cite an example of just one consequence of this, each plugin I have made for Task Rocket since has been far more challenging that it should have been. With this in mind, I decided the best move at the time was to just shelve Task Rocket 5 completely.

Fast forward a couple of years and I have found the motivation to look at it again. But this time I came to the decision that the only way to not repeat past mistakes was not to refactor the existing code, but to rewrite it from scratch, including the front-end layer. And so for the past few weeks I have been working on wProject every chance I get.

But it didn’t take long to realise that I needed to make a decision that will possibly affect existing Task Rocket users.

The legacy code challenge

Legacy code is not inherently bad, but it’s also not ideal. When you first code something it does what it needs to do at the time, but after years of being expanded upon and patched it becomes more difficult to understand and maintain. It’s made worse if the code has some questionable decisions made from the outset, creating a good chance of introducing unintended bugs.

As an aside, good developers usually don’t write code today to the same standard he or she did years ago.

I can attest to having made some questionable decisions early on (post meta naming conventions, storing project data in the options table instead of termmeta, and not using a custom post type and taxonomy are a few regrets that immediately come to mind), and am consequently more or less forced to deal with those past choices today by maintaining its code in the same fashion as I did all those years ago, lest I risk breaking something crucial or at the very least introduce bugs.

The aim is to be in a situation where having to maintain the code, fix bugs or add new features doesn’t come with a certain amount of dread and anxiety.

With all this in mind it was a no-brainer decision to do things better with wProject, in a way that makes sense to ensure a maintainable product by avoiding past mistakes. But this comes with a compromise…

What this means for upgrading from Task Rocket 4

As you can probably already guess this creates a problem when upgrading from Task Rocket 4, because nearly everything in your existing database will either be somewhere unexpected and contain data with different post meta. While activating the wProject theme won’t cause you to lose any data, none of your existing projects and tasks will appear on the front-end either, which obviously is not ideal.

Does this mean it will be impossible to upgrade from Task Rocket 4? Pretty much. Under the hood the applications are fundamentally too different from one another, and engineering a suitable solution is not practical.

I won’t dwell on this any more, suffice to say there will not be an upgrade path from Task Rocket to wProject.

wProject FAQ

Will Task Rocket still be supported once wProject is released?

Yes, and I will offer support and fix any bugs that are reported until it becomes untenable.

Update: Task Rocket is now completely deprecated and no longer supported. All Task Rocket downloads have been removed, however, licensed owners can still obtain a copy of the theme or plugins upon request.

Will the Task Rocket plugins work with wProject?

Task Rocket plugins will not be compatible with wProject.

When can we expect wProject to launch?

That’s up in the air. If I’m being honest, I would say a beta might be ready sometime in March, but without any plugins or the proposed Task Rocket upgrade solution. I’m a one-man-army with other responsibilities and a medical condition that sometimes puts me out of action, but what I will say is that I’m super amped to be working on it every chance I get.

Update: wProject did in fact launch in March 2021.

Will wProject have the same features as Task Rocket?

Some of the features will be the same or enhanced, many new, and some Task Rocket plugin features will be baked in. I’m re-thinking the experience and making suitable changes where required, including extensive use of Ajax for a slick productive experience.

Will wProject be free?

No. Because this is a completely new product with significant time and resources dedicated to it.

Can we see it in action?

Access credentials for the online demo can be found here.

As always if you have any questions about any of this, you know how to reach me.