Tag Archives: apple

iOS Developer Program: from individual to company

I thought it was worth writing about my experience converting my iOS Developer Program account from an individual to a company since a lot of people on Twitter were taking an interest. I can’t claim objectivity or that my experience will mirror yours, but hopefully you can be better prepared than I was.

First things first. Can you even make the transfer? Despite claims to the contrary, it is possible. I think the process is often confused with the ability to move applications or whole accounts between companies (which isn’t currently possible).

It’s all covered in the FAQ which reads like this:

If I enroll as an Individual, can I change to a Company later?

To convert your iOS Developer Program Membership from an Individual to a Company please contact us. As part of the conversion process, you may be asked to submit business documents proving your company’s identity.

As the link in the FAQ requested, I send an email using the “Contact us” form. Just over two business days later they replied saying that I needed to give them a call. It’s not clear why they couldn’t have just said that in the FAQ!

The next morning I rang. They answered immediately but it was a poor line, though this could have been Skype. Despite that the call only took a couple of minutes.

He explained that the provisioning portal would not be available while the process was being completed and that I would not be able to upload new binaries, either updating existing applications or creating new ones. This could take anywhere from a few days to a few weeks.

Sure, fine, that’s what I was expecting. He said I would get an email in a few minutes; I should follow the instructions on that.

Knowing that I wouldn’t have access to the provisioning profile, I updated my certificates and was pretty confident that I wouldn’t need to make a new release for a few weeks.

The email came pretty much immediately. There’s some web form to fill in. Now I’m back full-circle. Why did I need to call if I need to go to a web page to start the process?!

The form requests the kind of information you’d expect: company name, address, names/addresses of the people with legal authority over the company. I was expecting to have to give the company number, but the didn’t ask for that at this stage. And I wasn’t expecting the company website URL to be a mandatory field, but it was. (I created a temporary Google Sites page for the purpose.)

Clicking submit, Apple now say that they will review the application.

They did not, however, tell me that I would effectively no longer be a paid member of the Developer Program. This meant that I could not access the iOS5 betas that had just started circulating. I had already installed beta two on my iPad and a matching version of the SDK on my MacBook, so it wasn’t too bad initially. I would revise this opinion later on.

A couple of days later, Apple requested information about my company. By fax. Here’s a company that thinks that DVD-writers are last years technology and it’s insisting that I use a fax machine to communicate with them!

Dilbert.com

I replied to their email, including their reference number, attaching an electronic copy of the documentation that they had requested. I offered to send a fax if that was not acceptable.

A couple of days later I received an acknowledgement from Apple, so I assumed that all was okay.

Weeks passed.

(Okay, that might be a little melodramatic.)

No access to iTunes Connect was a little inconvenient but things got worse at the beginning of August when iOS 5b2 expired meaning that my iPad was unusable.

I pinged an email to Apple asking about the progress of my application but received no reply.

I think that I was remarkably patient under the circumstances. I waited another three weeks before I sent another message. And then, poking around the parts of the Developer Support website that I could still access, I found that there was a ‘Contact us’ form with a specific ‘Let me know about the progress of my enrolment’ option, so I sent a message from there as well.

That was on a Friday evening. I’m still not sure what hours they work — whether the have local teams or only operate on US hours — so I wasn’t expecting anything to happen immediately.

On Monday, just before nine in the morning as I was heading into my day-job, I got a call from an unknown US number. It turned out to be Apple.

The good news was that my transfer had been approved. I would need to accept the Developer agreement again — last time it was for me as an individual, this time for me as a director of my company — and then I would be all set. There was no acknowledgement or apology of the amount of time it had taken and I didn’t feel like pushing the point. I assume that one of my messages prompted the call and the approval, but whether my virtual prod was actually required or not is anyones guess.

I accepted the developer agreement and immediately got some of my access rights back. I could access the Member Centre for example but it took until later the following day before the App Store showed my company name. Shortly after that I got full access to iTunes Connect again.

So, in short, the process is both possible and works. If I had to offer any advice, I would suggest assuming that the process could take a couple of months and that during that time you would have no access to anything currently covered by an NDA, including beta releases and iTunes Connect. If it goes quicker for you, great. If not, at least you’ll be better prepared than I was.

