Inside Ranchero with Brent and Sheila Simmons

For DrunkenBlog's 500th post, I have an extra-special treat for my loyal readers: a chat-to-end-all-chats with Brent and Sheila Simmons of Ranchero Software.



In case the name Ranchero is new to you, Brent and Sheila make NetNewsWire (RSS aggregator) and MarsEdit (Weblog editor) for Mac OS X, among other things.

Just about everything you could think of is covered, and just about everything you'd never think of is covered, too...

Pleased to meet you, hope you guessed my name

The two of you together make up Ranchero, so how do you divvy up the responsibilities?

brent simmonsI do the programming and Sheila does everything else. She handles the business details (bank accounts, taxes, and so on), the Kagi store, and almost all of the customer support.

She maintains NetNewsWire's Sites Drawer. She helps with user interface design. When it comes to business decisions we're partners.

sheila simmonsI do customer support, manage the Sites Drawer in NetNewsWire, and take care of the general business side of Ranchero. Since I'm not a programmer, I try to do everything in the non-programming category and leave Brent more time for working on the software.

Handling the emails that come in to Ranchero covers a lot of different aspects of our software -- helping people with support questions, receiving bug reports and feature requests, and communicating with websites and magazines about reviews. There's a lot of variety and it definitely isn't boring.

We try to be as structured as we can, just to be efficient with our time, but there is a lot of discussion between Brent and I about the emails I answer. It's my job to get the ideas from our users to Brent, since he's doing the programming he has to know what people need without having to answer every email himself.

It's interesting that you say 'what people need' instead of what people ask for; is there a certain amount of translation that has to occur between what people ask for and what will really solve the issue?

sheila simmonsI probably use the two phrases fairly interchangeably, with the idea that people ask for what they need. Although sometimes there is some translation between an idea and how it is finally implemented.

It can also depend on the feature request or bug report itself. Sometimes a request is very clear and straightforward, and it's something technically do-able that we agree should be made a feature. Other times ideas are more general and it's definitely up to us to figure out how to solve an issue or implement a feature.

On making it work

What software do you use to run the business side of Ranchero? I.E., to keep the books, track users, bug reports, feature requests...

sheila simmonsI use Quicken for the financial side of things, and spreadsheets to keep track of things like bug reports and feature requests.

