The Shape of Everything
A website mostly about Mac stuff, written by Gus Mueller
» Acorn
» Retrobatch
» Twitter
» Micro.blog
» Mastodon
» Instagram
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
September 14, 2009
(This post is from my old, old, super old site. My views have changed over the years, hopefully my writing has improved, and there is now more than a handful of folks reading my site. Enjoy.)

So I committed the changes, ran the scripts, and Acorn 2 is finally live.

You can grab it from Acorn's website, and the full release notes are available as well.

I won't go over everything that's new, but rather, here are the things that I think are interesting:

Acorn 2 is 10.6 only. Most of the development of Acorn was done in 10.5 though, even though I had planned all along to go with 10.6. The reason for this was simple- my testers weren't on 10.6 yet. However, I still coded away on 10.6 things, and commented out code that wouldn't work with the 10.5 SDK. Once 10.6 came out Acorn 2 no longer ran on 10.5, and I got to flip the switch on some code optimizations that had been held back. I love Blocks and Grand Central Dispatch. The new Perlin (aka "Render Clouds") filter is done with Blocks + GCD. I love Blocks and GCD, and if you're a developer you will too.

Render Clouds

Acorn 2 is 64 bit. And yes, there are performance improvements with it. Running the Gaussian Blur filter is now 15% faster in 64 bit. Opening JPEG files is 20% faster than 32 bit (measured by scripting operations via JSTalk of course). Is Acorn the first 64 bit image editor for the Mac?

Layer Groups I've wanted this forever. Now you can group layers together in hierarchal groups, which is awful handy for my next favorite feature.

Layered Screenshots It's a new preference, and it's turned off by default since it'll make some pretty big images- but you can now take screenshots where every window gets its own layer, and the layers are organized by applications in layer groups.

So now you can take a screenshot, and not worry because your background has something funky in it, or you are surfing porn in another window that accidentally got included in. Just delete or uncheck the visibility for that layer. TADA. It's also awesome for grabbing parts of windows when you are doing UI mockups.

A new look Mostly designed by Brandon Walkin (excluding the areas it looks bad because I didn't always listen to him).

Acorn's New Palette
Well I think it looks nice.

The icons are pretty much done by myself, but the layout and colors and borders and such are all Brandon.

JSTalk Support. You can now script Acorn 2 by way of JSTalk. Technically, you could do this with Acorn 1 as well, but it required a plugin you had to install yourself. That plugin now comes bundled with Acorn 2.

I actually came up with JSTalk specifically for Acorn. I was looking at adding AppleScript support to Acorn, since scriptibility was a big feature request, but I've always found AppleScript to be too cumbersome. And I hate writing examples in AppleScript, so JSTalk it is. And you can even run JSTalk scripts within Automator to talk to Acorn! (JSTalk Editor comes with the Automator action, and an example on how to do exactly that).

You can also write the plugins in JSTalk, and just dump them in Acorn's Plug-Ins folder. Here's "Resize Layer to 50%.jstalk":

function main(image) {   return [image imageByApplyingTransform:CGAffineTransformMakeScale(.5, .5)]; }

The Python support that came with Acorn 1 is still there as well, so now you have your choice of two great languages!

It's faster. Besides being a 64 bit application and picking that up for free, Acorn is faster because of some optimizations. Coalescing undo changes (changes are written to a sqlite database- if you're an image editor, you don't want to keep your full undo stack in memory), general architectural changes, and performance tricks. Acorn is also slowly moving away from its Core Graphics base, and relying more on Core Image, which helps with things.

It's also faster at saving images with lots of layers. This is because I switched from using a plist based file format, to using SQLite. It's a whole lot faster to just update a single row, rather than the whole file. The "file format" is also documented a bit in the way of Acorn's open source QuickLook plugin. It's part of the Acorn SDK.

Speaking of the SDK, you can now write plugins to support your own file formats. I've even included as sample code Acorn's PSD importer.

Acorn 2 is free. Sort of. At one point there was an app named "Acorn Free", which was built alongside Acorn. It was obviously a free version of Acorn, just like I give away VoodooPad Lite.

My motivation for this was everyone who kept on asking me to include image editing features into VoodooPad. You could already double click an image in VoodooPad and have it open up in your favorite image editor, but most people didn't care enough about filters and such and didn't really want to invest in another app, just to be able to resize or crop an image. So I figured, well- I'll just let you use it without some of the advanced features enabled.

And it turns out I've got developer friends who get asked for some of the same things, and I thought- hey, I could also write a framework which you can code up something like:

[ACImageAgent editNSImageInAcorn:[myImageView image] fileNameHint:@"From My App or whatever" withDelegate:self];

And when the user saves in Acorn, you'll get this callback:

- (void) acornImageDidUpdate:(ACImageAgent*)agent {   myImageView setImage:[agent NSImage]]; }

Seems pretty handy to me. Add instant image editing for your app if your user has Acorn 2 on their Mac. (Developers will need AcornImageFramework.zip to do this, which includes source).

So how does the "free" work? There's a more detailed description on the website but I can describe it pretty quickly here. After 14 days when your trial period is up, Acorn 2 goes into "free mode", where it shows a little button at the top of the window that says "upgrade", and disables some advanced features like Web Export, custom brushes, etc.

But there's no watermark drawn over the image. No restriction on the number of layers or image size, or anything that you'd expect a basic image editor to have. Acorn is still a very useful image editor, even after the trial period is up.

And there's more. That's not all Acorn 2 has to offer. There are new things like Rulers, RAW image import, tools (Dodge, Burn, Clone, Smudge), improvements to the transform and crop tools, new options in the Text palette, and lots more. The release notes have all the gory details.

The price remains the same as for Acorn 1 - $49.95. And if you're upgrading from Acorn 1, then the price is $19.95 (and this includes anyone who got Acorn from MacHeist). If you bought Acorn on or after July 2, 2009- you get a free upgrade.

If you're expecting a Photoshop clone, you're going to be disappointed. However, if you'd like a lightweight, but powerful image editor built specifically for Mac OS X, then Acorn 2 might be right for you.

Check it out.