In our ongoing series of interviews with developers and creators in the Apple community, I recently had the chance to talk with Justin Williams, the founder of Second Gear and developer of Today, Elements, and MarkdownMail. When he's not busy developing new features for his apps or sketching out ideas, Justin also writes his personal weblog at carpeaqua. You can follow him on Twitter as @justin. The interview below was conducted between January 18 and April 19.
MacStories: Hey Justin! Could you introduce yourself to the readers who haven’t heard about you or haven’t tried any of your apps before?
Justin Williams: I’m Justin Williams. I’m the Crew Chief and lead developer at Second Gear. You may or may not have heard of our products:
- Elements — the original Dropbox syncing Markdown text editor for iOS.
- MarkdownMail — A quick and easy way to send HTML emails on your iOS device written in Markdown syntax.
- Today — A daily calendar app for Mac OS X.
MCSTR: Before the obvious development-related questions, I’d like to know more about carpeaqua, your personal blog. You seem to be enjoying writing a lot, the quality of your pieces is always great and several times I’ve seen articles from you – such the ones about social networks and iPad magazines – show up in my RSS feeds and Instapaper “friends” queue.
How did you get started with writing online? And how does it complement your work as software developer - did you find in carpeaqua.com some sort of solution to better communicate certain topics to your customers, or is it just a way to reflect on things that you have in mind?
JW: I started writing carpeaqua back in 2003 when I was still in college. I have always loved to write and many times wish I had gotten a formal degree in English or Journalism instead of technology to back that up. I had just started to take computing more seriously than just surfing the web and blogs were the new “it” thing in technology, so I started one. I enjoy writing because it’s a different sort of performance art than software and one where my customers can see all the pieces, blemishes and all.
I sometimes struggle with the voice I want to convey with carpeaqua and it has certainly changed through the years. Presently I think the tone is best described as that of a fan of all mobile platforms, but with an obvious Apple focus. I enjoy using Apple’s products, but I also respect and enjoy seeing what Microsoft and Google produce as the competition. The vibe I get from some sites I read is that of platform cheerleaders who constantly want to remind you how great Apple is and how inferior the other offerings are in comparison. I try to live more in the shades of gray that each platform has their own unique strengths and flaws.
In terms of relating to my software development, I don’t draw too many parallels between what I write on carpeaqua and what I produce at Second Gear. Obviously they are forever linked because I’m at the helm, but I try to not be too marketing heavy on the site and only link to the products in the sidebar for those that are interested in learning more. If I want to write a postmortem about decisions I made during a larger project, I might post them there, but in general I’ve found that publishing about each product release isn’t something enjoyable for the reader. If they want that stuff, they can follow @secondgear on Twitter.
MCSTR: So is it safe to say you created Elements to “scratch your own itch” and have a proper tool to write articles for carpeaqua? How did Elements’ creation and development come to be?
JW: Pretty much. I knew when I saw the iPad that I wanted to be able to write long-form stuff on it rather than having to take my laptop with me everywhere. I also knew that I wasn’t a fan of the built-in Notes app both because of its design and the fact that it wanted to use my email account as its storage bin.
Of course at the time the iPad was released, I was still disenchanted with the App Store and Apple’s policies surrounding it. Between selling off my existing iOS apps to BitBQ, launching fuckingnda.com and having my own “Back to the Mac” exclusively moment, I wasn’t really that interested in getting back into building stuff on Apple’s new platforms from a business perspective.
When Dropbox came out with the original incarnation of their iOS SDK, I lessened that stance though for practical reasons mostly. I already wrote everything in plain text files, so syncing them between Dropbox seemed like an obvious solution. I never approached Elements as something that would be a financial success or even the core of Second Gear’s business. I just built it in about a month, because I wanted it myself and then threw it on the App Store in case someone else might have. And they did. It was by far the biggest, craziest and most fun launch I’ve ever done.
MCSTR: This brings me to a topic I’d like to ask you about, the App Store. How has the ecosystem changed and evolved since you decided not to develop for it, then revised your decision? To me, it seems like it was the right move for you.
JW: Apple has made plenty of improvements to the App Store ecosystem. It’s by no means perfect, but compared to where it was a few years ago, I’m comfortable with investing my time in the platform. On both the business and development side, Apple has made strides in making it easier for us to get our jobs done. The lifting of the NDA that bound all of us using any version of the SDK after it was initially released was a welcomed change. The automated device provisioning in newer versions of Xcode has fixed many of the hassles of profile management. It’s still by no means perfect, but I hit way fewer points of friction today than I did three years ago.
The biggest frustration I still have with the platform is Apple’s unwillingness to be forthcoming about policy and decisions regarding the platform. That’s just their culture, but I can always dream of them one day spilling a few more beans periodically.
MCSTR: So what else would you suggest to make it perfect, or at least better for developers?
JW: Automatic updating of apps for one. Allow customers to opt-out should they choose, but it’d solve a lot of support issues on our end if we could ensure that the majority of our users are running the latest version automatically.
Replace the 100 device limit for Ad Hoc testing with a 100 Apple ID limit. I have a universal app, and most of my testers want to register their iPhone and iPad (sometimes more). That cuts me down to about 50 devices. When you then add in the frequency that they either get new hardware or replace it through warranty, it’s easy to go through that allotment before a year is up.
In my pipe dream world, the reliance on provisioning profiles would be eliminated. It’s not nearly as painful as it used to be to get a new device up and running, but it still feels like a lot of needless busy work just to do development.
MCSTR: Those are great suggestions, and I’ve seen quite a few developers switching to services like TestFlight or HockeyApp for their beta distribution. Apple enabled over-the-air distribution for apps last year, but clearly that’s not enough, especially on the provisioning side. Have you tried any of these new services for managing beta releases?
And about the App Store: what are your thoughts on allowing free trials/demos for iOS apps?
JW: I’ve used both TestFlight and HockeyApp. I am currently using HockeyApp, mainly because they allow me to pay for the service. It has always bugged me that TestFlight doesn’t charge me for their service. It’s not that I like to give money away, but when it is something that is tied directly to my business I would much prefer knowing that I am contributing to the success of the service rather than hoping they figure out a way to harness enterprise support in order to write off all the smaller companies using it.
For higher priced apps, I think trials/demos make sense. I am hesitant to spend more than $10 on anything without at least getting to kick the tires on it first. For anything less than that, I don’t think it is as big of a deal as people make it out to be. I don’t have much sympathy for someone complaining on the Internet that they feel ripped off because they didn’t get 99 cents of enjoyment out of a game. I’d much rather Apple let me refund purchases from unhappy or high maintenance customers.
MCSTR: So you think the App Store would benefit from an easier refunding process (it is quite convoluted right now) and a feature for developers of $9.99 apps to have demos/trial versions? How do you believe could Apple integrate demos in the native App Store experience (with downloads, expiration dates, etc)?
JW: Look at what Microsoft does with Windows Phone. They built it straight into the API. It’s basically a boolean switch that developers can tie into the app where they can toggle features or functionality based on whether the app is in trial mode or not. When you view an app in the store, you have the option to pay for it right there or download the trial. If you decide to purchase it, you can handle that transaction from within your app using some APIs they provide. They also offer a few nice APIs that make gathering ratings and reviews in-app frictionless compared to the app-switching dance you have to do on the App Store. If you haven’t gathered, I am a big Windows Phone fanboy. I find what Microsoft is doing with their mobile platform to be far more interesting to watch than Google with Android.
MCSTR: So it wouldn’t be a problem for you to use a WP 7 device as your primary phone?
JW: I think so. I did it a few months ago, but haven’t given it a shot since Mango came out. The biggest hurdle is the apps. There are plenty of apps in the Windows Phone Marketplace, but that doesn’t mean they are all good. Comparing their podcasting clients to Instacast is not even fair. Instacast is far superior. The 1Password app for Windows Phone is also lightyears behind the iPhone version in terms of functionality. Windows Phone is missing that sense of taste that is to prevalent in the Apple development community. Microsoft is doing their best to ingrain some of that into their developer base, but it’s not something that will happen overnight.
MCSTR: Besides developer adoption, what other factors do you think are contributing to Windows Phone 7’s overall slow start?
JW: I’ve written about this a bit in the past, but the general thing is that Microsoft has a chicken & egg problem. They’ve built a platform without much quality developer support (quantity is there, but most of the stuff sucks). Without quality apps, users are choosing Android and iOS because they are safe bets. Quality developers are shying away from the platform because the user base isn’t there. No users, no money.
How does Microsoft fix it? Developer outreach and the checkbook. I find it hard to believe Microsoft would feel any shame writing a check to major names in the app industry to port their existing products or generate something completely new and exclusive for Windows Phone. If they give an upfront incentive to build for the platform, I’m sure there are many developers who would take them up on the offer? There are certainly those that are die-hard iOS fans who have no interest in building for other platforms, but I think there’s a large subset of the developer community who consider themselves platform agnostic, mobile developers instead. iOS is just where all the money is right now.
MCSTR: Would you develop for the platform if you had such incentive?
JW: Definitely. I’ve played with both Android and Windows Phone in the past. Android’s development stack was frustrating, but I found the Microsoft one to be pretty sane and pleasant. It doesn’t make business sense for me to do something like Elements on Windows Phone right now, but I wouldn’t rule out doing something smaller and different on there just as a hobby or side project. I’m a tinkerer at heart and just build stuff that interests me more than anything.
MCSTR: Interesting. Do you think there’s a particular kind of software that’s impossible to develop on iOS, but would be suitable for Windows Phone 7?
JW: I’m sure there is, but I haven’t really thought about it. If anything, it’s likely something super niche that would only appeal to the super nerds and enthusiasts who want to do all sorts of crazy things with their phones. There may be a market for that sort of thing, but I have never found much interesting there personally. I believe any product that is worth developing is something that can be adapted to any platform. The interface and experience paradigms may be different on the platforms, but everyone’s got a persistent cellular connection, a GPS, and a camera to work with. Seems like there’s plenty of untapped potential and ideas just surrounding those things without having to break into building things that aren’t possible on specific platforms.
MCSTR: I’d like to talk about your app Today now. You shipped version 2.9 in October, making OS X Lion a requirement. Can you tell us more about the history of Today, and what plans do you have for future versions? Perhaps something on iOS…?
JW: Today was Second Gear’s first official product. I released it back in the spring of 2008 (which seems likes ages ago) because I was burnt out on doing consulting work and wanted to get into selling my own products. I basically did nothing for the first few months of 2008 but work on Today in a coffee shop until it shipped and then coasted along on its success for a few years until I shipped Elements. I have ideas and even some designs in mind for Today 3, but it’s not something I am actively pursuing right now. I’m working on a new iOS app that is currently taking up most of my focus, and no I won’t tell you what it is.
MCSTR: What are your thoughts on Mountain Lion?
JW: It was nice to wake up to something that was a complete surprise out of Apple rather than having it all spoiled by the rumor sites! I haven’t had an opportunity to install Mountain Lion yet, but I am really pleased to see what they are doing with developer IDs and Gatekeeper. That is definitely something I hope will trickle down to the iOS platform as well. Not that I would opt out of selling Second Gear’s stuff exclusively in the App Store, but it would be nice to have the option.
As a customer, I really like the direction they are taking the new OS. Having my iMessages show up on my computer will be fantastic (though I wish it would include the ones sent to my phone number as well!). The Notification Center looks like a great addition, especially since it has the ability to turn off notifications on a per-app basis. The addition of Reminders, Notes, Twitter and sharing sheets should make the Mac experience even better.
There has been some pushback about Apple trying to iOS-ify the Mac too much, but I don’t see it. The same people screaming about Mountain Lion being too much like iOS are just fine with every app on their Mac looking like Twitter. Convergence is just the latest trend in technology, but for once it is one that makes sense. Making a Mac as approachable as an iPad is a good thing.
MCSTR: Do you think Gatekeeper and Sandboxing are the right steps to increase the Mac’s security going forward? How do you feel about Apple giving more time to developers by extending the Sandboxing deadline to June 1?
JW: Gatekeeper is a great step in the right direction, but I’m still a bit hesitant on the benefits of sandboxing. It’s not that I don’t think sandboxing in theory is a great way to ensure that users’ Macs are safe from the shadier side of the software market, but Apple’s continued delays and tweaks to the process make me think the system is flawed at a fundamental level. Trying to shoehorn an iOS like sandbox model into an operating system model that has served us well for several decades is a giant undertaking and from what I’ve seen thus far it’s impossible to do without taking away some of the great software we have come to know and love.
Having said that, Today is already sandboxed and in the Mac App Store. My app is a happy path case though where it doesn’t require using too much stuff outside of its own app. For the Rogue Amoeba guys or a great app like FastScripts which relies on talking between apps, it sounds like hell.
MCSTR: Right, it does seem like some developers are going to have a hard time making their apps work with these new technologies. Do you believe the Gatekeeper model could ever come to iOS, allowing installation of apps from other sources, like on Android?
JW: Could it? Sure. Will it? I doubt it. iOS doesn’t have the legacy dependencies that OS X has in regards to allowing third-party apps from outside an App Store ecosystem. After four generations of phones that support the App Store, customers are pretty used to knowing that any apps they want to get for their phone come from the blue “A” icon on their phone. There’s little incentive for Apple to change that, especially when they’re getting a 30% cut on every paid app sold. And honestly if the choice is between Apple working on improving the OS and App Store experience as a hole or diverting resources to appease the power user subset that would venture off the happy path, they will always choose the 90%. I’m cool with that.
MCSTR: What do you think of the new iPad?
JW: It’s great. As an upgrade, it wasn’t as substantial to me as going from the original iPad to the iPad 2, but I couldn’t imagine going back to using a non-Retina display after making the switch. I’ve played with quite a few tablets on different platforms and nothing comes close to what Apple is offering in the space. It’ll be curious to see what Google does this summer with their rumored Nexus Tablet.
MCSTR: What’s next for Second Gear?
JW: Continuing to work on Elements. I’ve been working on some pretty neat under the hood stuff so I can add a lot of features I’ve been wanting to have in the app since it first shipped. Once all that is done, we’ll see. I still get a lot of requests for a Mac version of Elements. Maybe Mountain Lion will be the nudge forward to get me to do it. I’ve also had a few other ideas completely unrelated to Elements stewing around in my brain for a while. Maybe it’s time to try something fresh. That’s the fun of what I do. There’s always new and interesting problems to tackle!