BuySellAds.com

Until Dec 3rd, 44% off all Manning books, including Barcodes with iOS! Promo code: mobicftw
Our DNA is written in Objective-C
Jump

Category Archive for ‘Administrative’ rss

Business as Unusual

If you follow my capers then you will remember that I changed to full-time on all my iPhone-releated activities at beginning of December. Now with the turn of the century I took on two chores that I was putting off for quite some time, even though I was fully aware that their completion would be benefitial to my immediate business development.

The first was to structure and formally open my Dr. Touch’s Parts Store where I am offering professional-grade software components to spruce up your own apps. The second I just finished, it’s a page which details all the contracted apps I made in the past so that you can see the whole spectrum of apps I made in the past year.

Yesterday I set up my Drobnik KG business stationary in Billings so that I don’t have to write my invoices with Microsoft Word any more. So as of today I am announcing the full availability of the entire spectrum of my professional offerings.

Professional Services

My mission is to be a grade A iPhone Development services provider. As such these are my offerings:

  • Wholly Owned Applications – providing a steady basis for my cashflow
  • Contract Applications – experience in serious app development
  • Partnerships – exchanging knowledge and resources for part of the earnings, depending on the degree of my involvement between 20% and 50% of royalties
  • Troubleshooting, Coaching and Development Training – either in person or via screen sharing
  • Pre-Submission Inspection of your code – eliminate reasons why Apple might reject your app
  • Dr. Touch Podcast – Concise News and Commentary relevant for iPhone Developers
  • Dr. Touch’s Parts Store – Professional grade software components to spruce up your own apps
  • Project Management and Staffing of outsourced projects – if I don’t have the capacity then I know where to get it.

“Nuts and Bolts”

Personally I am especially interested in developing solutions for tricky logical scenarios. If you need something done, that falls into this “interesting” category, then you have two options with me:

  1. I can develop it exclusively for you, with you bearing the fullest extent of my development costs. Then you are the only one who can use my code in your apps.
  2. If it is a component of broader interest then you can suggest development of a Dr. Touch Part. When I am selling this component you will be able to get the resulting Part at a fraction of the total cost because development is paid for by multiple customers.

Partnerships

About partnering … I have 3 apps in the app store where I am sharing profits with a partner, depending on my involvement:

Having just opened for business I still have to look primarily to get a positive bottom line for each month. Therefore I cannot afford to enter into any partnerships where I am asked to develop an app for multiple weeks to maybe get a payoff after the app might (or might not) become a big hit.

The partnership model that I am most likely to be considering is that my partner fronts the development costs and gets full (or a major portion of) royalties until he has recovered his costs. From that time onward we are sharing 50:50.

Connecting People

My blog has about 500 unique visitors per day, I have over 1100 iPhone-targeted followers on twitter, my podcast so far has about 100 subscribers on iTunes. Over 600 people have donated in support for my causes to keep iPhone piracy at bay and provide a mobile way to aggregrate your sales reports.

I like to communicate and help out where possible to help the iPhone community as a whole. So if you need to get the word out about something that might interest the whole iPhone world then don’t hesitate to contact me.

New Year, in Context

What’s the appropriate New Year Greeting for a Cocoa Geek? He reverse-engineers something that Apple made into saying the wishes for him:

This is what my DTMenuViewController will look like or rather already does look like. Just like the one Apple includes since iPhone OS 3.0, but with any kind of labels you like to have. And any kind of colors you like. To prove that point, I made the NEW red. NEW Year. NEW Luck.

2010 will be great, I just know it. I remember that 2010 always was “the future” for me. Cool stuff, near enough to live to see it, yet far away enough so that some technical breakthroughs could happen. Stanley Kubrik’s 2001 was “in the future” and 2010 was even further futuristic. So that’s partially what imprinted this year in the back of my head as a goal to live to see it healthy and hopefully a bit wealth and a bit wise.

2010 will also be great because I am counting on the iSlate to double my market for Cocoa-written apps practically over night, one fateful Summer 2010 day.

Now that 2010 is almost upon us, the future has arrived and in a weird sense it just feels like the present. Duh. What’s the next year we should aim to see without any local or global health disasters?

Stay tuned for what’s coming on this blog in 2010. You ain’t seen nothing yet!

Update Jan 1st: YouTube Demonstration.

Update Jan 2nd: I made a demo showing of DTCalendarController in a Tap&Hold Tableview.

Source Code for this component is available for 100 Euros. A professional invoice is available if you need it for your professional app.

