A PCalc 1.1 Post-Mortem

Ok, so perhaps “post-mortem” is not the right term at all, as that implies PCalc died horribly under mysterious circumstances and that the CSIs are trying to find out who the murderer is.

Oh, no, wait a minute. Now that I think about it, that’s exactly it.

It’s been about a week since the PCalc 1.1 update hit the App Store, but most of you probably didn’t even know it was out. The real question is “why?” and I’ll try and answer that.

Let’s backtrack a little bit, back six months or so to when the iPhone SDK was first available. My standard approach to any new code framework is to try and port PCalc to it – I originally wrote the thing 16 years ago as a way to learn Mac programming when I was at university. I don’t have this amazing love of calculators I must confess, more that I like designing really good user interfaces.

When the SDK was announced, another PCalc port was an obvious thing to do. As on the Mac when I first wrote it, the default Apple calculator wasn’t exactly sophisticated. The nice thing about the PCalc code is that the main maths engine is very separate from the UI, and that code is itself very portable. So, I could get the maths engine running on the phone (which I did in about a day of downloading the SDK) and then could start writing a completely new UI around it from scratch.

That gave me a really good head start on making a product. It was a well defined problem, and I had a lot of core functionality already working. So I could really concentrate on learning the Cocoa Touch side of things and getting into the iPhone mindset, rather than having to write something brand new.

My plan was to do PCalc quickly, so I’d have it ready on day one of the store opening, and see what the response was like. The App Store was even more opaque at the point when I first started working. Developers didn’t know when our apps would need to be finished by, what the store would look like, or even whether we would be accepted into the developer program in the first place.

So, it was intended as a toe into the iPhone software market. If it did well, I’d consider making my next big project an iPhone one. If it bombed completely, then I’d steer clear for a while – at least until things became more mature.

I worked away on it for months, and we were eventually accepted as official iPhone developers so I could now develop on an actual device. Skip forward to July 10th, and the App store went live. It took a while before we saw sales figures, but when we did, they were Really Really Good. We’re not talking Super Monkey Ball sales here, but compared to how PCalc sells on the Mac (and, DragThing sells, for that matter), they were much better than I thought they would be. Put it this way, PCalc on the iPhone out-sold PCalc on the Mac within the first few months. I mean, total sales of PCalc on the Mac ever. Not counting the million or so copies that were bundled with Macs in the US of course.

Ok, so there’s a lot of well-documented pain involved with iPhone development – the NDA is now gone of course, but that’s only the tip of the pointy iceberg – but extrapolating the first few months of sales out to a year suggested that this was not only a viable business, it might actually be much more viable than all of the rest of our business put together.

Sales started to slow down over time, but with each of the 1.0.1 and 1.0.2 updates they went back up into the stratosphere as PCalc moved to the front page of the Utilities section again.

Here’s where it gets interesting. On the Mac, developers have long known the power of an update. You put out a new version, and as well as making your existing customers that bit happier, you get some press coverage and a nice boost in sales. There’s typically a big spike that lasts two or three days, and this drops off fairly quickly back to previous levels once all the coverage dies down.

On the iPhone however, the spike was more of a gentle ski slope – sales jumped up ten times, but didn’t die off in two or three days – it was more like two or three weeks. It seemed like dark magic to this Mac developer. It just didn’t behave like I expected at all. And it seemed to be the store itself that was casting the spell. Most people seemed to be just looking at the first few pages of any given category, and not venturing into the far corners of the store. And not many people seemed to be influenced by the press coverage, with some exceptions.

Anyway, the main point being that iPhone software had a much longer “tail” of sales after an update than Mac software, and that’s really tempting to a developer. When PCalc 1.0 shipped, the sales were so good, the only real option of what to work on next was more PCalc.

After a couple of minor updates to respond to the first wave of feedback, and add some cool but relatively small features, I decided I should spend a long time addressing some of the big ticket items that I never had the time to do for the first release.

It was worth it, I thought – PCalc is still selling well, so I can spend a good month or two of solid development trying to address most of the requests people had made after 1.0. Specifically, they wanted much more flexibility in the layout and appearance of the calculator, as well as to have it behave more like some of the classic HP calculators from days of old.

