Ad

Our DNA is written in Swift
Jump

Category Archive for ‘Administrative’ rss

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 drobnik.com. 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 DoctoreTouch.com, 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.

Seattle

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

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