Interview: A Look Inside Paint.NET

By Nate Mook, BetaNews

February 27, 2006, 3:45 PM

In the two years since it began as a senior project, Paint.NET has surged in popularity around the world and its developers continue the open source work from their new jobs at Microsoft. BetaNews sat down with project lead Rick Brewster to gain insight into Paint.NET, which he calls "Photoshop for everyone."

Microsoft may not be known for its support of open source, but the company mentored the software in its early stages and Paint.NET is used internally on the Redmond campus. For now, however, Paint.NET remains an "unofficial" project and Brewster says it -- and the code inside -- will remain free. Version 2.6 is now available for download.

BetaNews: Let's start with a little background on Paint.NET. How did the project begin and what was Microsoft's involvement?

Rick Brewster: The project started in January 2004 as a Senior Design project at Washington State University [WSU] (the class was Comp. Sci. 423). Kerry Hammil from Microsoft, who mentored the project that semester, had the idea of updating Paint to make use of the new features in GDI+ (antialiasing, etc).

I nominated myself to the project manager position and the four of us (Brandon Ortiz, Chris Trevino, Luke Walker, and myself) kicked out a v1.0 product in about 15 weeks. We didn't start with the source code to Paint, but instead built Paint.NET from scratch -- I was quite impressed with how easy it was to build an application in C# and to keep it organized.

Kerry's role as mentor was to provide guidance and requirements. She made sure that we had certain design documents in place, that certain deliverables were accounted for (e.g. the help file), and she answered many questions we had about various things.

BetaNews: What are the goals of Paint.NET? It seems like you have built a very powerful image editor while retaining simplicity. Is Paint.NET a Photoshop or GIMP for novices?

Rick Brewster: The primary goal of Paint.NET is ease of use. One rule of ease of use is recognizing that "people don't." They don't follow or even read directions (I certainly don't), they don't read dialog boxes (I hate dialog boxes), they don't backup their files, etc. And many people aren't interested in figuring out all sorts of complex or technical things. They just want it to work. We try to make things simple and discoverable enough so that you don't have to hit F1 and read a page of text just to figure out how to get things done.

Right now I believe we have the subset of features [from Photoshop/GIMP] that most people want to use most of the time. Hopefully we're also doing a good job of introducing more advanced functionality (e.g. layers) to people who would otherwise not have been able to use them (either because of cost or complexity). But if they don't want to use that functionality, we don't want it to get in their way.

I don't believe that we should be aiming to replace Photoshop or The GIMP. Photoshop is an incredible piece of software that is used by serious professionals -- $600 is not a lot of money when you're running a business, and it ends up paying for itself. It also has a small army dedicated to its full-time development, whereas we have three people with spare time.

Right about the time of our v1.0 release, we had an open house at WSU where we had a lot of people come and look at all the senior design projects (not just Paint.NET). There was a young woman who bluntly asked, "I already have Photoshop, why in the world would I want this?" I responded by saying, quite simply, "You wouldn't." I then explained that while she wouldn't have much use for it, other people she knew probably would. Her mom, for instance, might just have a need to resize, crop, or add a caption to an image -- using Paint.NET in this case is much cheaper than Photoshop, and much simpler than The GIMP.

Saying that Paint.NET is "Photoshop for novices" might be slightly pejorative; a better description is probably "Photoshop for everyone."

BN: Who is currently working on the program? Is Microsoft directly involved in its development?

RB: Right now there is myself, Tom Jackson, and Dennis Dietrich. We all work at Microsoft full-time, but none of us work on the same Microsoft projects. Tom and I both graduated from Washington State University. Dennis is handling the German translation and is also what you could call our Localization Manager. Tom's a math genius who "knows things" and he contributes some of the more mathematically complex stuff: GIF dithering, 3D Rotate/Zoom, the math behind the new layer composition, etc. I do everything else -- the guts, the overall architecture, the installer, Web site, UI, performance, etc.

