Our DNA is written in Swift

Category Archive for ‘Administrative’ rss

Color Math

For my Rich Text Editing component I wanted selections to look like the Apple originals. So I made a screenshot of some editing action and inspected it in Photoshop to find out how they are drawn.

Visually there are two options: either the selection boxes are drawn behind the text not affecting it, or they are layered on top of the text.  Because the selection also changes the color values of the black text it must be the latter. It’s on top.

In this article I’ll try to figure out the math so that I can calculate the original blue and alpha value used. We will see that it is orders of magnitude easier to do if we know the result of blending this color over white and black than two arbitrary ones.

Read more

iTunes Connect Closed

iTunes Connect is closed until December 29th.

This means:

  • No new app submissions or update submissions
  • No sales stats or reports
  • No ranking info

… from Apple or their sites.

Read more

New Design!

A while back I announced some changes for my iOS business and website. First there was the new name “Cocoanetics” to replace the ill-fated “Dr. Touch”. Next there had to be a new design. Something professional. Something easy to read so that you have fun every time you return to the site.

After asking around a bit I found Jermemiah Tolbert of Clockpunk Studios who took my by the hand and made this wonderful new WordPress template. When working with Jeremiah he took charge of the design with me defining some base rules that I wanted to have incorporated:

  • Be a delightful reading experience. A readable font, amble spacing. Let my tutorials and recipes shine.
  • No sidebar distracting from the contents, so we had to put navigation at the top.
  • Have some spots where advertisements would be placed automatically, right now I had to do all the ad inserting by hand

Working with a seasoned WP-Pro got me some pretty innovative solutions for a previously tedious work-flow.
Read more

Transfer of Subversion Repositories

You might have noticed that your SVN access to components repositories does not work any more. As of today our old Subversion server has been turned off.

It has served me well, but it was a VisualSVN on top of a virtual Windows NET and thus somewhat a pain to maintain. The new hardware is a dedicated machine with CentOS and proper backup procedures. Previously I had to rely on some file-based backup scheme, now the are regularly saving SVN backups to a second server. Having a quad-CPU dedicated server with 750 GB RAID HDD gives us way more room to grow than we previously had on a 7 GB HDD virtual Windows server.

If you are a customer of one or more of our components then look for an e-mail informing you about new access details.

Cocoanetics Component Charts

In order to be able to send out these mails I had to go through my invoices and compile a list of customers for each component. In spirit of reusability of data let me show you how many sales I’ve had per component.

Read more

We Moved!

It’s been quite some time in the making and it was the main reason for my lack of updates: Moving. For the longest time this blog was hosted on a virtual Windows server, but I finally had the guts to move to a dedicated Linux box…. and ditch Windows which I was at it.

In the past I had all my content under which made me somewhat unhappy because the analytics would always be a mixture of traffic going to my German-language personal blog and my English-language iPhone-Development blog. Another drawback was that I had to have a “disambiguation page” under the domain root directing people to any of the sub-sites. Yuck.

Now these are the sites hosted on the new server:

I spent most of the day today – not coding on iWoman 2.0 as I would have liked to – but working with my Linux guru to get the final kinks out of of this to be ready to call the move. A bit of URL hacking via a search&replace plugin, some manual file copying, plugin updating, URL rewriting/redirecting, claiming the sites in Google Webmaster Tools and submitting sitemaps and lots of other itsy-bitsies.

Well, that should have been it. Now that this blog again stands on terra firma I can resume writing the Q&A and recipe articles that people love to read on this blog.

UPDATE: The old server can still be reached via I also am moving and consolidating my Subversion repositories on the new server. Until then you can simple substitude .net instead of .com in the repository URLs. For example: – you will have to re-accept the self-signed certificate.


When I announced my intended name change some days ago and invited suggestions my brand “Dr. Touch” had served me well as a placeholder since end of January 2009. With some drawbacks. First it is hard to get people to associate iOS development with it, secondly it sounds to some as the job title of a registered sex offender.

