Our DNA is written in Swift

Please Respect Your iOS Artists

I am so angry right now. It is taking a lot of restraint to not be resorting to swear words about this one well-known corporation. Trust me, every time I have to cancel an invoice for a component from my Parts Store I am contemplating creating a black list page on my site. Those would be the companies to not do business with.

But I never carry this through. I don’t like to burn bridges. At least not fully.

The story began like a month ago when a person with an Asian Indian sounding name made an order for my Rich Text Editing component. As I usually do, I asked which company this is for so that I wouldn’t have to charge 20% Value-added Tax. When he told me the name of the company he is working for I was reacting the usual way: I began to see Dollar-signs. Happily I sent them an invoice.

Then the trouble started. First I didn’t hear anything more about the invoice. Then I got some emails that this company was doing a security review of my component and asked for what kind of security evaluations I had done. Bear in mind that they hadn’t even seen the code yet, because I only grant access to my Subversion repository once payment has been made in full.

I do offer a time-limited evaluation version that gets automatically built every night by our Continuous Integration Server. This should allow anybody interested in DTRichTextEditor to make up his mind before making an order. Also, all the display of rich text is based on DTCoreText which is available in Open Source to evaluate to your heart’s content.

Time passed and the due date of the invoice came and went without any word from this guy. My CFO sent me a list of unpaid invoices for the past month with this being on it. So I resent the invoice and asked what their plans are now. I got a response right away which hints that this guy I was dealing with is actually sitting in the country that you’d place the ethnicity of his name in. To put it in clearer terms: either he’s a contractor, an offshored developer or this great company has development offices in this country.

The response I got was like: another guys looked at the evaluation version, but was not happy and there where lots of CSS problems and what not. Then what my plans are and that I should put the invoice “on hold” for a few weeks.

This kind of weird behavior is a form of disrespect for the artist in my humble opinion. If you are interested in procuring some component then please evaluate it before putting in an order for it. If you then find that this component does not fit your needs then you should move on. Please don’t play those stupid bait and switch games with the little guys which are dependent on the sales of their works. You order, you pay. Not you order, you delay, you cancel.

The amount I am charging for components is generally only a fraction of the actual development cost. Think of it like this: To put something together like DTCoreText+DTLoupe+DTRichTextEditor you would have to have somebody work a few months on full time. But I charge only 500 Euros for the whole package, which are like 1-2 days a contractor would charge. I’m all ok when somebody evaluates something I made for utility and concludes it is not for him. But I hate it to be caused extra work having to compose lengthy emails to satisfy outrageous inquiries for free. And even more I hate having to email my accountant that the potential client reconsidered after having made an order and received the invoice.

I don’t sell that many components any more I must admit. My rich text editor is the most sold one, followed by non-attribution license for my Open Source code. Even when the component business was booming, like 1 year ago, I could get by with the manual process I had set up: receive order form, send PDF invoice, receive payment by PayPal or bank transfer, send quick start email.

iOS component celebrities like Peter Steinberger have a different approach: they sell their components via Fastspring because there they get a processing system and the fees are bearable. I didn’t look into this further due to my low sales volume so far. But I have to admit that I am beginning to warm to the promise of somebody else doing the invoicing and fulfillment. Also, only people who actually pay receive an invoice. If somebody will not or can not pay then he’s just a statistic on the dashboard, versus a major emotional problem for me. Maybe I’ll move to Fastspring too next spring. The additional cost probably far outweights the emotional stress.

I cancelled the invoice and vowed to myself to never talk to these guys again. Yet another time I couldn’t bring myself to establishing this public black list.

If anything then this article hopes to achieve that you treat your component vendors with respect for the amount of work that you are getting the benefit of using at a fraction of the actual development cost. Don’t be an arse.

Categories: Business


  1. I think your last four words summed it up well!

  2. Honestly, I think you’re making a big deal over nothing. It’s extremely common to “invoice” and never get payment and therefore never deliver the product. How many times when you go shopping do you talk to the store clerk and then not buy the item. It’s the same thing.

  3. While I sympathize with your situation, the whole “with an Asian Indian sounding name” bit did bother me a bit. Does it really matter what the guy’s name sounded like or where he might (or might not?) be based out of? While you might not have meant it that way, you seem to imply that people from “certain countries” can only be freelancers and contractors – or something like that. Might want to consider how that sounds 🙂

  4. I meant it such: there is a large company that has iOS app production in Asia, likely due to lower costs there. And that they don’t respect component vendors.

  5. I fail to see the problem here. And what has the ethnicity to do with anything here. Please edit your article. It just comes across like your an idiot. Sorry.

  6. You’re charging quite a lot. Saying that it’s only a fraction of the development cost does not seem correct.

    If you were to crowd-fund your development on Kickstarter, for instance, you wouldn’t expect everyone to pay the full development cost, would you? You would expect people to *collectively* pay the development cost (and more) while everyone gets the product at an attractive price.

    A fair price is (Development cost / Minimum projected amount of purchases + Extra %). Of course, that extra has a certain minimum. But the bigger the extra percent you’re adding to the cost of the product is (percent of the product cost in this case, not the development cost), the less fair the price becomes from the customer’s point of view.