Blurity got Mac
About a month ago, a new option quietly snuck onto the download page: Blurity is now available on the Mac!
That’s right: now blur can be a thing of the past for Mac owners, too. Hooray!
The Mac version of Blurity has all of the capabilities of the Windows version. It has the same great fixing of blurry photos, the same interface, and the same passionate technical support.
Actually, it’s slightly better in one way: the Mac version can handle larger images, at least up to 33 megapixels, compared to the roughly 24 megapixel limit in the Windows version. (The reason is due to memory allocation differences between the platforms.)
The only major open issue specific to the Mac is that the Blurity application is not digitally signed. If you’re running OS X 10.8 (Mountain Lion) or newer, and you haven’t disabled Gatekeeper, you’ll see a scary-looking warning about an “unidentified developer” the first time you run Blurity after you complete the installation. To get around the Gatekeeper warning, simply hold down the ctrl key, click on Blurity in your Application folder, select “Open” from the pop-up menu that appears, and then choose “Open” again on the dialog box that pops up.
It took about two weeks of off-and-on work to get the Mac version out the door. Wondering how we did the Mac port so quickly?
Blurity was built from the beginning with cross-platform compatibility in mind. The underlying image processing code is written in portable C++, allowing it to build with both Visual Studio and the Intel C++ compiler. Higher up the stack, the GUI is written in Python using the wxPython toolkit, both of which are also cross-platform. Equally critical was the availability of Intel’s Math Kernel Library, which was cross-platform, fast at FFTs, and far less expensive than FFTW to license.
Yes, there were a thousand little things that made the port tedious (e.g., how unnamed semaphores aren’t supported on OS X, how text colors don’t propagate correctly on OS X in wx, how command-line tools are invoked), but part of that was our relative lack of experience on writing desktop apps in OS X.
Overall, it was accomplished with relatively few #ifdefs, and the upshot is that improvements to one platform are really improvements to both platforms.