NPS Image Editor started under the name "Nookkin's Paint Shop" in 2005 when I was 13 years old, using Visual Basic 6 running on my very own Windows 95 computer. Here is its journey through the years.

Nookkin's Paint Shop 2005

This was pieced together from online code samples and never released publicly. I had come up with the trade name "RatWare" because I had pet rats.

Nookkin's Paint Shop 2006

As I learned how to program, I made more changes to the 2005 release. This was also never released publicly. This added a new splash screen (with startup sounds... I thought those were cool back then), color picker options, and Tip of the Day. It also added a very early version of color cycling.

Tip of the day, recreating buttons with images copied from Windows XP screenshots. (I was using a Windows 95 machine at the time because I was 13 and had no money.)

The NPS Color Picker made its debut in this version.


"PANGO" was just a silly name I came up with to refer to the shared code within the program. I made a logo for it and stuck it in many places but never really made a library or anything like that.

The "MS Paint" style palette came with what I considered an improved set of colors but you could also choose the ones from Paint. There were additional palettes available as well.

Filters were added (with parameters but no ability to cancel).

Options dialog

Brush editor

Nookkin's Paint Shop 2007

2007 has a chaotic new splash screen demonstrating my image editing prowess at the time, full of lens flares, fractals, and more. The "RatWare" name went away but the rats did not. This was released to friends and family on CD-ROM.

The sidebar that's been a hallmark of NPS Image Editor also made its debut in this version with a swatch palette, color cycling, and an RGB indicator showing the relative R/G/B values of the selected color. The "MS Paint" style palette was removed.

The Tip of the Day dialog greets you and provides many options for dealing with tips, including the ability to rename any of the controls. (Pretty cool, huh?)

Some updates to the color picker

A bit more configurability

A custom .NPI file format was created, which offered no real advantages over BMP (though you could embed other stuff into the files). It was made for fun. (That's all there is to it, in case you're wondering what all of the references to "NPI" in newer versions refer to.)

Nookkin's Paint Shop 2.0 codename "RatTamer"

In case it's not obvious from some of the above screenshots, I like rats (as pets) but the rats were a little... excessive, to say the least. NPS 2.0 was codenamed "RatTamer" and focused on creating a more professional-looking application. It added UI skinning, new settings, and more.

The splash screen was a much "tamer" version of the rat.

The main window and Tip of the Day dialog got similar treatment. Icons were themed in purple to match the UI as well.

The NPS Configuration Panel debuted in this version, replacing the old Options dialog that was still available.

...as did the System Information dialog.

This is the first version to actually support extensions. Filters were migrated to run as external files and could be added or removed without modifying the main program. The filters additionally got cancel buttons (yay) and a real-time preview!

The file save dialog was enhanced with extra options.

This version was distributed on CD-ROM as well as limited availability online. The CD-ROM version had the below splash screen when inserted.

NPS 2.1 codename "Lagoon"

This was largely a reskinning of RatTamer and is also the first release to use the "NPS" name instead of "Nookkin's Paint Shop". This necessitated a new splash screen.

It was also the first version to be built with Windows Vista in mind and made to (at least somewhat) work with UAC.

A new Welcome dialog was added in place of the Tip of the Day dialog which also added quick links to common tasks.

The Component Manager was added and Brush Manager was moved here. The editor received a new skin.

NPS Codename Obsidian, Milestone 1

Around 2007 I started on a complete rewrite of NPS Image Editor using Visual Basic 2005 in place of VB6. Unfortunately I could not reuse any of the VB6 code and kept working on RatTamer/Lagoon in the meantime. In early 2009 I released Milestone 1... it wasn't much but it was a start. It could draw lines and load/save files, and even had a color picker albeit an extremely limited one.

The shell of what will become the color picker

Obsidian, Milestone 2

A sidebar was added but no functional color palette yet. The MS Paint style palette was added back on the bottom.

The Configuration Panel had a few items in it but none of them worked.

Obsidian Milestone 3

Milestone 3 implemented a lot more things but still far from usable.

A new "Obsidian" logo and splash screen were created. Of course being a milestone build, the logo is plastered over with information.

The sidebar has a working color palette but the colors can't be edited. The color picker dialog is no longer just a shell!

Whoops! Guess that's one way to show off the shiny new crash dialog.

Obsidian Alpha 1

Alpha 1 implements the "major" drawing features including rectangular selection, adds more color pickers, and adds a more functional Configuration Panel.

New splash screen

