Subscribe to Burnout+

I tell this story, not to gain your sympathy, but more to be a cautionary tale.

As we head into Apple’s OS release cycle, I don’t have a lot to show for it this year. Not nothing, but not anything I would consider actually substantial. I know a lot of people who are in the same boat, and there are a variety of reasons. For me, one is there aren’t a lot of obvious hooks in this year’s OS releases that developers can build big new features around. SharePlay was going to be that for many, and even that’s been delayed now. But the other thing is, we’re still in the middle of a global pandemic, and I’m just really tired of everything.

Last year, around this point, I’d had a very frustrating summer – lots of Apple’s beta stuff didn’t work well, my motivation was at rock bottom, and I was even fed up with playing Animal Crossing, a game that got me through more of the early stages of lockdown than I’d care to admit. I had a long list of features I wanted to get done, but most of it hadn’t come together at all. But I kept pushing myself, and worked really long days and evenings to get everything ready for day one, as I usually do. In a normal year, by around the end of November, I’d go on vacation somewhere sunny to recharge my batteries. That year, I wasn’t even happy to leave my house.

Instead of that needed break, my chronic neuropathic pain – a condition I’ve dealt with ok using medication for twenty years – decided it would turn things up to eleven. As a result, I couldn’t actually sit at my desk for more than an hour without discomfort, which would quickly turn to stabbing pain if I kept going. That’s ok, I had a standing desk. I’ll just adjust the way I work. Of course, my back didn’t like me standing for more than a couple of hours either, so I had to cycle between a variety of positions.

I kept working as I could, while I tested a variety of new drugs with increasingly awful side effects and no actual benefits.  The side effects were mostly around my vision – losing my vision being one of my biggest fears, he foreshadowed. I was determined to show the pain who was boss, and released a big Mac update to PCalc in January.

“Have you tried mindfulness?”, the pain doctors asked, as I started to exhaust the limited number of medical options available. I got poked and prodded and scanned, and everybody could agree that there was no actual identifiable cause to the pain – just as there wasn’t 20 years ago when it started. It’s just my nervous system misfiring in variety of new ways. You might think there’s lots of medical research around this stuff, but there really isn’t. “We don’t know” was a common refrain when I asked questions.

I did a lot of updates to Dice by PCalc after that. After the PCalc About screen, Dice had become my new happy place, where I could explore new technology, and do something fun to take my mind off the fact that I was going to live with this increased pain going forward, and realistically, it would probably continue to get worse for the rest of my life. So, I might not have been making much progress on the code that actually paid the bills, but at least I could keep myself mostly sane and distracted. I did lots of experiments in AR and networking – some of which worked, and some of which very much did not. But I could still be a productive worker, which was the important thing.

The morning after a first particularly unsuccessful real-world test of the multiplayer code, I woke up to find that I could not focus my left eye – my one actually good eye. This wasn’t great. I’d had some problems like this before – I will spare you the details, but it involves tears. No, not like the stuff that comes out of your eyes when you are sad. Tears. Like, in the fabric of reality. Or your cornea. I lied about sparing you the details. Usually, they healed up in a couple of days, and all was good. But this time, it improved a little bit, and then stopped.

The ophthalmologist was not particularly sympathetic, saying my eyesight was actually still very good for somebody my age, and there wasn’t anything obviously wrong with my eye. As an aside, I really hate that phrase somebody your age, and it is not as reassuring as you think it is, medical practitioners. Anyway, I expected my eyesight to decline slowly as I got older, but not overnight… So, I couldn’t actually look at any screens without my reading glasses, but even then I got massive headaches. It took another three weeks to end up with a new prescription which only now gives me mild headaches and nausea. Hopefully that will be improve over the next few weeks. Progress? Perhaps. But progress is also the thing I’ve not really been able to make for the last month either.

I think in both cases, it’s my body trying to tell me something, in the only language it thinks I will understand – by breaking. And that something is just stop. We’ve all been in fight-or-flight mode for around 18 months. I’ve not been able to (safely) see my friends in person or travel or even just truly relax.

The world is still not in a great place. Even aside from the various political, economic, and environmental disasters that are slowly unfolding around us, the pandemic is still nowhere near over. Using the phrase “post-pandemic” right now seems unusually cruel when most of the world is still decidedly mid-pandemic. They just wish they weren’t, and some have convinced themselves we just need to get back to the business of doing capitalism and everything will be ok. And, it should be said, I’m in a great place of privilege compared to many. Financially, my business has been doing ok, given the circumstances, and I have way more control over my life than many. I can afford to take a month off work, or prioritise my and my family’s safety. I am absolutely extremely lucky for what I have.

