As an owner of a software project, one trap that’s easy to fall into is that of adding more and more features. Quite often these features do in fact add value, but there’s a certain point where adding features ends up being superfluous and actually has a negative impact. At that point, adding more features is akin to "more cowbell," as made famous by the Saturday Night Live skit with Christopher Walken and Will Ferrel. When it comes to deciding on the feature set for a new release, you should ask yourself: "Is this feature necessary? Or is it just more cowbell?"
With Paint.NET, I believe that I have, for the most part, avoided the trap of "more cowbell." However, it’s becoming more difficult. It is very easy for me to add new effects and adjustments and to then put out a new release which results in a spike of downloads, media attention, popularity, and of course … cash. Never underestimate the power that cash can have on the owner of a software project. If there’s no cash involved at all, then progress is slow and at one’s leisure. Too much cash and it becomes easy to fall into the trap of putting out "cowbell releases" because they’re easy. They make money. Apathy can then set in because, hey, rich people don’t have to care, right?
The work that needs to be done for Paint.NET v4.0 is, honestly, quite enormous and even intimidating. And while I’m working on it I need to have at least a trickle of releases using the v3.xx code base in order to keep public attention alive, and also to keep the money coming in. But, I don’t want to make any major changes in the v3.xx design or architecture because then that adds more stuff I have to rewrite or integrate in to v4.0. So, the natural thing to do is to add more effects or adjustments — because of the way these all use the same underlying hosting and execution system, I can literally add tons of these without adding extra work to v4.0.
However, doing this immediately puts Paint.NET into "cowbell territory". I was just thinking about the feature set I’ve made for v3.30, and I’m realizing that it’s teetering on the edge of this. The ability to save in new bit-depths with PNG is useful, but I’m also adding a big group of new effects that, honestly, I’m realizing mostly serve to make the release appear more feature-laden. In fact, I don’t think Vignette and Posterize are really that important, and so I think I’m going to cut them from this release. If you want them then you can download them in Ed Harvey’s plug-in pack from the forum.
So, as 2008 continues to progress, I’m still trying to figure out how best I can get more time to work on v4.0, while continuing a trickle of v3.xx updates, while also minimizing my engineering investment in it, while also avoiding turning those updates into "cowbell releases." One way that you can help is to point out when or if you think you see "cowbell" in Paint.NET!
Agrees, keep it simple.
Let the users pick which plugins they want.
It’s stable & user friendly now.
Spend more time on 4.0 😀
Ash
Instead of adding new effects ad nausm to the main download, start including them as effects packs. Don’t direct people to the forum, host them on the main download page.
Now, whenever a number of effects have been built up, roll them into one download and offer it as a pack. To drive traffic, ping the user when they open up Paint.NET (only do this once to not drive them mad). It keeps people interested while they wait for a truly new version.
Here’s an idea: Create installers for plug-ins. A free tool like Inno Setup, WiX, or NSIS perhaps? Don’t get me wrong, I know what I’m doing when I download a DLL (or extract from a 7z) into the effects folder – and yes, I do read the included Readme files – but we all know how some people are.
Rick, how does Paint.NET handle deleting plug-ins now?
“A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.”
– Antoine de Saint-Exupry
Good choice. I applaud you for avoiding the whole “more cowbell” situation.
This whole cowbell thing reminds me of EA…
As a maker of cowbell, I’m offended! There is ALWAYS room for more cowbell.
[/sarcasm]
Actually, Craig may be on to something.
“I’ve got a fever…and the only prescription…is restraint!”
Christopher Walken never sounded so good. Thanks for the update.
I agree with Craig. Maybe set up a system where user’s can submit their plugins via FTP, and have them displayed dynamically to getpaint.net via PHP. Far out there, but sooo much more efficient than a forum.
To most, forums are something they don’t really want to deal with. Not exactly sure the reason behind this, but it is the truth.
Good luck, Rick. 🙂
Setting up a better infrastructure for plugin stuff goes into that pool of work that if it were done for v3.xx would simply add more work needed for completing v4.0. I agree with what everyone wants here, and none of it is necessarily rocket science. But the more I invest into v3.xx, the more that 4.0 slips further and further away.
I am running a high temperature due to infection, and the only medication that can be prescribed by a doctor is more mechanical audio bovine alerting system
I’m approaching my 1 year anniversary as a Paint.NET user and forum member – discovering it just after the release of 3.0. Looking back over the version history the progression from 3.0 to 3.22 has included a lot of fixes and enhancements to existing functionality with only a handful of ‘new’ features – most of which has consisted of integration of a host of effects previously available as downloads; not exactly quantum leaps, but exactly what you would expect from interim releases. These have mainly been of benefit to users who don’t frequent the forum to download the plugins.
The bulk of the work has been concentrated on fixes and improvements; all of which has only enhanced the product and made it more accessible to new users.
Personally, I would be more than happy to wait 6-9 months for the next release if it meant that release would be the quantum leap everyone is hoping for from 4.0.
One of Paint.NET’s greatest assets is it’s band of supporters in the forum, producing fantastic plugins – these are as eagerly welcomed as new versions of the software itself and I think there is a huge community of Paint.NET users out there who are missing out on the wealth of added functionality the likes of the Shape 3D effect can offer.
What I would really like to see in forthcoming releases would be giving users access to the ‘best’ of the available plugins directly from the main website (ones that have been rigorously beta tested via the forum), that when downloaded are installed immediately; with notifications of updates to installed plugins whenever the application is started – along the lines of Firefox’s add-on system.
Also, custom brushes, transform, smudge & liquify type tools, a-la Photoshop, would be fantastic (the list could go on). I understand that these are major new features and, if to be introduced, would be in the realm of 4.0, but I sincerely hope that this is the direction that 4.0 is heading in. I’m sure many would agree that if we had to go 9 months without an interim release it would make 4.0 so much more worth the wait.
I work as a Business Analyst / Product Manager for a software company and my main role is dealing with clients constantly demanding new features to be added to software. I have to decide what features are worthwhile and will benefit the product and which are just, as you put it, ‘cowbell’; all the while trying to maintain a roadmap as to where the product is going, long-term. I totally understand the concerns that constant interim fixes and small additions push the roadmap further and further over the horizon. I also understand the need for frequent releases to maintain awareness and ‘turnover’. It’s a thin line and so far you are walking it well.
Rick, I would like to say ‘thank you’ for giving the world Paint.NET and giving over so much of your free time to maintaining and improving it. It’s no exaggeration to say that it has significantly impacted on my life and opened up a whole new world of digital art. You are obviously a man of principal and integrity who is not just in it for the money. So keep walking the line between content and cowbell and keep your sights firmly on 4.0 – it would be the best Christmas present you could give to all your fans and supporters.
cjmcguiness — Thanks for the comments 🙂
Also, I’m not worried about the community having to wait 9+ months for a release. I’m worried that my income from Paint.NET will diminish to the point of almost nothing (yes this is a prominent concern of mine, I may as well say so), but especially that it would happen as a function of dwindling public attention and relevancy in an ever competitive market. Maybe I’m over-worrying and things are just really stressful right now.
Do what you need to Rick. We will support you no matter what course you end up taking. 🙂
Please don’t cut Posterize. It’s the one effect I’ve been waiting for PDN to integrate since V2.
Stuart,
Rick already linked to where the posterize plugin can be downloaded, but I’ll post it again.
http://paintdotnet.forumer.com/viewtopic.php?f=16&t=21750
Nice post which really made me think. I’m also a software developer and I will try to think about this in the future. 🙂