About two weeks ago, we released a major update to NextGEN Gallery with version 2.0.0. That release has been great for many, and we've gotten great feedback from those successfully using the new interface and features.
Unfortunately, this release has also been very bumpy for many NextGEN users. There have been an uncommon number of bugs and issues, some of which have been severe. Users who've experienced these problems, especially in the WordPress.org forums, have asked us hard and entirely justifiable questions about how we could have released something with so many bugs, whether we responded the right way, and even whether we should consider reverting back to the Legacy version of NextGEN Gallery until (or rather than) fixing and resolving issues in 2.0.
This is a letter directed to those users. The issues you are experiencing are substantial enough that I feel it's necessary to offer some transparent thoughts and responses.
There Are Many and Big Issues
I want to start by simply recognizing that, yes, there are many and very serious issues with this update. No doubt about it. We've been caught very off guard. Those of you experiencing these problems are entirely justified to feel angry and ask hard questions.
We Care About Everyone Experiencing Issues
I personally understand and empathize with the pain and cost imposed by bugs and especially by severe issues affecting gallery or site functionality. I apologize if you've been badly affected by the update.
We run websites for a living, and when we have an issue on ours, I consider it critical. I know the emotional anguish and anger I feel toward, say, our hosting company when our site goes down.
For us, it's not a question of not caring. It's a question of what's the best way to respond under immense pressure from many directions.
We are working ourselves to our physical and emotional breaking points trying to respond to users and solve issues as fast as we can because we do care. I'm honestly not kidding about this.
Pre Launch Testing
Some users have suggested we didn't do adequate (or any) testing. We did, in fact, do abundant testing prior to 2.0.0. We did many rounds of internal testing, across different platforms, browsers, hosting companies, and with popular plugins installed. We also asked several outside developers and coders to test the plugin separately.
We also released a public beta (http://www.nextgen-gallery.com/nextgen-gallery-2-0-beta/). This was out for a month prior to the release and downloaded over a 1,000 times. We received and incorporated substantial feedback from public beta testers.
The First Big Question: If You Did All This Testing, Why Is It So Buggy and Not Working for So Many Users?
This is the main question most people are asking us, and to be honest, it's a hard question we are asking ourselves. Taking into account all the feedback and patterns we've seen so far, I want to offer my best analysis.
The root cause, I believe, is really that we released a massive overhaul of one of the most popular plugins in the WordPress ecosystem, a plugin that is deeply embedded in that ecosystem, that touches many things, and that is active on over half a million websites that together represent a remarkably diverse collection of environments and set ups. We tested a lot, but we probably should have tested more and differently.
It Is Working Well For Many
Before going further, though, I want to emphasize that, despite appearances in the forums and despite the impression of each individual user who experiences a problem and assumes everyone has it, NextGEN 2.0 IS actually working well for many users. Working well might mean flawless, or it might mean minor bugs that one can expect with an update of this size and scope.
What About the Forums and Voting?
I can understand why anyone with issues, and especially any who has been in the support forums, would be skeptical of the idea that it's working for most people. The forums and voting definitely do not convey that.
The discrepancy is partly because forums are specifically where people go when they have problems. When everything is working fine, people don't spend time there.
For the voting, the pace at which we are collecting "Works" votes (vs "Broken") is fairly similar to other releases we've pushed out prior to the big update. But there is a huge surge in "Broken" votes for the same reasons as above: the majority of people visiting the NextGEN WordPress.org landing page right now are those with problems from the update.
On voting, there are two other considerations. First, NextGEN offers hundreds, maybe thousands of specific features and functions. If even a handful of those features are not working, most users still vote "Broken." Second and related, not all the "Broken" votes you see there are people having major problems. Many of them are things like the basic thumbnail column setting not working properly.
My point in all this is not that we don't have problems, but rather that if you are living in the forums right now, you're getting the sense that it's completely broken for everyone, but it's not. It's working for many, and among those that have problems, all the problems are different, some are serious, and many are smaller and less serious.
OK, so even if the update is working for many, it's also very true that it's not working for many others. That means the question still remains: how can that be if we did all that testing?
At least part of the answer is that doing anything with NextGEN is magnified by sheer numbers. We've had well over 100,000 updates since launch of 2.0.0. If you cause problems on 3% of those websites, that's at least 3,000 people with problems, and if they go looking for help, they largely end up in forums and other venues for troubleshooting problems.
Another part of the answer is just sheer plugin complexity. Prior to the update, NextGEN was already immensely powerful, flexible, and complicated, and we've only magnified that. When that complexity interacts with the sheer number of users, other plugins and themes, extensions, and other environmental factors, it's especially easy to produce problems.
Age and Points of Interaction with the WordPress Ecosystem
NextGEN isn't just popular. It's old, and it plays a major role in the WordPress ecosystem. It's been built-on, extended, integrated, and customized by hundreds of thousands of users for the last 6+ years. Trying to introduce a major overhaul into that web of extensions and integrations and customizations also just means that there are more opportunities for problems.
The Pattern: Many Separate Problems Each Affecting a Small Group
The general point I want to make, though, is that we're not finding "obvious" problems that are affecting everyone. What we're seeing is many, many separate problems, each of which is affecting a small group of users in specific conditions but not the rest of the community.
What that means is that if you are experiencing a problem, there's an overwhelming likelihood that most other users are NOT experiencing it. We certainly are not experiencing it or seeing it on any of our test sites. It's you, and a small group of others, that together are using a specific plugin or theme, have a specific server configuration, or have similar customizations or other environmental characteristics. Conversely, what's working for you is very possibly broken for someone else because their plugins, themes, or environments are different.
Most bug reports we get right now are hard for us to duplicate even when we actively try to do so. We try all kinds of extra plugins or adjustments or set ups just to see if we can duplicate the same problems that each user thinks is a general issue affecting everyone. The difficulty we have duplicating reported issues is one reason we always ask for login credentials.
We Still Should Have Tested More
One very valid counterpoint to all this is that we knew going into this that NextGEN was hugely popular, complex, old, extended, customized, integrated, etc, and that this very fact created the real possibility that we'd see the pattern that we're seeing. That is, what we really needed to do was mimic, in our testing, the diversity of environments we know existed in the NextGEN community. There's some real truth to this point, and that's probably the biggest take home point for what we would have done differently.
The only defense I'd offer is that we did try to test in at least reasonably diverse environments internally, and that this was one reason we pushed out a public beta for testing prior to the release. Beyond those steps, I'm not sure how feasible it is for our small team to truly mimic the diversity that exists in the NextGEN Community.
The Next Big Question: What Do We Do About It?
This is the question that really matters right now.
Solve Issues, Fast
Right now, our overwhelming focus is to solve issues as quickly as possible and get things under control. We believe that's the best path forward, and we believe that we can resolve a large percentage of problems within a few updates. The main thing that will take time beyond the initial phase is tracking down and fixing specific plugin and theme conflicts.
What You Can Expect
For the time being, we are planning to push out official updates on or near Monday every week. Between updates, we will push out informal mini-releases every day or two that contain any fixes we've introduced up to that point. You can download those latest mini releases here:
We are planning to maintain that schedule until the issue volume normalizes.
Some users have suggested we should introduce warnings for those updating from 1.9.x to 2.x, alerting them to the magnitude of the update. For this to work, it would really need to appear for people upgrading from a Legacy version (1.9.x). And for that to happen we would have needed to include that code in the legacy versions. Specifically, we could have pushed out a 1.9.14 just before the big update that included the warnings. At least everyone updating to 1.9.14 and then to 2.0.0 would have seen that warning.
I think that in retrospect that is not a bad idea, even if we thought at the time the update would be relatively smooth. But it's not a solution we can deploy now. It doesn't do much good for people updating from 2.0.0 to 2.0.7, for example.
Go Back to 1.9.13?
Numerous users have suggested that we should just reverse the whole update and bring everyone back to 1.9.13 until we work it out. I'll be honest that we've talked about this as well. But we are not pursuing it, at least not yet. Why?
First, for those who want to go back to 1.9.13, they can already do so. See our roll back guide: http://www.nextgen-gallery.com/how-to-rollback-a-version/. Yes, we know that method requires FTP, which is not friendly for all users. For that reason, we have, as yet another user suggested, considered a one-button rollback function. But there are serious concerns about how you manage that kind of reverse update outside the WordPress update system. It's just not that simple.
Second, NextGEN 2.0 is already working for many, and it would be equally traumatic for them to be forcibly rolled back to 1.9.13 when they are using and liking 2.0 just fine.
Third, we believe we can solve a large percentage of current issues relatively quickly.
The main things that would compel us seriously to consider an official rollback would be if a) we prove unable to solve current issues to a reasonable level quickly enough or b) a majority of users, once they experienced the new 2.0 interface, actually tell us that they like the old version better (based on the actual interface and functionality, not because it's buggier). If users honestly feel that way, we'd consider it. We'd be very surprised, but we'd consider it.
Notes on Code Quality, Team Size, NextGEN Pro
In forums, some users have suggested that there is a high volume of issues because the code quality is poor. The issue is not code quality. We're fairly confident that most knowledgeable software programmers who look at the code will conclude that NextGEN Gallery 2.0 is well-built and abides by most modern coding best practices. Indeed, even some of those who've criticized the bugs in the forums have conceded that the code quality is solid and that it's clear we're building a potent platform for future development.
Finally, I've seen a small number of users refer to us as "corporate" or as a "software company" that for some reason doesn't care about NextGEN Gallery. That probably burns as much as anything. Our entire staff is currently 9 people, of whom 3 are developers. The others work hard to provide technical support for 18,000 Photocrati users and a couple hundred thousand NextGEN Gallery users; manage our blogs, social media, email, and SEO; and manage our business details. Plus me. The burden for solving the current issues falls overwhelming on our three developers. They are talented, and they are working very hard right now, but there are only three of them.
All of us care very deeply about NextGEN Gallery as a free, open source plugin and a major contribution to the WordPress community. We've collectively invested years of our lives, buckets of sweat, and way too many late nights to produce what we believe will be an amazing image management platform for the next decade for WordPress.
Yes, we've released a NextGEN Pro upgrade as well. The Pro version doesn't replace or take anything away from the free version. It's an add-on that offers new display types and eventually e-commerce for those who want them. I should add that the Pro version, and the Pro Members who pay for it, will also subsidize the ongoing development of the free NextGEN Gallery. I know that there are always some in the WordPress community who dislike anything paid, but most major contributors to the WordPress universe recognize and celebrate that "premium" can exist with and even support the development of "free" plugins and themes.
So to summarize, we know this update has been characterized by many and severe issues and we recognize and empathize with the cost this imposes on the community. I apologize both personally and on behalf of our team to each of you.
We want to emphasize that we did test thoroughly, that it is working fine for many users, and that what we're seeing are not so much general or obvious issues so much as many localized problems affecting specific groups of users in specific environments. These are challenging to work through.
Regardless, there are a ton of issues. And no matter what we say, if we've negatively affected your gallery or site functionality, you have all right to be angry, ask hard questions, and demand rapid resolution of your problems.
We believe the best thing we can do is keep working ourselves to the point of exhaustion to track down and solve things quickly for you.
NOTE: What To Do If You Are Having Problems? The best thing you can possibly do is submit a bug report with as much detail as possible. If you are willing, please include credentials. Many of these issues are ones we can't duplicate on our sites, and being able to login and see the issue and what may be triggering it dramatically accelerates the pace at which we can solve your issue.