Neat Little Mac Apps

I’ve been planning to put together a ScreenCast to introduce LicenseKeeper and give a short overview and tutorial of its features, but I haven’t had the time quite yet.

Until I do get the time, you may want to check out episode 38 of NeatLittleMacApps, where Frank De Graeve reviews LicenseKeeper and steps through many of LicenseKeeper’s capabilities. It’s a great review and serves as a quick video tutorial.

Frank is also offering a chance to win a free license for LicenseKeeper so be sure to listen all the way through to the end of the show.

Virginia Tech Memorial Fund Charity Sale

On May 2nd, Outer Level will join several other independent Mac software developers in raising money for the The Virginia Tech Memorial Fund to help honor and remember the victims of the April 16, 2007 tragedy.

The fund will be used to cover expenses including but not limited to:

  • Assistance to victims and their families
  • Grief counseling
  • Memorials
  • Communication expenses
  • Comfort expenses

All proceeds for sales on May 2nd, 2007 will be donated to the Virginia Tech Memorial Fund.

Virginia Tech is also taking direct donations.

Upate (May 7, 2007) – The group raised a total of $2433. LicenseKeeper proceeds reached $152.36. Thanks to all those who helped out a good cause.

CocoaCast Interview

Daniel Jalkut and I took part in an informal discussion with Russ from the CocoaCast about our thoughts on Leopard, learning Cocoa, and ideas for the upcoming CocoaCast group project.

It was a ton of fun and Russ shared some really interesting beer to keep us from getting thirsty and to help us loosen up a bit.

If you are new to Cocoa or just interested in our profound thoughts and advice, check it out.

Handle Core Data Model Changes

In last night’s Boston CocoaHeads meeting, we had an interesting discussion of the pros and cons of Apple’s Core Data persistence framework. It was interesting to hear about how people are using this great technology.

One of the biggest concerns that came up with using Core Data is how to handle changes to your Managed Object Model or database schema. As of Mac OS X 10.4 (Tiger), Core Data does not directly migrate your data between different versions of your model. It’s also very unforgiving of trying to open a version of your persistent store that you are not expecting.

So what happens when you need to make a change to your Core Data model? What if you need to add an entity or change an entity relationship? This is inevitable over the life of your application. Requirements change and your users needs evolve over time.

As beta testing was finishing up for the first release of LicenseKeeper, I received some great advice:

“Make sure you handle Core Data model changes before you need to.”

When that emergency change inevitably rears its ugly head, be ready. Well, the advice was golden. The emergency did show up right before the 1.0 release and I was ready.

How do you migrate Core Data libraries through model changes?

Well, this same person also wrote a great article with plenty of example code to take you through the daunting task of setting up your mostly generic Core Data migration utility:

Core Data migration between contexts

Update: I had someone ask for the identity of the article’s author. Since the article had no attribution, I was trying to respect his privacy. But, Marcus Zarra of Zarra Studios was more than happy to accept credit. Marcus also mentioned that he had made the code available for download from Google Code:

LicenseKeeper Adds Entourage and PowerMail Support

LicenseKeeper 1.1 has been released. You can download it here: or use “Check for Updates” under the main LicenseKeeper menu.

Entourage and PowerMail users can now take advantage of easy software license management for the Mac. Import and auto-scan email for serial numbers with one click of a button.

What’s New in LicenseKeeper 1.1

  1. Import email from Microsoft Entourage and PowerMail
  2. Store Dashboard Widgets, Plug-ins, and Preference-Panes
  3. Track Purchase Date, Price, and Order Number
  4. Improved Serial Number Scanning
  5. New Contextual Menus

Save 1Passwd License Cards

There has been a ton of talk the last few days about the new 1Passwd license card.

Essentially, they have taken the idea of a file-based license key to the next step. Instead of using a text-based or binary file containing a user’s license information, they are using an image file.

It is similar to using any other license file scheme, except that it is more “Mac-like”, say the 1Passwd developers.

It seems the most common complaint against this strategy is that the 1Passwd license card is hard to save. Saving these license cards in a text file or spreadsheet is cumbersome. This is where LicenseKeeper comes in.

LicenseKeeper will store the 1Passwd license card right along with the rest of your serial numbers and other license files. Just drag-and-drop the card on to the attachments list and your card is saved and ready for you when you need it.

Many people store serial numbers in a text document or spread sheet. This strategy is not adequate when you need to store file and image-based license keys.

LicenseKeeper makes dealing with your license management needs easy and provides you the ability to store your original emailed purchase receipts as well.

As more and more software developers switch to file-based keys you’ll be ready.

macCompanion Gives LicenseKeeper 4 Stars

The macCompanion e-Magazine reviewed LicenseKeeper in their April Issue (Page 50 – the PDF index is wrong in my copy).

Strenghts: A one-stop-shop for licenses and supporting documentation.

Weaknesses: Does not import Emails from non Email programs. No password protection for itself.

Well, not to worry. Version 1.1 is coming and it adds full support for importing email from Microsoft Entourage and PowerMail.

Password protection is something I’m looking into for a follow-up release. In the meantime, if you really need to add additional security, take a look at using FileVault to password encrypt your entire home directory.

…this is so intuitive… I found I was dragging and dropping and attaching emails like crazy as I discovered how easy this was to do. And I have a little more piece of mind now.

… this app has been a real blessing to me…

Great effort went into making LicenseKeeper easy to use. I tried to eliminate data entry where ever possible and am always looking for ways to make capturing your data as painless as I can.