Main window. Unfortunately it has the "infamous" half-pixel offset bug due to my misunderstanding of GDI+ at the time (and yes, the welcome screen proudly advertises that it has been fixed even though it clearly hasn't).

Configuration Panel with more implemented pages.

Filter support was added, though all of the filters were for NPS 2.x and did not support alpha channel editing.

Users were encouraged to send feedback and the online form worked!

Obsidian Alpha 2

Alpha 2 adds the welcome screen that is the basis of the one in the latest version.

Color schemes are supported now, although the preview doesn't do anything until you apply.

Obsidian Extension Model support was added here and a few filters shipped with the release.

The Quick Evaluator was added as a color selector.

Obsidian Alpha 3

Alpha 3 didn't change much visually but implemented more of the paint tools and fixed a lot of bugs including the half pixel offset issue. Tile Image was added, as were transparency modes. Still missing Freeform Select, Magic Wand, Gradient, Polygon, and Bezier.

The text tool is pretty terrible but technically puts text on the screen (and the font cannot be changed).

This was the first (and only) release to be explicitly compiled for Mono. It used the "Nookkin's Paint Shop" name as a tribute since my relatives who used the original Nookkin's Paint Shop wanted a Linux version.

And here's a slightly older never-released one running on Linux (only screenshot I could find). Too bad it never worked, though Mono was in its pretty early stages at the time so it was probably just missing critical APIs. From what I remember it could draw but couldn't save the files.

Obsidian Alpha 4

This fixed a lot of bugs and added missing functionality. Freeform Select, Magic Wand, Gradient, Polygon, and Bezier tools were still not implemented but the buttons in the toolbox were grayed out.

The Color Picker switched to tabs on the left instead of along the bottom bringing it much closer to its present-day appearance. The RGB mixer received an alpha channel. HSL and YUV color space support was added to both the Color Resolution Engine and the UI of the color picker.

Obsidian Beta 1

With much fanfare, Beta 1 was released in August of 2012, just in time for my senior year of college to start back up again. I was applying for internships and wanted a great résumé builder so I had spent the previous summer working on the beta and it paid off.

New splash screen of course.

The "Elegant" color scheme made its debut here. It was a flatter look that removed gradients. The update notifier made its debut as well. The MS Paint palette was hidden by default reclaiming some much-needed vertical screen space but it can be re-enabled if desired. All paint tools including freeform select were implemented; Magic Wand and Gradient were scrapped.

Document recovery based on using the undo buffer's raw data

The text tool sort of works, you need to set the font first and can only type the text once with no ability to reposition.

The feedback form was updated, including a colorful selector for severity.

The Beta 1 release also coincided with the launch of the NPS Image Editor website.

Obsidian Beta 2

This added a bunch of features including a complete text tool, more filters, and optimized performance with ngen.

The text tool is complete! Text can be previewed and edited before placing.

Color swatches now support dragging and dropping to rearrange, and the swatches are slightly larger.

The Color Picker added CSS3 support and many more modifiers for the Color resolution Engine.

Obsidian Beta 3

This release added better support for Windows 8 and 8.1 including an optional touch-friendly layout with larger buttons. The welcome screen buttons were modernized to fit the scheme of the toolbars and added preset sizes for new images in the right-click menu.

NPS Image Editor 3.1

This was a significant internal code refactor without too many visible changes. At this point the release strategy switched to "perpetual beta" so various parts of the program displayed a "beta" status but the release is now referred to only by its version number.

The Color Picker has some significant improvements. Lab-based color spaces (Lab, XYZ, HCL) are added as are some standardized mixers for them.

"Adjustments" and "My Palette" selectors were added for better management of colors across different pickers.

Internal improvements include the ability to directly open HTTP/HTTPS/data: URIs, per-user components (so one user can add or delete things like brushes without affecting other users), and a default size limit for the main window to 1920x1080 to prevent it from filling an entire 4K screen at startup.

NPS Image Editor 3.2

L A Y E R S. This was a major release that added layers and many other improvements.

Such a significant feature necessitated a new splash screen in a more modern style. This "Metro" style logo also made its way into the Windows 10 Start menu.

The welcome screen uses the same modern styling and the menu bar blends into the Windows 10 window chrome. The update notifier now shows a small button in the top right instead of a full-size banner. The Feedback? link was replaced with a smiley face icon. Notice the 2 new toolbox buttons at the top left for manipulating layers.

Layers can be manipulated on the bottom right side of the window. The NPSD file format debuted in this release to allow saving multi-layer images.

An entirely new document recovery system was added since undo buffer snapshots can no longer recover a complete image when multiple layers are involved.

The color picker was modernized with a much larger preview area, color previews for current/previous, "automatic" web color support finding the least restrictive color match, nearest named color support, CSS4 HWB support, and the ability to restrict colors within the dialog to limited palettes.

Dragging and dropping files gives you more options within the drag operation. You might want to replace the image, add it as a selection or layer, or just open it in a new window.

The Feedback dialog now uses a web-based form

URIs can now be opened more easily, and a new multi-line text input dialog is added to support this (and other things) instead of using the very limited InputBox.

Ope, just gonna SNEAK right past ya and crash der for ya! New crash dialog follows the modern theme and adds a Midwestern twist to hopefully add a bit of humor to an otherwise unpleasant situation.

More history coming soon!