inessential by Brent Simmons

November 2003

Turkey day

To folks in the United States and Americans around the world—Happy Thanksgiving!

Dennis K.

Overheard:

A: “...so both Gephardt and that freaky-zoid—”

B: “Dennis Kucinich.”

A: “Yeah, Dennis Kucinich.”

Nader, nah

Aaron Swartz suggests supporting Ralph Nader as a Democratic nominee: “True, there are some hard feelings about his effect on the previous election, but I think voters will put that aside if he’s compelling enough.”

Aaron I think seriously underestimates the amount of anger still pointed at Nader. Darth Nader.

Change in Spring status

Robb Beal reports that he’s communicated to Spring users a change in status: “Spring development has slowed down dramatically and will continue to be sporadic going forward.”

This saddens me. Robb is a talented developer; Spring is an innovative application.

There are, it could be said, two types of innovative apps. NetNewsWire is one type—it takes a new technology (RSS) and gives it a user interface that’s familiar. Spring is the other type—Spring’s point is the user interface itself; it takes an idea and goes all the way with it. NetNewsWire is evolution; Spring is revolution.

It may be that these types of apps are created by different types of developers: I could never create something like Spring. (Though Robb could perhaps have created NetNewsWire.) And so I admire Robb and other developers with revolutionary, idealistic temperaments. They’re utterly necessary to the software ecosystem. (And I am not one of them.)

The unfortunate part is that the market doesn’t always reward apps like Spring. Apps like Spring are always much more of a gamble.

Macworld and ‘shareware’

The Rogue Amoeba folks write in Macworld, “Shareware,” And The Future about how it can be difficult to get your software reviewed in Macworld unless you’re a large software company.

NetNewsWire has been reviewed in Macworld, but that doesn’t take away from the good points made in this article. (And the article also points out that Macworld has made progress in this area with its new capsule reviews.)

Update: Removed the capital W from Macworld, per Dori, who has a good reply to all this.

Primitive Trackbacks

Before trackbacks and Technorati, webloggers relied on referers. If you want to see who’s linking to you, you looked at your logs, or your referers page if you have one.

So one of the habits I got into in my early days as a weblogger was to always click on all the links on my weblog. This way I was assured of sending at least one referer from my weblog to the pages I link to.

You could call it a primitive form of trackbacks.

The thing I’ve noticed is that many people don’t do it. Via Technorati I find sites that link to me that I didn’t get a referer for.

But I’m more likely to notice a link if I get a referer for it. And I suspect many webloggers are the same way. (Not that Technorati isn’t immensely valuable; it is.)

So... what I’m trying to say is it’s a good habit. When you link to something, click on the link, that way you’ll know you sent at least one referer. That way, what you wrote is more likely to be seen by whoever you linked to.

(By the way, it occurs to me that weblog editors could consider adding this as a feature. It could be automated. I’m not sure what I think of that: there’s something not-quite-right about automating referers.)

Capital for Mac development

A few days ago I said that there is no capital for Mac development, that if you want to be a Mac developer you have to fund the effort yourself.

Then on Thursday Robb Beal linked to a press release about You Software. You Software is founded by Craig Barnes, who also founded Extensis and Now Software.

You Software, according to the press release, “has secured a first round of financing from SmartForest Ventures of Portland, Oregon.”

More: “‘Our investment in You Software reflects our excitement about Craig and his team coming back to the Macintosh market,’ said Debi Coleman, SmartForest Ventures Partner and former CIO, CFO, and VP, Worldwide Operations for Apple Computer.”

Okay—so here’s a counter-example, here’s a Mac developer with funding.

This is a sign of growing health, I think. Health in the Mac market and general economic health. (“Growing” health, yes, but neither are really healthy, yet.)

However, my advice to any developer who wants to do Mac software is to act as if you’ve never heard this. My advice is to plan to build a business the old-fashioned way, by creating something of value that people like and will buy. Being an honest, small, independent developer is tons of fun; chasing after capital is tons of pain. (And when you’re chasing you’re not working on your software.)

