Our DNA is written in Swift

Building the Ultimate iOS Source Store

When I quit my employment as Windows system administrator in December 2009 I had already been developing iOS stuff for 2 years. At that stage I had to define what my business should be comprised of and I decided on a multi-pronged approach. I simply lack the design capabilities and ideas to sustain myself on apps alone.

The Past

One of the multiple streams of income that a holistic iOS business can generate are sales of software components. Often there’s a functionality that you wished Apple would provide or made simpler to use but you lack time and expertise to write such a component. And you lack funds to hire a professional at a rate of several hundred dollars per day. What if you could share the development cost with dozens of other fellow developers? The pro would still get payed, but you trade exclusivity for availability.

This is what I created my Dr. Touch’s Parts Store for.

Often I get asked, how this is going for me. Here’s my first go at answering that: pretty well! I’ve been doing that for 7 months now, which provides a bit of data that we can slice and dice. Also I’ll tell you about the present state of affairs as well as present to you my vision of the future: The Ultimate iOS Source Store.

So far I created and mailed about 100 invoices since end of January. That’s about 14 per month or 1 every other day, roughly. It does not feel as much because I have a fast and efficient process set up:

  1. If somebody has a question about how to order, I send them to my terms and conditions summary.
  2. Once they e-mail me their order I add them to my Mac address book
  3. I add them as a new client into Billings. (For EU customers I add the VAT ID number and “Reverse Charge” in the comments so that this get printed on the invoice as well)
  4. I create a new project “Dr. Touch’s Parts Store” and add the ordered products from my blueprints
  5. The invoice is mailed as PDF to the client, bcc’ed to my CFO and accountant.
  6. Then I await payment either via bank transfer or PayPal.
  7. Finally, after payment is secure, I mail a “Quick Start” e-mail to the client explaining how to access the Subversion repository and how to take the first steps integrating the purchased component.

This looks like much, but since this process only takes a couple of seconds every time I would never have guessed that it have been so many already. And I didn’t have any complaints so far, some customers apparently appreciate how I structure my components and are happy to return for more.

Billings is great for invoicing and tracking billable time, but I could not find any better way to get the invoice sums out of it to make a chart but to add them manually with my Calcbot.

Please forgive how this looks, I made a conscious effort to use Numbers and not Excel for this. But you can see that component invoices alone made on average 2000 Euros. This equals to about 2500 US Dollars. I intentionally decided on Euro as invoicing currency because a) it’s more convenient for me being in the Euro-Zone and b) PayPal converts it like a champ.

I find that due to the diversity of iOS developers and the diversity of apps they are making you have to have a wide selection of different things in your store because you cannot hope to match people’s current taste consistently with just one component. Sufficient diversity causes the above demonstrated consistency.

I have even more unreleased components up my sleeve that I am developing at the side. You know whenever I find myself creating something I stop and think if it would be of future value to me in a different project. And if the answer is yes or maybe then I prefix the class with DT (for Dr. Touch) and code it extra clean and extensible. This causes two things to occur: 1) my code is even cleaner more easier to maintain down the road and 2) with a bit of polishing and marketing I have a new component to sell.

The Present

At the moment that’s the way how it’s working for me. I’m quite busy with a big contracting project that at the same time builds up some Intellectual Property that I will be licensing exclusively to a US-based partner. So I’m certainly busy to an extent, that I have to pass on many contracts. Whenever I have some breathing space I’ll go into my tool chest and take up new components for my store, besides performing some long overdue overhauling of my own apps.

I have to admit, that I am not the original inventor of the idea of selling source code or libraries. There’s a myriad of such sites that sell PHP, JavaScript and other code. The first company I found selling something for iOS developers is Plausible Labs. They are selling a CoverFlow implementation, pre-compiled from $300 (indie license) up to $2500 for the source code. If you are a serious about app development that you probably make more than the $10000 which is the limit where you can no longer get the indie license but need to shell out $900 for the “standard license”.

I always felt these prices to be something over the top, so I’m setting mine in the range of 100 to 400 Euros based on how much work I have to invest. But hey, let me be honest, I just don’t have the balls (yet) to charge what other people are charging. Plausible labs charges $150 for contracting, my maximum rate is $75 per hour. Maybe next year.

But I’m not the only one who is selling components. Only recently I have been approached by several people who are trying it as well.

  • Tarek Sakr is offering Sensible Tableview, making creation of tableview-based apps a breeze. Use promo code SCSTVOD6210 to get a discount. Price without coupon is $99.
  • iCodeSource offers URL Manager for $199 (single seat), $499 (5 seat) or $999 (25 seat) license.
  • Red Laser barcode reading library (no source), $2500 minimum license for free apps, then 10 cents per user in several tiers.
  • Brian Stormont (Stormy Productions) sells the RadioKit SDK, allowing you to make a streaming radio app. $100 per unique app.
  • The game Sapus Tongue is available as source code from $199 (“Basic”), $249 (with updates for 6 months) and $349 (“Premium”, allowing you to ask questions)