But here we are. The day before the keynote, and I don’t think I have ever cared less about what will be announced. I feel like a really bad developer for that. Actually, it seems I don’t care much about anything these days, and I feel like a really bad human for that too. My natural inclination is to try to help people, and provide emotional support for others where possible, and I realised recently that I had just run out of emotional energy reserves. I don’t feel depressed or anything – I actually think I’m handling most of this stuff pretty well, all things considered. But the creative side and the emotional support side seem pretty intertwined, and both are pretty much running on empty for me right now.

Recently, the thought occurred to me that this sounds a bit like burnout, and I think that is exactly what it is. This thread by Dr Shreena Unadkat really resonated with me, about how we all pushed ourselves into trying new things to try and deal with the pandemic, and how that’s not exactly sustainable.

Anyway, I don’t really have a conclusion here, other than to say if you are feeling like me, you are definitely not alone. Oh, and to apologise that my app updates are a bit shit this year. But I’m trying to do my best to be ok with that, and you should too – life is not normal, we’re all a bit broken right now, and pretending to each other that everything is just fine is not actually helping anybody!

Catalytic Converter

Catalyst is in some ways a miraculous technology – just click a check box and instantly have a working Mac version of your app. And, given the source code of a relatively modern iOS app, it certainly works. Even PCalc’s About screen worked out of the box.

“Your developers were so preoccupied with whether or not they could that they didn’t stop to think if they should.”

But that is just step one of a much longer process.

I wanted to explore how feasible it would be to move PCalc to Catalyst, but my criteria was that I would only release something that was better than the existing Mac version. It would be great if I could. Even though a lot of core logic code is shared between the different versions, most of the user interface code isn’t, so I currently have to write that twice which means less time spent on both versions.

For a developer without an existing Mac app, that equation is certainly a different one.

The “single check box” Catalyst version of PCalc is a single resizable window, with many tables and popovers that seem to me to be out-of-place on the Mac.

It does all work though!

Things that work well with touch, don’t necessarily look or feel great. In fact, I would say that the more an app uses the standard iOS user interface elements, the less it feels right on the Mac.

For something like a game that is all custom UI anyway, you probably couldn’t even tell, although Catalyst currently isn’t a great fit for game developers either.

It became pretty clear to me that I would need to rewrite a lot of the user interface, to find a happy middle ground between the iPad and the Mac. Which would probably benefit both in the long run, to be fair. But with everything else that was going on this summer, I couldn’t justify that work, with no guarantees at the end of the day that I would have something I was happy to ship. So, I mainly focused my time on things like Shortcuts and Dark Mode, and iOS 13 support in general.

I decided I would commit to a Catalyst version of my “Dice by PCalc” app. It’s a smaller app, and not so high stakes, but it still touches a lot of the OS. That would give me a feel for how well Catalyst works today.

Time to roll the dice…

And I have something that is functional, that I shipped on day one. I’m still not 100% happy with it yet though.

Once you get past that first check box, and want to build out Mac-specific features like menus, the APIs start to feel rougher and unfinished. For example, the ability to put images in menus only started working late in the Catalina beta cycle, and the menu APIs are not nearly as comprehensive as the underlying Mac equivalents.

SceneKit fails entirely on older machines with Nvidia GPUs, leading to black windows, a bug that made it all the way to Catalina GM. Multiple window support works, but I ran into a lot of problems there too. Some APIs like the share sheet are just not present.

There’s still no direct way to read the state of the keyboard either, so detecting that the user is holding down option as you drag something isn’t easy. That also affects games that want to offer keyboard controls. I found a way through public APIs, and App Review did approve the app using this technique, but it isn’t ideal by any means. Similarly for really simple things like changing the cursor.

Some user interface elements like the spinning carousel pickers felt especially out-of-place, and unintuitive – you can’t click and drag on them to change the value, you have to use a scroll wheel/gesture.

Before polishing

The nearest equivalent on the Mac would be something like a popup menu button. But there’s no popup menu button on iOS, so I have resorted to writing my own – and that is one of the classic blunders.

After polishing

It’s the kind of thing that Apple should supply as standard, but I get the feeling they just ran out of time. The OS releases don’t seem to have gone very smoothly in general, from my outside perspective.

Documentation for Catalyst has been almost non-existent too, which has made things a lot harder than they should be.

From the business side, there is also no way for somebody to get the Catalyst version of the app for free when they buy the iOS version. And no great way to share in-app purchases either if you have a free app. That generally means that somebody will have to pay a second time to get a copy. There is definitely an argument that building a Catalyst version is actual work, work that should be paid for, but I can equally see the side of consumers that have been told it’s just a simple check box. Apple said a shared store will come in two years, but that’s still a way off.