Do Apple take 40% in the EU?

If you look at the sales reports from iTunes Connect, it seems that Apple are taking nearly 40% of the sale price for downloads made in Europe. Of course they claim to take 30% and, indeed, that’s exactly what you see in the US store.

So what’s going on?

The good news is that Apple are not screwing you over. The numbers do add up. The difference is that prices in the US App Store do not include sales tax (VAT) but those in Europe do. This means that before Apple take their 30% cut, they first take off the tax that needs to be paid. If that’s not clear, let’s work through an example.

I know that my app sells for £1.49 here in the UK. I also know that I get ninety-one pence from Apple for each sale.

If we take that £0.91 and add back the 30% that Apple take we get £1.30. Then we add VAT, which in the UK is 20%, and we get… £1.56.

Oh.

It turns out that downloads are billed from Luxembourg where the sales tax rate is 15%. Because both countries are in the EU there’s a reciprocal tax agreement which means we don’t have to add UK tax as well.

If we do the same calculation as before but with a 15% tax rate we get… £1.49. Phew.

So there you go. You do get 70% of the money that Apple gets for each sale.

Update: Starting from 1st January 2015, VAT will be charged in the country where the purchase is made rather than where the company is based. Since Luxembourg has a very low rate and Apple appear not to be adjusting the prices, it means that developers will typically earn less money for each sale. (If it’s any consolation, so do Apple.)

My delicious.com bookmarks for June 2nd through June 7th

Why you need a crash reporter

Most developers of iOS applications have a love-hate relationship with the main interface with Apple.

No, let me re-phrase that.

Most developers of iOS applications hate iTunes Connect, the main impediment to a good relationship with Apple.

To be fair it has improved since it opened in mid-2008. One of those improvements has been the inclusion of crash reports. A crash report, in case you’re not a developer, is something that iOS devices such as iPhones and iPads write out when an application crashes. It includes all kinds of useful information, including some, but not all, of the internal state of the application in question. It’s very, very useful for diagnosing problems.

However, what has become clear is that not all of the crash reports make it into iTunes Connect. There are two, maybe three, levels of screening going on. First, the user has to sync their phone with iTunes. I do this mainly to update my podcasts but otherwise I’d do it fairly infrequently. Second, the user also needs to allow the crash reports to be uploaded. I suspect most users do but, you never can tell. Third, Apple clearly does… something with the reports when it gets them. There’s clearly some degree of filtering going on but quite what is anyones guess.

The practical upshot of all this is that you’re quite likely to hear about crashes before you see them. I’ve seen reviews in iTunes complain about crashes. I’ve received tweets and support emails. And all before a single report appears in iTunes Connect.

It’s the reviews in iTunes that bug me the most, as I have no way to ask for further information.

Until now.

The most recent version of Yummy, Yummy Browser and www.cut all included crash reporting code. That is, should the app crash, the next time it’s launched it will say as much as offer to upload the report to a web server.

As I type this I see around a hundred crash reports on my web-server and zero in iTunes Connect. Luckily, I’ve seen no bad reviews in iTunes and, surprisingly, I’ve had no support emails or queries on Twitter.

Without the crash reporter I would have had no idea there were these serious bugs — I’d never seen them! I’m always surprised about crashing bugs as I consider myself to be the main user and so likely to come across these problems first.

Using the reports I can easily see that 90% of the crashes were coming from two bugs. Interesting but slightly less importantly, I can also see that jailbroken phones seem to have more problems than others. I see that the vast majority of my users are on 4.x, with 4.2.1, by far, being the most common. (None of the bugs are OS specific so these numbers should be pretty representative.)

The other thing about having the details on a web-server is that I was able to flag them. When a crash with a known fix is submitted, the apps will now tell the user that this is the case.

I never thought I’d say that the lack of support email is a bad thing, yet there was one bug that took me a long time to track down. I could see where exactly in the code it was crashing but I could see no way that it could actually happen. In the end I stumbled across it quite by chance, but being able to talk to a user who was experiencing the problem would, in this case, have been very useful.

No software is perfect. But at least now I can see problems almost as soon as they happen and provide direct and timely feedback. This is such a huge plus that it shouldn’t be underestimated.