James Thomson is a well-known iOS and OS X developer from Scotland. I had a chance to talk with him about development, new Apple solutions and adblocking. He offers not only great apps, but also very interesting views on many topics.
Hi James, could you introduce yourself and say a few words about your apps?
Hi there! Well, I've been writing software for the Mac for over 23 years, and iOS since day one. I'm best known currently for my scientific calculator PCalc for iOS, watchOS, and OS X, and previously for my Mac dock application DragThing. I worked briefly for Apple in the late Nineties, where I was part of the OS X Finder team, and wrote the original version of the OS X Dock. Which never actually shipped apart from in Mac OS X Developer Preview 3, where John Siracusa described it as a "total failure" in his review.
You decided that you're not going to create PCalc for Windows and Android. Why?
The core of PCalc is written in Objective-C, and makes use of a lot of Apple's APIs. For an Android port, that would mean I would need to rewrite all the code from scratch, which would be a lot of work. I don't have much experience with writing code in Java either, and to be honest, I have heard from fellow developers that it is a lot harder to sell premium software on Android. Both of those reasons mean that the work involved in creating an Android version would be unlikely to pay off for me.
Windows is a slightly more interesting proposition. Microsoft has recently introduced a porting layer that implements some of Apple's iOS on top of Windows. It might be possible to create a version of PCalc using that technology, although my understanding is that it's still quite early at the moment. Who knows, maybe I'll make a something for Windows one day, and I'll eventually have PCalc on my Xbox. But right now, I'm just focused on Apple's platforms.
I read your article about "social currency", advertising and ad blocking in iMore. Your vision of the future is very apocalyptic. Do you have any ideas about how to fight ad blocking or finding alternative solutions for monetizing content on the web?
I think fighting ad blockers isn't going to work - a long technological and legal war between advertising companies and ad blocker companies is very likely though. I think the approach of sites like MacStories is interesting - they are asking users to pay directly to support their writing. Jason Snell has said he's considering doing something for Six Colors, and he also sells weekly sponsorship slots for the site. Giant Bomb is a video game site I like which has premium subscriptions to access exclusive content. Such an approach probably only works if you have a sizable and loyal audience already though, and I don't know how well it will scale if every site does it. But I think it's important that creators can make a living somehow, otherwise there isn't going to be any decent content at all.
You wrote on Twitter that developers can earn money by selling relatively expensive apps. Do you think that apps should cost more in the "freemium and apps with ads era"?
Certainly, I think many developers aren't charging enough to make their apps a long term sustainable business. There are enough people with iOS devices out there that you don't need to solely target the mass market who seem to expect their software for free. You don't need to sell it to everybody, just enough people to make a living.
My adventure with programming (C++) ended when I finished high school, so I'm not into it anymore. What's your attitude to Swift and Objective-C? Which one of those should teenagers choose to learn?
That's a good question - Apple is encouraging developers to embrace Swift, and that's likely to be the future. It doesn't hurt to know some Objective-C as well, but if I had to pick one today I'd go for Swift. Of course, at this point, I haven't written a line of Swift code yet, so ask me again in six months! Generally though, if you have learned one programming language, it's pretty easy to transfer those skills over to another language.
You are a longtime Mac and iOS user. What do you think about the latest Apple products and the direction in which Tim Cook is leading the company?
I'm very happy with the products - my Retina MacBook Pro is the best laptop I've ever owned, and likewise my iPhone 6S. Both El Capitan and iOS 9 seem to be noticeably more stable than last year's offerings. And Tim Cook seems to be making Apple more open than before - the new Apple TV SDK hardware was quite a pleasant surprise to developers, for example. So, I can't complain there. I do sometimes have frustrations with Apple's developer support - the iTunesConnect website in particular was being problematic earlier in the month just as many developers were trying to submit their iOS 9 and watchOS 2 apps. But they've just rolled out a new site, which already seems to be an improvement, so we shall have to wait and see.
Do you have any plans to build a new app?
Right now, I'm still working on updates for PCalc - I have a version for iOS due shortly that adds 3D Touch support for the new phones, and I'm looking at tvOS as well. After that will probably be the iPad Pro, and then I think I'll take a bit of a break over the festive season. We shall see what happens next year!
Thank you for the interview, James.
Thanks, I hope the answers are interesting!