inessential by Brent Simmons

February 2003

Six or seven websites

Does anybody else remember this?

In 1999 or so it seemed like all I heard was how before long there would just be six or seven websites. The biggest sites with the most money would remain, and all the other sites would disappear.

I didn’t believe it then. And it was right around the time of those predictions that weblogging software like Blogger and Manila appeared.

So this is just a reminder—when people predict total corporate domination for the web, they’ll probably be wrong.

They’d be right about pretty much anything else, but not the web.

Apple going in the wrong direction?

Robb Beal writes that Apple is going in the wrong direction in creating more and more free software.

Robb makes great points.

My take is a little more tempered—I really want Apple to make great apps, because that makes Macs better, and it means more people buy Macs, and it means that there are more people who can buy my software.

On the other hand, one only has to look at the Watson/Sherlock mess to realize that small-but-cool developers can easily get stepped on, and that has a chilling effect on future development.

No matter how cool Apple’s apps are, an OS needs developers in order to increase its market share.

And so, in my ideal world, Apple continues to make great apps, and it also does a good job of helping Mac developers make and sell great apps.

(By the way, I think Microsoft is far worse in this regard—where Apple can be careless regarding developers, Microsoft is vicious. And on Linux it doesn’t matter because, for better or worse, you can’t really sell much software for Linux.)

Big Cat 1.0 Released

Big Cat Icon

Big Cat is finally one-point-oh!

In case you haven’t run across it before, here’s the scoop: it’s a freeware contextual menu plugin that adds a Scripts menu to apps like the Finder and BBEdit, apps that support system contextual menus. You can add your own commands—AppleScript and shell scripts—to the Scripts menu.

Huevos 1.1

Huevos dock icon

Huevos 1.1 has been released!

The big change since 1.0 is that you don’t have to lift your fingers from the keyboard anymore. You can bring Huevos to the front from within any app by typing a hotkey. You can choose search engines in the popup menu by typing a command key or by using the up and down arrow keys.

This release also marks the first time we’ve had a PayPal donation button. We’ll add a button to our other software pages, too, of course.

Donations help us continue to make free software. Not just Huevos but also TigerLaunch, Big Cat, and NetNewsWire Lite.

And it helps us to be able to release parts of NetNewsWire as open source, such as the RSS and OPML parsers and—coming soon—a Cocoa XML-RPC implementation.

Net access returns

Bad luck! We had no net access today until just now (4:45 p.m. Pacific).

I can finally check my email!

If you’ve been through this—and I bet you have—you know what kind of relief it is when the net comes back. Whew.

Huevos 1.1b4

Huevos 1.1b4 (download) includes several changes:

- Main window is no longer metallic.
- Added a File menu with two commands: New and Close. New command opens the main search window. Close command closes the front window.
- If the main window is closed, clicking on the Dock icon will open it.
- If the main window is closed, typing the Huevos hotkey combination will open it.
- The Escape key cancels a search engine configuration sheet.

There’s a good chance that there will be few or no changes between this version and the final 1.1 version.

Notepad stores sites

One of the common questions I get asked about NetNewsWire is: How can I store an RSS feed that I don’t want to read for now, but that I don’t want to lose?

I may add a way to do this in the future—perhaps when I do feed-specific refresh settings.

But for now you can use the Notepad. You can drag feeds from the Subscriptions pane to the Notepad to store them.

Here’s a screen shot of part of my Notepad. When I get a request to add a site to the Sites Drawer, I store the feed in my Notepad. (I subscribe to some of them, too—I learn about lots of cool sites this way.)

Here’s the same screen shot with the Notepad Info window open.

(You can also store RSS headlines, file references, and URLs in the Notepad. Just drag and drop.)

Should Huevos be metal?

Should Huevos’ main search window be metallic?

There has been a ton of confusion over when metal is cool to use. Clearly the Human Interface Guidelines are largely ignored—especially by Apple. (Why is Safari metal?)

The docs state: “Avoid using the textured window appearance in applications or utilities that are unrelated to digital peripherals or to the data associated with these devices.”

This states unequivocally that Huevos (and Safari and some other apps) should definitely not use metal windows.

