WWDC: Peter Kelly Forsakes Android for Joys of iPad Coding

Each year at WWDC, TMO interviews a few Apple developers who want to tell their story. The result is usually a number of serious insights into the state of mind of the developer community. In our first interview this year, Dave Hamilton chats with Dr. Peter Kelly author of the UX Write word processor for the iPad.


Dave Hamilton: So why a word processor for iOS/iPad?

Peter Kelly: So ... my background is in academia, but I’m now taking a break from academia to start a company and do a product. It seemed ike an interesting thing to do.

I finished my Ph.D. at the end of 2010, and I had been teaching at Adelaide University in Australia, and I decided that I’ve been doing that for years, and decided to take some time off, explore some research ideas I’ve been looking into, and I was in the early stages of writing a book on operating systems development. One of the classes I was teaching was on operating systems. Going through the whole process of getting a kernel up and running.

TMO: That’s heavy duty stuff.

PK: It is heavy duty, but it’s fun. It’s like the most fun thing you can do -- with a computer. Remember, in the early days, people used to hack around in the Apple II and the Commodore 64. You can still do that with modern machines. They are a bit more complicated, but that’s why I felt there needed to be a book to get people into that.

So, I was doing that. But then I got interested in tablets. I bought an Android tablet. And I went with Android because I wasn’t really happy about the closed ecosystem of Apple, coming from an OS background. So philosophically, I preferred Android. I was just using that Android tablet to learn about mobile OSes. I hadn’t had it very long before I thought, "gee, this is pretty cool for taking notes and doing writing."

I can remember the exact moment I decided to start the company. I was in a coffee shop, and I’d been taking some notes. I went to insert a bulleted list, and I looked and looked, and I realized it didn’t support lists. And it kind of grew from there. I thought, what about tables? It didn’t do those either. So I looked at another app. No luck.

Looking back, I wrote my whole Ph.D. thesis in LyX which is a graphical front end to LaTeX and I was expecting these kinds of features. I looked at Android and literally none of the apps did any of that. I thought, I reckon I could do better than that. So, the first two or three months of its life, UX Write was on Android.

TMO: No kidding. I’m curious now. How did it get to iOS? I know you’ll lead us there...

PK: It’s built on Webkit, which is the open source rendering library used by Safari. And so I thought, I’ll take Webkit and put an editing user interface on top of it, and I thought, it’ll take maybe three weeks. Famous last words.

[laughter all around.]

It was three months in total before I had something. In the process, I ran into some almost insurmountable technical hurdles with Android, and it never shipped. Eighteen months ago, there were some very serious performance problems with Webkit. Maybe they’ve fixed them by now, I don’t know. I decided I'd have to ship a custom build of WebKit to fix the problems, but it took ten days of tedious work just to get it to compile, and even then there'd be more work to fix the bugs and integrate it with my app. To cut a long story short, I’d already been thinking about doing an iPad version as well, and so I thought, why don’t I have a look at the iPad?

I went out an bought an iPad the next day, learned Objective-C, and took a couple of weeks to get up to speed with the platform ... and I haven’t looked back. My Android tablet is very unloved. It sits there alone in a drawer. [Tim Cook, are you listening?]

TMO: So, you learned Objective-C during this process?

PK: Well, the very best way to learn a programming language is to build an application with it. But in the case of UX Write, about a third of the code is written in Javascript because that all runs within the context of Webkit, and then I’ve got the Objective-C layer which does the native UI.

Anyway, as you know, it always takes longer to develop and app than you think, [laughter], and after nine months I had an initial release out. And UX Write has been on the market for about 11 months now.

TMO: Obviously, if it’s iOS, it’s in the App Store, and that’s the only place you sell it. The App Store works well for you?

PK: What Apple has done is just revolutionary. I can sit in an apartment in Adelaide, and I can publish an app to the whole world. The very first week, I had people in Kenya using my app. You couldn’t do that 10, perhaps even 5 years ago. Wow! It makes it so easy on us developers because we can focus on developing software and Apple takes care of the distribution. Of course, they take a 30 percent cut, but I think it’s a reasonable deal. It’s one that I’m happy with.

TMO: Any notable problems with the App Store?

PK: I don’t think they’re checking all the apps. In the media, you hear all these stories about how such-and-such app got rejected for some odd reason.

TMO: You know, an early version of our Mac Geek Gab app got rejected because there were bits of the Finder logo buried in the app. At times, Apple digs very deeply.

PK: But I just discovered something odd in the last few weeks. There is a massive number of pirated apps that are being sold in the Apple Store.

TMO: Now let me clarify for our audience here. There's two types of piracy: one is where people are taking an app, removing the code signature, and then reselling the binary somewhere else for folks running jailbroken devices. That’s not what you mean, is it? You’re talking about the other type, where someone else submits your app, with a different name, and is selling it through the App Store.