P.S. Since writing my advice to Mac developers the other day, I was pointed several times to Rogue Amoeba’s Good Ideas. Good stuff, worth reading.

Step one in comment spam fighting

One of the drawbacks to rolling your own weblog software is that any time you want to add a feature you have to do it yourself.

For instance, I’ve wished a few times that I could use Jay Allen’s MT-Blacklist plugin. It would make it easier to fight comment spam.

(I have very good reasons for sticking with my own weblog software. I’m not going to change; please don’t suggest it.)

However, my software has a feature that would be cool to see in other weblog software, so I wanted to mention it: there’s an RSS feed that shows the last n comments, no matter which post they’re in reply to.

This means that no comment spam appears, even in very old posts, that I don’t see. I still have to go to the trouble of deleting it—but it’s much better than not knowing about it.

It may be that some other weblog software packages already have this feature. If so—cool. If yours doesn’t have this feature, you might want to consider it. I totally rely on it myself (and not just for fighting comment spam).

You might say—well, my weblog software does email notifications of comments, so an RSS feed of recent comments isn’t needed.

And I’d reply—well, my software has email notifications too. I found that I hardly ever looked at them. In amongst all the other email noise, comments notifications don’t work that well.

But an RSS feed for recent comments works wonderfully.

Funny review

I don’t link to every review of NetNewsWire—but Chris Seibold’s review is funny.

Everyone knows what a RSS feed is, well maybe not everyone. If you don't know what an RSS feed is send me your home address and I'll personally come kick you to death for being so out of touch. I'm joking, my knees feel like gravel in a Ziplock bag, I couldn't kick an ant to death.

Bug Guilt Trips

Dave Hyatt reports on the tactics people use when reporting Safari bugs, “in particular the tactic of saying something inflammatory in order to goad the receiver of the bug into fixing it.”

I thought it was funny. I get those too, and if you’re a software developer you probably do too.

For me, there are three main tactics that I see:

1. I’d buy it, if...— If NetNewsWire had just this one feature I’d buy it.

2. It would be more Mac-like if...— It’s the trump card of user interface discussion. (Its brother is “it would be more intuitive if...”) The problem is, when an app gets as much feedback as NetNewsWire, you get mutually exclusive feedback. Persons A, B, and C don’t agree on what the Mac-like solution is for a given user interface problem.

3. It should be easy for you to just...— Oh no you didn’t just say that! This comes from programmers as well as people who don’t program. They know it’s good psychology, because it goes right to my pride as a programmer. The thing is, you don’t know what’s easy to implement and what isn’t. Simple-sounding things are sometimes wickedly difficult. Hard-sounding things are sometimes a piece of cake.

And one bonus tactic...

4. You don’t want to try to be Dave Hyatt— Okay, I got this one only once, but I liked it so much I have to repeat it. It came up in a discussion of how NetNewsWire uses Web Kit. (Of course, the thing was that I wanted to use Web Kit—use the great stuff Dave Hyatt and the rest of the Web Kit team has provided. Not be Dave Hyatt. Quite the opposite.)

Anyway—I hope I haven’t scared off anyone from reporting bugs or making feature requests. I rely on your feedback!

In fact, nothing would make me happier than if you replied to this post with more bug reports and feature requests. Particularly interesting would be feature requests regarding the weblog editor, which I’m working on right now.

Learning Xcode

I’ve been using Xcode for a couple weeks now. I’m learning it slowly, just learning new things as I notice them.

There are a few small but nice touches that I’ve come to rely on already. I haven’t seen these mentioned elsewhere, so I figured I’d mention them.

1. The Project toolbar button in source file windows.

When you’re editing a source file, you can get back to the Project window quickly by clicking the Project icon. I do this all the time.