Amazon boycott?

Are we still boycotting Amazon for their patent practices?

I get requests to add Amazon as a default search engine for Huevos, but I haven’t so far because I’m still, well, angry at Amazon.

I wonder if it’s not time to relent. After all, Amazon isn’t the only offender when it comes to patents. And some time has passed. Is there a statute of limitations?

Huevos 1.1b3

Download Huevos 1.1b3.

To refresh your memory... Huevos is a very simple tool for searching the Web. It presents a small window with a search field and a popup menu of search engines. Searches are run in your default browser.

You can bring the window to the front from within any application by typing a key combination (which you can set in the Huevos preferences).

Huevos is freeware and open source (BSD license).

The main point behind this beta is to make it so you can use the keyboard to choose a search engine from the popup menu.

Changes in this beta include:

  • Re-worked Preferences window
  • Configurable command keys for search engines
  • Up and down arrow keys navigate through the search engines popup menu
  • A couple URL encoding bug fixes

More screen shots:

You can add and delete search engines via the Preferences window and set the key combination that brings Huevos to the front:

Here’s how you configure a search engine:

Gyra, Poogle, Glogger

I don’t have a bunch of punditry and expert analysis about Google buying Pyra—just congratulations to both parties. Good job!

Space news

One of my favorite RSS feeds is spacetoday.net: “Space news summaries and links to articles published around the web.”

Here’s the feed and here’s their home page.

It not only reports on the Columbia investigations but also other things—that the southern Martian polar cap is made of water ice, that the latest Ariane launch was a success, that kind of thing.

NetNewsWire easy subscribing

Another of my favorite NetNewsWire features is how you can subscribe using the Services menu.

With any app—Safari, Chimera, etc.—that supports Services, all you have to do is:

1. Select a URL. (As in the address field in Safari.)

2. Choose Subscribe in NetNewsWire from the Services menu.

Here’s a screen shot to show what I mean.

More NetNewsWire keyboard shortcuts

More NetNewsWire keyboard shortcuts...

You can expand and collapse in the subscriptions and Sites Drawer panes with these keys:

Expand: .
Collapse: ,
Expand all: '
Collapse all: ;

No cmd-key-modifiers, just the plain keys.

Another thing is arrow-key navigation:

You can go from the subscriptions to the headlines pane using the right-arrow. If no headlines are selected, the first headline will be selected.

When the headlines pane has focus, the right-arrow key opens the current headline in the browser. It’s the same as double-clicking on the headline or typing cmd-B.

When the headlines pane has focus, the left-arrow key goes back to the subscriptions pane.

That’s how I personally do my navigation: I use arrow keys and the space bar (for going to the next unread).

NetNewsWire Dock Menu Tip

If you click-and-hold, ctrl-click, or right-click (if you have a two-button mouse) on NetNewsWire’s icon in the Dock, the menu displays unread messages.

You probably knew that already.

But—you may not have known that if you hold down the option key, then, instead of opening the headline in the browser, you go to that headline in NetNewsWire.

NetNewsWire Keyboard Tips

Here are a few more keyboard shortcuts for NetNewsWire that aren’t obvious:

When the headlines pane in the news reader has focus, you can...

1. Type U to mark a headline as unread.

2. Type R to mark a headline as read.

3. Type M to mark a headline as unread and go to the next unread headline.

In the weblog editor, the buttons for Bold, Italic, and Add Link have keystrokes...

1. Cmd-B encloses the selection with <strong> tags.

2. Cmd-I encloses the selection with <em> tags.

3. Option-Cmd-A allows you to enclose the selection with link tags. (I wanted this to be Ctrl-Cmd-A, as in BBEdit, but Interface Builder wouldn’t let me do that. I still plan to make this button respond to Ctrl-Cmd-A in the future.)

Writing new XML-RPC code

Last night I started work on new XML-RPC code for NetNewsWire, to replace the system-supplied code it’s currently using. This will fix a bunch of weblog editor bugs.

As I started work on this I was instantly reminded of why I love XML-RPC: it’s so simple and geometric and clean. My code reflects this. It practically writes itself.

In comparison, parsing RSS is like walking across a field of broken glass.