I am hopeful that this is just a 1.0 (if you count the Mojave apps as a public beta), and things will continue to improve. It’s a great foundation, but there’s still a way to go before I could use it for PCalc. The real question is, what will be the state of Catalyst vs the state of Swift UI in future years? If one gains significant traction with developers, will Apple stop investing resources in the other? Time will tell.

For now, buy my Dice app 🙂

A long time ago, in a Glasgow far, far, away…

25 years sounds like a really long time. A quarter of a century sounds even longer. Yet, that is how long it has been since PCalc 1.0 was released.

Date: Wed, 23 Dec 92 17:41:10 GMT
From: thomsonj <>
Subject: [*] PCalc 1.0 Submission

Enclosed is a binhex file containing a submission for your archives.
PCalc is a neat simulation of a programmable scientific calculator.

I sent an email to the Info-Mac archive moderators that evening, and it turned up on FTP mirror sites around the world a few days later.

It normally travelled on floppy disks. The web did not yet exist.

PCalc was my first ever application. I started writing in the summer of 1992 and it took me around six months to get it into a state where I was happy to show it to the world. Some of that code still runs today, deep at the heart of the machine.

That is both amazing and terrifying.

Don’t get me wrong. I haven’t been writing PCalc constantly for 25 years. I wrote DragThing, which was the go to app launcher on the Mac for a good decade. I had a day job. I went to work for Apple on the Finder and Dock. I wrote a Twitter client for cats. I wrote one of the most excessive About screens in recorded history.

In short, I’ve lived.

But I keep coming back to PCalc. In a way, it’s the surprisingly devoted child that’s supporting me in my old age.

Thanks to everybody who has bought a copy over the years and made that possible, or put something into the tip jar.

If you want to read up the origin story in detail, you can do so here.

It doesn’t seem all that long to me since the 20th anniversary. So it seems entirely feasible that PCalc will make it to 30, as I hopefully make it to (almost) 50.

And yes, I will port it to the AR glasses and the car.

See you around, kid.

Rise of the Úlluminati

I originally wrote this piece way back in April 2015, just after returning from speaking at Úll. It ended up not being published, but I figured since I’m preparing for my trip to Úll 2016, I would put it up here instead. And hey, first post on my blog in six years!

I wrote an article in 2014 for The Loop magazine about my experiences at the Úll conference in Ireland, and the mental state of the indie developer in general – or at least mine. You can read it here.

I’ll wait.

You didn’t read it, did you? Ok, fine, I won’t take that too personally. Well, it was about how at Úll (and at NSConf, and at WWDC), I was suffering badly from imposter syndrome – the feeling that I didn’t belong amongst the other attendees, that I was just not good enough to be there. As I wisely said then:

“I’m a successful developer, I make a living doing this, I’ve worked for Apple, and I’ve been around in the Apple world for a very long time. I have the respect of a lot of people in the industry, and call many of them friends. If I can still feel like a complete outsider when I’m walking around a conference of my peers, then I bet a lot of the other people there do as well.”

I had been considering writing a follow up already, as my experiences this year were quite different, and I wanted to document my progress. But what really got me is that one of the other attendees said in a quiet moment, that he’d read the first article last year and it had struck home with him, and I think it had helped. I’d had literally no unsolicited feedback about the original, so I didn’t think anybody actually cared or had even read it. Hearing that it had made even a small difference to just one person, I felt honour bound to write some more.

What a difference a year makes.

I’ve recently been trying to work on a bunch on social phobias I have, primarily a strong fear of public speaking, or really doing anything in public that draws attention to me. Three years ago, I’d agreed to speak at NSScotland, and I backed out with only a month to go, because I just couldn’t face it. But I finally agreed again the next year, and while I was still terrified at the prospect of standing up in front of a hundred people, I managed it. I spoke again at NSConf the next year to nearly three hundred, and the fear was a little bit less. I did another NSScotland after that, and was beginning to believe in myself. I’d also been on a number of podcasts, again trying to face up to the same kind of anxieties.

So, when the fine folks at Úll asked me if I’d like to talk this year, I didn’t hesitate. I was still very nervous on the day, and simultaneously under-prepared (not enough rehearsal by far) and over-prepared (slide deck polished obsessively over a period of about a month). If I’m honest, it kind of helped that both John Gruber and Jim Dalrymple had cancelled speaking at the eleventh hour, because I knew I wasn’t competing with them in terms of my talk, and they wouldn’t be sitting in the front row watching as I gave mine either.

Still, there were many other people that I really respect both speaking and sitting in the audience. However, despite this being the highest profile speaking gig I’ve had, I didn’t get paralysed by the sheer panic that had gripped me before. I didn’t want to let down the Úll organisers who had given me the stage, but I genuinely thought for once “I’ve got this”. I did a full rehearsal on stage in the morning to an audience of one – thanks Baz – and it went ok, and I was kind of, almost, looking forward to giving the talk.

