Ad

Our DNA is written in Swift
Jump

Steve Jobs’ Final Launch

Steve Jobs was never one to leave anything to chance. He even timed his own ascension to a higher plane to fall on the day after the 5th generation iPhone was publicly unveiled.

Mr. Jobs will be missed. The kind of biological problems that shortened his life span are no way to go for a tech god. If only medicine had developed at the same pace that he furthered the digital lifestyle, then I am sure we would have lived longer. But alas the working of miracles is still only the domain of iOS devices and Macs.

Read more

May the 4S be With You

Apple CEO Tim Cook gathered a handful of select journalists into the so-called “Townhall” room at the Apple HQ in Cupertino. Interest in this event had reached a fever pitch with most of the world expecting a new iPhone to be launched, “iPhone 5”.

It so turns out that there WILL be a new iPhone, but as if to mock the pundits it is not called number 5, but 4s. But first – while everybody started getting nervous – Cook and team told us how well Apple is doing.

Let’s review the important announcements.

Read more

Getting Ready for the iOS 5 Launch

With the iOS 5 looming there are a couple of items that you will need to look at to have your apps ready for the public availability of iCloud and the OS. Let us review.

Read more

Avoiding Image Decompression Sickness

When starting to work on our iCatalog.framework I stumbled upon an annoying problem, the same that you will face if you ever need to work with large images. “Large” meaning of a resolution sufficient to cover the entire screen of an iPad or potentially double that (horizontally and vertically) when dealing with Retina Resolution on a future iPad.

Imagine you have a UIScrollView that displays UIImageViews for the individual pages of a catalog or magazine style app. As soon as even one pixel of the following page comes on screen you instantiate (or reuse) a UIImageView and pop it into the scroll view’s content area. That works quite well in Simulator, but when you test this on the device you find that every time you try to page to the next page, there is a noticeable delay. This delay results from the fact that images need to be decompressed from their file incarnation to be rendered on screen. Unfortunately UIImage does this decompression at the very latest possible moment, i.e. when it is to be displayed.

Since adding a new view to the view hierarchy has to occur on the main thread, so does the decompression and subsequent rendering of the image on screen. This is where this annoying stutter or pause is stemming from. You can see the same on app store apps where scrolling through something stutters whenever a new image appears on screen.

Read more

One more Speculation

Much will be clearer to us on October 4th, but let us pause a moment and wildly speculate about what’s happening behind the scenes.

Amazon revealed their new touch-enabled Kindles as well as an Android-based 7″ tabled, called the “Fire”. Steve Jobs personally always poo-poo’ed the notion of anything smaller than the iPad form factor, the new device is generally seen to be a frontend to the “Amazon Cloud”, that is the heaven Amazon.com will be in when users let themselves be locked into the Amazon ecosystem versus the iTunes one.

Read more

Perfect Diversion for iPilots: AR.Drone

When the online Apple Store started to carry the AR.Drone that was one of the quickest orders I ever made. Hey, it’s just $300 and as an iOS developer you can expense it touting that you plan to write your own remote control app for it given that is has an iOS API. Or so goes the reasoning. We need some bit of reasoning to offset the otherwise awesomely emotional purchase, right? (Also available on Amazon.com)

I did not dare to do an unboxing video as I usually do with iToys because I figured I needed to learn to fly this thing first or otherwise that might be quite embarrassing to watch. Several weeks have passed now and I never got around to documenting my experiences I made. Until now.

So let me summarize all you need to know if you are considering getting one of these flying pieces of amazing engineering as a creative diversion next to your programming workdays.

Read more

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