(And the glass has been heated to just below its melting point. And your hair is on fire.)

I have a couple things going for me:

1. I’ve been on good-friend terms with XML-RPC since even before its spec went public. As a former UserLand employee, XML-RPC is as familiar to me as my own socks.

2. I have a bunch of experience already parsing XML using the CoreFoundation routines. I can re-use the knowledge gained by doing RSS and OPML parsers. (And even re-use some of the code.)

A reasonable person might ask: Why not use Eric Kidd’s code or use the Python bridge? It seems like a good idea to use existing code rather than do it from scratch.

There are a couple reasons:

1. I’d write just as much code to integrate existing code as I would in writing a parser from scratch. There’s no savings in code written—and it would mean an extra unneeded layer, which means there’s more that could go wrong.

2. Since I’ve already done a great deal of XML parsing already (RSS and OPML for instance) I already have a bunch of knowledge and code. Writing this code presents no challenges.

New words

Shower dementia: When you’re taking a shower and can’t remember if you’ve washed your hair yet.

Shampoo vu: That strange feeling you sometimes get that you’re washing your hair for the fourth time in the same shower. (A consequence usually of shower dementia.)

Entrevista com Brent Simmons

The Portuguese-language MacMagazine.com.br has published an interview with me.

(The interview was conducted in English and translated to Portuguese by the MacMagazine staff.)

Here’s the AltaVista translation back into English. I love BabelFish translations: they usually have an “all your base...” kind of feel to them. A few quotes:

“I feel myself excellent.”

“For me, the great fact was not accurately the Safari, but its engine of renderização that will be available for the desenvolvedores.”

“But this can move, is clearly.”

Movable Type 2.6 new features

The new Movable Type 2.6 supports two things of particular interest to NetNewsWire: RSD and metaWeblog.newMediaObject.

RSD (Really Simple Discovery) is what makes the Autofill button in NetNewsWire’s weblog preferences work. (Here’s the RSD spec.)

It’s an important thing for external editors like NetNewsWire—it means figuring out what your weblog settings are is much easier than it is otherwise. All you need to know is the URL of your home page, and then NetNewsWire asks Movable Type for the rest of the settings.

It’s not just a NetNewsWire thing—other editors can use RSD too. And Manila, Conversant, and Radio UserLand also support RSD on the server side. (Possibly other systems do too. I don’t mean to slight anybody.)

On to the second thing...

metaWeblog.newMediaObject is a new XML-RPC method that weblog systems may support. It’s part of the MetaWeblog API.

It allows external editors to upload images, movies, and so on to weblogs. NetNewsWire doesn’t support this yet, but it will. (Kung-Log supports it already; perhaps others editors do too.)

Relative’s Cat ‘Whiskers’ Needs Home

A relative of mine has a cat who needs a good home.

Whiskers is about three years old, a beautiful black cat who loves people, loves to play, and loves to be petted. She’s de-clawed, so she’s furniture-safe. She’s low maintenance and super-sweet and not going to wreck your couch.

The thing is, as much as she loves people, she’s afraid of other cats—and right now she’s living with two other cats, one of whom is very aggressive.

If you don’t already have a pet, and would maybe like Whiskers, please let me know! (Send email to brent at ranchero dot com.)

She comes bundled with her favorite toys, a cat box, and some food. A cat carrier too, I think.

Thanks!

Subscribing to a site from within Safari

One of my favorite features of NetNewsWire is that it’s scriptable. There’s even a Scripts menu, so you can add your own commands as scripts.

Here’s a little two-line script that lets you subscribe in NetNewsWire to the frontmost window in Safari.

tell application "Safari" to set s to URL of document 1
tell application "NetNewsWire" to subscribe to s

It gets the URL of the front window in Safari, then it tells NetNewsWire to subscribe to that URL.

When NetNewsWire gets a subscribe command it automatically does RSS auto-discovery.

In other words, you could just be on the home page of a weblog in Safari, run this script, then NetNewsWire will (most often) find the RSS feed for that weblog. (If it exists, of course.)

You could put this script in NetNewsWire’s Scripts menu, or maybe put it in the global Script Menu, or even put it in the Dock.

