Our DNA is written in Swift

Category Archive for ‘Administrative’ rss

The Dr. Touch Tip Jar

I’ve been collecting tips for my work as Dr. Touch in my PayPal account. I found that people are most generous if they receive something in return:

  • Code to add copy protection to your apps
  • MyAppSales source code
  • Help fixing code signing problems
  • Solutions for a wide variety of head-wall-banging problems

But generally people seem to be reluctant to tip me via PayPal, probably because you associate receiving a service or product with PayPal, whereas for tipping you really would require a different and easier scheme for micro payments.

That’s why jumped at the chance of setting up my tip jar with

Here you can see the latest generious givers.

Apple Rejects Incredibly Useful iTunes Report App

ASiST First screenshotMostly out of personal necessity I had created MyAppSales to download and chart the sales reports available on iTunes Connect, the website where Apple makes daily reports available for only 7 days. A dozen BETA testers helped me improve it and iron out some kinks and finally it was ready to be submitted for sale on the app store.

Some people suggested that Apple might not want any app to interface with their website, but someone found an all called Sales Report on the app store for $14.99 which does precisely that. I assumed that Apple had to be fair and allow all apps that do the same thing. So I submitted it.

There was an occasional back and forth where every time I got an additional line of the full answer, but I kept arguing for fairness. After many weeks of keeping my app MyAppSales under review they finally came back with a rejection reason that I cannot counter:

Thank you for submitting your application to the App Store. Unfortunately, your application My App Sales cannot be added to the App Store because it violates section 3.3.7 of the iPhone SDK Agreement:

“Applications may not use any robot, spider, site search or other retrieval application or device to scrape, retrieve or index services provided by Apple or its licensors, or to collect information about users for any unauthorized purpose. ”

There is no public API allowing information from iTunes Connect to be used in the manner demonstrated by your application. 

Now I am baffled. I and a dozen other people keep using MyAppSales and we are quite happy with it. But Apple seemingly does not feel a moral obligation to appliy those pesky SDK Laws equally to all developers.

Requests for comment about why the other app is still available on the app store have not been answered so far. I sent an e-mail to “Maringo Holdings, LLC” to congratulate them for having successfully outsmarted Apple.