We work on the project in our spare time. You could say that it is officially an unofficial project. It's not like we have a business plan or market penetration goals.

BN: Open source and Microsoft are not usually synonymous. What was behind the decision to make the product's code open?

RB: Paint.NET started as a university senior design project, and part of the spirit of that was building something that other people could learn from. If you're curious how we've implemented Gaussian Blur, for instance, just download the source code and poke around in the BlurEffect.cs file.

We just haven't seen any reason to discontinue this, and having a large C#/.NET application with source code available has far reaching benefits. For example, if you're a company that wants to create a product for obfuscating .NET assemblies (DLL's), or for auto-generating unit tests, Paint.NET is a great program to throw at your new tool. It's over 100,000 lines of code, it's not some small sample app, and it's something that real people use. Those are not two contrived examples, by the way -- I've seen websites with both of those where they used Paint.NET as a test case for their tools. We also use it internally at Microsoft for various purposes.

BN: You've just finalized and made available the release of Paint.NET 2.6. What are some new things users will see in this release? Was moving to .NET Framework 2.0 a major step?

RB: The most immediately noticeable change from 2.5 to 2.6 is the user interface: we upgraded everything to an "Office 2003" look and feel, whereas before we had a clunky Windows 95-era set of icons and toolbars. We also have a new Curves adjustment, seven new layer blending modes, full 64-bit support, and lots of performance improvements. Under the hood we have rewritten the way layer composition is handled so that not only is it correct, but faster. In 2.5 and before we had blending code that was "cross your fingers"-correct, but it had no solid mathematical basis and it really broke down in some important scenarios.

Moving to .NET 2.0 was not really a big hurdle. The biggest challenge was getting our installer and build process to work with both 32-bit and 64-bit. Staying congruent to our "ease of use" philosophy, I didn't think users should have to be burdened with figuring out whether they are on a 32-bit or 64-bit version of Windows and to then decide which installer to download. I also did not want to have to maintain and test two separate installers. This meant we needed one installer that handled both, which is really not as simple as it sounds. Windows Installer was not really designed for this scenario, so we had to be clever and essentially trick it.

BN: What's next on the roadmap beyond 2.6? Any neat features planned for version 3.0?

RB: I think the biggest feature that we can start yelling about is that v3.0 will have the ability to open multiple images within the same instance of Paint.NET ("MDI"). This will also bring along many other major UI changes, as our current model does not scale well past one image.

We will also expose image and layer metadata to the user so that not only can they edit it within Paint.NET, but they can search for it using Desktop Search or Vista. People have also been asking for things like gradients, and we're planning to oblige them.

Other than that, I have a lot of cool things I can talk about but no concrete designs yet. We do not have a planned release date for anything past v2.6.

BN: As development of any software product progresses, programmers often have a tough time balancing the addition of new features without making the product overly complicated and confusing. Is the Paint.NET team making a special effort to ensure the product doesn't become too daunting or bloated to users?

RB: Like I said before, our top priority is ease of use. So... yes. Everything we add or change goes through a gauntlet where we try to determine if any of our users could figure it out or if they'd even care. Many times we have had to work really hard to implement a simple UI on top of a complex feature.

BN: Paint.NET has become especially popular in other countries (and you now offer language packs). Did that surprise you?

RB: Of course it was a surprise -- as was going from 100 downloads a month (May 2004) to over 180,000 (January 2006)! When we originally created Paint.NET we had no idea that anybody would care about it, let alone people outside our immediate social network or even outside of the country.

BN: Any plans to turn Paint.NET into a paid offering or will you find other ways to fund ongoing development?

RB: Paint.NET will remain a free download, although we are now accepting
donations
. The proceeds are actually sent to a Senior Design Fund at Washington State University's school of Electrical Engineering and Computer Science, and it will help them to maintain up-to-date equipment and curriculum.

BN: Lastly, how can people get involved in the project? Are you looking for outside help?

RB: We're not looking for any help on the development or testing side, but you can always visit our forum and lend a helping hand there. There's a big gap in our documentation right now because we don't have a lot of tutorials or "how to's" that really show off what Paint.NET is capable of doing (check out the "Glass Orbs" tutorial by Crazy Man Dan for an example of a good tutorial). There is also the community localization efforts, and we are about to start pushing people to update the language packs for v2.6.

Lastly, the biggest form of help we get is feedback. If you have an idea, a suggestion, or some constructive criticism ... send us an e-mail: paint.net@hotmail.com. We don't respond to every e-mail but we do read them.

Add a Comment (26 Comments)

BetaNews reserves the right to remove any comment at any time for any reason. Please keep your responses appropriate and on topic. Foul language and personal attacks will not be tolerated.

Name (required):

E-mail (required):

Enter Your Comment:

By satu

edited Sep 11, 2007 - 9:44 PM

Am now using the 3.10 version and am so glad to have found it. Am very thankful to Rick and his team for such an easy to use and fast responding software.

Was a faithful GIMP user until I found how easy this was to use. Thanks Rick

Score: 0

By darr5

posted Mar 8, 2006 - 2:42 AM

myvce2006@hotmail.com

Score: 0

By Maurits

edited Mar 6, 2006 - 7:27 AM

What this program also needs is a documented file format in which it stores it's data. That way it would be far easier to import/export .pdn files from within other programs (Photoshop, GIMP, etc.). Right now Paint.NET just serializes/deserializes it's datastructures, which is not very portable.

Score: 0

By salmonmoose

posted Mar 3, 2006 - 12:13 AM

It's a great program;

And I AM a photoshop user. Paint.NET is great when you want to do something quick to a file without having to load photoshop up (crops, screenshots, colour adjustments).

Score: 0

By cjb110

edited Feb 28, 2006 - 8:04 AM

It is a great program, has enough features to be useful for general use without being complicated or bloated.

I tend to install it by defualt, its so handy.

Score: 0

By Bobbitchin

posted Mar 1, 2006 - 5:06 PM

Never heard of it.

Score: 0

By vijay.shandilya

edited Mar 1, 2006 - 12:51 PM

Now microsoft and its followers developing more and more user friendly and Developer Friendly application and Framework. This make them Dull and
unthinkable because they dont now how the things working behind the seen.
They are just happy to use it.Its just make them
mentally handicapped and habitual for Microsoft.
Unfortunately if microsoft not work properly they will be helpless. Is it Important only for the sake of business or It's Really the Growth of Technology?

Score: 0

By skizatch

posted Mar 1, 2006 - 12:52 PM

Umm ...

Score: 0

By Don Juan

posted Mar 1, 2006 - 12:15 AM

I've tried it and really don't like it. It's features and file type support are very limited, so much so that I wouldn't dare compare it to Photoshop. I prefer GIMP, which like Photoshop, supports almost every image format, and is loaded with features, not to mention free.

Score: 0

By Howell

posted Mar 2, 2006 - 8:35 AM

As Rick said about Photoshop users who won't ever use Paint.NEt I thinks Gimp users won't use it either ;)

