Preliminary notes on Aperture 2.0 plug-ins

February 13, 2008

Many Aperture users are starting to get excited about the upcoming Aperture 2 plug-in SDK. I think some people are expecting this to be some kind of “adjustments” API, perhaps allowing you to add additional effects filters on top of the standard adjustments like white balance, exposure, and so on.

Unfortunately, from what I’ve been able to figure out, the SDK will not support non-destructive adjustments. It doesn’t ask the plug-in to “apply” its changes anywhere in the current chain of non-destructive adjustments or anything of the sort. It creates a copy of the selected photo, lets the plug-in do whatever it does to that copy, and that’s pretty much it. So, if the user does some exposure adjustments, then uses some type of “filter effect” edit plug-in, and finally applies a few more standard (ie. contrast) adjustments, he won’t be able to change the initial exposure adjustments and have them reflected in the “edited” copy.

Using class-dump we can see that the following is all a plug-in appears to be able to do:

@protocol ApertureEditPlugIn
 
- (id)initWithAPIManager:(id<PROAPIAccessing>)apiManager;
 
- (void)editManager:(id<ApertureEditManager>)editManager didImportImageAtPath:(id)imagePath versionUniqueID:(id)versionUniqueID;
 
- (void)beginEditSession;
 
- (id)editWindow;
 
@end
 
@protocol ApertureEditManager
 
- (id)selectedVersionIds;
- (id)editableVersionIds;
- (id)importedVersionIds;
- (id)propertiesWithoutThumbnailForVersion:(id)fp8;
- (id)thumbnailForVersion:(id)fp8 size:(int)fp12;
- (id)editableVersionsOfVersions:(id)fp8 stackWithOriginal:(BOOL)fp12;
- (BOOL)canImport;
- (void)importImageAtPath:(id)fp8 referenced:(BOOL)fp12 stackWithVersions:(id)fp16;
- (void)deleteVersions:(id)fp8;
- (void)addCustomMetadata:(id)fp8 toVersions:(id)fp12;
- (void)addHierarchicalKeywords:(id)fp8 toVersions:(id)fp12;
- (id)apertureWindow;
- (void)endEditSession;
- (void)cancelEditSession;
 
@end

To get at the data required to actually perform any “edits” on the image, you have to send the editManager an “editableVersionsOfVersions:stackWithOriginal:” message. This causes Aperture to create copies of the requested images. That’s all the plug-in is then able to work with.

I’d love to be completely wrong on this, but it appears that these “edit” plug-ins won’t be that much different than using “open with external editor.” This isn’t looking to be nearly as powerful or “revolutionary” as a lot of folks are hoping for, I’m afraid.

Maybe the official SDK will somehow prove me wrong, but the initial indications don’t look particularly promising at this point.

1 comment on this post.

Thoughts on the MWSF ‘08 keynote

January 20, 2008

It seems only logical to write a post-”Stevenote” analysis following my obligatory Macworld 2008 predictions entry from last week. Complete rundowns of the keynote have been hashed out ad nauseam across the internet, so I will limit myself to just two points of interest.

The state of the Mac OS

Steve Jobs started off by reporting that Apple had so far shipped 5 million copies of Leopard, making this “the most successful release of Mac OS X ever.” According to Jobs, this constitutes 20% of the Mac OS X installed base. As a developer currently working on a Leopard-only product, I find these numbers to be outstanding news. Wil Shipley of Delicious Monster has noted several times that the type of users who quickly upgrade to the latest operating system are the ones willing to spend money on software, and as such constitute a terrific target audience for new applications.

One can only imagine what numbers Jobs will reveal at the WWDC ‘08 keynote this summer.

The MacBook Air

Unsurprisingly, the complaints, the incessant whining, and the usual proclamations of Apple’s impending doom due to the introduction of the MacBook Air are running rampant across the web. Price comparisons between it and other MacBook models are being used to justify claims that the machine is “overpriced” and “underpowered.”

Granted, the Air is obviously less powerful than its MacBook (Pro) counterparts and it does indeed cost more. But engineering a notebook to fit into the constraints this product dictated doesn’t happen by itself. Hardware engineers don’t work for free. Miniaturization is always expensive. Historically, notebooks have been less powerful than their desktop counterparts, yet tended to cost quite a bit more. Portability comes at a premium.

John Gruber published his take on the MacBook Air in which he says that it is “clearly designed as a secondary machine, not a main machine.” While I agree that this statement holds true for power users, I also think Scott Stevenson makes an excellent point that “there’s an entire category of users that could use this not just as their primary, but their only computer.”

I don’t know if the MacBook Air will be a bestseller, but I do predict it’ll be a success.

Comments Off