There was a certain degree of uncertainty as to which day I was going to have to give it, but thanks to a cancelled flight out of Philadelphia – which I had nothing to do with – some of the speakers were delayed and I was back on for a slot on the first day.

It then turned out that not only was the talk being recorded for posterity, it was being live-streamed via Periscope, something I found out right before I was due to go on stage. I started to think that maybe I shouldn’t have included a few of those Apple anecdotes…

People said to me afterwards “you seem so confident speaking, I don’t know why you were so nervous”. Let me tell you, the key word in that sentence is “seem”. It’s really just a performance. For want of a better explanation, I play a character on stage that’s almost me, but is much more self assured and better at public speaking. Boy, can that person give a talk. So, I play that role. I don’t know if that’s normal, or if I have inadvertently revealed myself as a high-functioning sociopath, but that approach works for me, and not just when giving a talk. When in doubt, pretend to be the person you want to be, and the rest of you will catch up eventually.

One thing that I hadn’t quite realised is how powerful the feeling of euphoria is after getting off stage. The relief of having actually done it, combined with the (modest) adulation of the crowd makes for a pretty good high. I had a small insight into why performers actually like to perform in front of crowds, even if they are similarly introverted and anxious people at heart. Throw on the mask of a stage persona, go for it, and boom – lovely, lovely, dopamine!

But the point is, if you looked at me on stage and thought to yourself “I could never do that”, let me tell you that I thought exactly the same thing three years ago. The key is to gradually push yourself outside your comfort zone, and eventually you might find you can do more than you ever believed.

I thought that was me done for the conference, and that I could now relax, but no. I faced a far, far, greater challenge to my nerves the next day, but I’ll come back to that in a minute.

To get back to imposter syndrome, this year was different. Some of it might be down to gaining some confidence in my presenting skills, and having had a very good year in terms of PCalc sales and overall visibility. But I think being a speaker changed the dynamic completely, so it’s hard to compare like for like.

I did my talk early on the first day, so for the rest of the conference pretty much everybody in the building knew who I was. People came up to me and praised my talk. I seemed to have been accepted into the inner circle of speakers, and I made sure I sat with the popular kids at lunch and dinner. I was famous. I’d made it.

Yes, my problem had switched from imposter syndrome to the other extreme – being-an-asshole syndrome. Lots of people wanted to talk to me, and sometimes I kind of just wanted to hang out with my cool new friends and talk to them instead. And the worst part was they were people who I could tell shared the same social phobias as me, who were trying hard to mix, and I wasn’t always the best at inviting them into the group. I was doing exactly what I thought had been done to me in previous years.

I had a shared moment of clarity late one night with a fellow speaker that we were actually terrible terrible people and I tried to curb my isolationist behaviour after that and mix a bit more. But it was something of an insight into how quickly I could go to the dark side, with just the merest brush with celebrity.

But I was brought back down to Earth with a bump the next day. I’d been asked by Serenity Caldwell if I’d do a cameo in The Incomparable radio drama they were putting on in front of an audience as one of the special features at the conference. Just a couple of lines, she said. No problem, I said, I can do that – not entirely believing the words coming out of my mouth.

Now, at some point between me agreeing, and the actual rehearsal, I had possibly misheard a critical piece of information, and I was no longer just doing a cameo, I was actually now a supporting character with multiple pages of dialogue. And this would involve actually acting. And doing an accent. My rehearsal performance was not the best. Russell Crowe does better accents.

Now, the last time I can remember acting would be something like thirty years ago, and the last time I put on an accent was approximately never.

The irony of getting an actual Scottish person – who doesn’t have a strong Scottish accent at all – to play “Angus McInnes”, a rough adventurer with a thick Scottish accent amused me almost as much as it terrified me. At this point, I was so far outside of my comfort zone, I would need to go through customs and immigration to get back in.

Oh, and it’s all being recorded and the video is going up on YouTube and Vimeo later. Ok, universe, I get it – this is because of the whole believing-my-own- celebrity thing I did, right? Fine, let’s do this, I deserve it.

Something about the culture of Úll got me through it anyway. People there want you to succeed when you’re up on stage, nobody wants you to fail. Folk laughed at my line delivery, and I think with me. In my head it was basically a Scottish person trying to do an impression of a Canadian person doing an impression of a Scottish person. James Doohan would be spinning in his grave if his ashes weren’t already spinning around the planet. I did apologise at the end to any actual Scottish people who might have been listening. Please let me back in the country.

Thankfully, as I type this, the video has yet to appear, and I can always hope for some technical difficulties that will permanently prevent it from ever doing so. But despite my nerves, I did enjoy it, something I would never have thought possible. Angus McInnes will return.