And then there you have it, an easy way to subscribe to a site in NetNewsWire while you’re in Safari.

(By the way, you could probably modify the first line of this script to work with other browsers. It may not even need modification except for the name of the application.)

Mail’s spam filters starting to fall down

It looks like spammers are getting smart—the super spam filter that comes with Apple’s Mail app is starting to miss stuff. I’m seeing like 15 or so spams a day now, up from about two or three.

Nuts!

Doing a view-source on the spam shows that it’s HTML mail. It contains a bunch of do-nothing comments or tags that break up the words.

The fix is obvious, I think—the spam filters should filter on the visible words, rather than just the raw text.

I seriously hope there’s an update soon. I’ve been so spoiled and I don’t want to go back to a spam-ful world.

‘The hippy in me says...’

I liked this post, made a few days ago at flexistentalist.org: “But the hippy in me says ‘What about open source? You need to give back to the development community!’ Then I find that they do give back. Instead of making their entire applications open source, they have released numerous ‘proof of concept’ applications that utilize the core functions of NetNewsWire, wrapped in a very simple application with an open source BSD license.”

My thinking is that every developer owes a lot to other developers. Developers are lucky that they get to be very generous—and they’re lucky these days that they have the Web, which makes generosity so easy.

So it’s kind of a karma thing, the hippie in me says. Pay back as much as you can. And there are tons of other developers who feel the same way.

Use the space bar, Luke

One of the things that’s non-obvious about NetNewsWire is that the space bar is the best way to read the news.

It goes to the next unread headline. But first it scrolls the description pane if needed.

This way you can motor your way through the news. Totally easy.

(Update 3:17 p.m.: note that the space bar works only when the subscriptions or headlines pane has focus. So you may have to click with the mouse first.)

Another thing: I get a fair amount of email saying how cool it would be if folders were supported in the Subscriptions pane.

And of course they are—only they’re called Groups. Choose New Group from the Subscriptions menu to create a group. Then you can drag and drop your subscriptions to organize them however you want.

One of the cool features of groups is that if you select the group you see the unread headlines for all the feeds the group contains. This way you can set up mini-aggregated views for certain topics.

For instance, here's a screen shot of my personal copy of NetNewsWire with my Technology group expanded.

Updated NetNewsWire Press Release

Thanks for all the feedback on the press release for NetNewsWire. Here’s an updated draft.

Most of the feedback was about two things:

1. It should describe better what NetNewsWire is, what it does, and why that’s cool.

2. It should use active voice more often.

I think both things are better in the current draft. What do you think—is it ready to go?

NetNewsWire reaction

I expected some email and links and sales, of course, on releasing NetNewsWire 1.0—but it’s all been better than my expectations. Thanks!

If I’m a little slow to respond to your email or bug reports, please forgive me. I’ll get caught up soon.

NetNewsWire Press Release Draft

One of the things about releasing software is you have to write a press release. Nuts!

Well, maybe you don’t have to write a press release, but it’s probably a good idea, at least for major milestones.

I’m no MBA or marketing type, so I sure wouldn’t mind a little help. I’ve posted a draft here, and I’d appreciate feedback, either as comments on this site or via email to brent at ranchero dot com. Thanks!

NetNewsWire Status

The reports for NetNewsWire 1.0fc1 have been good, so I’m giving it until noon Pacific, and if no deal-stoppers have been reported I’m going to change the version to 1.0 and ship it.

The e-commerce thing is set up and working and tested. There’s a new home page for NetNewsWire sitting on my hard drive. All that remains is to package up the app and upload it and let folks know it’s up.

I’ll write a press release too, but that can come later today or tomorrow.

The worst problem in NetNewsWire remains Apple’s crashy XML-RPC framework. I’ve spent untold hours developing work-arounds. And still it may crash. So the top priority for 1.0.1 will probably be my writing my own XML-RPC code. (I may do a Cocoa wrapper for Eric Kidd’s code. Naturally I’d release my code under a BSD-type license.)

And of course there are plenty of other things to do. There always are. It’s times like this when I try very, very hard not to think of the classic DaveNet We Make Shitty Software. (With bugs!)