So, I started on a fairly ambitious project to rip out a lot of the UI I’d already written and replace it with a new system whereby the appearance and layout weren’t fixed or related, they were loaded from separate XML files.

Inside PCalc, there are now folders of ‘.pcalclayout’ and ‘.pcalctheme’ documents, which describe each aspect. The user can choose which they want to use independently for the horizontal and vertical modes of the calculator. And, in theory, new layouts and themes can be added without any code changes, including the possibility of downloadable content.

The theme code was actually simpler than I imagined. DragThing has had dock themes for a while, and, despite being an evil Carbon application the graphics code is about as modern as it gets – it’s just pure Quartz which is the common graphics layer on both the Mac and the iPhone. So I had the idea, “Why don’t I just use the code I’ve already written?”. And, it was simpler than I thought – I got it running inside PCalc on the phone in a few days, a week or two to get it running fast enough on a slower device like the phone without using up lots of memory in the process.

That made me really happy, because the DragThing theme engine is very powerful and it goes to show the kind of – if you will forgive the word – synergy you can have between the Mac and the iPhone from a development perspective. You can pretty much use exactly the same low-level code on both platforms. There’s a big advantage to being an iPhone developer from a Mac background.

Anyway, right towards the end of development on 1.1, I heard that the App Store was going to change so that updates were no longer going to count towards the release date of your app. And worse, everything was now going to be sorted by the initial submission date of the app. And since PCalc was there on day one, it meant it was now on the very last page.

“Hmm…”, I thought, “that’s not going to be good”. And I was right. Sales went from very healthy to call-in-the-coroner levels.

I submitted the final 1.1 build on Tuesday, hoping that it would turn up six days later on the store (which seems to be the usual delay I’ve seen). As it was, it turned up exactly a week later, otherwise known as New MacBook Day. Since there was very little point in sending out press releases due to the noise, I held off until the day after.

One of the advantages of sharing code between the phone and the Mac is that the changes can go the other way too – I’ve been moving the iPhone changes back to the desktop as well, and while waiting for the App Store to approve 1.1, I was also working on a 3.3.1 release for the Mac. It was ready, so I combined both releases last Wednesday, hoping for a bigger splash.

On Wednesday morning, I could see the sales figures from the App Store – there was no sales spike at all. Without any PR to help matters, sales were exactly the same as the day before, and PCalc was still languishing on the last page of the Utilities section.

I took a deep breath, and sent out the press releases… And nothing. Virtually nobody picked up on the new versions, with the notable exception of John Gruber at Daring Fireball. So, I’m pretty sure that the Mac-style 2-3 day modest spike I saw in sales on both iPhone and Mac was entirely down to him. Thanks John.

So, where does that leave things? Good question.

I’m pretty sure PCalc is a great iPhone application. Lots of people have said very kind things about version 1.0, and 1.1 is much better than it in many ways. I don’t think the current lack of sales is anything to do with the quality of the software.

As it stands, the App Store is too crowded to find anything if you don’t know exactly what you are looking for by name. Last time I checked, searching for “calculator” didn’t even locate PCalc, despite it being in the description. There are dozens of calculators too at this point, of widely varying quality and price. Yes, we cost $9.99, which is apparently now considered a luxury item price, but I think that’s quite reasonable for what you get.

It is due to the global economic meltdown? Perhaps. But I don’t think people have stopped buying iPhone software. If you aren’t a featured item on the front page, or in the list of top-selling apps, once you slip off the front page of your category, your sales are likely to drop significantly. So, the only way to be a top-selling popular application is to be a top-selling popular application. Or somehow catch the attention of the mainstream.

So what should I do now, gentle reader? “Build it and they shall come” no longer seems to work in the iPhone world, just like it’s long since stopped in the Mac world. Getting press coverage is increasingly hard, and people seem to be paying less and less attention to it anyway. This doesn’t seem to be a particularly sustainable situation.

How should you promote software? Sending out press releases to the top twenty Mac websites doesn’t always get you coverage, and based on my referral logs at least, some of the bigger sites aren’t as popular as they once were. Stories that really just restate your press release aren’t likely to hold the attention of their readers anyway. Do I need a full-time PR person who will schmooze on my behalf? Should I cut the price? Would I sell more than ten times as many copies if the price was ten times lower?