2. The Show Editor toolbar button in project windows.

You can switch from three-paned-view to two-paned view easily. In other words, you can hide and show the source editor within the main project window.

3. The Console Window toolbar button in debugger windows.

By default, there’s a button for showing a Console drawer. But even on my 21" screen I need to make the console a separate window so I can stretch out the stack and source panes.

So if you do a customize toolbar on the debugger window you’ll find a Console Window button.

Can you make money?

At the recent OS X conference, the question came up at the Innovators presentation whether it was possible to make money developing OS X applications.

Yes, it’s possible.

But, before you start, here’s some advice:

1. Don’t expect investment from VCs or Apple or anybody else.

You’ll need to fund development yourself. Folks developing for Windows or doing web applications may be able to find investment, but it’s been a long time since Mac development attracted investment.

2. You need to have a really good idea for an app that other people like.

It’s worthwhile to show a few people privately an early prototype. Choose people who won’t just say nice things because they like you. Your friends and family will be encouraging. You want honest opinions.

We originally had an app named MacNewsWire, the precursor to NetNewsWire, that didn’t catch fire. It had a fixed list of Mac news subscriptions. You couldn’t add or remove subscriptions. I thought it would be popular; it wasn’t.

Then I prototyped NetNewsWire and showed it to some people, and they liked it an awful lot. Had they not liked it, we would have done a different app.

3. Communicate. Be open. Most of all, listen.

If you don’t have a weblog, start one. Part of buying software from a small independent developer is knowing that you’re buying from people.

Put your bugs list on-line. Start a mailing list or two. You want to be open about your software and you want people to get to know you.

But the biggest part of this is listening to other people.

4. Don’t imitate Apple.

One of the things I see often is people name their apps iSomething; their apps use metal windows; their websites look like Apple’s website.

I think this is a mistake. I know these folks aren’t trying to fool people into thinking their apps are really made by Apple. However, the benefits of your own unique presence will outweigh any impression of a relationship to the iApps.

5. Be realistic. Work matters.

There’s no room for idealism of this sort: people should like your app, investors should provide funding.

What matters is what actually happens. When you concentrate on the shoulds you’re not working.

You need to work and keep working. There may be dinners and movies and even vacations, but then you come back to work.

Updated brushed metal guidelines

As reported by Michael Tsai, Apple has updated the Human Interface Guidelines on the issue of metal windows. It is now suggested that any window that “provides a source list to navigate information—for example, iTunes or the Finder” can be a metal window.

The first thing I think of is that NetNewsWire could then use a metal window, since it provides a source list.

The second thing I think is: no way.

The guidelines also say, “Don’t use the brushed metal look indiscriminately. Although it works well for some types of applications, some applications appear too heavy when using this look.”

I would rewrite that to say: “Don’t use the brushed metal look at all. Although some applications (such as iTunes and the Finder) use it, they all look too heavy when using this look.”

Intelligent people may disagree, of course. (And so I point to Unsanity’s Metallifizer.)

Aaron Hillegass revisits NSController

Aaron Hillegass had previously been quite critical of the new NSController layer in Panther; he revisits NSController in a new post to the cocoa-dev mailing list.

Aaron writes: “After many demonstrations of the power of NSController (‘Aaron, this app was 252,500 lines of code, but with NSController it is only 3!’), I must agree with them: life is better. They also agreed with me: there is much room for improvement.”

Election tomorrow

There’s an election tomorrow for Seattle city council members. We’re noting all the candidates (or their recordings) who call us. What we’d love to do is vote for the people who don’t call.

Irresponsible? Probably. But it’s a satisfying fantasy.

Eric Albert on counting threads

I had lunch with Eric Albert and Buzz Andersen at the OS X conference. Eric helped me debug a mach port leak in NetNewsWire. It was in a method which counted the current number of threads in use.

In case you’re curious about how to count threads, here’s Eric’s post on how to do it without leaking mach ports.