I Live My Life a Quarter Century at a Time

So, we are coming up on a little anniversary for me this weekend. On the 5th of January 2000, Steve Jobs unveiled the new Aqua user interface of Mac OS X to the world at Macworld Expo.

The Age of Aquarius

Towards the end of the presentation, he showed off the Dock. You all know the Dock, it’s been at the bottom of your Mac screen for what feels like forever (if you keep it in the correct location, anyway).

“Now I’d like to show you one of the coolest things about Mac OS X…”

The version he showed was quite different to what actually ended up shipping, with square boxes around the icons, and an actual “Dock” folder in your user’s home folder that contained aliases to the items stored.

I should know – I had spent the previous 18 months or so as the main engineer working away on it. At that very moment, I was watching from a cubicle in Apple Cork, in Ireland. For the second time in my short Apple career, I said a quiet prayer to the gods of demos, hoping that things didn’t break. For context, I was in my twenties at this point and scared witless.

I didn’t design the dock – that was Bas Ording, a talented young UI designer that Steve had personally recruited. But it was my job to take his prototypes built in Macromind Director and turn them into working code, as part of the Finder team.

I had already written another dock – DragThing – before I worked for Apple, and that had helped me get a job there. I moved over from Scotland to Ireland in late 1996 with my future wife, with both of us joining the small software team there. It was primarily a manufacturing plant, but there was a little bit of software and hardware testing and engineering that went on around the edges.

I worked on a number of things in the early days. I was on the Copland installer for two weeks before the project was cancelled. Then, a couple of Disney Print Studio CDs that shipped with the Performas. I loved doing UI stuff, but somehow ended up working on a command line Mac OS X Server authentication component for At Ease that was to be used with a new line of diskless netboot computers that nobody had actually seen. It turned out I’d actually been on the iMac project all this time, and in the end they got hard drives.

In the middle of all that, when I was out in Cupertino, I was asked if I wanted to work on a secret project with the code name “Überbar”. I was shown some prototypes and basically told that six people had seen it, and if it leaked they would know it was me that had talked. I figured if anybody was finally going to kill off DragThing, it might as well be me.

The new Finder (codename “Millennium”) was at this point being written on Mac OS 9, because Mac OS X wasn’t exactly firing on all cylinders quite yet. The filesystem wasn’t working well, which is not super helpful when you are trying to write a user interface on top of it. The Dock was part of the Finder then, and could lean on all the high level C++ interfaces for dealing with disks and files that the rest of the team was working on. So, I started on Mac OS 9, working away in Metrowerks Codewarrior. The Finder was a Carbon app, so we could actually make quite a bit of early progress on 9, before the OS was ready for us. I vividly remember the first time we got the code running on Mac OS X.

Because the Dock was a huge secret, along with the rest of the Aqua user interface, it was only enabled on a handful of machines. I didn’t see the shiny lickable buttons of Aqua itself for quite a while after I’d been working on the Dock . There were rumours that any screenshot of Aqua would have the hardware MAC address of the machine encoded into the image, so leaks could be tracked down.

Before I had ever seen the new UI, there was one moment where I had somehow – I genuinely don’t remember why on earth this happened – had been tasked with designing a placeholder boot screen for the OS itself. I made a blue shiny Apple with pinstripes, in the style of the iMac.

Secret Stripes Suppressed

It lasted precisely one build before being yanked out extremely quickly. I assume because somebody was unhappy with the entirely coincidental Aqua-like appearance.

But I trundled away, making the best dock that I could while staying true to the original design, and making frequent trips to the US, initially living out of the Cupertino Inn across the road from Infinite Loop.

You may have heard me tell this story before, and I apologise if so. But it’s been long enough that people just know me for PCalc, and don’t even remember DragThing, let alone events that happened before some of you were even born.

