inessential by Brent Simmons

May 2003


For the next release of NetNewsWire, I’m adding the ability to read RSS feeds that are available via SSL (via https URLs).

I’m dealing only with SSL servers that have valid, unexpired certificates, at least for this release.

The problem is, I’ve so far found only one such https RSS feed. It worked just fine, but I’d like to test with some more.

So if you know of any, please email me the URL or URLs. (Or post them in a comment.) Thanks!

Peterson Shuffle

Peterson Shuffle: noun; the act of switching from TV news channel to TV news channel looking for coverage of anything but the Peterson case.

(One of the things I love about weblogs is that they’re not Peterson-obsessed.)

Little earthquake

There was a little earthquake here last night. 3.7. Nothing like the big one we had a couple years ago. But still. The earth should hold still a little better.

Technical editing

On the side, when I’m not working on NetNewsWire, I’ve been doing technical editing for Rogers Cadenhead’s upcoming book Radio UserLand Kick Start.

It’s been kind of fun, because I’m reminded of things I know so well but haven’t worked with so much lately. And also I’ve been learning about some of the things added to Radio after my time at UserLand.

One of the things that I ran across today—and that almost made me laugh, but in a good way, because it’s cool—is system.verbs.apps.Google.

When I started using Frontier (back in the days of dinosaurs) the system.verbs.apps table contained glue for scripting applications like Eudora, the Finder, BBEdit, Filemaker Pro, and so on. Now it contains glue for web services apps—and I like that, it makes sense to me.

Anyway, back to my reading...

Read it to Me

Read it to Me “creates a playlist of MP3 files in iTunes from your unread items in NetNewsWire using Apple’s Text-to-Speech that you can sync to your iPod.”

This means you can listen to your NetNewsWire news in your iPod.

One of the things I like about this—other than its coolness—is that it gives me a good excuse to mention NetNewsWire’s scriptability.

I get email from people sometimes who they say they’re using NetNewsWire Lite instead of the full version because they either don’t have a weblog or they’re editing it some other way.

But weblog editing is not the only feature that separates the full version from the Lite version.

Another of the differences is scriptability. The full version of NetNewsWire is not only scriptable, it also includes a Scripts menu where you can add your own commands just by dropping a script into a folder. (You’ve probably seen this same feature in BBEdit, Eudora, and so on.)

Scriptability is important because it makes things like Read it to Me possible. I would never have thought of adding a feature where you can listen to your news on your iPod.

But someone else could think of it—and do it—because NetNewsWire is scriptable.

And I’m sure there are other good ideas too, ideas that I myself would never think of. That’s the beauty of scripting.

Combined View expand and collapse

I just added expand and collapse to NetNewsWire’s upcoming Combined View feature. Here’s a screen shot.

It’s one of those features where a bunch of people asked for it, but I didn’t think it was important—so I added it anyway, and now I totally love it.

(To be utterly clear: you’re able to expand and collapse the descriptions. Being able to expand and collapse trackbacks and comments is a whole different issue, and I’m not working on that for the 1.0.3 release.)

More progress

I’ve renamed NetNewsWire’s Smash View feature to the Combined View. (Smash View was just a temporary name.)

So far I’m on track for a beta some time this coming week.

Here’s a new screen shot.

In the screen shot you can see a few changes since the last screen shot:

The look of it is a bit less flat, more Aqua-like.

The selected item—including the description—is highlighted using the system highlight settings. (In other words, the yellow is my system setting, not a hard-coded color.)

There’s an unread item at the bottom-right, and it gets a little circle signifying that it’s unread. (Just using bold and colored text wasn’t enough.)

Just for jazz, here’s another screen shot, this time of Jason Kottke’s weblog. Compare it to his original mock-up of this feature.

More Smash View Progress

I had to rip up and start over with NetNewsWire’s “smash view” feature. It’s coming along—here’s a screen shot.

The original implementation just used a subclass of NSTableView that allows for variable heights. But that didn’t work for the smash view because there was a major user interface problem. (A problem in this context: not a problem with that subclass in general.)

The problem was that two concepts were fighting.