Currently I have no time or strength to rip out the heart and usefulness from my app. Therefore for now I am offering the source code for purchase. You can compile the app yourself and use it on all your iPhones as you please. I think $15 is a fair price. Send it to me via PayPal ( and I will send you the source project. I will also keep providing free updates to source license holders.

Maybe in the future I will find a workaround, either via an FTP server in between Apple and the App or maybe interface with one of those numerous services that are popping up proposing to manage your reports online.

Story of my Life

The company that puts the bread on my table asked me to write an article about how my programming hobby led to an idea that eventually got submitted for patenting to the US patent office. People liked it very much so even further departments asked me if they can use the article.

Now that it has gone public inside the company I sought and got permission to put it here for you to enjoy. Note from editor: Minor changes where made to protect proprietary company information.


How My Hobby Led to an Invention that Amdocs Patented

Oliver DrobnikWhen I was just a young boy I loved to play with LEGO pieces and was fascinated with how you can put different things together to form something completely new. The concept of “the whole being more than the sum of its parts” fascinated me and my passion for constructing things carried over to writing computer programs on the MSX home computer that my father bought in 1983, when I was 9 years old.

Previously our family had moved to the suburbs of Vienna, the Austrian capital, and being away from the many distractions of the big city left me lots of time to sit in our basement and experiment with simple computer programs which I would create first in Microsoft BASIC and later in Turbo Pascal.

A neighbor of ours was the kind of person you nowadays would consider a “nerd,” but he was the first person with whom I was able to share my passion for computers. So, I followed his example after graduating from high school and attended college for two years to learn how to become an IT engineer. Three years later the Austrian Chamber of Commerce awarded me with my Engineers degree.

At first I tried to go to university and even passed a couple of IT and English exams quite successfully, but after two years I got bored. An academic IT career, in my opinion, was miles away from the hands on work of creating real programs that solve real problems.

So right after compulsory military service, I applied for a job at TelCo and got on board with them as an IT operations guy. I would perform billing and rating runs, while constantly creating scripts to make such mundane tasks more automatic and self-correcting. Unix shell scripts were my “weapon of choice” for saving myself a lot of time.

My next ‘idol’ was a guy who showed me how to write C++ programs that I could debug on Windows and later compile for HP Unix or Tru64 without changing the code.

A couple of companies later, I became one of the first owners of the iPhone in Austria. Even long before it was officially available, I knew I just had to have one. Since the inception of GSM I had been a true follower of Nokia, but the promise of a touch-based full-screen interface together with ‘always-on’ internet connectivity seemed to me to be the holy grail of mobile computing. Right after the official release of the iPhone 3G, I upgraded and as soon the Software Development Kit was available I signed up for a developer’s account. At first learning this strange new flavor of Objective C was daunting, but endless hours of experimenting and puzzle solving got me to a skill level that now allows me to create applications within a couple of weeks in my spare time.

I found that the more code I wrote while travelling on the train, the more ideas I got for new iPhone programs that would be incredibly useful to me. One of those ideas was clearly on too large a scale for me to implement by myself, but when I heard about the Amdocs innovation intranet site I decided to submit my suggestion to Amdocs.

[Proprietary details of patent omitted here]

Several months passed before I received a reply from Amdocs’ innovation team, but when the reply came things moved quickly. I was informed that my idea was worthy of patenting because of its proximity to Amdocs’ core business – mobile commerce. Based on what I had previously written, a patent lawyer created a 20-page document which detailed my invention in minute detail. When I approved the draft it was submitted to the US patent office.

Many people have since asked me why I would give my idea to Amdocs in exchange for a one-time premium. My response to them is that I would rather see a good idea be owned by a great company that has the potential of implementing it than keep it to myself in the hopes that a profit may be gained from it someday.

Today, at age 34, writing my own programs feels like ‘LEGO for Adults,’ a sort of creative self-expression. My full time job at Amdocs is to take care of IT at the Amdocs Interactive Vienna site; sitting down in my spare time and creating solutions for my own computer problems makes me feel like I can create something lasting that also has value to others and, at the same time, balances and energizes my creative juices.

From my experiences, I can only recommend to all readers to take on a hobby where they create something with their hands – be it carpentry, knitting, programming or anything else. I have found that such a constructive hobby increases your general satisfaction level and makes it much easier to deal with the stress you might face at work.

GeoCorder Breaks Records

After the first full day of sales I am really happy with how GeoCorder is doing. I did not expect such a huge number of downloads. But hey, it’s useful and it’s free… for a limited time.

USA leads the way with 240 downloads, Germany with 43 is not-so-close second and Canada on third place is barely more than the average with 29. In total the top three countries amount to more than half of downloads, 495 in total.

Actually those numbers might give a very good indication about what international distribution of downloads to expect and which languages to target. With English you will cover more than two thirds of market volume and German approx. 10%.

GeoCorder is useful to anybody in any language and therefore I think download number are not skewed by people not downloading because they don’t understand the app’s core content. GeoCorder has so little text that your language does not matter.

I will raise the price to $2 once I reach 1000 downloads. While this will definitely reduce downloads dramatically I hope to turn a couple of bucks for the effort I put into this app.

UPDATE: I dropped the price again to $1 because daily downloads dropped from over 200 to zero.

New App available: GeoCorder

Our latest addition to the app store is GeoCorder, currently free. With it you can simply record GPS tracks in full detail and later e-mail them to contacts in your address book.

Actually I just put it online to get some report data about free apps, so that’s your advantage. You can get it now for free. Later I’ll probably raise the price to 1 Dollar, because I believe that if people like the concept they will also buy it for that amount and the earnings can then go towards further development of the app.

GeoCorder had been rejected by Apple several times. First due to my abusing a standard button for something completely different. Later I had a nasty crashing bug that you would only see if you tried to e-mail a track without network connectivity. Apple thought that this might “confuse users”. And frankly so did I after being able to duplicate the problem on iPhone Simulator.

I persisted, improving my code several times and resubmitting as often. Finally, today, I got the infamous “Your application is Ready for Sale” e-mail. Hooray!

More info here.

Don't abuse standard buttons

Four days ago I had submitted a small app to the app store and yesterday I received feedback that I had to make some changes. Out of pure laziness I had re-purposed the “compose” button on a tool bar to call up a settings dialog.

“Applications must adhere to the iPhone Human Interface Guidelines as outlined in iPhone SDK Agreement section 3.3.5.

The compose button is to be used to open a new message view in edit mode. Implementing standard buttons to perform other tasks will lead to user confusion. We recommend using a custom icon.”

I must admit that Apple is right, we want to avoid user confusion at any cost. Also kudos to them for really being strict even if this means for us small-time developers that you have to submit your app with changes several times until they give it the nod.

I ended up creating my own button with a custom image of a cockwheel and while being at it I also replaced the play button with a record button, again by my own design.

New Blog started

After blogging for 10 years in German I thought to myself, “Hey. This app development really starts being a serious part of my life. I’d better dedicate a dedicated blog to it!”

Every now and then I would blog programming related topics in a category on my personal blog, but those always felt somewhat misplaced. Then I am frequently discovering new ways how to manage certain tasks in Cocoa Touch, but didn’t have a place to put this new-found knowledge.

Now I do.

All the while I was blogging on my own blogging engine. But software development generally is a TEAM effort. In this case TEAM is a German acronym for  “Toll, ein anderer macht’s” which can be translated as “Great! Somebody else takes care of it!”

I want to concentrate on developing iPhone apps, not coding a blog engine. WordPress to the rescue! This blog was literally running within 5 minutes. And while I was at it, I remembered the suggestion of a BETA tester to find a place where people can submit bugs and suggestions for my apps. My future brother-in-law suggested Mantis and this was also running in only a few minutes. 

The bug reporting site for all my apps is now located at