(Update: why do I try not to think of that DaveNet? I’m just trying to be funny. Really I don’t mind thinking of it.)

Templates and weblogging

I remember back in the day—1996 or thereabouts—when Frontier’s HTML framework was new, it seemed to lots of people that the idea of using templates to build websites was an idea from outer space.

(Frontier wasn’t the only system to use templates, I’m sure, it just happens to be the one I used and later worked on.)

The attitude of lots of people I talked to was that multi-file search-and-replace was all they’d ever need.

I think weblogging changed that. There are now lots—hundreds of thousands? I don’t know—of people who have some experience using templates to publish on the web (whether they’re using UserLand software or Blogger or Movable Type or whatever). They still might not be using templates for their entire sites, but at least it’s no longer a completely alien idea.

Anyway, this is just an observation. I think it’s cool.

NetNewsWire 1.0b18

NetNewsWire 1.0b18 fixes a bunch of different bugs, including weblog editor bugs and news reading bugs.

See the change notes for the whole scoop.

Now I’m looking for just deal-stopper bugs. (Bugs that are so bad they simply must be fixed before shipping.) Other bugs will be fixed in 1.0.1 and future updates.

NetNewsWire 1.0b17

NetNewsWire 1.0b17 fixes a super annoying bug that appeared in the previous beta—the new headlines and group feeds weren’t getting updated when they should be. Now they are.

Other changes, mostly weblog editing changes, are listed on the change notes page.

More betas and more bug fixes to come. It’s totally crunch time chez moi.

Developers with weblogs

For the upcoming NetNewsWire Pro release I made a change to the default list of 15 subscriptions that new users get: I added Dave Hyatt’s Surfin’ Safari weblog.

My hope is that new users will see that there’s a weblog by one of the Safari developers, and they’ll think that’s pretty cool, and they’ll wonder if other developers of their favorite software have weblogs.

It’s a great thing—at least I think so—when developers have a human presence on the web. I myself am a developer—but I’m also a user of software, just like everybody else.

(Of course every developer is also a user of other software.)

So my hope is they’ll find weblogs like ~stevenf, the weblog of Panic developer Steven Frank. And weblogs like Truer Words, Scripting News, Six Log, Robb Beal’s weblog, and so on and so on.

NetNewsWire 1.0b16

NetNewsWire 1.0b16 fixes just a few bugs. The most important fix is that up and down arrow key navigation is smoother for feeds with lots of unread headlines.

This beta doesn’t fix any weblog editing bugs. The next beta will focus on the weblog editor.

See the change notes for more details.

Weblog Comments and NetNewsWire

Among the changes in NetNewsWire 1.0b15 is a new feature: if you ctrl-click (or right-click) on a headline, there’s a new Open Comments in Browser command.

RSS 2.0 feeds sometimes include a comments element, which contains the URL of the page for comments on a given headline. Most feeds in my subscription list don’t include this—at least not yet—but for the ones that do it’s a pretty nice feature. (I think so, at least.)

I hope that more feeds will include comments URLs in the future.

Yes, I will update my own RSS feeds to include comments URLs. (And dates too.)

Last call finished

I just finalized the Sites Drawer for NetNewsWire Pro 1.0—if you’ve already sent me email, your site should make it in okay. Otherwise it will have to wait for an update after 1.0.

Thanks to everyone who sent me email! Lots of great sites have been added.

Last call for RSS feeds

I’m updating the Sites Drawer for NetNewsWire for the last time before the Pro 1.0 release. So consider this last call—if you have or know of a feed or feeds that should be included, please send me email (to brent at ranchero dot com).

NetNewsWire and referers

There has been some notice—at WriteTheWeb, Jason Kottke’s weblog, Jay Allen’s weblog, and probably other places—that RSS newsreaders are often guilty of sending a referer when no referer should be sent.

What I propose to do—and what I doubt anyone will disagree with—is to make it so that NetNewsWire does not send a referer when reading an RSS feed.

The User-Agent string will be revised to include the URL of the home page of the software, which is what some spiders do.

Unless someone talks me out of it (which I doubt will happen), these changes will appear in the next releases of both the lite and pro versions.