One concept is that this is, at least conceptually, still a table view listing headlines in a subscription. When a headline is selected, it’s marked as read.

The second concept is that it’s kind of a like a web page—you should be able to click on links and select text in the descriptions.

So the solution, which came from NetNewsWire beta tester Derek J. Balling, was to alternate headlines and description views. When you navigate normally (via the arrow keys or whatever), you select headlines. (The blue-shaded lines in the screen shot.) But then you can click with your mouse in the descriptions that appear between the headlines.

This way the smash view works the way the other view works. You navigate the same way, everything’s the same.

Except that you have a description underneath each headline, and you can click in the descriptions and select text.

For comparison, here’s Jason Kottke’s original mock-up of this feature. The mock-up is cool, but it doesn’t take HTML descriptions into account: it shows just plain-text descriptions. Which would have worked, except that descriptions so often contain HTML.

Anyway: there are a bunch of details still to do. It’s not ready for beta testing yet. Some time next week, probably.

Smash View Progress

I’ve been making progress on the smash view for NetNewsWire—the view that puts headlines and descriptions together. There are tons more bugs to fix, but here’s a screen shot of what it looks like so far. (It will get better, of course.)

You can flip back-and-forth between the smash view and the traditional view by choosing a command in the View menu. I’ll probably give it a keyboard shortcut.

After posting that long list of feature ideas on Wednesday, I got lots of feedback on what new features people want to see next, and this was at or near the top of just about everybody’s list. So the plan for NetNewsWire 1.0.3 (full version) is to add this feature and also fix a bunch of bugs.

NetNewsWire *Lite* 1.0.3b4

NetNewsWire Lite 1.0.3b4 includes the relevant bug fixes and changes from the recent release of the full version of NetNewsWire.

See the change notes for details.

This is the first release of a Lite-version beta in a few months. The plan is to finish NetNewsWire Lite 1.0.3 this week or next.

Note: this release requires OS X 10.2 (Jaguar) or better. We will continue to make the last pre-Jaguar-friendly release available, even after NetNewsWire Lite 1.0.3 ships, for people who haven’t upgraded to Jaguar yet.

Nigerian scam now Iraqi scam

I just got my first Nigerian scam email that’s actually an Iraqi scam email. I find these fascinating in a weird way.

Of course, it was the “please do not relay this top secret to a third party” line that made me post it here.

From: "EL .Mustapha"
Date: Wed May 14, 2003  12:49:00  AM US/Pacific
Subject: re: dilemma/  need   for assistance

Dear Sir,

I have made this contact to you with the hope that you can help me out in this my dilemma / problem. I was the personal aide to the Iraqi minister of education and research. Dr Abd Al-khaliq Gafar. That died in the war. Before the war, we had traveled to France to negotiate a contract payment deal on behalf of the Iraqi government on procurement and payment of educational materials and components for the ministry, which entailed him to pay off our customers by cash for onward delivery of the goods via Turkey. Because of international / UN monetary restrictions /sanction on Iraqi. Since our entire operating bank accounts had been frozen.

In gust of this he had cleverly diverted this sum ($28.5m) for himself and secured it properly with a security vault in Spain for safekeeping. As he had kept these documents in hidden and secret with my knowledge. Now that he is Dead and I was able to escape to Egypt for safety on political asylum with this document with me now. Hence I am left with these problems of how to recover and collect this fund for re-invest in a viable venture in your country with your assistance and cooperation. Because of oblivious traveling restricts and sanctions as an Iraqi.

I would really want us to do this deal together if only you can be trusted with this information and project. For more details do reach me via my direct email : for further instructions and details. I most remind you that my entire life depends on this fund so please do not relay this top secret to a third party if you are not interested.

I await you immediate response.

Remain Blessed.

El - Mustapha .

NetNewsWire, OPML, and Groups

A question people often ask is: why isn’t NetNewsWire’s groups structure reflected in the OPML it generates when you choose Export Subscriptions?

Here’s why:

The OPML file containing the exported subscriptions list is designed to be compatible with other news readers such as Radio UserLand and AmphetaDesk.