PK: Right. I don’t really lose any sleep over people downloading and jailbreaking copies. It’s annoying, but I know there’s nothing I can do about it. But, pirates have techniques to decrypt the app, then upload the app to the App Store under their own name, making a few changes, like the app name, and it gets accepted.

[Peter gives Dave Hamilton a demo on his iPad.]

TMO: How did you discover all this?

PK: I was getting the crash logs! Sent to my support address! But at the top of the bug report, the app name was not "UX Write." So I did a search on the App Store for that app name, and there it was.

TMO: So have you reported this to Apple?

PK: Oh, have I reported it! I’ve had a number of discussions. I’ve basically reported copyright infringement. And basically, it hasn’t worked. These pirated apps are still in the App Store. Basically, the process I went through with Apple is really not effective. Even you, looking at what I showed you in the demo can immediately see that it’s a pirated app. Obvious.

Now that I’m here at WWDC, I want to show someone from Apple what I’ve just shown you. You know, I think this kind of thing could be detected very easily during the submission process. There are some really straightforward technical solutions.

But I understand that it is a hugely difficult thing for Apple to manage. But I don’t want to pick a fight with Apple. I just want them to help me. In any case, I love the platform. I’m committed to it. I wouldn’t fly half way around the world to learn about iOS and meet with other developers if I wasn’t devoted to the platform. I do want to focus on the positives.

TMO: I wanted to ask you about iCloud syncing before we wrap it up here.

PK: I can’t comment on iCloud specifically because I haven’t used that service in UX Write. The reason for that, as far as I understand, is that any app can only access the documents that it has created. My app is content creation, and it involves documents of different types. You have a word processing document, you’ve got some text, you’ve got some photos, a diagram, some PDFs which are relevant, and my application needs to be able to work with files created in several different applications.

Now, iCloud and the iPad itself has essentially a sandboxed file system and you can’t easily get data from one app to another. Now, there are some very good security reasons for that. Do I need to say anything more than ... Windows? And Mac OS 10.7 [Lion] was theoretically vulnerable to some of the same problems. And Apple has done some great things with sandboxing in 10.8 where I think they’ve go the right balance. You can share data between apps. I’d like to see that on the iPad. At the moment, it’s very limiting, and you really have to go to great lengths.

Lately, I’ve been working with Box. They’ve got a platform called One Cloud where you can access Box’s service and work with your files. Of course, you can edit a document there with any app, like UX Write or Smart Office, but getting it back to the iPad with the same app that opend it is a problem. But Box has an API so that you can integrate that into your app and send the document back after it’s been modified.

And that works well, but it does require developers to work well together.

TMO: Wouldn’t it be nice if iCloud did that?

PK: Yes. I get lots of complaints [from customers]. “Why can’t I move folders?” And really, that question should be directed to Apple. On the Mac, you have the Finder, and that takes care of everything. But I’ve had to completely reimplement the Finder myself in UX Write. Effectively.

So the the issue with file synchronization is that you can have multiple devices, and then you can have multiple people making conflicting changes while they’re off line, and later, they go and sync, it’s a big problem.

TMO: Right.

PK: There are solutions to that problem, but they’re very, very difficult to achieve. And that’s what I’m working with now. I have a meeting with Box next week, and chatting with them about some ideas. We might be able to work together on something.

TMO: In the time we have, let’s talk just briefly about the app itself, UX Write.

PK: Actually I’ve had the full range of response. Most like it. Some have said that this is the best app on the iPad. Some have said that it’s a complete scam. Most of the concerns people have raised is missing functionality. But it’s a work in progress. I believe in releasing early and releasing often. You just can’t work on a product for four years, and then get it out on the market. By then, it’s probably going to be the wrong product.

I released when I had something that worked, and I’ve been updating every few weeks. And I’ve published my roadmap so people an see what’s coming. My priorities right now are better language support, fixing some issues with text entry for China and Japan, and localizing the UI, and change tracking is a big one. Of course, improving the file management. It’s an incremental thing.

The value of the app, and it is a rather high price, twenty-five bucks, is going to increase over time. I'm thinking about a basic version so that you can purchase upgrade features -- for people who are skeptical about paying twenty-five bucks before they know the app is good. [It’s very good.]

So far, I’m happy with the responses I’ve got. The goal is for this to become the word processor on the iPad. In a year, it could be number one. And with the other word processors on the iPad, I haven’t seen anyone taking half of this stuff seriously. My goal is build something that meets the needs of professional writers. Equation editing, citations, all all that.

TMO: Very cool Peter. Thanks for taking some time out of your schedule to chat with us! We appreciate it.

[UPDATE, 4:30 PM EDT: Peter reports that he received an email from the App Store team this morning notifying him that they have now removed the infringing copies of the app.]