Our DNA is written in Objective-C

New Catalogs Section

For the longest time catalog apps where all over the place on the app store. Some in Lifestyle, some in Entertainment, some in the area matching the goods they are depicting.

In the past Apple has been known to establish a new section on the app store whenever the need for it becomes obvious. Remember, when they introduced the Books section? Or Newsstand?

Apple now has opened a new section titled Catalogs that aggregates all such apps. This is of special interest to us because of the multitude of digital catalogs that are built with our iCatalog.framework technology.

Read more

The new iPad !!!

Apple today announced the new iPad, no suffix. Because of this we have decided to use 3 exclamation marks to tell it apart from the iPad 2. Oh wait, it didn’t say iPad 2 on the box either … looks like not everybody had gotten the “drop the number” memo last year. This time, they did.

Read more

SpeakerClock 1.1.2

This release fixes the crash on iOS 5 that I had in all my apps using the version of DTAboutViewController from before iOS 5 was released. I’m sorry for having procrastinated so long on updating SpeakerClock, but I had forgotten about this issue until a user reminded me of it via e-mail.

The update has been submitted to Apple and we hope to have it available on the app store in about 5 days.

Update March 10th: … and it’s approved and available for download.

Reading and Writing Extended File Attributes

The file systems of iOS and Mac both use HFS+ as file system, with only one small difference. iOS uses case-sensitive file names, Mac doesn’t by default. Both have a feature called “Extended File Attributes” that allow you to set custom values by key.

Apple generally ignored this functionality and it was only briefly – in 5.0.1 – that they actually used an extended attributed for something. The “com.apple.MobileBackup” extended attribute served as a stop-gap-measure to mark files that should not be backed up. Though this was very short lived.

I was facing the problem myself that I needed to save the ETag for an image that I downloaded from the web somewhere. And I wanted to do that elegantly, somehow together with the file itself and in a way that would simply work.

Read more

ELO Digital Office GmbH releases iPad Version

For the past several months we were busily working on no small undertaking. Our client ELO Digital Office GmbH in Stuttgart, Germany (maker of the ELO digital document management system) wanted to present a super-charged iPad client just in time for Cebit. And that’s “ELO” as in “Electronic Leitz Office”, not “Electronic Light Orchestra” the band.

So today they announce immediate availability of the dedicated iPad version of ELO. It is a free download because to really use it you need to have their ELO server software. But you can still test drive the client because there is a test server available and pre-set when you download the app so that you can try it out for yourself.

The new ELO iClient for iPad is a ground-up rewrite of the client, designed to give users of the ELO server software the best of both worlds. Digital document storage, indexing and search via their powerful server. Touch-based interaction with a beautiful user interface on the iPad as users have to come expect it from Apple devices.

Read more

Quick Batch Version Bump

On my iCatalog project I have more than 40 targets (FOURTY!), all with individual info.plist. Let me share a quick command line script that lets me simultaneously bump the software version to a different value for all targets at the same time. This has proven extremely helpful.

Read more

Podcast #27 – “Copyright Bullish”

Instapaper will soon go iOS 5-only, we learn why the Clang project was started, and Tapbots being bully-ish about Copyright.


Read more

Block Retain Loop

I was getting reports about DTCoreText having leaks. Not something I like to wake up to, to be honest. So I dived right in with Instruments and the Leaks tool. I am going to share with you something that I learned about Leaks and Blocks that might save you much trouble if you check for that first the next time you profile any app.

Read more

Threadsafe Lazy Property Initialization

I was looking for a safe way to initialize a property on individual instances of an object. “Safe” as in “thread-safe”, because nowadays you never know… with GCD it could just happen that an object is used from multiple threads concurrently.

I felt the need to chronicle the findings here one the different approaches I tried.

Read more

Podcast #26 – “iOS Dev Weekly”

Episode 26 for Saturday, February 25. “iOS Dev Weekly”

Daver Verwer lets us peek behind the scenes of the iOS Dev Weekly newsletter, Apple sold more iOS devices in 2011 than Macs every be fore. And we learn what an NSInception is.


Read more