Not all news readers have a groups feature. Were groups included in the OPML, at least some other news readers wouldn’t be able to import the subscriptions.

What people want, I think, is a synch feature, a way to synchronize two copies of NetNewsWire. Makes sense—I want that too. That’s a separate feature, though. And it’s more complex than just exporting the subscriptions: you need to export the read/unread status of the headlines in those subscriptions, too.

Two NetNewsWire Movies

People don’t always realize that it can be pretty easy to subscribe to a site in NetNewsWire. So I did a couple movies.

The first movie shows how to subscribe via drag-and-drop, by dragging one of those little orange XML buttons.

The second movie shows how to subscribe by using the Services menu.

I’ve never made screen capture movies before, so please be kind: they’re a little jerky. I’m still figuring out the best settings. (I used Snapz Pro, by the way.)

TigerLaunch 1.0.1

TigerLaunch 1.0.1 fixes a bug where user-added folders wouldn’t always have their apps added to the Apps menu when TigerLaunch starts up.

The app remains open source (BSD license); the source code is available from the TigerLaunch page.

For the curious: the app was building the Apps menu during awakeFromNib, but that was the wrong time to do it, since it was relying on another class’s awakeFromNib having already been called, which wasn’t always the case.

So I added an applicationDidFinishLaunching delegate method, and now the menus get built then. This fixed the bug.

Dynamic Sites Drawer

I get email and comments here about how people would like the Sites Drawer to be dynamic.

People usually suggest one or both of two things:

1. The Sites Drawer should be an OPML or RSS file hosted on my site that the app could read.

2. People should be able to replace or add to the Sites Drawer with other OPML or RSS files that list subscriptions.

It’s #2 that’s interesting to me. I won’t do just #1 because of two main drawbacks: every network operation is prone to failure, and it’s a big list—it would chew up bandwidth without a really compelling reason.

I like the idea of being able to import OPML subscription lists into the Sites Drawer. Some people might maintain lists that are comprehensive for certain categories—say you have a list of all the weblogs by people in Chicago. The idea is it would be possible for NetNewsWire users to add a Chicago category to their Sites Drawer by downloading your list.

The challenge, as is almost always true, is the user interface. NetNewsWire can download and parse and store OPML files, no problem.

Anyway, I’m not sure I’ll do this for 1.0.3. But it’s on the to-do list.

What’s next

Now that NetNewsWire 1.0.2 has shipped, what’s next?

First there’s a bug in TigerLaunch I want to fix.

Then it’s time to do a new version of NetNewsWire Lite. There are lots of bug fixes in the full version that will appear in the next Lite version.

Then it’s on to NetNewsWire 1.0.3.

What will go into NetNewsWire 1.0.3? More bug fixes. Some new features: I haven’t decided which, yet. If you have an opinion, I’d love to hear it.

New Sites Drawer feature

NetNewsWire 1.0.2 has a new feature in the Sites Drawer: a Latest Additions group. It lists the sites added to the Sites Drawer since the previous release. Here’s a screen shot.

This isn’t an earth-shattering new feature—but it does make it easier to find cool sites you may not know about. And that’s something I want to make even easier in the future.

NetNewsWire 1.0.2

NetNewsWire 1.0.2 shipped!

The three main priorities in 1.0.2 were boosting performance, fixing lots of bugs, and adding new weblog editor features for Movable Type and Radio UserLand users.

Thanks to everyone who helped! It makes all the difference.


I was rooting for Rob to win. Then it got down to Matt and Jenna, and I was rooting for Matt. And then Jenna won.

NetNewsWire 1.0.2fc1

NetNewsWire 1.0.2fc1 updates the Help book to match changes in 1.0.2. It also adds a few more sites to the Sites Drawer.

Otherwise there are no code changes since the previous beta.

The question now is—are there any deal-stopper bugs? Or can 1.0.2fc1 be re-built with just a version change to make it 1.0.2?

NetNewsWire 1.0.2b10

NetNewsWire 1.0.2b10 fixes a few weblog editor bugs—particularly bugs with editing Blosxom sites.

See the change notes for the full scoop.

