As developers, we get better over time. Each year we look back on what we built the previous year and we see ways that we could improve on it. We notice ways that we could have made a process more performant, or a UI more streamlined. Since we spent the last year honing our development skills and increasing our knowledge, we can easily identify pain points in past work. It is one of the natural flows of development.
Unfortunately, going back and refining a feature or improving an API is often not very high on the priority list. There are too many awesome new features to build instead!
In June of this year, my team and I released Easy Digital Downloads version 2.0. All things considered, it was a very significant release that spent many months in development. Once it was released, I was really proud of it. I felt we had done some truly great things to the platform with version 2.0. If you go and look at the announcement post for the release, however, you may notice that there were actually very few significant new features introduced. The most significant new feature was the introduction of a dedicated admin screen for API keys, but this is a feature only a small number of users use, so it’s really not that major.
2.0 was this major new version that we spent months developing, so why weren’t there many, many new features? What happened to dynamic discount codes? Where did the idea of dedicated sales page per products to? Why didn’t we add the ability to bulk import price variations? All of these would have been major new feature introductions, but we didn’t build any of them. Why? The answer is quite simple, actually: refinement.
When 2.0 was in development, EDD had reached a point of having tens of thousands of active users and a significant number of high profile sites relying on it for their e-commerce processing. This also meant that the amount of time needed to provide high quality technical support to all of these users had grown significant as well.
I had become painfully aware of just how many areas in the platform were in need of some significant improvement. For example, on average, we had one to three difficult support tickets per week related to the tax system not working properly, especially for European users.
My team and I have been very fortunate to experience rapid growth and a quick road to a sustainable business, and much of that was due to our rapid introduction of new features that helped make EDD attractive to a larger and larger user base. It also caused a problem.
We grew rapidly enough that our focus, at times, had to be placed on getting feature X or feature Y out the door while feature A, B, and C sat in the shadows, not-so-silently suffering from a lack of attention.
Version 2.0 was the release where I wanted to take a step back and look at what we had already done and determine which of those features we needed to improve.
Many people would say things like “what awesome new features are you building into 2.0? It is the big 2 dot 0, it must be awesome”. My answer probably disappointed a fair number of people: “we aren’t building many new features, we are focusing on refining what we have”.
EDD started as a simple e-commerce plugin to sell digital products. In version 1.0, it had the ability to take money in exchange for delivering a download link. That was it. There were no extensive reports, there were no logging systems, there was no REST API. So many of the features that EDD has today simply didn’t exist early on. While I love that we have been able to build a more expansive platform that more and more users love to use, a large part of me misses when EDD was a lot simpler. Over two years, EDD had started to lose the “easy” part of its name and I wanted to strive to improve that for version 2.0. That meant refinement, not feature introduction.
This morning, a rather negative post was released discussing some of the new highlights for the upcoming WordPress 4.0 release, and just how “underwhelming” the release is going to be.
First off, I’d like to be clear that I absolutely love what is coming in WordPress 4.0 and having nothing but huge respect for Helen (the release lead) and everyone else involved. They are working exceptionally hard to get 4.0 finished and to make it the best version of WordPress that has been released to date.
The post above makes the claims that WordPress is no longer innovating and getting boring because it isn’t introducing major new features with this release. According to many, 4.0 is supposed to be a major milestone release since it is the big 4 dot 0, and sure, there is some truth to that, even if it is just that we internally would like to see something huge and awesome.
I am really saddened that people can look at the upcoming WordPress 4.0 and say things like “not innovating”, “not pushing the limits”, “not working hard enough”. The amount of work and effort that goes into refining existing features is often magnitudes greater than the amount of work required to build a brand new feature.
When building something new, you don’t have to worry about all of the ways that developers and users may be using the feature since it doesn’t exist yet. However, when improving an existing feature, you have to be very mindful of what developers have built on top of the feature and how users may be using it because the last thing you want to do is fatally break thousands, or millions, of websites during an upgrade.
Refinement is excruciatingly difficult, especially when also striving for complete backwards compatibility.
I for one love what is coming in WordPress 4.0. If you do too, take a moment to thank Helen and everyone else involved for their superb work in making WordPress better and better.
New features are easy, refinement is hard—harder than many can imagine.
20 thoughts so far
Have your say
Their headlining strategy is underwhelming at this point.
You don’t like the conversation? Change the topic. You don’t like what you’re getting out of WP? Build your own CMS.
I mean really, at this point, it’s just getting old. If your customers are reading the posts, they might be questioning WHY you’re selling them on this platform to begin with. Hooray.
Take the talent you have and the unique tech you’ve built and roll your own platform.
/endrant (sorry for using this post as a soapbox)
I love you, Pippin
Totally with Pippin… refining existing functionality might suck sometimes, but it’s frequently just as important as adding new stuff (if not more so). WP4.0 looks awesome in my book (and so was EDD2.0, though I might be slightly biased)!
To an extent I understand the complaint. Dot 0 releases tend to be more visible in terms of features with point releases being smaller, more targeted improvements. It can certainly be debated as to whether this release qualifies as “significant enough” or not in terms of features, but in the mind of the other blog’s author, it does not.
I think these refinements are really important and I am really looking forward to 4.0. As someone who spends entire time working on WordPress (as editor not as a developer), I can say that this release is going to make many things easier for users like myself. We want existing features to be improved, become faster, and this is what 4.0 is going to do.
For example just look at changes in Post Editor. I really hated double scrollbars and the way we had to scroll up and down. This single change will improve things a lot for me. Not to mention the media grid view which is much faster than the old media library. If we only count the time these changes are going to save, then I think 4.0 actually outshines many previous releases.
As for users expectations, I think there will always be users disappointed with one thing or another and they are entitled to their opinion. We are still getting complaints from users who don’t like auto upgrades, admin color schemes, customizer, etc. I guess it is not possible to make every one happy with each release.
As for innovation, WordPress is an open source project. If a group of people want something implemented then they can work on it. They can submit patches, add feature requests, write plugins, get the community exited about their proposed “innovations”.
I love the improvements to the post editor. Superb.
The unerring challenge of whether to focus on feature or finish.
People might be spitting at the 4.0 release but it’s just helping the shine.
The next release of WordPress better be an ACTUAL effing rocket star-ship with warp speed and food replicators or I’m gonna be sooooo underwhelmed and pissed-off.
That came across as amazingly entitled.
The thing to understand is that 4.0 is ‘just’ another release. We, the software users of the world, have been taught that a full number increment is a major-leap release. But that’s not the case here. It’s just another uptick in the march forward in constant improvement. Most folks I know are looking forward to 4.1 with the projected inclusion of the Rest API in core. But will that be enough for you? …For everyone?
Haha obviously that was pure sarcasm pointing out the silliness of people expecting WordPress to bloat into something crazy. Imagine if I seriously expected WordPress to be a spaceship?! haha
Hehe, don’t worry Phil, I picked up on that 🙂
Well played, Phil.
I didn’t pick up on the sarcasm because we’ve seen a decent amount of ‘this severely underwhelms me’ comments in our Facebook group, Advanced WordPress. You sold me on your mock expectations.
haha cheers 🙂
Can’t tiptoe round 4 when I’m looking towards 8.
At this point in WordPress’s life cycle what I am excited about isn’t the features in a whole number version increase but the fact that all the updates from here on our are happening automatically and in confidence.
What a mark of achievement.
Simpleton from Texas viewpoint:
WordPress’s chief concern should be to focus on the foundation. The fundamental portions and functions that establish WordPress.
Our job is to find avenues, plugins, and functionality to BUILD on the existing foundation.
According to Raelene, the folks at WPMU find the release “hugely underwhelming”. Hell, you want to have an opinion Raelene? That’s fine and dandy. But don’t forget what foundation you’ve chosen to build your house on!
If you don’t like it, then you can….. eh… I should stop 😉
New features? That’s plugin territory. 🙂
Comments are closed.
Leave a reply
Join the discussion