inessential by Brent Simmons

September 2003

In case of danger

I’m grateful to the TV shows when I was a kid. Because of them I know what to do in case of danger.

For instance, if I’m ever plopped down in the middle of the Sahara desert without supplies, the thing to do is lie down in the sand and crawl using just my elbows while groaning, “Water, water, must have water.”

Or if a volcano blows up—I’ll turn tail and run as fast as I can. I’ll outrun the ash and lava.

Or if one day while hiking in the woods I get shot up with arrows, I’ll pull them out, one by one, being sure to grimace in pain appropriately. It’s important to wear dirty gloves as you do this, preferably gloves with the fingers cut off.

Most importantly, if I suddenly find myself at the bottom of the ocean without any scuba gear, I’ll just chew a piece of that special gum that lets you breathe underwater.

NetNewsWire to HTML Index script

James Huston posted an AppleScript script: NetNewsWire to HTML Index. “The script will create a HTML file of every subscription containing every headline in the subscription. Additionally it creates a HTML index page linking to each subscription file. Optionally it can then upload the html files to a FTP server.”

pMachine editing with NetNewsWire?

I’m trying to do a page for people who want to edit pMachine weblogs with NetNewsWire. I’m having a problem—I can’t figure out how to find out the Blog ID.

Does anyone know?

I found this page on figuring out the RPC URL. The Blog ID is the only unknown piece.

(I would just download pMachine and figure it out, but the terms of use don’t allow for people doing apps that interface with pMachine.)

RSS and style sheets no go

In case it wasn’t clear: when I wrote the other day how lots of people didn’t like the idea of (optional) style sheets for RSS feeds, I meant to say that I won’t be doing it.

Interview with me

Eduardo Arcos of NoticiasMac interviewed me.

I talk about all kinds of things: why I like Macs, my philosophy as a developer, things I would say to people considering doing Mac development, and more.

RSS and style sheets

Since posting the other day about RSS and style sheets—making it so people could create a style sheet to use with their feeds—I’ve come to learn that people hate the idea.

Fine by me!

So what are some other good ideas for dealing with what Steven Frank calls the facelessness of RSS feeds? (User interface mockups are especially welcome.)

The amazing world of filters

So last night I mentioned using /etc/hosts as a type of filter—and then I come in to work today and find that I need yet another filter, a comments filter.

Last night or this morning this site and ranchero.com got hit with a couple dozen comments spam posts with links to porn sites and such. I deleted them.

But I’m a little bugged about how filters—and places where filters are needed—are proliferating. I even have a filter for my referers page, which I update almost every day.

Spam, wherever it is—in email, web page pop-ups, comments, referers, and so on—isn’t marketing. It’s malice.

sudo vi /etc/hosts

sudo vi /etc/hosts—I’m not advocating anything in particular, I’m just saying sometimes you need to use this last resort of filters.

RSS and style sheets

Steven Frank’s post about how RSS readers cause “all blogs start to muddy together” because they don’t use style sheets from the weblogs is something I’ve thought about often. (In fact, it’s on the feature ideas page.)

And other people have thought about it, too. I’ve gotten several emails that say something to this effect: “Hey Brent—now that Web Kit is available, NetNewsWire could apply style sheets to the content it displays. An RSS-specific style sheet could be linked to from an RSS feed, and that way authors would have more control over how their content is displayed in a newsreader.”

I’m strongly considering this for NetNewsWire 1.1. A few things are required: one is a convention for how a post is laid out (divs and class ids and so on); the other is a spec that defines a module that links to a style sheet to use when rendering in an RSS reader. (This module would ideally work in RSS 1.0 and in RSS 2.0.)

I haven’t done a bunch of research on this, and I wouldn’t be surprised if something like this module already exists. So step one is to find out if there’s something already out there.

Doing this wouldn’t mean that you’d get the full effect of someone’s weblog design in NetNewsWire, but you’d get kind of a concentrated echo of it. Designing for just one post is different than designing an entire page, but you can still do cool things with colors and fonts and placement and so on.

waferbaby reborn

waferbaby has been reborn as a “unicode-savvy xsl application that just happens to have an xhtml interface (this site).”

One thing that I really like—each page is also an RSS feed. Just change the host from www.waferbaby.com to rss.waferbaby.com.

Sundays

I like how quiet Sundays are on the web. I like the noisy days too, but a little rest is nice. Sundays are the deep breath of the week.

More about bugs

In a previous post I talked about a bug in Web Kit. Here’s the deal: I love Web Kit. I think Mac developers have just begun to scratch the surface of what we can do with it. I know I have, anyway. (Just begun, that is.)

If there are bugs, that’s no surprise. It’s a new thing. (My software has bugs too.) It doesn’t take away from my appreciation for Web Kit.

NetNewsWire 1.0.5b1 and Safari

The biggest bug fix in NetNewsWire 1.0.5b1 should fix some crashes, hangs, and slowness in not just NetNewsWire but also in Safari.

Here’s the deal: NetNewsWire 1.0.4 switched to using the new downloading code that came with Safari 1.0 and Web Kit.

One of the things about this new downloading code is that it shares cookies between each app that uses it. Unfortunately, there’s a problem in there, somewhere.

The symptoms were sometimes straightforward—a crash on startup in Web Kit’s cookie storage code. Sometimes it was just extreme slowness or hangs in NetNewsWire or Safari or both.

So what I did was make it so that cookies are not shared between NetNewsWire and Safari anymore.