Starting out it made sense to make this a personality-based blog. I wanted to be your friend in development, somebody you would come to in times of need, somebody you would trust to share your story and business with. Undeniably this got a bit of recognition with the heterogeneous community, as my excursion to a conference in Seattle was able to prove. This landed me several great projects, the biggest of which you’ll see unveiled in the next few months.

BUT, I never got the kind of recognition I was really lusting for. While I’ve been busting my iMac, all the other iOS Developer Stars where writing books, being invited to speak on conferences and had their apps featured up the app store and down the iPhone blogs. Time to re-evaluate what I really want to achieve.

What is it that YOU want?

If fame is out of the question because the air up there is too thin, then what is it that I should set my sights on at this stage? What am I doing well? What do I like? What content of mine is appreciated the most?

1000 unique visitors per day tell me that at least some of my blog posts continue to attract a steady interest. The 10 hottest landing pages currently are:

And this order does not change very much. It’s only when an article, like the one on backgrounding, received a treatment by TUAW it gets catapulted into this list. What does this list tell you about my interests or rather the interests of my readers?

I see: understanding difficult concepts, fixing problems resulting from unnecessary complexity on behalf of Apple, and 30% my source code products. That almost sounds like a plan to me. So let’s pretend that I planned it like that all along. 🙂

The Genesis of Cocoanetics

A new name changes everything, it’s like a new uniform that you don the first day as member of a Starfleet crew. The funny thing is that I had it slumbering in me already without being aware of that. It burst out of me like the proverbial chest cracker when I called for suggestions: “… studying to become a Doctor of Cocoanetics …”

Right then and there I had coined a new word. A while after I had published the article I reread it (like most narcissist bloggers would do) and then Cocoanetics moved into my conscious consciousness. I immediately googled for it and was astonished to find that there where exactly zero entries. I registered the domain and re-checked after a few days and then the only entries where my original article plus some sites that are mentioning my domain registration.

I received about a dozen or so suggestions for domain names, but most of them where variations of “Dr. Touch”, some ok and some really fruity. But honestly I had fallen in love with the new word. The best ideas are the once that you think you had yourself.

So, announcing the winner of the new name competition: me. ME ME ME. Sorry, but thanks for playing.

I like about the name that it still has a bit of a scientific touch. I consider learning iPhone development a science. Also I think it’s fun to play mentally with the collision of Cocoa (like the development framework we use) and Genetics (pieces of code that are the program for something larger). To mind comes a picture where you see a DNA strand that upon closer inspection turns out to consist of Objective-C code.

So: out with the arrogant Doctor who thinks he’s something better. In with the Cult of Cocoa. And no, that’s not meant serious, I’m not going to found a religion. Unless … would you be willing to join? 😀

We need a new Design

I asked the twitterverse for some recommendations for good designers because obviously a good name also needs a good site design. This is the first time that I’m actually hiring a professional to design something for myself. One of the first recommendations was Clockpunk Studios and they responded swiftly, professionally and courteously. UNLIKE two other designers (who shall remain unnamed) whom I had to beg for an answer, only to get a snarly response from one and a rejection from the other. So that made the decision rather easy.

Jeremiah Tolbert from Clockpunk Studios sent me a questionaire to fill in some sites from within the same area of business and so I compiled a list of other blogging developers, again with the help of some crowd sourcing. So I went through the list and noted what I like and what I don’t like in terms of design choices: colors, typography, layout, flow etc.

Here’s the list in case you want to spice up your daily dose of Cocoa:

  1. – Matt Gallagher
  2. – Daniel Jalkut
  3. – Jouni Miettunen
  4. – Marcus Zara
  5. – Matt Legend Gemmell
  6. – Jeff LaMarche
  7. – Craig Hockenberry
  8. – Nick Dalton
  9. – Jean-Francois Martin
  10. – Unknown Author

If you know any more then let me know in the comments. I also invite comments about the name. What associations does it provoke in your mind?

What's In a Name?