I've been using the spreadsheet feature in AppleWorks, although I've been thinking about moving to a more powerful database system (it's tops on my list when I have some spare time). For now it's mostly spreadsheets though, nothing fancy but as long as I can search and sort they do the job.

I find myself wondering whether working at home together, all day, makes becoming a national divorce statistic less likely or more?

sheila simmonsHere's where laptops and wireless internet are a beautiful thing. We don't actually have to be together in the same room all day every day.

Because we do work together, if one or both of us is having a rough day, the other person usually knows all about it. I think that keeps the unintentional misunderstandings down and we're pretty sympathetic to each other. So maybe working together makes us less likely to join the national divorce statistic. (Our feline office mate keeps us in line too.)

brent simmonsWe laugh at the same stuff and enjoy so many of the same things. We like being able to do things like take a walk around the neighborhood after lunch. We like being able to play with the cat whenever he wants.

It's a little bit like farm life -- but modern, urban, digital farm life. We grow software.

Farm life can be a little lonely, too. Is it good to get out to say, WWDC and Macworld and mingle with the common folk?

brent simmonsIt's not completely like farm like -- we do, after all, live in an urban neighborhood in Seattle.

I like to go to WWDC and O'Reilly's OS X Conference. WWDC is great for the fire-hose aspect, but I like even more the OS X conference because it's a bit more intimate: you can hang out more with folks.

What kind of hardware do you use at Ranchero?

sheila simmonsI use a 15 inch PowerBook G4. For occasional printing and scanning I use some of the lighter-weight Epsons. We also have a iPod Photo for testing podcasting.



brent simmonsWe have a Mr. Coffee. We've had several fancier types in the past, but they tend to break down or have really drippy pouring action. Plus I still remember the commercials with Joe Dimaggio.

We also have a few G4 PowerBooks, and my development machine is a dual-processor G4 Power Mac. (I'm going to order a new dual-processor G5 in a couple weeks.)

Ranchero's Mr. Coffee

mr coffee
(hopeful) MMmm coffee. How many pots per day?

brent simmonsOne pot, sometimes one-and-a-half.


(crestfallen) Between the two of you? Do you two have any real vices?

brent simmonsI drink most of it, actually. Sheila has one cup. I have many cups. Vices? Sure. We watch Survivor. Further deponent sayeth not.


Moving on... Ranchero is considered to be the epitome of the small yet very successful Mac software author. For those just starting out, what's the golden ticket? Is there a golden ticket?

sheila simmonsI don't know if there is a golden ticket. I think creating a product you really believe in is important, and caring about the product enough to put in the time it takes to make it the best it can be.

I think a key thing is really listening to the people who use your software, and being willing to look at your own work objectively. I think a big part of being successful is having fun doing the work, but not expecting this to mean it will always be easy.

brent simmonsThere is no golden ticket. You need strong programming and communication skills, an adult, professional outlook, and the ability to see reality rather than ideology.

The closest thing to a golden ticket is empathy. Designing software requires empathy, and so does writing your website and the documentation and, most importantly, communicating with the people who use your software.

Empathy is a skill. You may be naturally empathic, but it's still a skill you have to improve every day. You need to apply it all the time in everything you do. It's not something you turn on just when you sit down to reply to some email.

The importance of seeing reality rather ideology?

brent simmonsSay you are a strong proponent of phonetic English spelling, so you create a revolutionary new text editor that automatically changes the spelling of every word so that it's phonetic. Nobody buys your text editor.

The error is that you're fanatically attached to the idea of phonetic spelling. The reality is that nobody wants this.

What next? If you're a true ideologue, you can't admit that the idea is flawed, so you have to place blame. It could be anything -- users, other companies, your employees, the weather on Mars -- as long as you don't admit to yourself that the idea is flawed.

You've been around the Mac scene for quite awhile. Have there been times when sticking with the Mac was easier than others?

brent simmonsThe Amelio years were tough. I thought frequently of becoming a Linux developer because I like Unix-y operating systems. Mac OS X was the savior of Apple for me. To pair Unix under-the-hood with a great GUI was exactly what I wanted.

Still, you stuck with it. Why did you stick with the Mac OS when, at least in terms of core features, it arguably kinda sucked?

brent simmonsEven during the dark years, the Mac OS had some great apps. There was nothing as good as BBEdit and CodeWarrior on other platforms.

People talked about how great Macs were for photo editing, all that -- but what was apparent to me was that, for some weird reason, Macs had better text editors than everybody else. (I think that's still true, by the way.)

Another big thing for me was Apple events -- the technology that allows AppleScript and Frontier to script other applications. This was not only useful on the desktop, it was great for developing web applications, for gluing WebSTAR to Filemaker Pro (and so on).

Macs had a reputation as a toy, yes, but that was largely from people who hadn't really looked at what they could do. They even made great Web servers. (And they were very, very difficult to crack!)

Of course, even during the dark years there was hope. At first it looked like it would be Copland, then it looked like BeOS, but then finally it was NeXT. So I stuck with it.

Have you considered a Windows and/or Linux port for Ranchero-ware?

brent simmonsWindows, no. Linux, no, not seriously anyway -- I've daydreamed about doing ports of NetNewsWire and MarsEdit, but I've done no more than daydream. Linux ports would be fun to do. But as a business decision it would be a nightmare.

As a technical decision, porting to Linux wouldn't be a nightmare?

brent simmonsMoving from Cocoa to something else would difficult, yes. But I could use GNUstep, which is, more-or-less, Cocoa for Linux. It would still be a big job, just not as big as it might be otherwise.

Has piracy been an issue with Ranchero-ware?

brent simmonsIt exists, but it hasn't been an issue because we choose not to make it an issue. It would be a mistake to focus on this too much -- you run the risk of treating your users like criminals, which some companies already do.

I'd rather respect people's honesty and goodwill by default. If one person out of a thousand doesn't deserve it, I've done the right thing by 999 people -- and they're the folks I think about when I'm writing software.


netnewswire
On Netnewswire

Going by the FeedBurner stats, NetNewsWire would seem to have a dominating lead in the Mac market. How many copies of NetNewsWire are out there?

brent simmonsWe estimate that we have a million users, including full and Lite versions.

The Mercury estimated, based on the FeedBurner stats and the Pew Internet and American Life survey, that Bloglines has two million users. NetNewsWire has about half that number, according to FeedBurner's stats, which would be about a million users.

The number might be higher -- the Mercury estimate is based on the Pew survey [PDF] which measured American aggregator use only. (This would also mean that Bloglines has more than two million users.)

What is really weird right now is that, if the FeedBurner stats are indicative, NetNewsWire is the most popular desktop RSS aggregator on any platform. The weird thing is that it's a Macintosh app.

What this means is that Mac users have been adopting RSS like crazy and Windows users have been, in comparison, slow. Eventually Windows users will catch on, though -- and no Mac app could be the most popular desktop aggregator once that happens, since there are so many millions more Windows users.

But that doesn't mean anything bad for NetNewsWire -- it just means that the percentage of Windows users using aggregators will have gone up.

(pinky to the mouth) An MBA might look at those numbers, and the growth potential of RSS on Windows, and say now is precisely the time to extend your dominate position and bring NetNewsWire to the masses. It worked for the iPod, why not NetNewsWire?

brent simmonsOne of the joys of running your own business is that you can tell the hypothetical MBAs to hypothetically get lost. Life's too short. I want to work on things I like working on. That excludes Windows.

That's why I'm in business for myself -- it's so I can choose what I want to do. My goal isn't to make a big company and go public and all that: my goal is to do what I enjoy, which is creating software for OS X.

With that commanding of a marketshare lead, getting into NetNewsWire's Sites Drawer can really give a site a boost. The number has certainly ballooned between versions. How often are you asked to add a feed, and how do you decide whether or not to include it?

sheila simmonsIt's been great to see the amount of Sites Drawer requests increase. It's satisfying to know that it's a valuable resource.

I usually see a peak in requests after a new version of NetNewsWire is released. On average, we get about five requests a week. Also, a single sites drawer request can lead me to other sites that look good and get added as well.

I'm pretty liberal in deciding whether to include a feed. Even if I don't read a particular site, I'm sure lots of other people would like to. (I would never want the Sites Drawer to be my personal list of favorites.)

But I have actually started reading some of my favorite sites because they were requested for the Sites Drawer. I subscribe to check out the feed and then stay subscribed because it's really good. It's actually a great way to learn about a lot of different sites I might not otherwise hear about.

It's also a really cool way to see the variety of things people are writing about and creating sites and feeds for. It can be pretty surprising and interesting.

brent simmonsI'll add that the Sites Drawer is one of my favorite features of NetNewsWire. Partly because it's so useful -- I can find cool feeds in there -- but also partly because it's the place where I get to be surprised, since Sheila does the Sites Drawer.

If we go back to the FeedBurner stats, they also show that other number of aggregators is still increasing. Do you feel threatened by the increased competition?

brent simmonsNot threatened -- but aware. I expect that there will be more and more aggregators for a while, and then eventually there will be fewer.

I think we're going to see more and more aggregators from major online publications and ISPs -- just like you used to see branded web browsers. I have no inside knowledge -- don't take this as a rumor -- but you can imagine CNN developing and shipping an aggregator. And certainly AOL and other ISPs. But it's unlikely these will do well.

We'll probably see more aggregators by small developers and hobbyists. Some will catch on, some won't.

But then, speaking just of the Mac market, Apple will ship Safari with RSS built in. My guess is that, a few months later, we'll start to see the number of actively developed Mac aggregators start to decrease.

Eventually we'll have a healthy and fairly stable Mac aggregator market of NetNewsWire, Safari/RSS, and probably a couple others. (It wouldn't be appropriate for me to guess which other aggregators will be around -- and without knowing the internals of other people's businesses I have nothing on which to base a guess.)

Of course, I leave open the possibility of surprises. I can't know the future. I can make educated guesses, but we have to be prepared for anything.

Would you say you are more 'aware' of the web-based aggregators or the client-based apps?

brent simmonsWe're aware of both.

We're in the process of making NetNewsWire work with web-based aggregators. I don't want to create a web service, I want to create desktop software. But there are other people who concentrate on making great web services -- and when we put the two together, that's a cool thing.

About OS-based apps, I'd love it if we all had a better working relationship, so we could work together on interoperability and compatibility. But, frankly, I haven't had a lot of time to work on that myself.

One of the things I'm very proud of, though, is that many aggregators and weblog editors have adopted the external weblog editor interface, which allows you to mix-and-match aggregators and editors from different developers. I'd like to see more things like that.

As NetNewsWire matures, is it becoming harder to be all things to all people?

brent simmonsIf I didn't thrive on it, probably. But this is the fun part for me. I love the challenge, I love the work -- I love listening to people, hearing how they use NetNewsWire and what they want out of it.

It's amazing how many different ways of using RSS there are. Browsers and email apps don't have these wildly different workflows.

Is RSS like email, Usenet, chat, a web page, iCal, or iTunes? It's like all of them and it's like none of them: it's its own thing. And each person uses it differently from other people. For me, that's the exciting thing about developing NetNewsWire.

On Formats & Podcasting

Is Podcasting a fad?

sheila simmonsPodcasting might be a fad, but it also might be a fad that's here to stay.

I think it could become a really useful way to get information that we used to get only on the radio, where you have to listen to something only when it is aired, or go searching on a website for an archive of a broadcast.

brent simmonsNo. Well, maybe, but it depends on how you define things. It's possible that some of the mechanisms and details will change -- but the core idea of media files coming to your system via some kind of syndication mechanism is here to stay.

In other words, the basic model is that you subscribe to something, and you get new installments (episodes? releases?) automatically.

I highly doubt that people will tire of audio -- and it's likely we'll see more and more video too. The tools for creating this stuff are getting better and better. That's what Macs are for, no?

Have you considered the broader implications for the ugly people if audio and video blogging become the standard? The beautiful people already have TV, and those with golden voices have radio... Sure I'll be fine, but what about the rest?

sheila simmonsAre you suggesting the possibility that people not up to spokesmodel status won't have a place in the blogging world?! I think there will always be a place for written words, along with audio and video. At least some people will always like to read, right?

Random picture of Ranchero's cat, Papa, blocking Sheila's Powerbook

netnewswire thumb
Not to mention the value of random cat pictures posted on classic text-based weblogs.

Will cat videos become the expected norm? (Not that our fabulous cat isn't ready for video stardom.)

brent simmonsHere's the chance for people to say that what matters is what people have to say, that being one of the "beautiful people" or having a golden voice isn't what matters. Human nature is what it is. Luckily, it's not my job to change human nature.

But, no matter what, text is the thing. There will be more audio and video, but text is and will remain the primary means of communication on the internet.

Setting aside the obvious advantages of text -- it's easy to produce, it's low-bandwidth, it works everywhere, it's searchable -- text has one huge advantage over podcasting and videocasting: speed. You can read much faster than you can listen to people talk.

Of course, while you're driving to work I don't want you to be reading -- I want you to listen to a podcast instead.

When it comes to formats, things seem to have become even more more muddled since we last talked. Atom seemed to gain some momentum, but things like enclosure-support have brought RSS 2.0 back from the ropes swinging. Do you see one having a clear advantage over the others this point?

brent simmonsI try to be fairly neutral about all this, because my job is to make sure my software parses everything and gives you the best experience possible.

I love that Atom makes unique IDs mandatory. That's huge. But, on the other hand, podcasting is very much an RSS 2.0 phenonemon, and that's huge.

I like both formats, and my software handles both. What I care about is syndication in general. I spend way more time on user interface than on writing parsing code.

Why are unique IDs being mandatory a big deal?

brent simmonsOne of the things that separates RSS from email is that RSS items can change. When an RSS item changes, you want your aggregator to replace the old version with the new version.

If the old and new versions of an item have a single unique ID, then your aggregator knows these are two versions of the same item.

Without a unique ID, your aggregator thinks they're two different items -- and you end up seeing the item twice. It's highly annoying.

Whenever I bring this up, people often ask, "Why not just use the link? Or the title?" The answer is because links and title change too. It's not just that descriptions change.

Present company excluded, who are your favorite web loggers?

sheila simmonsI like Blankbaby - he's regularly quite funny and gives an interesting slice-of-life from Philadelphia. I like reading Derrick Story's weblog articles about digital photography. I also like Joe Kissell's Interesting Thing of the Day.

And an old favorite I discovered many years ago, Mister Pants -- great tidbits of wackiness from all over the web. From our hometown newspaper (the Seattle P-I), Brian Chin's Buzzworthy is a good collection of interesting stuff.

brent simmonsI don't read very many A-list webloggers. I read just a couple that might make it in that list. The weblogs I like the most are weblogs of people I most identify with -- other Mac developers, mostly.

I hardly read any webloggers that are members of one or another syndication format community, which means that I feel more like a Mac developer than a syndication developer. Cool by me.


netnewswire
On MarsEdit

How is MarsEdit selling?

sheila simmonsMarsEdit sales have been pretty steadily increasing since its release. We also see a lot of people buying MarsEdit bundled with NetNewsWire 2.0.


brent simmonsIts sales are taking the pattern we hoped for, which is that it grows as word-of-mouth (and word-of-blog) spreads.

MarsEdit Interface.

marsedit thumb
MarsEdit as an application was one of those happy cases where the final design is much like the original design. Some details changed, definitely, but the overall shape is very much our original vision, and we succeeded in doing what we wanted to do for the 1.0 release.

I'm fanatically proud of it, since it takes something very complex -- weblog editing is far more complex than email -- and makes it look easy and lightweight.

With the introduction of MarsEdit, NetnewsWire has lost its monopoly on your resources. Has it been difficult to keep balanced between NetNewsWire and MarsEdit?

brent simmonsBefore MarsEdit, the weblog editor was part of NetNewsWire. And NetNewsWire included a Notepad too (an outliner), which has been mothballed, so I don't do any work at all on it anymore.

In some ways the situation is not very much different, but in other ways the situation is actually better. NetNewsWire and MarsEdit are now better platforms to build on. Much of last year was spent tearing down, splitting up, and rebuilding -- so that it would be easier to move both applications forward.

But it's still work. There's no magic bullet, there's just sitting in the chair and writing code.

sheila simmonsI'd say our users keep us pretty balanced between the two. We can't ignore one for the other for too long, with ideas and requests coming in about both.


Is MarsEdit a hedged bet against the desktop aggregator market imploding in the future? I.E., if the reader side dies, you still have a foothold on the creator side?

sheila simmonsHopefully they'll both continue to be useful. MarsEdit was created out of a desire to improve the weblog editor that was part of NetNewsWire 1.0. It turned out it made more sense to redo it as its own application. More streamlined and more powerful, as we like to say.

brent simmonsNo. MarsEdit was created because we realized that in order to improve NetNewsWire and the weblog editor we had to split out the editor into a separate application.

Our hedge is our abilities. I'm a compulsive software designer with no shortage of ideas -- I fall asleep at night laying out user interfaces for imaginary apps.

And, as a small company, we're super-nimble -- all I have to do is talk over a couple ideas with Sheila, choose New Project... from Xcode's File menu, and we're off-and-running.

Ok, but what drew you to focus on the editor specifically instead of say, the Notepad, or one of those altogether different ideas that I'm sure you considered?

sheila simmonsThe focus on the weblog editor came mainly from the desire to improve it beyond what it could be as part of NetNewsWire.

Compared to the Notepad feature, the weblog editor was a much more widely used part of NetNewsWire, so we received a lot more requests to make it more powerful and flexible.

brent simmonsNetNewsWire 1 was really three apps smooshed together: a newsreader, an outliner, and a weblog editor. It turned out that hardly anybody used the outliner, but many people used the weblog editor. So it was an obvious decision to mothball the outliner.

The outliner really is dead, as Brent's current way of managing his to-do list attests

outliner
That left us two things: a newsreader and a weblog editor. It became obvious to us that the weblog editor had to get split out into a separate app. Why didn't people use the outliner? I think there are several reasons for this:
  1. Many people just plain don't like outliners.
  2. Of the people who do like outliners, they're usually attached to one particular outliner.
  3. The outliner in NetNewsWire had some unique features, but it wasn't a full-featured outliner and was not likely to become anybody's primary outliner.
Sure, we have other ideas for apps, but we were thinking about what was best for NetNewsWire, and it turned out that creating MarsEdit was the right thing to do for NetNewsWire.

What has been the biggest challenge you've had to deal with, both in terms of developing MarsEdit and supporting it?

sheila simmonsOn the support side, the biggest challenge for me has been learning about all the weblog systems that work with MarsEdit. I didn't know a lot about many of them before needing to help people using them with MarsEdit.

brent simmonsAny application that uses web services has to contend with web services with bugs. The thing of it is is that those bugs get reported to us.

Which is completely understandable, of course -- you're using MarsEdit, something goes wrong, so you let the MarsEdit folks know about it. What this means is that for many bug reports we have to first determine if it's our bug or not.

Then, if it's not our bug, we have to figure out if it's something we can and should work around. We also often help the person reporting it understand the bug so that they can report it to their weblog system developer.

(Of course, sometimes the bugs are in fact our bugs -- which I prefer, because those I can fix.)

The devil is in the details

You made several noticeable changes to the NetNewsWire interface for version 2.0, some of which arguably 'bent' Apple's Human Interface Guidelines. Removing the margins in an Aqua app comes to mind. What led you to do this, and what has the feedback been?

brent simmonsApple Mail and Xcode don't have margins, either. (Neither does MarsEdit.) In doing UI research, what became apparent to me is that metal apps get margins and non-metal apps don't. You can see this in Apple's apps.

Old NNW with margins

netnewswire thumb

NNW with no margins

netnewswire thumb
My default position is to go with what the HIG says -- but sometimes you have to bend that when it's clear that the HIG is just a little behind the times.

My suspicion is that the HIG will change to reflect current practices.

The feedback has been tremendous, by the way -- people love the new look. (We heard from just one person who wanted the margins back.)

Not one Ranchero app uses metal... even as an option. Going by the rules of the HIG, you could theoretically get away with it. What's kept you from giving in to the metal?

brent simmonsThere are many people who like metal -- and there are many people who don't like metal.

For those NetNewsWire users who don't like metal, if it suddenly changed to being a metal app, they'd be pretty mad. That isn't what they paid for. But metal has some advantages. Think of it like a picture frame: darker frames often contrast better, they hold their contents better.

Another issue is that many people are really tired of the Aqua horizontal stripes -- and I sympathize completely, which is why a big part of the change in NetNewsWire was to remove most of the stripes. (Check out Apple's screenshots of Tiger -- I think Apple also recognizes that people are getting tired of the stripes.)

Another thing about metal is that there's a implicit association with the iApps. But our thinking is that a non-metal app can still look good -- and we don't need the psychological thing where metals apps get the iApp association. NetNewsWire should succeed on its own merits.

Of course, we may make metal an option some day. Who knows? It would be kind of fun to do it. But just as an option for those who want it.

What do you think makes the Macintosh UI different than Linux or Windows?

brent simmonsYears ago I used to complain to anyone who'd listen how, on a new Windows installation, the default icons on the desktop all had different apparent light sources. The icons didn't look right together.

I have no idea if this is still true on Windows -- but it's emblematic to me of the difference between Macs and other desktops. It's about attention to detail, about getting those little details right.

I prefer some Linux desktops to Windows. But none of them, at least that I've seen, compare to OS X for attention to detail, consistency, and sheer beauty.

Depending on who you ask, the Mac UI is better than it's ever been or it's meandering over a cliff. Where do you fall?

brent simmonsIt looks to me as if people are finding it easier to use than ever. For instance, we recently upgraded a family member in his 60s from OS 9 to OS X 10.3. No problem. He took to iPhoto and the Dock and Mail and everything immediately.

Me, I love the fun of it, the beautiful icons, shadows, animations, mouse-overs, gradients, translucence, lickability -- all the things that makes OS X so cool. I'm hooked.

But if there is a gray lining to this silver cloud, it's just that we're in some small danger of losing the consistency of the Mac UI.

As just one example, think about the issue of window styles. There is the standard Aqua look -- and then there's metal, and whatever GarageBand uses, and the Pro apps -- and then take a look at the screenshots for Mail and System Preferences in Tiger. It looks to me like yet another window style: the fifth (that I can think of) just from Apple.

The danger is that developers get the message that anything goes, that it's okay to do whatever you want in the name of coolness and differentiation and trendiness. But part of what makes Macs great is the consistency of the user interface. It's important.

If we wanted a crazy melange of styles and little adherence to consistency we'd use Windows. This is the thought that gives me hope that this situation won't get out of hand.

Have editor, will travel

As mentioned, Ranchero is almost a folk hero to independent developers, but what other developers and companies do you most admire, and why?

sheila simmonsI admire Bare Bones, mostly because Brent and I have both used BBEdit for a such a long time. I also like Panic because I find Transmit very nice and easy to use, and they have cheery icons that I like very much.

brent simmonsBareBones has been around for a long time, and I've always admired their software.

I thought BBEdit was perfect right around version 3 -- I didn't see how they could keep making it better, yet they have. I've been using BBEdit for many years, every day, and I don't think it has ever crashed on me. I'd probably freak out if it did -- I'd think the sky was falling. That's a level of commitment to quality that all developers should aspire to.

There are lots of other developers I admire...

The thing is, I'm leaving out plenty of other companies and individuals that I admire -- and there are more that I would admire, it's just that I haven't had the chance to use their software yet. I love being a Mac user right now, since there is so much great software being done.

You've been developing for OS X for quite awhile. While coding, which parts have made you go "I can't believe it's this good?"

brent simmonsWebKit -- which I'm going to complain about a little further down -- is fantastic. It's a piece of cake to display HTML and add browsing features. Bravo to everybody involved.

Cocoa in general is wonderful. My Mac programming experience starts with System 7, so for years I used the C APIs that later became Carbon. It wasn't that bad! People did, after all, manage to create some damn cool applications.

But Cocoa just blows all that away. It's amazing. Sometimes, even now, I just marvel at how easy it is to do something in Cocoa which took many lines of code in the old Toolbox.

Some OS X developers are former NeXT developers. I'm not: I've always used Apple computers, starting with an Apple II Plus way back in 1980. So Cocoa was a shock to me. A good shock.

Ah, the luxuries of starting with a new codebase. Since you mentioned BareBones -- what are your thoughts on those who are having to make do with Carbon due to an older code-base?

brent simmonsMy first OS X programming experience was working on the port of the UserLand Frontier/Radio kernel to OS X. That codebase started in the late '80s, if I remember correctly.

There's nothing wrong with Carbon. Unless things have changed since I last looked, Apple uses Carbon for some rather high-profile apps: the Finder and iTunes.

Carbon has some advantages, actually. A well-optimized Carbon app will likely be faster than any Cocoa app. It's easier to create a cross-platform app if you use Carbon.

The thing to do isn't to switch from Carbon to Cocoa for an existing app, it's to make your existing app use OS X user interface conventions.

The problem with that, right now anyway, is that OS X user interface conventions are still a bit in flux. For instance, I wish that BBEdit had a standard customizable toolbar as found in the Finder, Mail, and so on. But then, I wish that iTunes and iPhoto had standard customizable toolbars too.

The bottom line is that the quality of the product is a million times more important than what set of APIs you use.

Which parts of OS X are you aching to see improved?

brent simmonsOne of the toughest parts of being a developer is dealing with bugs in the operating system.

Sometimes the bugs are such that you waste a fair amount of time trying to work around them, or you have to change your plans because something that is in theory do-able isn't in reality do-able.

An example: the beta of NetNewsWire at this writing loads your web page tabs at startup. It remembers which tabs you had open last time and reloads them.

The problem is that there are some crashing bugs in WebKit. For NetNewsWire to crash at startup is completely unacceptable. This means that I can't have it load those pages at startup, because it will crash sometimes.

Instead we'll have to do something different -- such as create the tabs but not actually load the web pages. (Not sure yet if that's the answer: at this writing we're still thinking about it.)

There's no way OS X 10.4 will be bug free. But my hope is that in the process of working on Tiger, Apple has fixed lots of bugs, not just concentrated on new features.

And you know what? They probably have fixed lots of bugs. The bug fixes won't get talked about much -- everyone will focus on the cool new features, and rightly so -- but this developer appreciates the fixes too.

I'm going to assume you aren't saying OS X is buggier than 18th-century London, but do you think users would be surprised at how many bugs developers have to work around in OS X?

brent simmonsMost users have no real concept of the complexity of software.

Imagine a very simple application with five preferences you can set. Each preference is just a checkbox, it can be on or off. With just those five preferences, this very simple application has 32 different possible configurations.

Then say you want to add just one more teeny preference, one more little checkbox. Not a big deal, right? Just one little preference.

Except that now, once you add it, the app has 64 possible configurations.

Now look at all the preferences a typical app actually has. And think about the different versions of the OS it might be on -- and also remember that an app is affected by things that happen outside the app. How reliable is the network connection? Are there problems with the disk that the user hasn't noticed yet? What system extensions are installed? Etc. etc. etc.

The combinations of conditions and configurations explode very quickly: in fact, it's amazing that any software works at all. That you can do things read email and browse the web is nothing short of a miracle. (Think of how long ago humans started writing on papyrus and then think of how we've had the web for only the last 15 years.)

So, yes, there are plenty of bugs in the operating system, and developers spend more time than they want to working around them. It's frustrating at times, but it's a normal cost of being a developer.

Mac OS 10.4 is going to bring a lot of new technologies to the table, which do you see incorporating into NetNewsWire and MarsEdit, and how?

brent simmonsSome of the features we're most interested in are Automator, Spotlight, .Mac syncing, and Dashboard.

We plan to create Automator actions for our apps, make data searchable via Spotlight, and use .Mac syncing. Right now we're rolling our own syncing code -- but we'll use .Mac syncing on Tiger, which we expect will be, well, better, since Apple has been doing syncing code for years.

We have all kinds of ideas for Dashboard widgets -- it's a matter of figuring out what the best ideas are. And, of course, I'd love to see users create widgets for NetNewsWire and MarsEdit.

I can certainly see why you might want to use Apple's code to do syncing, but does it bother you that someone will have to pay $99 a year in order to use a feature of your app? Or will you have two sets of syncing code?

brent simmonsWe will have two sets of syncing code. That's not an ideal situation, but it's what we'll do. My theory is that most people who want to do syncing are already using .Mac, since Apple offers so many syncing features already.

But I know that my theory isn't 100% true -- there are people who want to do syncing who don't have .Mac. So we'll have syncing via means other than .Mac, yes.

That said -- I think the average person who uses multiple computers will find that .Mac will become a far more attractive idea when lots of applications start doing .Mac syncing. Apple has done a very smart thing in making .Mac syncing available to developers.

Yea, they've got the pinky to the mouth on that one. Moving on... are there any 'sleeper' features of Tiger you think haven't been given their due share of attention?

brent simmonsYes, but it's a developer feature: Core Data.

I'll explain...

Typically, applications are made up of three conceptual layers: model, view, and controller. The view is the part you see -- the tables and controls and so on. The model is the data that is displayed by the view. The controller is the go-between, keeping the view and the model synchronized.

Cocoa has always made the view part easy. It's not hard to display controls, tables, windows, and so on.

In 10.3 (Panther), a whole new set of controller features was added. It became easier to keep the view and the model synchronized. (When people talk about the Cocoa Controller Layer or Cocoa Bindings, this is what they're talking about.)

In 10.4, CoreData does the same thing but for the data your application manages. This completes the puzzle: now models are (more or less) as easy as views and controllers. (And what a big part of the puzzle this is.)

Any given user won't notice the difference -- but it means developers can do more with less work, which means Mac users get higher-quality applications delivered more quickly.

The only drawback here is that if a developer uses CoreData for their application, that application will require Tiger. How quickly CoreData is adopted is in part a function of how quickly Mac users upgrade to Tiger.

Let's go back to the requiring Tiger bit. As OS X matures, more users stick with what their machine came with rather than upgrade. As a developer, do you have to forgo using new technologies in order to sell to those who haven't upgraded?

brent simmonsNetNewsWire 2.0 works on OS X 10.2, while MarsEdit requires OS X 10.3. The rule of thumb is that you support the current operating system and the previous one for existing apps, while new apps can require the current operating system.

Supporting an older operating system doesn't mean you can't include new features. For instance, NetNewsWire 2.0 has a search field in the toolbar -- unless your run it on Jaguar, and then the search field just doesn't appear.

There are some types of features you can't conditionalize like that, though. Adopting CoreData is a foundational change, and adopting it would mean requiring Tiger. On the other hand, supporting Spotlight, Dashboard, and Automator is like supporting search: those parts of the app just wouldn't appear if you're not using Tiger.

I think that Tiger will be a hugely popular upgrade, by the way.

For posterity

Brent, in the interest of history, I have to ask you to tell the frisbee story.

brent simmonsOnce, way back in the early '90s, Sheila and I and our friend Rick were at the park throwing the frisbee around. I decided it would be cool if I could catch it in my mouth. Dogs do it all the time! And they make it look easy.

I figured Sheila might find this feat somewhat impressive. I didn't know of anybody else who could catch a frisbee in their mouth, after all.

So the frisbee came my way, and I tracked it in flight, and went to catch it with my teeth -- and it hit me in the upper lip and I started bleeding and the frisbee fell to the grass, uncaught.

What did Sheila, my future wife, do? She could have gone all Florence Nightingale on me -- or she could have told me how dumb that was. But, instead, she laughed! Which was perfect. It was funny, after all.

Thank god you weren't playing horseshoes. Sheila, it's worth clarifying, did this occur before or after you'd made the decision to marry him?

sheila simmonsI agree about the horsehoes... As college students we didn't have a lot of extra money for emergency orthodonture. It did occur quite a few years before any marriage decisions. But what girl could resist that kind of dare-devilish sense of adventure?

Brent, back in the Roundtable you mentioned you prefer single malt scotch, but that you rarely drink alcohol. I trust this situation has improved?

brent simmonsNope. I did have a scotch-and-soda and a glass of wine a few days ago, though. (With dinner at the Hi-Life in Ballard.)

(exasperation) Sheila, what's your drink of choice?

sheila simmonsI like a classic Margarita, on the rocks not blended.




With or without salt on the rim?

sheila simmonsI say Yes to salt on the rim of my margarita. :-)



Keeper.

drunkenbatman addendum: Yeah, I'm still not quite sure how I get otherwise respectable people to agree to these either, but I'm really grateful they decided to go slumming. And I'm still a little wigged out that two people are able to support the base they do, but I saw no Oompa-Loompas and have to take them at their word...

NetNewsWire is available from their site in both full and lite (free) versions, and MarsEdit is also available to try before you buy at Ranchero's software page. Brent and Sheila both have weblogs, too.

yummy alcohol posted button Posted by drunkenbatman
    March 08, 2005, at 09:43 PM


Comments (28)




Post a comment



Anonymous comments are allowed, but please enter something for a name.

And do endeavor to appear sane.









Remember personal info?