January 10th, 2017

A New Hope


My dearest Statamic community. An update on the status of 2.2 is long overdue.

I am sorry to have left you hanging this long, wondering what’s happening. I imagine you may feel we’ve been taking you for granted, or taking advantage of your patience. I also imagine you’ve begun to wondering if anything is even happening. I acknowledge that you’ve been promised this major release and that it should have been here already. I can even imagine some of you might see us as a greedy (or perhaps even lazy), small company intent on taking your money and performing the minimum amount of work possible to prevent refunds. We made promises and we didn’t deliver on them.

So here I am today, to peel back the curtain and provide you an explanation and an updated timeline. But first, brace yourself. You’re probably going to be upset about the release date.

The backstory

In short, here’s what has been happening. For 2.2 we bit off a piece of work that was larger than originally expected (our signature move), and couldn’t quite finish it before it collided with the holidays, travel, and temporary time zone challenges. It was close. But close isn’t enough. Last week was my first full week back after Christmas break, and as a team we’re not yet back up to 100% capacity yet. I wish we were, but we’re not.

This update’s primary focus is on a rework of the Assets system, making it operate outside the cache. There are big performance benefits to take advantage of by doing this, not to mention that not having to interact with those IDs directly anymore will make development more enjoyable again. There are a lot of things that needed to be done to make the update seamless, from writing migration scripts to convert IDs to file paths, to rewriting all the Control Panel interactions and features to work directly with folders instead of the cache.

The cascade effect was rather massive. Ironically, this was one of the features that made 2.0 take so long to build in the first place. Lessons learned the hard way.

We were pretty close to having these pieces complete in early November before I did something that was rather foolish in hindsight, I slated a Taxonomies rework to the release as well. Their update had been slated for 2.3, but they were going to receive a similar treatment (eliminate much of the cache, removing IDs, migration scripts, logic to resolve duplicate slugs, fieldtype updates, etc), it felt right to combine them. It is The Great ID Exodus of 2016!

The update’s primary focus is on Asset/Taxonomy performance and ease-of-use.

It was logical. It felt right. I knew it would have been a half-assed update without the pairing. I still feel that way, but wish we could have had one more week before the holidays threw a grenade into the schedule. And here we are, still at it. I hope we haven’t lost you in the wait. It’s been several months now, and if there was anything i could have done anything to speed this up, I would have. I take full responsibility for the failure, both to deliver, and to communicate.

The timeline

As you are probably aware, we don’t generally share timelines and release dates because they’re hard to hit. I fear the failure of a missed deadline, and so we don’t set them. I need to get better at that. A lot better. I owe you all a date, a new hope even, so I doing that which I fear, for you, to hold us accountable. It’s not going to be this week, nor the following week. We are officially targeting the week of January 23rd. That gives us two weeks to wrap this up internally, with a few more days to test.

If you’re available and interested in helping test the upgrade process at the beginning of that week, please let me know. I would be most grateful.

We are officially targeting the week of January 23rd.

Also, we are planning on calling this update 2.5. Yes, it disregards SemVer. Oh well. It represents a rather large change, and a significant shift in how things work (though the update itself will take care any necessary changes to your templates and configs). We want the version number to reflect that.

The lessons learned

I’ve learned a lot over the past (almost) 5 years working on Statamic, mostly the hard way. I learned that I was arrogant, when I thought myself humble. I learned I was very busy, not productive. I shunned the expertise of others, actively choosing to not read, study, and learn from the experts on how to plan, be highly productive, and how to grow. I thought I knew better, that my experience combined with brute force, good code, and intuition would more then compensate for my lack of continual self-improvement.

I’m here to say that after a number of years in this mindset, they don’t. Statamic could be a better, more coherent product, more successful, less expensive, with better support, better docs, and a larger, more educated community if I took the time to focus. To plan. To learn and grow, instead of plowing forward with the team’s nose to the grindstone.

I can’t go back, and I’ve decided I can’t waste anymore energy on guilt and regret. All I can do is move forward, work on converting failures into fuel, ignorance into focus, and do what needs to be done, starting now.

I spent the bulk of my free time over the holidays reading and studying. I read a literal stack of books - the very stack I should have worked through years ago. I sat by the fireplace and read, and highlighted, and took notes. It was like a training montage, except not short, and not set to inspiration 80s music. I focused. I planned. I communicated with my team. I changed the way we’re going to work as a team in 2017, not in a few small ways, but in huge, radical ways. I choose to treat this moment like a tipping point, instead of just another missed target.

I pray you stick with us as we continue this journey. I don’t take you for granted. I do appreciate you. We will deliver the value you deserve and the features you need for the hard earned money you spend on supporting Statamic.

Most sincerely,
Your scrappy leader – Jack