Our DNA is written in Objective-C

Learning from the Best: Calvin Carter

Mixergy.com had Calvin Carter, founder of Bottle Rocket Apps, for an interview that gives a great insight what made Bottle Rocket the force they are today. Carter candidly shares several amazing points that can help you improve your business as well.

Let me share my notes with you, in case you don’t have an hour to watch the interview in it’s entirety. A transcript is also available.

Read more

Code for Compliments

Chris asked:

Tried all week to get iAds & AdMod into same app. Your DTBannerManager be perfect. Im broke 🙁 do you have a lay away plan 🙂

You are in luck! At the moment I am trying to grow my audience (for both my blog and my products) and to do so I am also willing to enter into cooperations that involve exchanging advertisement for code.

Read more

The Season of Component Stores

My wife took my Air and so for a moment I thought I could not write this blog post without going to the office. But I turns out that a reader had donated an Apple Wireless Keyboard that was unused so far. So I only had link that to my iPad 2.

I’ve been selling component code for many months now and so it somewhat irritates me when Verious comes out of the closet claiming to be the “first market place for mobile app components”. I was about to ignore that until today – on Flipboard – I read another such announcement: Appcelerator unveils – yet another – “open marketplace to unlock mobile innovation”.

Both statements are misleading and – as somebody on Twitter put it – these companies are just trying to cash in with the iOS craze. And there are more. Let me share my thoughts.

Read more

Taming HTML Parsing with libxml (1)

For the NSAttributedString+HTML Open Source project I chose to implement parsing of HTML with a set of NSScanner category methods. The resulting code is relatively easy to understand but has a couple of annoying drawbacks. You have to duplicate the NSData and convert it into an NSString effectively doubling the amount of memory needed. Then while parsing I am building an adhoc tree of DTHTMLElement instances adding yet another copy of the document in RAM.

When parsing HTML – and by extension XML – you have two kinds of operating mode available: you can have the Sequential Access Method (SAX) where walking through the document triggers events on the individual pieces of it. The second method is to build a tree of nodes, a Document Object Model (DOM). NSScanner lends itself to SAX, but in this case it is less than ideal because for CSS inheritance some sort of hierarchy is necessary to walk up on.

In this post we will begin to explore the industry-standard libxml library and see how we can thinly wrap it in Objective-C that it plays nicely with our code.

Read more

Finally an Authorized Steve Jobs Biography

UPDATE: The release date has been bumped by one month! October 24th.

There have been many attempts at chronicling the life of Mr. Steve Jobs the person who once founded and once saved our favorite company. Now the wait is almost over for the book that tells it all … or so we hope. On November 21st the official biography will be “launched”, a must-buy for every true Apple fan.

The first and so far only true glimpse into Steve’s history you might have gotten from his famous Stanford Commencement Address. Being adopted under the condition that he attended college, only to drop out soon thereafter but sticking around to attend calligraphy classes. Of the two Steves he always was more the business minded, we are on tenterhooks to now learn how he really ticks.

One cannot but wonder if this Biography was not as carefully architected as Steve’s exit from the Apple limelight. Soon we will know.

Read more

There Will Be No iPhone 5, EVER

When I listened to the latest episode of The Talkshow during my morning walk something clicked. All the puzzle pieces that pundits, blogs and myself had been commenting on individually suddenly started to come together. The result is a vision, probably similar to how Holy Mary might have felt when the archangel told her about her next “one more thing”.

I really mean the title literally, there will never be a device – not in October, not in 2012, not ever – called “iPhone 5” that you will be able to purchase. Somebody who kept pestering his “contacts” at Apple about “when does the next iPhone come out” reaped this remark “Next iPhone? There will never be a next iPhone. There can never be an iPhone better than the iPhone 4”.

Of course there will be a device to purchase , something that has all the features of iPhone 4 and possibly many more, it just won’t be CALLED “iPhone 5”. Here’s why.

Read more

Podcasts for iOS Developers

I once dabbled a bit in podcasting myself with the Dr. Touch / Cocoanetics podcast, but I decided that I am not going to continue that on my own. I still like to TALK about it, if there’s somebody out there looking for a co-host …

Update: I resurrected the Cocoanetics Podcast! Subscribe to it on iTunes or add the RSS feed to your favorite podcasting app or listen to the shows right on this website.

Whenever I walk the dog, doing chores or “grounding myself” while gardening I like to listen when experts in our industry are discussing latest developments that impact my professional live as iOS developer.

So I asked on Twitter what your favorite related shows are and from the answers I made this list. And YES I checked it twice (several people were asking).

Read more

Decoding Safari’s Pasteboard Format

If you have ever looked at UIPasteboard you might have seen that there are a variety of public types, like colors, images, plain text or URLs. But applications are also free to implement their own types to be put on the pasteboard when the existing types don’t do justice to your content.

One such custom type is being used between Apple’s iOS apps, like mobile Safari, whenever you copy HTML snippets: “Apple Web Archive pasteboard type”. At first glance this looks really secretive because all you can see there is a long string of numbers representing the NSData for it.

Today I am unveiling an Open Source solution to consuming this pasteboard type as well: DTWebArchive. Using this you can let your users copy something from Safari or Mail and pasted it into your app while preserving the rich text. I put this code into a new GitHub repository because even if you don’t dabble with CoreText and NSAttributedStrings+HTML then this project can be very useful to you.

Read more

iWoman 2.0.4

There was a stupid problem before this version that could only be seen by users who where traveling between time zones. Notes that you made for a specific date would disappear when you moved into a different time zone and reappear if you moved back. This taught me that it is a bad idea to use an NSDate for a primary key.

Updating a lower version iWoman will restore all entries that might have disappeared. In very rare circumstances – involving traveling more than 12 time zones – some entries might end up the day before or after the day they were originally entered on.

The second change came from a user request who wanted to see the day number on all days of the cycle view. Previously it would not be shown on fertile days.

Read more

NSAttributedString+HTML Q&A

Over the past few months I have received questions about NSAttributedString+HTML and Rich Text Editing. Here are the Frequently Asked Questions.

I generally abbreviate NSAttributedString+HTML as NSAS+HTML. If your question or app is not in this list please let me know.

Read more