Though Shalt Not Make Predictions

I suck at predicting. Really. I appears that I am proven wrong time and again when it comes to seeing the future. One area where this can be seen rather clearly is when it comes to the success of the apps I have coded so far.

Half a year ago I already ranted about I lost Millions of Dollars because Apple did not permit my first two killer apps into the store. One (DropClock) was too dangerous, the other (MyAppSales) was incompatible with the SDK Agreement. Both apps I had very high hopes for because of their uniqueness or usefulness at the time. Niente.

iWoman I had originally created it for my (now) wife to keep track of her female cycle days. I was also my first full project going from start to finish, so I saw it mostly as a means to learn certain techniques being new to the platform. Therefore I did not make a prediction as to the immediate income, basically telling myself: Who would need this app besides of my wife? Well, I could not have predicted at that time that most of my income would come from “the long tail”.

This tail I am talking about is the constant trickle of sales you get even long after you released an app. It would inadvertently follow any kind of initial peak and be a result of a constant influx of new shoppers on the Apple app store. So my commercial disinterest in iWoman kind of proved me wrong once again. Until two days ago iWoman was responsible for a major portion of my total income from app sales.

It seems to be an inborn need for humans to successfully predict. And then when it turns out that the predictions where wrong, we find reasons correlations excuses what external influences out of our influence where to blame. And of course in the rare circumstance that your predictions actually pan out, we feel exhilarated and brag about how clairvoyant we have been.

Some time ago I started to do publishing deals with other guys. Like for example my 50:50 partnership for LuckyWheel. For my 80:20 partnership for Frequency Annoyer. I figured, since I cannot successfully predict the success of a single app I would diversify and be content with a portion of the profits of many apps as opposed to all of the profits or non-profits of only my own. That’s when I essentially also became a publisher.

For LuckyWheel I was doing the coding and my partner Michael Dorn did the artwork and questions. We split the profits evenly. LuckyWheel failed to make me rich as well, but it was sticking to the sold second place on the long tail, right behind iWoman.

Being a publisher does not mean my prediction track record improved. The diversification this brings simply reduces a negative impact from single apps and improves the long tail scenario. When Laurens approached me to publish his first app I was extremely skeptical. Who would want to buy an app like Frequency Annoyer? Hey, so I thought, it’s evil to annoy people with a high pitched tone that they cannot localized. Laurens was extremely enthusiastic, it was his first app, and he told me that he is confident that this will sell really well.

So for 20% of the profits I agreed to publish it after riding him hard to make some UI and usability improvements. But those apparently paid off, the app was approved the first time we submitted it, because I had learned by now how to avoid most of the kinks that would cause Apple to reject apps. Again, not a major surge to prompt instant retirement, but a sold long tail. So solid in fact that after overtaking LuckyWheel every now and then, it conquered the second place in daily income some weeks ago.

Laurens approached me for his second big app, this time even more confident. He said he was certain that even more people would purchase his latest invention the Full Screen Browser. Again I failed to see the potential, but my rate was set. 20% and I publish anything. And good luck. FSB got rejected twice by Apple. Once for not setting the age rating to 17+ as any app has to have if there is unfiltered access to the internet through it. The second time because Laurens was using the undocumented method setOrientation which is an incredibly irreplaceably useful method, but still forbidden. Well, we got that worked around and resubmitted.

I did not want to tell Laurens my opinion at that time. Who in his right mind would purchase a browser when there is Safari built into every iPhone? Full Screen Browsing for one Dollar? Seriously? Don’t you agree that this is a silly proposition?

If you answered Yes to the previous question that you fell into the same trap as me. We developers think we know what the customers want, but fail to notice the reality that we don’t. We can code extremely well, but only the customer knows that the customer wants. Hell, billions of dollars are spent by companies every year on trying to find out what the next big thing will be. Which political party will win. Which stock will go up. The matter of the fact is that nobody is good as predicting, but big companies have money to spend on the hope that somebody actually is. The logic goes: if I pay you a thousand dollars and you do a study then I should get a more valuable result than just predicting myself. Namely the result will be worth a thousand dollars, because of the simple rule of the market: Something is always worth as much as a willing buyer and a willing seller can agree upon. Or put differently: something is only worth as much as somebody pays your for it.

You probably guessed it by now, that FSB absolutely rocks my reports. Shakes my foundation of beliefs. Makes me feel warm and fuzzy inside. In just two days since it got on the store, Laurens has already sold 574 copies. So in just two days he made more money with FSB than in the 2 months before with Frequency Annoyer. 2 months versus 2 days. That’s over 2900% more success than I had predicted.