Paint.NET is a free and easy to use tool and aim for masses.

As Rick said it's made for anybody everyday use... and it does it right :D

I would recommend this simple but efficient software to anybody.

Go on Rick (and the others who work on this project) : you're doing good !

Score: 0

By Vamsi Gangavalli

edited Mar 2, 2006 - 2:45 AM

Paint.NET is definitely one of those cool free tools and there is no doubt about it. you can definetely compare it with Photoshop which comes at $600. Paint.NET can be an alternative for those who cant afford $600 for the adobe product. I guess they are just trying to bring out the best features and we have to encourage the way its coming out. none of the popular tools had all the features at the beginning.

Score: 0

By Mark Gillespie

posted Mar 1, 2006 - 4:24 AM

Do you have problems reading? Paint.NET is not being compared to Photoshop.

From the article above..

"I don't believe that we should be aiming to replace Photoshop or The GIMP. Photoshop is an incredible piece of software that is used by serious professionals -- $600 is not a lot of money when you're running a business, and it ends up paying for itself. It also has a small army dedicated to its full-time development, whereas we have three people with spare time."

Score: 0

By k3of4

posted Mar 4, 2006 - 10:52 PM

The article is strangely worded in this place. Right after they say that it's not going to be good for Photoshop users, they try to make the implication that it won't be softer by saying it's "Photoshop for everyone." Except Photoshop and GIMP users. Heh.

