Let me briefly summarize what’s going on in my iOS life at the moment and where you come in (if you like).
My business revolves around several pillars which I established over the course of the past 2 years. My main income comes from 2 big contracts, one for developing for ELO Digital Office in Germany, one from a development partnership with International Color Services in Arizona. The former is about developing iPhone and iPad clients for their digital document archive. The latter is iCatalog.
Now I am quite lucky to have won over my brother-in-law who happens to be an excellent developer with a background in Java and Android to work exclusively on these contracts. Right now he focusses on the iPad version of ELO.
I myself have spent the past 3 weeks on a new release for iCatalog, the big items are being able to zoom catalog pages and lots of trouble to make it compatible with iOS 5. The main items regarding the new OS where to move all content to Library/Caches and I am still struggling with Apple’s decision to no longer send rotation events to fully covered view controllers.
If I have a video that the users pinches-open to full screen the catalog view controller no longer gets informed about rotations. Instead you are supposed to use two new delegate methods that get called whenever the view hierarchy below the VC is about to or was performing layout. The problem there is that this happens far more often than rotations.
I am hoping to get this version of iCatalog done before this week is out, because my brain is definitely in need of a break. Just yesterday, when one of our cats woke me by pawing the door to our master bedroom, I started coding at 4 am and worked through 4 pm. I did have lunch and Wednesdays I am getting a massage, but still I feel like chewed out. It’s almost there, the weekend, I need it.
Now unfortunately I cannot clone myself so there are several items backlogged behind this iCatalog release. I promised my DTRichTextEditor clients to work on the layouting performance for longer documents. Everything longer than around 150 lines is lagging, because for every inserted character the entire document is being laid out presently.
The idea here is to only layout the paragraph that was changed and move the following paragraphs up or down accordingly. Paragraphs because the beginning of a paragraph always coincides with the beginning of a CTLine. Or put in simpler terms, paragraph beginnings are always line beginnings. This makes it easy to automate the surgery.
The second item for CoreText and my open source NSAttributedString+HTML project is to do a bit of clean up for one pull request I don’t have time to look at. Also I need to wrap this all into a library or framework because with so many classes in there it becomes tedious to having to copy all files to your apps. If there where a library target in the project then you could add the project as a sub project. Alternatively making a fake framework would give you the ability to automatically include the necessary heads in the bundle.
Last week we had our annual sit down with the tax advisor. There I learned that my iOS endeavors made around 45000 Euros in 2009 (when I was by myself), and up until September (now 2 heads) we had a turnover of 93.000 Euros. So the additional help allowed me to more than double my turnover, probably to well above 100k for this year.
But that’s about as far as I can grow with 100% of my own work. Granted I have some components and apps I’m selling providing passive income, but I generally still see a very tight coupling between time spent coding and cash-flow. And since I cannot clone myself that would be the limit of how much I can grow.
So how can this grow further?
I have 3 ideas on how to tackle this:
- I will hire somebody to take care of business development and the non-coding aspects of developing apps for clients. The idea is to incubate development for client in my existing company, using the synergies there and existing infrastructure to cost-effectively grow it. Then after a year or so – if this has proven that it can stand on its own – to spin it off into a new company.
- My current company will continue to own certain products, apps, components, licensing deals and build on these. But anything that goes into creating new products or maintaining existing ones would go into the new branch/spin-off. I would be my own client for this.
- I want to spin-off a website/blog to deal exclusively with topics related to working on developing for iOS. This would be a commercial endeavor in its own right because of the extreme niche focus. For developers it would give you a constant stream of what interesting jobs and projects are being staffed. For clients you would have a popular place to make your needs known. Of course I need somebody to head this new spin-off too, sort of like a Chief-Editor-Head-of-Business-Development hybrid.
If the above only serves one purpose then that I hope you see that I am also interested in a META discussion with you as to how we could join forces to benefit the both of us.
When I got married two years ago I moved to the countryside. While I love to be working here it has several drawbacks when it comes to meeting clients or potential partners. But this is how it is meant to be, I even declined an opportunity that was presented to me by Apple itself. I am not moving. I have my own business to build.
So it has to be a virtual corporation. But then again, you can work on iOS projects anywhere you have Internet and a Mac handy. The only problem is that my stomach aches if I think of being billed by the hour by a contractor without having any way to check up on him and see how he spent this time. There is a big difference if I am paying for work out of my own pocket or whether it is a client footing the bill and the money is pass-through (with a margin off the top for my company).
Summary: Own products. Develop for Clients in a separate Company.
Right now we are focussing on external money, but I am planning to reinvest part of the surplus in my own products when it is feasible to do so. I am keeping lists of feature requests for my apps on a Mantis bug tracker. But as it stands there is no substantial budget to pay external contractors for work on these apps that only make me like a couple of hundred Euros per month. Without financing there are only three options:
- let it rot or take it off the app store.
- labor of love (whenever, if ever, I have time)
- hire somebody that I can afford, possibly part-time, who likes to gain experience working on my code
I don’t know if I can be a true Entrepreneur in the sense that you start something that quickly beings to run by itself and then you move on. The other meaning of Entrepreneur is to build a business and stick with it and focus exclusively on it.
There are two guys that I greatly admire in this area, one is Marco Arment, one is Markus Müller. Marco only does Instapaper and due to his focus he does it extremely well. Markus only does Mindnode, and because Apple continues to feature his apps he is now looking to hire his first employee. Oh how great must it be to only having to think of ONE product, not being pulled into all directions at the same time as I am feeling like I am.
This envy – that I readily admit to – is one of the causes why I think that I must focus more on what my own products are. I want a simpler more focussed life. I seem to be a victim to the Austrian strategy “Kleinvieh macht auch Mist” (= “many small animals can also make a big pile of shit”). Because there is no single item forthcoming that I could bet my entire company on, I am dabbling in many small things. It pays the bills quite well, but I suspect that this approach is limiting my quality of life and also limits how much this business can grow.
Or maybe it is not all bad. Exactly this non-focus is what let me gain much experience with many different activities in a short time. So maybe you need to spend some time experimenting what activities satisfy you the most. And later in live you can still settle on on of the “next big things” (that seems to come around bi-weekly).
Whether you are still in the experimentation phase or whether you are already in a position to tackly your big idea, let’s talk! My e-mail address is no secret, there’s a big button right there at the top of my website.
Categories: Administrative
[Offtopic]
Suggestion: make a tutorial explaining how to develop to iOS 4 an iOS 5, should the people install 2 xcode (4.0 and 4.2) with 2 sdk´s?
Thanks for the suggestion, will make a Q&A post on that.
Great article Oliver, I always enjoy your business articles which are related with iOS development. A lot of us have similar issues as you while building a iOS dev/publisher company. Great read!
just had one thought on employing some other developer. Not fully thought out, but..
It would seem that if you have them checking the project in on a regular basis to Github or some other SVN site, you could check there submits and diffs to see what code they’re actually writing/changing.
So they submit a ‘sub-bill’ for 4 hours of work, there’s a corresponding Git update which shows exactly what was changed in the project for those 4 hours.
Being a one man shop, I only have my submits to compare to and they’re woefully slow.
Thanks for your blog
Seth