However, there is a drawback: if you were using NetNewsWire to read an RSS file that requires a cookie—such as an Editor’s Only Manila site—it’s not going to work. (Standard HTTP authentication still works, though.)

And yes, I will report the bug to Apple. (At least the crashes.)

Finally—just because this bug is fixed doesn’t mean there aren’t other possible bugs that cause hangs or slowness or whatever. Of course there are. Bug reports and crash logs remain very appreciated.

NetNewsWire 1.0.5b1

I wasn’t very explicit about this earlier—but I posted NetNewsWire 1.0.5b1. Here are the change notes.

It’s a beta, remember, so if you’re not comfortable with beta software, then that’s totally cool, a 1.0.5 final will be released in a week or so.

The main point of 1.0.5 is to fix bugs. There’s just one new feature, the ability to prefer permalinks or external links. (After 1.0.5 will come 1.1, which will have several new features.)

NetNewsWire and links and permalinks part three

The recent discussion on NetNewsWire and external links and permalinks led to the conclusion that the best thing is to provide a pref so that you can prefer one or the other. The default is to prefer permalinks. Check it out.

Note that not all feeds provide both, so it’s truly a preference. If you prefer permalinks, but a feed doesn’t have permalinks, then you’ll get the external link. And vice versa.

Thanks to all the people who contributed to this discussion. This is yet another case where what I thought made the most sense wasn’t what most NetNewsWire users thought—and they convinced me. I’m happy to be wrong, especially when the outcome means the software is better.

More about RSS and links and permalinks

I have a few more notes about RSS and links and permalinks...

Guids may be permalinks

Many people have the misconception that guid in RSS 2.0 is not a permalink. Actually, it may be a permalink, and by default it is a permalink. Here’s the guid section of the spec.

Getting the permalink from the guid is the right thing to do, unless the guid says that it’s not a permalink.

For RSS 1.0 feeds I use the rdf:about attribute as the permalink (and as a unique identifier).

Two ways of looking at posts

There appear to be two ways of thinking about posts in an aggregator.

One is that when you’re reading in an aggregator, you’re looking at the post itself.

The other is that you’re looking at a kind of link to the post, but not the post itself.

Both are valid. And you may tend toward one view or the other, but it can change depending on if a feed provides full posts or summaries.

Choice is good

Some people have remarked that the feed should specify whether or not to use permalinks or external links.

But that’s the situation we have now, and people complain about it.

The better situation is when feeds provide both permalinks and external links, and users of newsreaders can decide which to prefer.

I’ve decided to make it a pref in NetNewsWire. Unfortunately, it really is a preference, in that it can’t guarantee to always use permalinks or always use external links. Some feeds have both, some don’t, and the software can’t always tell.

Who doesn’t want more traffic?

Keola Donaghy asked this question. Most people do want more traffic, I think, and preferring permalinks means more people would go to your site, and you’d get more traffic.

However, not everybody wants more traffic. Many people have to pay for bandwidth.

RSS and links and permalinks

With RSS feeds and links, there are two schools of thought:

1. The link should be an external link—it should point to whatever the item is linking to. For instance, if an item links to an article on Example.Com News, then the link should point to that article.

2. The link should be an internal link—it should be the permalink for the item. In other words, it should link to the page on the site that is the permanent home for the weblog entry that links to the article on Example.Com News.

I myself do it two ways: inessential.com links are internal permalinks; ranchero.com links are external. The reason for that is the two weblogs are different in character. On inessential.com I’m usually talking about something. On ranchero.com I’m pretty much just linking to something. (Or Sheila is linking to something—she edits ranchero.com too.)

But people tend to think that one way is right and the other way is wrong.

Newsreaders have a choice

So here’s where it gets interesting—feeds often contain both links. The external link is either in the link item or can be gathered from the description. The permalink is either the guid or the rdf:about link. (And sometimes the link item is a permalink.)

So, then, you have a situation where newsreaders can decide which link to prefer. NetNewsWire has always preferred the external link over the permalink, based on my thinking (a year-and-a-half ago) that this is more intuitive, it’s what people expect.

Why did I think that? Say you’re reading a weblog entry about some other cool page somewhere. You want to check out that cool page, so you do an open-in-browser in NetNewsWire.

If, instead of opening that cool page, your browser opens the web version of the post you were just reading, then it seems like an extra step. Why would you want to read it a second time? And then have to find the link to the cool page? It takes up time and bandwidth.

However, there are situations where the permalink is absolutely the right thing to want. If a feed provides just summaries, you want the permalink to take you to the full version, so you can read the whole thing. Or if you want to point to that person’s weblog entry on your own weblog, you want the permalink, not the external link.

I’m neutral on these two schools of thought: I just want to do what’s best for NetNewsWire users.

Should NetNewsWire prefer permalinks?

So the question is: should NetNewsWire change to prefer permalinks?

I’d really hate to do a new pref. (I’d rather get rid of prefs than add new ones.) Better to make the right choice and stick to it.

Before writing all this, I tried it here in the lab. And I didn’t like it for some feeds (ranchero.com especially), but for others I liked it better than how it works now.

What do you think?

Fixing bugs...

We decided to do a 1.0.5 release of NetNewsWire before doing 1.1. The 1.0.5 release will just fix bugs.

So that’s what I’m doing, fixing bugs. There’s no programming task I enjoy more. I like solving a bunch of little problems, getting the satisfaction from each one.