Score: 0

By Mark Gillespie

posted Feb 28, 2006 - 9:58 AM

Awesome app, been using it since V1.something.

The current 2.6 release (and the betas) have all been very stable and high quality releases. The only thing I miss, is gradients, so I am pleased to hear it's on the wishlist for the future.

Score: 0

By cowgaR

edited Feb 28, 2006 - 6:20 AM

I know there aren't plans to replace Vista's Paint with it, but at least it should be 'added' to the Vista OS via some download link (in start menu or multimedia section) what could be seen in Vista's N editions w/o Media Player but with the link for its download.
Many more ppl (counting tens of MILLION in future) would just hit an URL and find out one of best .NET application of its time =)
It could be added to 'validate your OS' benefits section on MS site althought its generally free, the more ppl know about it the better. There aren't good free paint editors out there, Paint.NET is really an exception. And my favorite one ;) I would never ever install or use GIMP for my needs.

Vista is comming with .NET preinstalled, really no pain for new Vista users to try, so let them know, now that it is MS project more then ever!

Score: 0

By GSMiller

posted Feb 27, 2006 - 7:57 PM

Paint.Net is a great program. The only thing I do not like is having to download the .Net framework, which takes several minutes even on broadband. Vista Paint should be this program. I wonder if it will become PaintLIVE in the process of Microsofts rebranding?

Score: 0

By wincement

posted Mar 3, 2006 - 4:16 PM

Ummm... You should already have the .Net framework installed anyway.

Score: 0

By itanshi

posted Feb 27, 2006 - 6:55 PM

great prog, now they need to accept pluginsmade by the rest of the foss community

Score: 0

By Meth

posted Feb 28, 2006 - 11:54 AM

They do accept plugins, unfortunately the API isn't documented yet though so you'll have to figure it out from the available source. 2.6 breaks 2.5 plugins though so as far as I know there aren't any currently but the capability DOES exist.

Score: 0

By GeorgeSantayana

posted Feb 27, 2006 - 5:24 PM

I commend Rick for his vision on this product. The UI is simple, and the program is quite powerful.

What I find amazing about its development, unlike Photoshop, is that each release has brought more powerful features without a proportional increase in the learning curve.

But probably the biggest credit to this program is that it's the first non-development software that made the .NET framework a must-have on my system.

I agree with others that this would make a great replacement for Paint in Vista.

Score: 0

By BklynKid

posted Feb 27, 2006 - 5:20 PM

Congrats to these guys for making a great app.

Thanks!

Score: 0

By mjm01010101

posted Feb 27, 2006 - 4:41 PM

ANother question: Is it going to replace paint on vista?! It should! It's ready!

Score: 0

By wincement

posted Mar 3, 2006 - 4:19 PM

An unofficial project should never be integrated into any OS, let alone Windows.

This program is written by 3 guys in their free time. Support for such a wide distribution would be a nightmare.

I'm content to just install it on my computer to take advantage of it. =)

Score: 0

By nate

edited Feb 27, 2006 - 5:02 PM

Unfortunately, there are no such plans. From the Paint.NET FAQ:

Will Paint.NET ever replace Paint in Windows?
There are no plans to include Paint.NET with Windows. But you can always download it for free from our website.

Score: 0

By Das mod

posted Feb 27, 2006 - 4:46 PM

i second that

Score: 0

By dvferret

posted Feb 27, 2006 - 5:41 PM

i third that!

Score: 0