It’s hard to justify another big update to PCalc if I can’t turn around sales, but I do really want to keep working on it. Should I just write a completely new iPhone app each week and sell them all for 99c? Is there much point working on big iPhone apps at all with the App Store in its current form?

All your comments and suggestions are most welcome.

In the meantime, why not visit the App Store and buy a copy?

I Love Lawyers

Since yesterday’s post on my problems with AdWords, I was passed the contact details of a very nice lady in Apple Legal, who sent an email on my behalf to the very nice Google Advertising Legal team, who just wrote back to me.

So, I am now hereby authorised by Apple “to use its APPLE, IPOD,  IPHONE and MAC trademarks in its Google sponsored links in the United States, Canada, the United Kingdom and Ireland”.

I wish to now state for the record that, contrary to any previous comments I have made on the matter, lawyers are A) surprisingly efficient, and B) lovely.

Your Google AdWords Approval Status

Well, it’s not entirely surprising after the similar “Mac” debacle, but I just got an email from Google AdWords saying that my PCalc advert has been suspended because it uses the trademarked term “iPhone” in the text. This isn’t about keywords it seems, it’s just the body text of the advert they complained about.

Here’s the ad:

PCalc for iPhone
Full-feature calculator with RPN.
Unit conversions, tape, hex/binary.

How exactly I’m supposed to advertise software for the iPhone without actually using the word “iPhone”, I’m not quite sure yet. When “Mac OS X” was banned, I switched to plain “OS X” and everybody seemed to be happy. Suggestions? “PCalc for that phone from that company named after a fruit”?

Yes, I know it’s probably something to do with protecting trademarks and having many many lawyers, but it doesn’t make a lot of sense to me. 

I mean, if my advert said “Don’t buy an iPhone, buy an HTC G1 instead!”, I could understand the concern from Apple’s perspective. But you’d think that since they get 30% of everything I sell, they would be quite happy I’m paying for the advertising myself.

Interesting that the email came today as the new versions came out – could be coincidence, but I’m guessing the increased traffic caught somebody’s attention.

Quick, Write Something!

Ok, so John Gruber just linked to this embryonic little blog, so I better say something interesting.

Let me adapt a little rant that I sent to my beta testers this afternoon…

The recent change to the iPhone App Store so that the listed release date of software is the date of initial submission – and not the date of the last update – seems to have had a very profound effect on our sales, and not in a good way. PCalc is now currently sitting on the 29th and last page of the Utilities section, since it was one of the very first apps submitted to the store, and that means it’s now effectively dead in the water.

PCalc 1.1 went up on the store yesterday without any PR fanfare, and there was no increase in sales whatsoever, whereas previously that would have generated a very significant spike as it made it to the first page. So, what’s the rationale now for developing big updates to your software, rather than just banging out a bunch of cheap and cheerful apps that you never intend to look at twice?

Ok, so the argument is probably that people were abusing the update mechanism by releasing numerous small updates to keep their apps near the top of the pile. But instead of addressing those people, now everybody has to suffer, and there’s now a big incentive to work on something new rather than further develop existing software.

The conspiracy theorist would point out that Apple doesn’t make any money from the updates so that’s in their interest. But perhaps I should just spend more time and money on my marketing rather than my coding…

Well, Everybody’s Doing It

Yes, I realise a developer blog by some starving indie Mac / iPhone programmer isn’t exactly original, but instead of ranting at my friends and loved ones, I thought I would pontificate at you instead gentle reader.

Not decided what form this will take, but I’m sure by the time you actually come across this blog, there will be a lot more insightful posts above this one.

Today marks the release of both PCalc 1.1 for the iPhone and PCalc 3.3.1 for Mac OS X, so please check them out.

Ok, so if we’re being honest, PCalc 1.1 actually appeared on the App Store yesterday, but the chances of cutting through the MacBook press coverage were rapidly approaching nil (NULL?) so I decided to pretend it came out today, simultaneously with the Mac one.

It should have been up there on Monday, but apparently “Ready For Sale” doesn’t mean what I think it does.