Wil Shipley has written an interesting blog post where he strongly argues in favor for the need of paid (discounted) upgrades for apps in the Mac App Store (MAS). He also proposes a solution that features the association of one app with any number of other apps in MAS to facilitate these paid upgrades. While I like his proposal of associating apps with one another I don’t like his idea of paid upgrades. Here is why.
Apple has stated that as of June 1st this year apps being submitted to the Mac App Store (MAS) must be sandboxed. Developers embracing sandboxing may face major problems to preserve their app’s functionality especially when supporting different OS X versions.
This is because Apple’s whole concept of sandboxing/entitlements is not complete and different OS X versions have different suppport for sandboxing.
Let’s take a closer look at different scenarios.
When recently working on the iMedia Browser, I’ve been struggling with a strange kind of memory leak: whenever I replaced a node in my data source that was bound to an NSTreeController memory consumption on my App went up significantly (up to 20 MB in that case). This was supposed to be a memory consumption invariant operation since that new node was identical to the old one!
Sooner or later every Objective-C programmer moving to ARC will be confronted with the unhappy compiler requesting him to perform a so-called “bridged cast” where he once did a “toll-free” cast between Objective-C object pointers and pointers to C types like CoreFoundation types. Unfortunately Apple’s documentation on this topic doesn’t cut it yet.
I have just finished implementing a long awaited feature for the iMedia browser called “badges”. You can now annotate your media representations in the browser with badges as shown in the screenshot on the right. Since it is up to the host application to provide specific badges all different kinds of additional information can be communicated to the user through them (e.g. “You have used this media item in the context of this app (n-times)”. A user will also be able to filter the currently displayed image representations with the filters “Show Badged Only” and “Show Unbadged Only”.