Coming back from Úll was an interesting experience. It took me a day or two to decompress, and I needed extreme peace and quiet for a while. Having effectively spent five days in a sealed environment with a few hundred people, the oddest experience was walking outside and not recognising anybody and not being recognised either.

But I’m famous! No, no I’m really not. Oh.

Paul Campbell, one of the organisers of Úll, has talked about the mood crash they all experience afterwards, when it’s all over and there’s just the quiet left. I think I only got a small fraction of that as a speaker, but it still hit pretty hard.

The insecurity all returned pretty quickly. I watched a recording of my talk, and I could see every time I stumbled over a line. I thought that I’ve definitely run out of anecdotes now, and I could never do another talk – all I do is repeat myself. I was only at Apple for under four years, I’m making a big deal of it all, nobody wants to hear this stuff. And I saw a few negative comments online, by people who hadn’t even seen my talk, saying I was taking credit for stuff I didn’t do.

But, it represented some small progress. I expanded my personal comfort zone empire to encompass a few new territories. For a brief moment, I became one with my confident alter-ego, even if that guy can be a bit of a jerk at times.

And you too can be a bit of a jerk too, if you really try. No, wait, wrong message.

The point is, we’re all faking it to a certain extent. All you see is the surface, only what we allow others to see. Underneath, everybody is the same mess of emotions and insecurities that you are, and all just as complicated and conflicted as you are. Lots of people that you think of as extremely confident, who do things you think you could never do, share the same feelings you do. But we never talk about it, and you can’t see it. It’s certainly not just you.

But, to borrow a phrase from a more important cause, it gets better. Just by pushing yourself a little bit to do things you’re uncomfortable with, you’ll eventually get used to them. It might take years of practice, but you can do it. I never thought I could speak in public, and I’m now getting to the point where I might actually admit I’m not too bad at it. Maybe. On a good day.

And perhaps one day, you’ll be a world-famous-in-Killarney speaker at a conference yourself, and some nervous person will come up to speak to you. Try and remember then what it was like to be on the other side of that conversation.

As for me, I’m going to keep improving, slowly but steadily. Next time you hear me on some podcast, see me up on a stage, or hear me murder a Scottish accent, just remember that underneath it all, beneath whatever confidence you might see or hear, I’m still just as nervous as you are.

State (of Mind) Machine

Reprinted from issue 28 of The Loop magazine from March 2014, with thanks to Jim Dalrymple

It seems ironic, that despite our invention of near-instantaneous global communication, we are still not the best species on the planet at actually telling each other how we’re feeling. Probably not even in the top five. Instead, many of us actively hide it from those around us. We say what we think we should be feeling, because everybody else around us seems to be perfectly normal, and we don’t want to be seen as the crazy one.

I’ve just come back from two very interesting – and quite different – tech conferences over the last month and a half. NSConference in Leicester, UK, and Úll in Kilkenny, Ireland. I spoke at the first one, and barely slept at the second. I enjoyed them both immensely.

And yet…

Surrounded by some of the best and brightest people in the developer community, I had the nagging feeling that I shouldn’t really be there with them. I’ve had the same feeling at WWDC for years now. As I stood backstage at NSConference, about to give my talk to three hundred people, telling them the story of my professional life, I thought to myself, “I’m just not that important, will people even be interested?”. Right at the moment I walk onstage, it will turn out there had been some horrible misunderstanding about my presence there, and Tim Cook will appear from the wings and tear up my developer agreement in front of everyone.

Later in the conference, I was talking to one of the other speakers, and it turned out that they felt exactly the same way – if perhaps not that specific detail about Tim. That made me wonder how many of them had similar thoughts. Maybe all of them did at some point in their careers. Maybe a significant number of people at both conferences looked around at the other delegates, and thought “I shouldn’t really be here”.

This feeling is common enough to have a name, “Impostor Syndrome”. A highly scientific glance at Wikipedia suggests that “two out of five successful people consider themselves frauds”, but I suspect that number could be even higher in the developer community. We never talk about it, so we think it’s just us. And what if you haven’t had any real success yet? It seems like everybody else has. “Why are you even here?”, their faces seem to be saying.

Logically, I knew, after the twentieth person came up to congratulate me on my talk, that they couldn’t all be in the pay of some shadowy organisation that had the mandate to tell poor speakers that they were better than they actually were, for nefarious reasons unknown. Logically, I knew, my talk probably was pretty good. But even now, I just edited that last sentence from “very good” to “good” to “pretty good”. And then added the “probably” for good measure.

