Developer: Outer Level
Requirements: Mac OS X 10.4. Universal.
Trial: Feature-limited (5 products with 3 attachments each).
Were we so inclined, we could waste many hours debating the relative merits of electronic and physical software distribution. As we can now buy and download much of our software directly from the Internet, this much is clear: if the paper serial number and registration card are not yet dead, then the day of their demise is drawing nigh.
As much of a pain as those cards could be, they provided us with some degree of physical evidence that we’d purchased a product. With the move to digital distribution, our proof-of-purchase has also been digitized, often in the form of a serial number-bearing e-mail or a license file. The challenge, then, is how to manage this information so it is available when you need it. My personal approach to this has evolved over the years, from “just chuck it” to “keep the e-mails” to “store it in Yojimbo.”
LicenseKeeper, from Outer Level, lets me track my software registration history in a manner that is segregated from other information that I’m tracking. I have found that this dedicated application offers some advantages over my previous approaches, but that it also suffers from certain shortcomings.
Unlike many applications dedicates to information management, LicenseKeeper breaks away from the common three-pane display by eschewing any sort of organizational component. Instead, each record you add is displayed in a source list, along with an icon and version number. The records are listed in alphabetical order, so you can quickly get a rough idea of where to locate a specific record. If you are tracking a number of records, though, you will be scrolling through the list. Fortunately, LicenseKeeper does offer search functionality, so you can cut down the number of listed applications.
LicenseKeeper allows you to track information related to many aspects of your software purchases.
When entering information into LicenseKeeper, you of course have the option to type everything by hand; however, LicenseKeeper offers several shortcuts for collecting information. The first of these are import commands for applications, plug-ins, preference panes, and widgets. At the very least, these commands create new entries in LicenseKeeper containing the name and icon of the chosen source. In many cases, these commands can extract additional information, like the version number and the developer’s Web site.
I did discover a shortcoming of the plug-in importer—it only appears to recognize certain types of plug-ins, perhaps by examining the file extension. While I was able to import plug-ins that ended in “.plugin,” LicenseKeeper did not recognize my copy of FlickrExport, which has the “.iPhotoExporter” extension.
Registration records in LicenseKeeper can also contain attachments. As far as I can tell, the two most common usages of attachments will be registration e-mails and license files. When you attach a file or e-mail to a record, LicenseKeeper actually makes a copy of the source data, so you don’t have to worry about keeping track of the original.
Any type of file can be stored as an attachment to a record.
Being able to store license files is one of the major advantages a specialized license management application can have over a more general information management application, like Yojimbo. In my experience, this type of registration scheme is not as common as serial number-based schemes, but having a single tool that can conceivably handle any type of registration information is very convenient.
Attached e-mails can be used for more than just reference material; LicenseKeeper includes e-mail scanning capabilities that should allow the application to pull registration information directly from e-mails. In practice, I’ve found this functionality to be a little hit-or-miss. Sometimes, no information is retrieved from the e-mail. In other cases, incorrect information is retrieved (I have one registration e-mail where the scanner insists that the serial number is “Serial”). Given the vast number of ways registration information can be represented in an e-mail, I can’t say I was surprised by this feature’s performance.
Currently, LicenseKeeper supports e-mail attachments directly from Mail, Entourage, and PowerMail. If you use another e-mail client, you can save your message as a text file, then manually attach it to the appropriate record. You can also tell LicenseKeeper to override your default e-mail client if you split your mail among multiple programs.
I did see one reproducible crashing issue with generating e-mail attachments directly from Mail that I believe is related to my e-mail archiving technique. I move all of my old e-mails from Mail to an EagleFiler library. EagleFiler, in turn, lets me open these saved messages inside of Mail. I originally attempted to capture old registration e-mails using this approach, but LicenseKeeper would crash whenever I tried to capture an e-mail from Mail using this technique.
Owning Your Info
One thing that’s always important to know when dealing with any sort of information management applications is whether or not you can access your data if you decide to stop using the application. LicenseKeeper is somewhat successful in that regard. For mass-export options, LicenseKeeper allows you to export your information as either a text file (comma-separated, tab-separated, and the like) or as an XML file. The XML file is the only option that also exports all of your attachments, but this export is plainly meant for machine processing and not human consumption, as all your attachments are named with UUIDs. The only way to figure out the identity of the attachments is to look through the XML file. Unsurprisingly, this XML format is the format that LicenseKeeper supports for import.
That’s not to say that your attachments are permanently trapped inside of LicenseKeeper—attachments can be copied out of LicenseKeeper via drag and drop or via a menu item. However, these approaches require you to repeat the steps for every record that contains attachments. There does not appear to be any quick and simple way to export your records with attachments in a format that you would find useful.
Frankly, I was surprised by the number of rough edges I encountered while using LicenseKeeper—I would expect such a specialized application to have its details down pat. The first of these cases involves LicenseKeeper’s Address Book integration. For the times when LicenseKeeper is unable to determine a registration e-mail, it can query your Address Book card for the information. In my case, LicenseKeeper constantly selects my Gmail address, which I never use for software registration. For each record, I need to go in and manually reset the address to the correct value. I would expect LicenseKeeper to make this easier. Since the application is already referencing my Address Book record, there should be a quick way to switch between my e-mail addresses. One approach I’ve seen is to provide a combo box that lets the user type in any value or select an e-mail address from the addresses listed in their record.
Another issue that seems common in LicenseKeeper is a failure to disable user interface items as appropriate. LicenseKeeper uses iTunes-like arrow buttons to trigger actions which will take you out of the application. You can visit the publisher’s Web site, you can create an e-mail to support, or you can launch an application. When there is no text in either the Web site or support e-mail fields, the associated arrow buttons are still drawn as active. Likewise, when you are viewing a non-application, the Launch button appears to be active. I first noticed this behavior when I attempted to open a preference pane, expecting System Preferences to launch. Instead, nothing happened.
A similar issue can be seen with some menu items, including the Launch command. The same behavior can be seen with the Scan for Serial Number command, which is active whenever an attachment is selected, regardless of whether the attachment type is supported by LicenseKeeper.
LicenseKeeper offers the ability to print out a record of your licenses, which could come in handy should you find yourself in need of a hard copy. However, you have the choice between printing each record on a single page or printing multiple records on a page (a record takes up slightly less than half a page). If you choose the latter option, the page break will sometimes occur mid-line. At the very least, page breaks should line up with line breaks. A better option might be preventing records from spanning multiple pages.
The more I time I spend in LicenseKeeper, the more mixed my feelings become. Thanks to its attachment support, it offers a clear advantage over my previous approach to license management. Furthermore, the e-mail scanning feature shows promise and will hopefully improve in future versions. That said, there is a rather high barrier to switching to LicenseKeeper if you been managing your licenses in another application—between the import feature only supporting LicenseKeeper’s XML format and crashing when I tried to import e-mails from EagleFiler, I ended up having to add my applications, copy over the serial numbers from Yojimbo, and retype my e-mail address.
If you currently have serial numbers scattered about or are relying on various customer support departments for your password management, you should consider LicenseKeeper—I’ve found that having an organized record can be very beneficial should something happen to your computer. However, if you already have a management system that meets your needs, I would recommend holding off on LicenseKeeper to see what improvements come in future versions.