At one point during a trip over, Steve was talking to Bas and asked how things were coming along with the Dock. He replied something along the lines of “going well, the engineer is over from Ireland right now, etc”. Steve left, and then visited my manager’s manager’s manager and said the fateful words (as reported to me by people who were in the room where it happened).

“It has come to my attention that the engineer working on the Dock is in FUCKING IRELAND”.

I was told that I had to move to Cupertino. Immediately. Or else.

I did not wish to move to the States. I liked being in Europe. Ultimately, after much consideration, many late night conversations with my wife, and even buying a guide to moving, I said no.

They said ok then. We’ll just tell Steve you did move.

And so for the next year, I flew back and forth between Cork to Cupertino, and stayed out there as much as regulations would allow. I had an office on the Finder team corridor. I can only imagine that Steve would walk by looking for me, and they would say he’d just missed me, while I was being bundled onto a plane at the other end. I had to come over whenever there were Dock demos, but I was not allowed to be left in the same room as Steve, lest I reveal the truth. The demo room with the blanked out windows had two doors, and I went out one before he came in the other.

In the end, Macworld 2000 happened, and finally all the secrets were revealed to the world. I hoped that at this point, it didn’t matter where I was, and I could finally relax. Less than a month later, exactly on my birthday I believe, I got another call.

I had to move to Cupertino. Or else. And this time, the “else” was that I would be taken off the Dock and the Finder, and I couldn’t be guaranteed any interesting work ever again.

So I politely declined, and resigned. About three weeks later, the rest of the remaining software group in Cork was fired. Clearly, the plan had been to get rid of everybody, but they couldn’t tell me that at the time. I should have waited and I’d have got a payoff at least…

My version of the Dock shipped once to developers, with the Developer Preview 3 of Mac OS X. John Siracusa absolutely hated it. We remain friends.

After that, the engineer who took over from me rewrote the Dock entirely, and none of my code actually shipped to the public in the end. Eighteen months of hard work out the window, ah well.

But I learned a great deal, made a lot of friends, and the experience spurred me on to resurrect DragThing for Mac OS X, which proved very popular for quite some time. PCalc also came back to life around then, and that’s still going today!

As a final note, when I left Apple for the last time, and emptied out my drawers, at the very bottom of the last drawer I found my distinctly unsigned NDA.

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 <thomsonj@dcs.gla.ac.uk>
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.

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?”

Yes.

Ok, let me qualify that slightly.

Way back in June, we took part in the inaugural TheMacBundles.com 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 www.pcalc.com and download either of the iPhone applications here.

How To Make Your iPhone App Launch Faster

So, one of the most common complaints about PCalc before 1.7 is that it took too long to launch – around four seconds on an iPhone 1st Generation. I actually got emails accusing me of having a massive ego because I was making the splash screen stay up for so long. Now, I may have a massive ego anyway, but that’s not why it was happening.

Continue reading “How To Make Your iPhone App Launch Faster”

New iTunes Connect bug?

Update, 01:36am – this bug was just fixed in iTunes Connect, and PCalc has been submitted correctly. Thanks Apple!

Original post:

I’m currently trying to submit an update to PCalc for iPhone, built with the GM iPhone 3.0 SDK, and it’s failing. The “Contact Us” section of iTunes Connect doesn’t actually let you contact anybody, except for very specific problems, so I’m at a loss at how to proceed. I throw myself on the mercy of the crowd.

Continue reading “New iTunes Connect bug?”

Divisive Devices Part 2

How very interesting! As a follow up to the last post on device IDs.

I just renewed my iPhone developer program membership, so that I don’t forget over the summer, and in the email I just got from Apple it says under “Benefits”:

Devices: device list can be reset beginning 12 Jul 2009″

The 12th is my renewal date.

So, it’s not that deleting devices frees up a slot a year later, it’s that you have 100 devices IDs you can play with for the whole length of your year’s membership in the developer program. The next year, you get to delete them and start again.

So I’m basically stuck with what I have until July 12th. I do hope Apple doesn’t do anything like, say, release new hardware over summer…