Part of this is an inability to take compliments well. They make me feel vaguely uneasy at best. After a lot of them, I start to not really hear them anymore, and just focus on the negative ones. It’s the same problem of ninety-nine five-star reviews, and the lone one-star review that gets under your skin. Or worse, people not saying anything at all. Of course I have searches set up for the mere mention of my name and my products, and I wonder occasionally if I should create an account on Secret to see what people really think about me. There’s probably nothing there, is the likely answer. Basically, both the presence and absence of comments about me makes me nervous. Even genuine success makes me somewhat anxious, because then you’re more visible and you have further to fall. But I still check the chart position and sales of my apps every morning, even though it often pains me to do so.

These kinds of anxieties are probably some of the things that make me a great developer, because I always want my apps to be better than they are now. And they also prevent me from typing the words “makes me a great developer” into this window without it sounding very wrong and self aggrandising indeed.

A dislike of such self-promotion also makes it quite difficult to write marketing copy. I find it much harder than writing the software in the first place, because you have to basically say “hey, this is really really awesome, you should totally buy this!” instead of “well, I think this is okay, but I could still really improve some parts of it…”, which sends something of a wrong message.

All this got me thinking about the state of mind of the software developer in general. Particularly those of us that work for a small company, maybe as the sole developer or designer. Our work is a direct extension of ourselves.

We want things to be perfect, we’re control freaks, we’re obsessive. We spend a day designing and redesigning a single comma, because it’s just not right yet. And when it’s absolutely perfect, we’ll still keep going a bit longer, because we know there’s a magical place beyond perfection we can get to if we try hard enough. Spoiler alert, there isn’t. And we hate finding out after we’ve shipped it that we’ve missed some blindingly obvious bug because we’ve spent a day looking at a single bloody comma…

If you create anything at all – be it stories, music, drawings, apps, people, or even whole conferences – it’s a part of you. If somebody criticises your work, it can hurt like they are criticising you personally. That’s completely normal. Indeed, I suspect people who don’t have any kind of emotional response to such things just don’t care about their creations, or are, in fact, complete sociopaths.

It seems clear that my own creative abilities are directly linked to my mood, and my mood is directly linked to the success or otherwise of my creative abilities. Now, imagine that instead of it just being an annoying one- star review, or a bitchy email from an entitled teenager, you’re getting sent piles of documents from lawyers, your whole company seems to be in danger, and it sounds like you could lose it all. That happened to me, starting almost exactly three years ago.

A so-called “non-practising entity” threatened, and eventually sued over an alleged patent infringement in PCalc. I’m not going to go into any of the details here, but you’ve probably heard of them. I didn’t write any code for about six months, and considered getting out of the whole business altogether. I know I wasn’t alone – at WWDC that year spirits were pretty low amongst some of the other affected developers. Beer was drunk. Suddenly, our nice world of writing the best apps we could, and hoping that people liked and bought them, had become much more complicated, and real, and unpleasant. In the end, after three years of stress and time that could have been spent writing code, that particular problem was resolved. Not to my satisfaction by any means, but it has gone away now. It was a long and dark road back, and I still blame those events for a lot of things, both personally and professionally.

As I write this, things are looking up. PCalc 4 just came out for the Mac and has been warmly received. I expected something of a backlash, because it was a paid upgrade, but so far there hasn’t been a single complaint. In the process of creating it over the last four months, I’ve learned a lot about writing modern Mac apps, and I can’t wait to add new features to both the Mac and iOS versions as they keep popping into my head. I realised recently that I’m actually enjoying writing code again, and it’s been a while since I could say that. Apple has been featuring PCalc on the front page of the Mac App Store for over three weeks now, and it has forty seven five-star reviews. And one four-star review, but we won’t dwell on that too much.

Anyway, the point I’m trying to make is, if you feel like any of this, you are not alone. In fact, you are probably in the majority. I’d wager that some of the best people in this business have similar thoughts. The links between creativity and certain personality types are well proven – to a certain extent, it’s why we’re so good at this.

I’m a successful developer, I make a living doing this, I’ve worked for Apple, and I’ve been around in the Apple world for a very long time. I have the respect of a lot of people in the industry, and call many of them friends. If I can still feel like a complete outsider when I’m walking around a conference of my peers, then I bet a lot of the other people there do as well.

Once you realise that many of the successful, confident people around you are just faking it, it makes things a little easier.

We’re all the crazy ones, here’s to us.

Universal cheapness

Today, I would like to complain about the following two groups of people who are cheap:

  • Developers
  • Users

Ok, not all of them, some of you are quite lovely. But I’ve been noticing a couple of trends of late that I think deserve comment, and a couple of people today really pushed me to the point of anger. If I blame everybody equally, it cancels out, right?

Firstly, universal iPhone / iPad apps, or the lack of same – particularly in the field of games.

When the iPad came out, there was a slew of seperate HD versions of apps with appropriately HD pricing. “No”, said the developers, “we’re not just price gouging because there is a shiny new device out there which we think we can make a vast profit from. Look, we need to create these lovely high resolution assets. That costs real money!”.

