Dynamic Binding

4K Monitor Considerations

With the advent of the new Retina Macbook Pros, the new Mac Pro almost here, and Dell announcing new so-called “4K” monitor models at affordable prices more Mac users are considering to get a 4K monitor. It promises a similar display sharpness as the native Retina Macbook Pro displays already offer.

This promise though has recently been discussed controversially (e.g. ATP) with keywords being Pixel Density, Screen Space, Retina Resolution, HiDPI Modes.

Here is my take.

Why the Mac App Store Should Stay Away From Paid Upgrades

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.

Sandboxing and Coping With Different OS X Versions

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.

NSTreeController Memory Leaks Data Source Objects

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!

Managing Toll-free Bridging in an ARC’ed Environment

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.

Using Badges in the iMedia Browser

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”.