When I started this blog I was already drawing on multiple years of blogging experience. But this second blog of mine was supposed to be highly focussed on iOS development. More out of a gut feeling than anything else I chose Dr. Touch as a monicker and sort of a brand name. I figured that this would contain some geeky references:

  • “Dr” like “Drobnik”,
  • but also like “Doctor”. For  two reasons: 1) I am both studying to become a Doctor of Cocoanetics and 2) I am also learning a lot by fixing up other people’s code, like a Medicus.
  • Touch derives from Cocoa Touch, which you know is the set of frameworks that we use to program iOS

Now it just so happens that I am moving servers. From a virtual Windows box to a real Linux server. I’ve already transferred all my domain names to network solutions because NS got recommended to my by a friend whom I fully trust. Having the names on a different service than who’s hosting your domain gives you a great deal of flexibility.

But carrying out this move actually got me thinking: Currently all my iOS stuff is in a subdirectory of That might be great for me ego to have my name as domain. But at the same time it dilutes my “brand” because “Drobnik” means so many other things on Google. I might hold the first few places there, BUT to convince people that “Drobnik” and “iOS development” are synonymous is an uphill battle.

So it’s clear for me at this stage that I have to find a new domain name. A name that’s independent from my personal name, but something catchy, something that will get people to know instantly what this site is about.

The usual combinations of Doctor and Touch are taken, and I don’t want to resort to, even though this has a bit of italian flair. And this name also carries the fatal flaw that it takes a bit of brain acrobatics to get from Dr. Touch to iOS Dev.

This I’m announcing the quest for my next name. Mail me your suggestion (or DM me on Twitter) and if it wins over all the other ones that are being sent in, then I will reward you handsomely with your choice of cash or components from my shop or personal development help.

I will announce the winner as soon as we get to transfer the blog to the new server and establish the domain.

Back (Almost)

My trip to Seattle was great, some of the talks on the conference where indeed worth my while and my host Kevin proved to be extremely hospitable. Something that did almost shock me in the beginning was being approached by half a dozen people individually who came to me to thank me for my blog. I don’t see myself as a celebrity, but I guess with 500 people stumbling upon your online ramblings, chances are that somebody will recognize you, especially if you attend an iPhone-related conference.

These are a few of the nice people that I had the presence of mind to get a picture with after they thanked me and told me that they are reading my blog. Thank you! I appreciate your appreciation. 🙂

I did not get a chance to write anything useful since Seattle for several reasons. First I lost 2 days due to travelling back. One day was literally stolen from me because I had to travel back to Vienna to deal with the aftermath of a break-in into my jumpbase there. The following two days where a blur, I only faintly remember buying a parasol for the deck that our father-in-law built for us while I was away.

Most of the day yesterday I spent with writing invoices for the iPads I brought home for 3 colleagues and rewriting DTAboutViewController to be allow for server-side updating of any plist. And now it’s already weekend, the only useful thing I could do was write a lengthy post for my German personal blog and this one article here.

Please be patient with me while I still try to get back on firm ground. On the plane from Seattle I managed to put Box2D into a UIKit app to have buttons be “physical”. The recipe for this will come soon.


Provided that my stroke of luck continues, I will be in Seattle, WA, USA this week. Currently it looks like I was extremely lucky having booked my flight leaving Tuesday instead of Monday. Had I booked Monday’s, my flight would have been fallen prey to volcanish ash from Ireland.

Towards the weekend I’ll be at the Voices That Matter iPhone Developer’s Conference and until then I hope to meet up with several fellow iPhone geeks who happen to live in the general area. Probably do a fair bit of sightseeing, as I have not been to Seattle before. And if possible fill the empty half of my suitcase with iPads. 😉

So if you are in the general area, drop me a note. If you require my services please be patient until I return.

How to deal with contracting customers who won't pay

If you do a bit of contracting besides or publishing your own apps then you will have to deal with a wide spectrum of human beings. Some appreciate every tiny tidbit of love you put into their apps. Some of the more entrepreneurial kind will constantly come with new ideas but always assume that those where part of the initial agreement.

I’ve had an encounter with an illustrious specimen of the second kind and so I thought it would be therapeutic for my hurt pride to ask the tweeting community about their opinion. Here are the responses for a view of what other iPhone developers generally think about this topic. I got a big number of responses which for the most part contain good food for thought.

Read more