This should be the last beta to include any code changes. Unless deal-stopper bugs are found, the next release will include updates to the Sites Drawer and updated documentation, but no more code changes. It will be a final candidate release.

The plan is to release NetNewsWire 1.0.2 on Monday, though of course it could slip to later in the week.

WWDC and WebKit

One of the prizes for winning the O’Reilly contest was a free registration to this year’s WWDC.

I’m totally looking forward to it, of course. I’ve never been before.

Aside from meeting other developers, the thing I’m looking forward to the most is session #424, Advanced WebKit APIs.

From the description: “Go in-depth on how to embed Safari HTML rendering capabilities within your Mac OS X application and customize its behavior. Details will be provided on how to change locations, manage contextual menus, show progress indication, and take advantage of history and page caching.”

NetNewsWire needs WebKit.

Second Mac OS X Innovators Contest

O’Reilly begins its second Mac OS X Innovators contest today. (Having won in the first contest, NetNewsWire and UserCreations Spring are ineligible for the second contest.)

The article includes an interesting tip on helping you compete. It says, “As you look at your entry, don’t just think about the product you’ve produced, but also revisit the language you used to describe it. Those descriptions are very important as the judges go through the entries in the initial rounds of review.”

In case it’s useful to anyone—the text we used for entering NetNewsWire was pretty much the text from the website. I don’t have a copy of exactly what we submitted, but it was basically a trimmed-down version of the text on the left side of the page, the description and some features.

My advice: say very clearly what your application does and how it benefits users. Then list the most important features and their benefits. Remember that the people reading your description may not know much about the problem your app solves.


To A.D.—my SMTP server can’t lookup the IP address for your domain name, so I can’t reply to your email.

My reply goes something like this: Go for it. Cool by me. Have fun.

NetNewsWire 1.0.2b3

NetNewsWire 1.0.2b3 fixes some bugs and updates the Sites Drawer.

Also, the Sites Drawer has a new feature, a Latest Additions folder. The idea is to make it easy to see what’s new, and to help you find sites you may not have known about. There are some pretty cool sites in there—Davos Newbies, Gary Hart, Jeffrey Zeldman, Karelia Software, MobileTracker, Release 4.0, and lots more.

See the change notes for more details on this release.

NetNewsWire 1.0.2b2

NetNewsWire 1.0.2b2 fixes a small handful of bugs; see the change notes for details.

One of the bugs it fixes, at least partly, is the notorious jumpy-cursor bug that happens when the current feed is getting updated. More testing is required to see if it’s totally fixed or just made a little bit better.

Drag-and-drop change

I just made a change in NetNewsWire that will appear in the next beta: if you drag a URL onto the Subscriptions pane, then that annoying dialog that used to appear doesn’t appear anymore. It just does it, it just subscribes to that URL.

This makes it easier to subscribe to sites you find on the Web. For instance (at least with Safari and Camino), you can actually drag-and-drop the orange XML buttons onto the Subscriptions pane.

Until the next beta appears, you’ll still get an annoying dialog box, but that will change.

P.S. Lots of people have asked that you be able to drag-and-drop a URL onto the Dock icon. I wish I could do that. Unfortunately, the Dock has no facility for accepting drops that aren’t files. So I can’t make that feature happen. Maybe in the future some day.

NetNewsWire 1.0.2b1

NetNewsWire 1.0.2b1 includes lots of little bug fixes, performance enhancements, and new weblog editor features.

Just remember that it’s a beta! That means bugs. I’m not just saying that. It really does have bugs.

Most people may be interested in the new weblog editor features. They include the ability for Radio users to specify that a post should not go to the home page. Movable Type users will be able to specify extended and excerpt entries, whether or not to allow comments, and more. Here’s a screen shot.

The change notes contains more detail on all this.

A request: if you use the beta version, please join the beta users mailing list. Instructions are on the beta download page.

Huevos and iTunes Music Store

Spencer Lynn sent me email with a tip: you can configure Huevos to kick off a search in the iTunes Music Store.

In Huevos’ Preferences, create a new search engine with a name like iTunes Music Store. The URL should be itms://

Give it a keyboard shortcut if you want, and click OK.

Here’s a screen shot of the result.