And that was, on the whole, entirely true.

Then the iPhone 4 came out, and a lot of iPhone games have been updated recently for free with Retina display support with lovely high resolution assets. Some strangely familiar high resolution assets in some cases.

So, you might now be paying twice for exactly the same game, with exactly the same assets. These games are crying out to be universal apps. By all means charge more money for a universal app, that’s not the problem – I like paying money for good software – but don’t charge me a second time for the same thing.

Now this doesn’t apply to all games, and certainly doesn’t apply to all apps. A complex, well thought out UI on the iPhone doesn’t always scale to the iPad, and vice versa, even if they now have a similar number of pixels. But some games are pretty much identical on both. And those, my friend, should be universal apps.

I think what bothers me most is games that start out on the iPad, and then migrate to the iPhone. They’ve already done the hard work making it look amazing on the iPad, and I gladly paid the HD price for it. But now there’s an iPhone 4 optimised version coming and you want me to pay a second time? That makes me unhappy.

A recent example that did this right was Geometry Wars – they started out as an iPad app and added a universal app in a recent update. This made me feel even happier about my original iPad purchase. Pleased to the point that I’m telling you about the game now. Go buy it, it’s great fun.

Osmos is another really great game I bought for my iPad, and it sounds as if they are about to bring out a separate iPhone version, rather than a universal one. That makes me feel worse about my original purchase. They are both great games from great developers, but making your customers feel happy is an important thing.

Angry Birds is a more complex example – they’ve been great at doing lots of free updates to their iPhone version, and have earned a hell of a lot of customer loyalty from it (and a shedload of money as a result). But they also have a separate “pay again” HD iPad version, which I’m told frequently lags in updates behind the iPhone one. Boo, and boo.

Every time I buy a new game on the app store that isn’t universal, I sigh a little bit more, knowing it’s constrained to one device for reasons which are not always purely technical. I’m informed by the always wise Neil Inglis that universal apps bought in iTunes only count in the iPhone sales charts, and that could account for one reason why developers like having two separate apps. But that seems like it could be easily fixed by Apple. But then, Apple gets 30% of all the extra sales of the other versions… CUE CONSPIRACY THEORY!

Anyway, yes, developers are just after your money. But you know who else is cheap? Users.

This week, I saw a comment about my PCalc which basically said “How come the Mac version is twice the price of the iPhone version? I think all Mac software is overpriced.”

No, no, NO.

PCalc is $19 on the Mac, $9.99 on iOS. Leaving aside the fact that buying the iOS version of PCalc gets you a code which gives you a generous $9 discount on the Mac one, a more correct conclusion that they could have come to is “Perhaps all iPhone software is underpriced, and it might not be a sustainable market in the long term”. Or perhaps “I wonder why people will pay more for something, the bigger a screen it comes on?”.

I expect Apple will bring out an App Store for Mac OS sooner rather than later. I wonder what will happen to pricing then, if it will stay the same, or be more in line with the iOS apps. And I also wonder whether Apple will be able to ask for 30% of all sales. It would be a major shake up for the Mac software market, and I’m willing to bet 59p that it will happen.

Finally, I got an email today from somebody who had been running the Mac version of PCalc for many years, and had been faithfully clicking the “Not Yet” button every time he launched it. He decided he wanted to pay up, but when he finally saw the price, he decided against it, because he only ever really used the widget. For all of the many years he had been running the software without paying for it.

Oh, and the best bit? He was an indie developer as well…

I think I might be too generous with the trial periods in DragThing and PCalc. When the two week trial is over, they both keep working on the whole, requesting politely that you pay, but not being too obnoxious about it. They were both created in a different age, where that approach was normal and expected. Should I change them to stop working completely as soon as the trial period expires? The user in me says no, the developer says yes.

What do you think?

Four Legs Good, Two Legs Better!

“So”, I hear you thinking, “I remember James being very anti-software bundle earlier this year. He had that spat with John Casasanta and everything. Imagine my surprise when I saw this offer in my inbox this morning – both DragThing and PCalc are part of the new MacUpdate Promo Winter Bundle. Is he a just a big capitalist sellout after all?”


Ok, let me qualify that slightly.

Way back in June, we took part in the inaugural bundle. The idea was a great one – this was a bundle by developers, for developers, with an equal split of the profits for all who took part. In practice however, it was something of a disappointment. Sales of the bundle were small, not down to the quality of the applications or people involved, but partially because it was going up against the much stronger MacUpdate bundle at the time, and partially because – in my opinion – it didn’t compare particularly favourably to the slick marketing efforts of MacHeist and MacUpdate.