Even Cocoa Superstar Matt Legend Gemmell is thinking aloud on how to do it right, selling source code. Although many people are glad that he doesn’t charge for his source so far, especially MGTwitterEngine which powers quite a few iPhone twitter clients.

So we see that there is a need which more and more devs are trying to fill it. There’s a wide spectrum between free and ruinous. Personally I believe that my approach to be the one the balances income and liberties for the customers the best. If I had an online system that would manage pricing tiers for me then I might be tempted to also go with tiers from no-source-cheap all the way up to full-source-lifetime-support.

The market for iOS source software is in it’s infancy and more and more developers will find that selling components can supplement their income to a level where it might be sufficient to “do it fulltime”. Please bare with me as I lay out my vision on how it could be done in a smarter and more profitable way.

The Future

What I really would like to achieve mid-term is to get a business going where several developers offer their components in on standardized online way for people to see demos, maybe get a time limited static library to try and then purchase access to an svn repository where they can always get the latest version of the components they purchased.

Possibly multiple pricing tiers: cheapest is a one off static library, middle is source code access and most expensive is with personal integration support. There might be an option for customers to subscribe so that you get a credit every month that you can spend on a product or service or save for something that needs more credits.

Having (almost) all of your heart’s desires represented in a single store has several advantages:

  • developers can concentrate on what they love: write great code and get money for it.
  • customers can browse and are tempted to buy more
  • representing a large share of the market there can be common marketing activities that will benefit all participants.
  • Other people would be taking on all the hassles of account management, hosting, support etc.
  • by bringing together developers of multiple calibers in one location multiple synergies become possible: we could have a suggestion box where people interested in specific components could suggest and vote on them and then one or more developers could set out to make them, sort of like a “Part Kickstarter”.

Also the owners of this business would vet other developer’s components for possible inclusion into this system. We would take a commission, say 30%, from those sales. Additionally a shared blog and advertisement revenues are thinkable.

This would need to be founded, funded, stocked and run as a real business. To succeed the goal would be to make this the only site people think of then wanting to save time purchasing a component instead of building it. There are sites out there that are doing that for WordPress templates and PHP or Javascript code, but I don’t think that this exists for Cocoa Touch yet.

Don’t know about funding yet, but I believe for this to work it has to been done professionally, with one or two people taking care of the administrative tasks and creating/running the website. And also doing marketing. This means there need to be sufficient funds to pay for hosting and manpower for at least half a year.

There are several levels to enter into this:

  • founder, brings funds, receives share in business and profit in relation to percentage of founding capital
  • admin, gets paid for his parttime or fulltime work creating and running the business
  • dev, brings his components to the table. Receives 70% of sales

Forgive me if this sounds like a brain dump, because it is! I have no management training and I have founded and I am playing my iOS business “by ear”. So if you have something to contribute to this cause or would like to help me get this baby on it’s wheels then contact me.

UPDATE: I created a private Google Group so that the many people who are interested in participating have a somewhat more private forum to speak their mind.

I have invited people of these kinds to the group for I think their input will be invaluable.
  • Developers I have partnered with in the past or have ongoing cooperations with where I share revenue with them
  • Developers who just have begun selling their components via their own website or are about to
  • Investors who have expressed interest in sharing in the founding of the endeavor
  • Entrepreneurs in general who can share experiences in how to project, develop and run such an endeavor.
If this is you, or you know somebody to fit into one or more of these categories, please send them to us.

Categories: Business


  1. This will be challenging but I like the “think big” approach.

    One major issue will be that not everything can be sold as a component (eg static library) or where the whole point of the product is to sell the source code as basis for a new product, like my Line-Drawing Game Starterkit:

    I also put up my sales numbers:

    Or the aforementioned Sapus Tongue which IMHO primarily sells to developers who like to learn from source code. And let’s not forget the iPhone RPG GameKit which is selling more than “just” the source code and also several Unity components being sold (no links atm).

    Static libraries make no sense here and on the other hand demos are already available in form of the respective App Store games. These products may not quite fit the bill and at least need a seperate category. But they would certainly benefit from more exposure, and encourage others to create more products.

    I would also appreciate if actively maintained free and open source components could live side-by-side on such a one-stop-shop website, that would also make it more attractive to those who don’t think of buying anything, yet will eventually make it obvious where the value in commercial products is compared to (most) free offerings. This is often very tough and I believe many developers fail because they don’t succeed in making the value more obvious to potential customers.

    Needless to say, very fascinating idea and I joined the group.