They say you can make numbers talk in any way you like if you just torture them long enough. But I am at a loss here. I have NO idea how to make these numbers prove my predictions.

What the morale of this story?

  • Don’t trust me (or any iPhone Developer) on any kind of prediction related to commercial success or failure of individual apps.
  • Diversify to reduce negative impact if single apps.
  • Partner with other people. It’s better to have a small share in something big, then to have everything of nothing.
  • Just try it out. Even hobby projects will increase your programming and marketing skills. But you need to see them through from initial inception all the way until they can be purchased on the app store.
  • Don’t try to be “right”. You’ll rarely be. Instead try to be “in” with the profits of many apps.
  • Don’t let your ego get the better of you. Don’t get cocky. Much of my income is a direct result of partnering with two teenagers half my age (Laurens and Fabian)
  • And the correlary to the previous learning: if you are under age, don’t be afraid to contact me and let me publish your app for a portion of the profits.

Yesterday a prediction of mine was proven wrong in an entirely different area. About a year ago I had predicted that a big international company would have to keep it’s Windows desktop support staff while reducing in other areas. Even a small staff (100 machines in 2 locations) still requires maintenance and logistics and a local person taking care of their hardware needs, right? It’s logical. There is no other way. So I thought this to be a safe bet that I had made and I felt secure throughout the financial crisis.

Still I was proven wrong. Big company decided to completely lay of the local IT support staff and replace it with remote support. W00t?! I’m laughing and crying at the same time. Crying because I can imagine the support hell that this will be for my former colleagues. Laughing because you now have access to Dr. Touch Cocoa Helpdesk full time. The doctor is in tha house!

So in closing I predict that I will refrain from predicting henceforth. Rather lets orient ourselves on the facts at hand. Fact is, my iPhone business has grown substantially over the last year. Fact is, I am a much better Cocoa coder than I was a year ago. Fact is, I am in constant contact with thousands of developers worldwide through this blog, twitter and lately also a new podcast. Fact is, I am frequently being approached by people with small and big iPhone projects.

So I predict that I should be fine.

NSDictionary from NSData

When working on the review downloading for MyAppSales I found a situation where I needed to convert NSData I received from an NSURLConnection directly into the NSDictionary which it represents. Neither class really helps you there, there are only two methods to instantiate an NSDictionary from external contents:

  • dictionaryWithContentsOfFile
  • dictionaryWithContentsOfURL

Now where is the missing dictionaryWithContentsOfData? Well, it turns out that such a method exist, but it’s way down the frameworks stack burried in Core Foundation. Let’s make a useful category extension for NSData to fix this for our purposes.

Read more

Out of Office

I’m out of office while I am on summer vacation with my wife catching up on some honeymooning. I will be back mid August.

Huegel

Until then I will only be able to sporadically check my e-mails and/or respond.

If you have donated for MyAppSales: after the PayPal payment you see a link that takes you back to drobnik.com where you can read the instructions on how to get it. If you missed that then e-mail me, but it will take a while until I respond.

If you have donated for AntiCrack is: Please be patient, I’ll mail it to you as quickly as I get a chance.

All other questions: Please ask them again mid of August when I am back in office.

Crashed MacBook Gets New Lease of Life

I previously reported on the unfortunate encounter of my first MacBook Pro with stone floor. Those alu guys are sturdy little bastards I can now say from experience because it continued to work flawlessly.

Then came my birthday and a new unibody MacBook Pro to replace it. This is two unibody generations newer. This one has an SD-Card slot, dual GPU, 2.8 GHz and 500 GB Harddisk. No SSD yet because for me 128 GB turned out to be too small and larger quantities are not yet financially viable.

Almost as long as I had the old MBP I also had provided a MacMini to my partner Christian whose been learning to code Cocoa on it. Turns out besides of being a Photoshop guru Christian also is well equipped with all screw drivers there are and with the patience and precision necessary to refurbish devices which are usually considered to be “beyond repair”.

Read more

Honeymoon

Mr. and Mrs. Touch are away on a short honeymoon in Bad Blumau Thermal Spa.

Thank You for all your happy wishes and congratulations. I believe that most of them belong to my wife Britta for becoming more important to me than all my Apple devices. (At least long enough to say my vows)

I’ll see you all when I get back to Cocoa surgery, training and frantic coding now with always-on Wedding ring.

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 tipjoy.com

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 (oliver@drobnik.com) 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.