In this first "Innovator Insight" interview, I talk with Brent Simmons, creator of NetNewsWire, and the inaugural first-place winner of the Mac OS X Innovators Contest. The goal here is to discover and share the process that a successful Mac developer uses to take a glint of an idea full term to its full potential. I'll use these same questions in all of the "Innovator Insight" interviews so you can easily compare the different approaches and attitudes of successful programmers.
Derrick Story: When did the lightening bolt of inspiration first strike about your award-winning idea? Was it in the shower, on a walk, during conversation ...? Tell us how.
Brent Simmons: There was no lightning bolt of inspiration, actually. The idea came in stages.
I was no longer working for UserLand Software, and I knew I wanted to write a news reader. I had worked on Frontier and Radio UserLand, both of which read and write RSS, but what I was interested in was a GUI app rather than a browser-based app. I quickly became interested in using Cocoa, mainly because it seemed like it would be fun. (My experience prior to that was with the classic Mac Toolbox, Carbon, and the Windows APIs.)
My first cut at it was MacNewsWire. It had two panes: a pane for headlines and a description pane. You couldn't choose your feeds; it had a preset list of Mac news feeds. But it was much like a very slim, very early NetNewsWire.
A few people liked MacNewsWire, but it was easy to tell it wouldn't be popular or particularly useful unless you could pick your own subscriptions.
So the obvious thing to do was add a third pane for subscriptions. No lightning bolt, just an obvious problem with an obvious solution.
The first people I showed it to really liked it, so I had an idea right from the start that it might do well.
Derrick: Then what did you do? Work up a prototype, get some help, let it ferment? How much time passed between when you had the initial inspiration and the first working prototype?
Brent: The time between MacNewsWire and the first prototype of NetNewsWire -- then called CocoaWire -- was probably a week or two. (It was private, released to just a few people.)
It resembled NetNewsWire only superficially. For instance, every time you selected a subscription the app re-downloaded it. Ugh! It was hugely rough -- except that it worked. You could subscribe to feeds and read them.
Derrick: Do you have a mentor? Or maybe someone who helped you overcome the technical hurdles involved with bringing your idea to life? Tell us about that person and his/her role.
Brent: I did have a mentor. I worked for UserLand Software for five years, and during that time I learned how to be a software developer. Dave Winer took a chance on me many years ago, and it was great for me. I sometimes call myself a graduate of UserLand University.
During the development of NetNewsWire I didn't have a mentor, exactly -- but once the first public betas of the Lite version were out, I had lots of people, many of them experienced developers, providing tons of great feedback. It continues to this day -- NetNewsWire users are responsible for its success.
Derrick: How many people did you tell about your idea during the development phase? Was this something you kept under your hat, or did the Mac community at large know you were working on this?
Brent: At first probably less than 10 people knew about it. Then some more people joined the private beta, and then I did a public beta of NetNewsWire Lite, and the community at large knew about it.
I'm a firm believer in public betas for small developers.
Derrick: What was harder: developing the application to the point that it was ready for public consumption, or the "sales, marketing, distribution" side of the equation?
Brent: The development takes up 99% of the time. For sales and marketing, well ... I don't even really think about it that way most of the time. The main things we've done:
Make sure the web page explains the product so you know if you want to try it or not. It's a hard thing to do well, and we keep trying to improve it.
Keep writing on my weblog. My weblog was started in 1999, when I was still a UserLand employee. Naturally I write about my software there. It would be weird not to. But I don't think of it as marketing, really, so much as just being myself and telling people about my software.
Submit the app to Apple's Mac OS X Downloads page, VersionTracker, MacUpdate, and so on. We get a lot of hits from these sites.
In the future, we'll probably do more traditional marketing -- ads and so on -- but really the best marketing is just to do a good product and let people know about it. If it really is good, people will use it.
Derrick: What will you do differently, and what will you do the same on your next big project?
Brent: The first thing to decide is if there will be a next big project. There are tons of good ideas still to do for NetNewsWire.
If we do add another for-pay product, we'll probably do it pretty much the same way we did NetNewsWire. Public betas. Freeware Lite version first.
But it's important to be adaptable: you can't just take a recipe and stick to it. Every product is unique. Every year is unique.
Derrick: What one piece of advice that you've learned during the process would you pass on to other Mac developers?
Brent: Listen to the people who use your software. They're smart and they have great ideas, and they want the same thing you want: they want the software to be really good.
For instance, in my earlier vision of NetNewsWire there were no groups and no all-new-headlines feed. I didn't think these features were very important. I was so wrong! NetNewsWire users set me straight, and I did those features -- and if I hadn't, NetNewsWire would have failed as a product.
Derrick Story is the author of The Photoshop CS4 Companion for Photographers, The Digital Photography Companion, and Digital Photography Hacks, and coauthor of iPhoto: The Missing Manual, with David Pogue. You can follow him on Twitter or visit www.thedigitalstory.com.
Return to the Mac Innovators Contest.
Return to the Mac DevCenter.
Copyright © 2009 O'Reilly Media, Inc.