Our DNA is written in Objective-C

Dr. Touch #003 – “Freedom At Last”

Dr. Touch lost his job as Windows desktop supporter while USA is eating turkey. The following day is “Black Friday” where the holiday shopping frenzy starts.


Subscribe to the Podcast in iTunes

My script (aka “Show Notes”) after the fold below.

BSA Banner

First a short history lession for all non-american iPhone Developers listening in.

The USA celebrated Thanksgiving yesterday, Wikipedia has this to say about it:

“Thanksgiving or Thanksgiving Day, presently celebrated on the fourth Thursday in November, has been an annual tradition in the United States since 1863. It did not become a federal holiday until 1941. Thanksgiving was historically a religious observation to give thanks to God, but is also celebrated as a secular holiday.

The first Thanksgiving was celebrated to give thanks to God for helping the Pilgrims of Plymouth Colony survive the brutal winter. The first Thanksgiving feast lasted three days providing enough food for 53 pilgrims and 90 Native Americans. The feast consisted of fowl, venison, fish, lobster, clams, berries, fruit, pumpkin, and squash. However, the traditional Thanksgiving menu often features turkey, stuffing, sweet potatoes and pumpkin pie.”

Though what I don’t quite understand as student of the theory of cause and effect which you would thank God in advance for the survival of the brutal winter.

Actually way more logical is the Canadian variant, where they give thanks at the end of the harvesting season, and also a month ahead of their southern neighbors. But the strangest interpretation of Thanksgiving is not observed in the United States. It’s actually in Grenada, an island in the southeastern Carribean sea. They celebrate the US-led invasion in 1983 which followed a coup there. Thank you US for coming to the rescue of freedom in time of need, they mean to say.

Speaking of freedom coming from the USA… I could not have thought of a more fitting day to be laid off by the company I previously worked for as Windows desktop support. You know all the while while I have been building my iPhone business in my spare time I had to go and fix Windows problems day in and day out. As you can easily image that did not go well with being more and more successful in the iPhone business. So I was looking for a way out, and one way I tried is by suggesting to go part-time. But then my former employer jumped the gun and decided instead to eliminate local IT support in Austria, including or more precisely consisting of ME.

You get it? Freedom? (being laid off?) from USA? (getting my income from Apple?) Historical alignment of parameters, that’s what I call this.

Now imagine me sitting in with a lady from HR and my boss yesterday and them telling me that my services will no longer be required as of today. My heart made a happy jump. All the while people kept approaching me with projects small and big, and often I had to delay or tell people to get in line. That is no more. As of now I am fully equipped to help you with all your iPhone development problems. Just drop me an e-mail to oliver@drobnik.com. Bear in mind though that this is now my livelyhood, so my support will not be free. But as several people can tell you already: it will be definitely worth it.

Actually, that brings me to my next topic: Black Friday. Not to be confused with the Stock Market Crash of 1929 this is not a public holiday. But it sure feels like one because it marks the beginning of the Christmas shopping season. So employees in the USA generally get the day off, except in Retail, Healthcare and Banking. Can you guess why? I belive this to be the case because Retailers sell stuff like crazy, bankers are needed to count the cash afterwards and healthcare because there is a study that tells us that going shopping for clothes puts a man under the same kind of pressure as a jet fighter pilot. So there are medics around if you should overly strain yourself in the shopping craze.

As many other retailers Apple, the most important for us iPhone developers, traditionally offers discounts on most products. For Macs it’s generally around 100 dollars. So I jumped at the chance to ask my finance minister aka my wife if I could order my new iMac early that I had planned for Christmas. She said yes. I never was online quicker to go to the online Apple store and make my order.

Man I am getting the sweetest baby that a Mac geek can get. Intel i7, 8 Gigabytes of RAM 1 Terabyte Harddisk. There are two options on how to configure 8 Gigabytes, but I don’t think I really need much more then 8, so I chose the cheaper one that fills all slots. The other variant leaves you space to upgrade. Also I did not get the 2 TB Harddisk because I have a NAS and a Time Capsule and I really don’t need that much disk space to warrant the extra cost. I’ll definitely do a grandious unboxing video when it arrives at my house.

So my recommendation is this: if you are in the market for a desktop Mac, this is the model to get. And Black Friday is the day to get it on. Hell, charge it on your credit card, you’ll pay it next year anyway and hopefully by that time the economy has recovered and you are right from selling iPhone apps.

I have an addendum to the story of Apple cracking down on undocumented APIs. I recently got an app rejected for supposedly calling animationDidStop:finished:context: which according to the rejection mail is an undocumented Apple API. Well this is not entirely correct and here’s the whole story. You can set a custom selector for when an animation ends and you have to create a method looking like animationDidStop:finished:context:. This method will then be called as soon as the animation ends. The context parameter allows you to tell apart multiple animations from each other. Now what I was doing in the app that got rejected was to specify an animationDidStopSelector with animationDidStop:finished:context: but did not implement one. This was actually left over code. But I never noticed during testing because are apparently exists an animationDidStop:finished:context: method somewhere in the SDK that got called. So I never got a crash with unrecognized selector. The kind of analysis that Apple does detects these as well. So most likely the have a debugger or something running when testing the apps and they will catch any and EVERY call to an API that’s undocumented.

So all I can give you as advice is to find an official method for getting the same behavior. Of if this is not available then file your app under “stuff I will release as soon as Apple makes this public”. To give another example: I was asked by somebody if I could help hide his use of the internal battery API which returns battery levels in 1% increments. The official battery methods of UIDevice only have a granularity of 5%. Unfortunately there is no solution for his dilemma. He will be caught. He will suffer the consequence of rejection for his insubordination.

My App Tipp for today is simple: ALL OF THEM. Most developers dropped they apps’ prices to one dollar to share in the Black Friday craze. I say: help a developer in need. Buy his app. You ameliorate his financial crisis by this and give him something to more easily get over a hard winter. Thanks for giving.

Categories: Podcast

Leave a Comment

%d bloggers like this: