In our ongoing series of interviews with developers and creators in the Apple community, I had the chance to talk with Gus Mueller, founder and programmer at Flying Meat. You may know Gus because it makes two of the finest Mac apps -- Acorn, an image editor, and VoodooPad, a note-taking and wiki app. Gus tweets as @ccgus.
The interview below was conducted between May 5 and December 15, 2012.
Federico Viticci: Hey Gus! Could you introduce yourself to the readers who haven’t heard about you or haven’t tried any of your apps before?
Gus Mueller: Hello!
I’m Gus Mueller, and I’m the founder/programmer for Flying Meat Inc, which makes software for the Mac. These days my most known application is Acorn “The image editor for humans”, but before that I was mostly known for my desktop wiki VoodooPad. I also have a couple of other minor projects – JSTalk, FMDB, and a handful of open source libraries that are popular.
FV: How did you get started with programming and development?
GM: I’ve always used Macs and I got into programming when I was in college, using Metrowerks on OS 9 to complete my assignments. When Apple bought Next I played around with the development tools that Rhapsody (pre OS X builds) came with and read up a bit on Cocoa. Eventually I starting writing little applications that I wanted myself (like VoodooPad), and put them up on my website. People downloaded them, sent me feature requests, and Flying Meat was basically born out of that experience.
But even before all that, I dabbled with BASIC in grade school (on an Apple //c) and a little bit of Pascal in high school.
FV: How has Flying Meat evolved over the years? You run the business with Kirstin, your wife, right?
GM: Yep, Kirstin has been working for Flying Meat part time for a little over a year, helping with support and handling all the financials. We recently had a baby, so she’s not working as much as in the past- most days it’s just me in the office.
For the first couple of years after I went full time with FM, I worked in an office on the bottom floor of our house. It worked out pretty great for a while, but I eventually needed to get out. Now I’ve got an office in downtown Everett, WA, which is a great place to escape to when I need to get away from all my stuff and really concentrate on problems.
I’ve had a couple of employees in the past, but right now it’s just Kirstin and I- which is pretty nice and simple. I’m a fan of simple.
FV: You released a major update to your Wiki application for OS X and iOS, VoodooPad, earlier this year. Especially on the Mac, the launch of VoodooPad 5 seems to have been extremely well received. How’s it been from your side?
GM: Interest in VoodooPad 5 far surpassed my expectations for it. I know that VoodooPad has a lot of fans out there, but I guess I just hadn’t heard from them in a while.
I also expected a bit of backlash for making VoodooPad 5 a whole new app on the Mac App Store (as a way to get around not having upgrades), but there were only a couple of complaints about that. Though I do think it helps when other companies are taking this route as well (Panic’s Coda 2, Adobe’s Photoshop Elements 10, etc). On the iOS side, you tend to get raked over the coals if you do this – but apparently that’s not quite the case on the Mac side. And that’s a good thing for developers! Because why would we invest months (and sometimes years) of work without getting paid for it?
Anyway, that was a bit of a mini tangent – back to the original question:
The VoodooPad 5 launch has been great, and I’ve already gotten past the inevitable 5.0.1 “oh crap” release as well. And Dropbox syncing seems to be going quite a bit better in the latest update to the iOS version too.
FV: Do you think Apple should get around finding a way to offer paid upgrades in the iOS and Mac App Store?
GM: Absolutely. Revenues from upgrades are huge for indie developers. When I released Acorn 3, over 50% of my revenue was from upgrades! And I’ve seen at least one Mac company in the past say “hey, free upgrades for life!” and then have to retract on that statement because it turns out not be a very good idea long term.
FV: Both VoodooPad and Acorn are available on the Mac App Store and through Flying Meat’s website. Do you still see customers preferring the “old way” of buying apps over the App Store model?
GM: Certainly – and I get customers leaving positive comments about FM keeping our store up when they purchase apps as well (our online store has a little comment box where you can write anything you want making a purchase).
It’s also really easy to make a license as a gift through our online store, and of course to make multiple purchases.
And with the restrictions placed on apps with Apple’s App Store Sandboxing requirements, I’ve had numerous people switch back to the direct version of VoodooPad. So the ‘Old Way’ of getting apps is still alive and thriving.
FV: That’s what I was getting at. From your technical perspective, what is the impact of Sandboxing going to look like in the long term? Because we keep hearing that stuff like scripting and inter-app communication utilities is something Apple wants out of the Mac App Store, and while that could be the case, Apple is also asking developers to get in touch if their app can’t be sandboxed, and Mountain Lion’s Gatekeeper brings a new model to manage apps sold in and outside of the Mac App Store.
Do you think Apple will change its position on Sandboxing if it turns out to be a real issue for developers going forward? What’s your take on this discussion surrounding Sandboxing?
GM: Gatekeeper is great idea and I love it. And I do like sandboxing, but I don’t think it’s a good fit for all apps – and requiring it for the MAS is a bad deal for customers. If Apple had made this requirement known when everyone was first submitting to the App Store, then I think attitudes towards it would be different. But they didn’t, and Apple changed the rules with apps and functionality already in place. And now developers including myself are having to spend time and resources trying to make our apps work in this new environment, instead of fixing bugs and adding new features. This is stupid.
I can easily see sandboxing being used as a selling point for apps just like native full screen support, versions, etc are. And I know as a customer that I would love to have some of my apps sandboxed. Does a chat client need to be able to randomly write anywhere on my file system? Probably not. But then there are apps like Acorn where people have built up scripts and workflows around it, that are now going to break because it won’t have “permission” to write where you’re asking it to without popping up a save window. Who wants to do that for 10000 images?
FV: You mention that people have built their own custom scripts and workflows around Acorn – how does your Acorn setup look like? Aside from developing it, what do you use Acorn for, and why did you create the app in the first place? Is it something you wanted for yourself, like VoodooPad?
GM: My Acorn setup is obviously going to be quite a bit different from other people’s. I’m always running a development version of it with various features always in progress. Of course I always want to be able to run the release versions for reproducing bug reports we get, so I have a disk image with every release of Acorn on it which I can quickly access.
As for why I created Acorn in the first place – it’s got a bit of an interesting history. It originally started out as FlySketch 2.0 (FlySketch is another app of mine, meant for taking screenshots + marking them up), but the update got a bit out of control and I ended up making a new product out of it. I originally created FlySketch because I wanted to see if I could force myself to draw more, and writing an app for that seemed like a good way to do that. Acorn continues that tradition.
And I of course use Acorn to make graphics for VoodooPad and Acorn itself. I haven’t been using Acorn for much photo retouching until lately (we’ve been taking lots of baby pictures). So I imagine Acorn will be getting some new features in those areas sometime soon.
Acorn is also a great project to work on. There are so many different areas you get to write code for – from image processing with OpenCL to creating vector tools, and of course finding as many tricks as you can to speed everything up. It’s a ton of fun for a programmer.
FV: Have you ever considered an iOS version of Acorn? Personally, I would use it daily on the iPad.
GM: Of course, but there are already a number of good iOS painting apps out there which I’m happy with. So I’d rather take the time to make Acorn on OS X even better. I do need to get around to making some sort of companion app on iOS though. Wouldn’t it be great if you could draw on the iPad and have those brushes show up on the OS X side (sort of like a weird Wacom tablet)? Or what about if you could use your iPad/iPhone as a sort of HUD for various workflow tasks? Adobe’s already done a bit in this area, and I think it’s a great idea.
Obviously this is just me thinking out loud – I’m not announcing anything here!
GM: I do think that would be great, indeed. How have you been using the iPad for “work purposes” yourself? Do you think a developer can use the iPad as a work machine for stuff other than replying to emails and testing apps?
I’ve got VoodooPad on iOS, and I use that for work notes. I don’t think an iOS or OS X developer can use the iPad as a work machine though – you can’t build and run native apps on it.
However, there are some interesting apps out there for writing code – I’ve been playing with a couple of Processing apps for the iPad, and it’s fun.
FV: And what do you think of apps like Codea – nice experiment and technical demo, or a sign of things to come for touch programming in the future?
GM: A little of both. I haven’t used Codea yet so I don’t have a real opinion – but I think it’s a great idea. However because of the restrictions of iOS, it’s not like you can write apps and ship them out (well, at least not yet). There’s no C compiler, and you need one of those to write certain apps.
I bought it when it came out though. One of these days I’ll get a chance to use it (I buy apps all the time that I really want to use, but finding the time to use them is a different story).
GM: I don’t think the shakeup is going to cause much in the way of interface or deadline changes at Apple. I’m sure we’ll get bits of new UI sometime in 2013, but that’s been the same for every year since iOS was released. I bet things that are already being worked on will continue to be worked on, just with different bosses whose personalities might not clash as much.
I do like that a single person is over the iOS and OS X side of things. It’d be great if they could share more resource back and forth.
I’d like to see some of the oddball UIs go away, like in the Podcasts app or Find my Friends; they just feel wrong to me. And the new App Store is a big step backwards in usability as well.
FV: In the years you’ve spent developing and maintaining VoodooPad, you must have gotten a lot of emails from your customers. What’s the most curious use case scenario you’ve heard for your app?
GM: I once had a customer order 10 licenses for his office, and I of course had to inquire as to what they were using it for. Turns out they would put together wireframes for websites in VoodooPad. And since everything auto links and you can change page names super easy and then export to HTML, they could change things on the fly and then just remake the site.
Another recent case that I thought was interesting – I had a customer buy some licenses for a couple of people in their office, but this time they were all working on the same document which synced over Dropbox. They then had a Mac which was stuck in a closet, which also had the document open and VoodooPad’s internal web server running. So the rest of the workers in the office could view and search the document from VoodooPad’s web server, while other folks were able to update it live using VoodooPad on their desktop. I thought that was a pretty neat case which I hadn’t ever considered.
FV: For what it’s worth, I used to keep my old MacBook Pro in a closet as well, acting as local media server for Plex. Dropbox integration was one of the major new features of VoodooPad 5. How was working with Dropbox sync?
GM: Dropbox sync for VoodooPad iOS was pretty easy to do. I ended up using one of their newer APIs to implement it, and once an initial sync on iOS is done, it’s pretty fast.
VoodooPad 5 on OS X actually doesn’t know anything about Dropbox. Instead, I completely reworked VoodooPad’s file format so that it could survive being updated asynchronously in the background. It was a huge rewrite, but it was worth it. Now you can sync a VoodooPad document over Dropbox, Google’s Drive, SkyDrive, etc – and it’ll just work. VoodooPad will notice that a page has been updated and let you see the changes right away. It’s pretty nice.
FV: In this regard, you wrote that iCloud document syncing drives you nuts. Did you try using iCloud for VoodooPad, and if so, what exactly do you think Apple is not doing to make it easier for developers like you?
GM: I looked at the iCloud APIs for VoodooPad, and decided they weren’t a good fit. Besides reliability (which Apple hasn’t been able to deliver consistently in the past), my two main issues were that the API was overly complex and there wasn’t any way to share files between users. And sharing is huge for VoodooPad 5 – having multiple people edit the same document at the same time is killer, and iCloud couldn’t deliver that.
FV: Without revealing too much, is there’s something you wish you got around implementing in VoodooPad that you still haven’t?
GM: Right now you can save a VoodooPad document as downloadable web app for iOS, which will check with the server and auto-update and such – but it’s pretty bare bones. There is a ton of awesome I could put into that some day, and I hope to do it eventually.
FV: Looking ahead, where do you think OS X is headed? Or at least, how would you like the OS to evolve in the future?
GM: Being a graphics guy, I’d love to see some more attention given to the graphics processing stack in OS X. Things really haven’t changed much since 10.4, when Core Image was introduced. OpenCL, which is awesome for graphics processing, was added in 10.6 but there’s no crossover with Core Image. You’ve got these awesome APIs that are parallel to each other, but with no good way for them to talk. It drives me a little nutty.
I’d also like to see syncing improved. I think they way Apple implemented iCloud document syncing was a big mistake – each app lives in its own silo and it’s pretty difficult to share documents between applications. Something along the lines of Dropbox would have been much better, and it’d be great if they did something like that in the future.
I also think the Dock should change. I’m not sure to what, but I feel it needs a bit of rethinking. Browsing in the Finder can also be a pain sometimes, so I’d like to see that evolved as well. I think Apple really wants us to search for things in the future, but that doesn’t really scale in my opinion.
FV: And last, can you share something about future plans for Flying Meat?
GM: I’ve spent a lot of time the past year working on VoodooPad, so now I’m swinging back to working on my image editor, Acorn. So there should be some great new things coming out for it in the future. I’d give specifics, but it’s always been best for me to keep my mouth shut until I actually ship.
Check out more MacStories Interviews here.