It was mocked at the time by the ever-tactful John Casasanta of MacHeist, who basically said that without a substantial marketing budget, it was doomed. Annoyingly, he was actually right.

A couple of months ago, the MacUpdate people contacted me and asked if I wanted to be part of their winter bundle. What they offered per-bundle-sold wasn’t completely terrible – I’ve been offered a lot worse. Sales of DragThing have slowed a little bit of late since I’ve only done fairly minor updates recently, and I figured it couldn’t hurt to get it back into the public eye. And likewise, PCalc on the Mac has always been a good promotional tool for selling copies of PCalc on the iPhone.

So, fine, let’s give it a try. It’s a good bundle of apps – I fancy getting a few of them myself. I’ve been looking forward to the point-and-click adventure game Machinarium for ages, and I didn’t realise it was already out. Plus I’ve heard good things about Socialite and GarageSale, and many of the others. Path Finder is another veteran app in the bundle, and I know lots of people use that in combination with DragThing.

Will we make more money over the next two weeks than we would have otherwise? Am I damaging future sales of our apps? That remains to be seen. You can see the total number of sales of the bundle on the MUPromo page. I’m legally not allowed to tell you exactly how much of the $49.99 we’re getting, but think of a very small number. Now half it. You’re pretty much there. Feel free to multiply that by the current sales figure.

The bottom line is that our decades-old kitchen is due to be replaced in January, and it would be nice if this deal helped pay for it… Does that make me a capitalist?

Or a culinarist?

Taking A Stand

You might have seen that we have a number of new PCalc releases out today, two for the iPhone, and one more for Mac OS X. On the face of it, these might look like minor upgrades to fix a couple of annoying bugs and nothing more. Let me state here, for the record, that nothing could be closer to the truth.

Given our recent controversial moves regarding calculator word censorship, the more conspiratorially-minded amongst you might think we are using these updates as a mere smokescreen to slip in even more draconian measures. And on the face of it you would be right – PCalc now filters over three times as much profane content as before, with significantly increased detection algorithms. Don’t think you can just throw in a decimal point in the middle of a word now, we’re wise to such tricks. We’ve even added multiple-language support.

But, before you condemn me, I need to get something off my chest.

Personally, I don’t like adding these features any more than you like having your calculating freedoms curtailed, so I’ve decided to take a stand against this censorship and my cruel paymasters at TLA Systems.

In the latest version 1.8.1 for the iPhone and iPod touch, I’ve hidden a secret easter egg that lets you disable this disgraceful “feature” once and for all.

  1. Go into the “Advanced” section of the settings (or just the normal settings section in the Lite version).
  2. Scroll all the way down to the bottom of the page.
  3. Turn your phone upside-down.
  4. Still keeping it upside-down, you’ll now be able to scroll slightly further to reveal a brand new option.
  5. Switch censorship to “Off”.

I’ve also managed to sabotage the censorship completely in version 3.5.1 for Mac OS X – even if you turn your laptop or display completely upside down, the profanity filter will still fail to engage.

Needless to say, if word of this got out I could get in serious trouble, so this is just between us, ok?

PCalc Prevents iPhone Profanity

UPDATE: Yes, this was intended as satire.

Here at TLA Systems, we take our responsibility to protect innocent minds very seriously.

Have you, or somebody close to you, ever turned your calculator upside down and accidentally seen a mildly suggestive word? Have you ever been in a maths class, and had to put up with groups of giggling boys performing elaborate calculations that are not part of the lesson?

Yes, it’s one of the main problems affecting the calculator industry today, the so-called “calculator words”. These otherwise harmless devices can be made to display smut at the press of a few buttons. Added to that, the iPhone App Store is very strict about having inappropriate content in apps. Nobody wants their app to get a 17+ rating, or worse, to be rejected entirely.

Which is why we are happy to announce that the latest version of our PCalc scientific calculator for the iPhone contains a new patent-worthy profanity filter.

Simply enter a number such as “5318008”, turn the calculator upside down, and the offending word will be discreetly censored. Many common calculator words have been included as standard, and we plan to increase this over time via software updates.

This pioneering technology is available in both the full PCalc, as well as in the totally free PCalc Lite. Ideal for classroom settings, and for the very easily offended.

Some people might say that this is just a humourous attempt to drum up some publicity, and we should really be concentrating on the things that make PCalc one of the most popular calculators on the App Store. Like, for example, the intuitive user interface that takes full advantage of the iPhone, the optional RPN mode, or the wealth of powerful features.

Or, these same people might want us to point out that this new version comes with a coupon code that’s worth $9 off the price of PCalc for Mac OS X, effectively making PCalc for the iPhone a mere 99c if you were thinking of buying both.

But we think we know our audience.

You can find out more details at and download either of the iPhone applications here.