Jun 2005

iTunes, NetNewsWire, podcasts

I’ve had lots of people asking me what I thought about the iTunes podcasting support and what it means for NetNewsWire.

First off—I think it’s cool that iTunes supports podcasts.

I think that, more and more, we’ll see RSS support in lots of different apps, since RSS can be used for lots of different things. You might imagine that one day iCal will download calendars via RSS. Automator might download new actions. Help books for all your apps might get updates via RSS.

Who knows? We’re still only getting started with what all syndication can do.

I took a quick look at the iTunes podcast RSS extension, and it could be better. My guess is that it will end up getting revised: I doubt that the current spec is the one we’ll live with.

Check out Edd Dumbill’s and Dave Winer’s critiques.

Some of the feedback I’m getting is that NetNewsWire should hit back and compete hard against iTunes. Other feedback I’m getting is that NetNewsWire should just tip the hat to iTunes. And other people are just wondering what our plan is.

Our plan is to continue to add new features for podcasting and RSS enclosures.

Since NetNewsWire is a general-purpose RSS aggregator, it’s not in competition with iTunes, which is an audio player and organizer. There is some overlap, yes—but, then again, there’s overlap in lots of apps. (Your email app has a built-in text editor, no? Unless you’re using something like mutt.)

Because handling RSS enclosures is part of the baseline set of features a general-purpose RSS aggregator should have—and because there’s lots more innovation to come in this area, and because this is part of the fun of doing NetNewsWire—we’re going to continue keep on doing new podcasts and enclosures features. Not out of some notion of competing with iTunes, but because we can keep making NetNewsWire users more powerful.

Radio show

At WWDC and at Gnomedex I was surprised by how many people mentioned hearing me on the Chris Pirillo Show last May. It was totally fun to do. I figured I’d link to it again, in case you missed it and want to hear it. Here’s hour one and here’s hour two.

More features in NetNewsWire 2.0 you may not know about

Aside from tag subscriptions, there are other features new in NetNewsWire 2.0 that you may not know about. So I’ll just list a few—some big, some small—in no particular order...

You can cancel the current refresh session by typing cmd-period.

You can also cancel the refresh session, or cancel individual refreshes, via the Activity Window, which you can open by clicking the progress indicator that appears below the subscriptions list.

You can subscribe to scripts written in AppleScript, Perl, Ruby, Python, and so on. This feature is here so you can be creative about displaying information using RSS.

You can sort the subscriptions list by unread count, last update, and name. Sorting is animated (but you can turn the animation off). Choose one of the View > Subscriptions > Sort By... commands to set the sort order.

See the General preferences pane to turn on and off animation and to tell it whether or not to sort the top level of the list. (Some people like to sort only within groups.)

You can see all your flagged items at once by displaying the Flagged-Items subscription. Choose View > Show Flagged Items Subscription.

(Not new—but often overlooked—is the New-items subscription. It shows just what’s new from all your subscriptions. Choose View > Show New Items Subscription.)

You can tell NetNewsWire to open tabs in its browser in the background. On the Browsing preference pane, uncheck the box next to Select new tabs as they are created.

NetNewsWire’s browser does support JavaScript, Java, and plugins, though these are off by default. (They can cause performance problems, which is something we look forward to working on now that WebKit is open source.)

On the Appearance preferences pane, click the News Items tab and turn on and off what you want, then click the Web Pages tab and do so the same.

Note: due to a weird WebKit bug, you may have to enable plugins for both news items and for web pages in order for plugins to work. (This is another WebKit bug we look forward to fixing.)

You can completely turn off the unread count in the Dock icon via the General preferences pane.

Especially cool for widescreen view users, you can show summaries and/or datelines in the headlines list. See the last two commands in the View > Layout menu.

NetNewsWire has a Help book—choose Help > NetNewsWire Help to open it, or read it on the web.

This isn’t new in 2.0—1.0.x versions also had Help books—but it has of course been updated and expanded to cover changes and new features in 2.0.

As Mac users we don’t often read the Help. But every time I take the time to read the Help for an application, I learn new things that make me more efficient, that allow me to do more in less time. If it’s for an application I use frequently, it always pays off.

NetNewsWire’s Help book consists of 32 pages and 17 graphics. It’s not just a page or two or a small FAQ—it’s something we work pretty hard on.

The Sites Drawer roughly doubled in size since 1.0.8, and it includes new categories, including a Podcasts group. Click the Sites Drawer icon in the Dock, or choose View > Show Sites Drawer.

I mentioned search engine subscriptions in a previous post when talking about tag subscriptions. Here’s the help page on it. This is another of my personal favorite features since I can get news on topics that interest me without having to subscribe to every feed in the entire blogosphere.

When you combine search engine subscriptions, tag subscriptions, and smart lists, you can do some powerful things. Keeping up doesn’t have to mean subscribing to every single potentially interesting feed.

There is a strong business use here: for instance, we like to get feedback from people about our software. Often they post on their weblogs. Well, we can’t subscribe to every weblog everywhere, but by using search engine and tag subscriptions and smart lists we still see the feedback when it’s posted, wherever it is. It helps us, as a company, as developers, to be able to listen, which is our main job.

Tag subscriptions in NetNewsWire

At Gnomedex Niall Kennedy asked me if I got a lot of feedback about the Tag Subscriptions feature in NetNewsWire. I told him that no, I don’t hear about it all that often.

It occurs to me that people may not know about it. There were so many new features that we couldn’t really make a huge deal out of any one feature. But tag subscriptions is one of my personal favorites—I find it very useful.

Here’s the deal: services such as Del.icio.us, Flickr, and Technorati have pages and feeds for things that have been “tagged” with various keywords.

For instance, here’s the Technorati page for the tag gnomedex2005.

Now, if you want that page as a feed in NetNewsWire, you just do this:

1. Choose File > New Special Subscription > Tag...

2. Type gnomedex2005 in the Tag field and choose Technorati from the popup menu.

3. Click the Subscribe button.

Here’s a screen shot:

Tag subscription sheet

Del.icio.us and Flickr feeds are also supported. If you like cats, you might create a Flickr tag subscription where cat is the tag, and you’d see everybody’s cat pictures.

Maybe you’re a big fan of Apache. You could create a Del.icio.us tag subscription where apache is the tag.

It’s easy, and it means you don’t have to subscribe to a million feeds to find news on topics that interest you.

(It’s also much like the search engine subscriptions feature, which is definitely worth checking out if you haven’t tried it. Search engines currently supported are Blogdigger, Daypop, Feedster, Findory, and Yahoo.)

The OPML Editor

Seeing Dave Winer’s The OPML Editor demo during Gnomedex was kind of a trip for me—there was a bunch of stuff that I used to use, and some things I worked on, when I was at UserLand.

I’m not saying I designed any of it, just that I wrote some code. (For instance, I worked on the C code for converting OPML text to an outline and vice versa. The code was essentially a C-ified version of scripts Dave had written.)

One of the things this brings me to mind is how long it takes for an overnight success to happen. RSS may be hitting it really big right about now, but it’s not by any means new.

When did I use my first RSS aggregator? It was 1999—almost six years ago—with my.userland.com.

One of the little things in the demo reminded me of a small story about managing programmers that I don’t think I’ve ever told.

In the outliner, in the text, you can see bold and italic text and links colored blue. For many years the outliner didn’t have this feature. But one day (in 2000, I think) I was visiting California for a UserLand staff meeting. We were talking about weblog editing via the outliner, and we thought it would be cool if the outliner could handle the basic HTML tags for bold, italics, and links and do the right thing visually.

I remember telling Dave that the text library we used actually had the ability to display styled text and that it would work on both Windows and Mac—so that, at least in theory, it was do-able.

Dave replied that he’d give a million dollars to anyone who made that work.

I went home, and I had it working a few days later.

Of course the “million dollars” part wasn’t literal—but it was a challenge, a colorful way of saying, “If you make this work, that would be really cool and impressive.”

What programmer can resist? (Well, maybe some could, but I couldn’t, which I’m sure Dave knew full well.)

Back to the demo... it was interesting (to me) to note how good it felt to see that code I worked on years ago is still doing things for people. That makes me lucky.

Another thing—slightly trippy for me—was when Dave demonstrated opening, in The OPML Editor, an OPML file generated by NetNewsWire. It was, for me, a demo of code I wrote recently working with code I wrote a few years ago, which was cool.

I know that sometimes things get misinterpreted on the web, and I don’t want to see a headline like “Simmons claims credit for OPML.” No. I just wrote some code.

More fun at Gnomedex

The best part of Gnomedex—the best part of any good conference—is seeing people you haven’t seen in a while and meeting new people.

It was great to see folks like Steve Gillmor, Dave Winer, and Marc Canter who I’ve met before. (I worked for Dave for many years, as most of you know, but I hadn’t seen him for a while.)

I met some new (to me) people... There’s no way I can mention everybody, but here are a few.

Nick Bradbury is someone I’ve emailed with many times that I wanted to meet. We have a lot in common as independent developers (though Nick now works with the NewsGator folks)—and I have great admiration for FeedDemon.

It was Nick who convinced me to go to Gnomedex. And I’m so glad he did, not least because I got the chance to meet him. (If you’ve met him before, you know what a thoroughly likable fellow he is.)

I didn’t get to talk to Adam Curry for more than a couple minutes, but I was glad I got the chance to meet him. He and Dave Winer started doing things together while I was still working at UserLand, but our paths had never crossed.

It was Adam who convinced us to add support for enclosures and podcasts to NetNewsWire. It was a major feature request last fall, lots of people were asking for it, but it was finally a short email from Adam that was the tipping point. He said it seemed like it would be a “slam-dunk” for us. Who could resist that? Not me.

Doug Kaye (fellow AO/Technorati Open Media 100 trendsetter!) is a flat-out nice guy. We’d emailed a few times before, and it was great to meet him. IT Conversations is, as you know, one of the coolest things on the web.

Rex Hammock—I want to call him the “distinguished gentleman from Tennessee.” (I’d vote for him for senator!) We met at the party at the new Seattle Public Library Friday night, where he took a picture of Nick Bradbury, Dave Winer, Sheila, and me.

There are plenty more cool people I met, but this post would be 20 times longer if I mentioned everybody, so I’ll stop here. I’ll end with this: Gnomedex 2005 was great. I’m already looking forward to the next one!

Fun at Gnomedex

Sheila and I had a great time at Gnomedex. Many thanks to Chris and Ponzi for doing such a fantastic job!

One of the obvious things to mention about this year’s Gnomedex is the Microsoft announcement that they’re adding RSS support to IE7 and Longhorn. Microsoft doesn’t come up on my radar all that often—I’m a Mac developer, see—but I was aware that they hadn’t done much with RSS yet. By doing RSS features they give a major boost to syndication.

Even as a Mac developer I’m glad because it means more and more people will use RSS and more and more sites will have feeds.

Some people have quibbled with this and that about the announcement, and some of the quibbles may be valid, but I personally don’t have an interest in picking nits. I did talk to some of the folks on the RSS team at Microsoft, and I liked them—they seemed very excited about all this and at the same time open and wanting to be part of the community, which is cool.

Of course, everything Microsoft does will be scrutinized by many people. Since it’s the 800 pound gorilla, it’s only right that people pay close attention to what they’re doing. But for me the thing to do for now is look at the big picture. Will Microsoft’s support of RSS help make syndication more and more popular? Yes indeed, and that’s a good thing, and so I’m glad.


Sheila and I will be at Gnomedex the next few days. See you there?

Developer Kit arrived

My Developer Transition Kit arrived today! I’d post a picture—but it looks just like Steven Frank’s, which is to say it looks just like a G5.

Beyond that, I don’t think there’s much I can say, for nda reasons.

under the iron

under the iron interviews drunkenbatman.

Congratulations to Bryan Bell!

Congratulations to new dad Bryan Bell!

(Bryan does a bunch of our icons.)

Kudos to Xcode group

Another group at Apple that impressed me at WWDC this year was the folks behind Xcode.

Xcode 2.0 shipped with Tiger, at the end of April. Xcode 2.1 shipped less than two months later.

It includes support for universal binaries, of course—but that’s not all, there are a bunch of nice user features in there, including a bunch of debugging improvements and a welcome change to how build settings are configured.

(I suspect the release of 2.1 is a combination of good planning, good project management, and possibly a few late nights.)

Having this new version of Xcode makes the Intel transition credible—without it, it would be all hand-waving and telling developers how it will be easy once the tools are ready. Better to show us, as they’ve done, that it’s already easy.

Sandvox == cool

At the webloggers dinner Dan Wood did some demos of Sandvox, Karelia’s upcoming web authoring app. Think “iApp for website creation” and you get the idea.

It’s very cool. (Clever name, too.) Imagine the things you would want—WYSIWYG editing, drag-and-drop, styles, RSS generation, etc.—then imagine surprises that you haven’t thought of.

RSS reader developers

Here’s a picture of three RSS reader developers—David Watanabe, Jens Alfke, and me—taken at the webloggers dinner last Monday. Here’s the whole set of pictures from the dinner. Photos by James Duncan Davidson.

The Hero of WWDC

(Update 12 June 2005: this post has been edited so that no one person at Apple is singled out—teams are teams, and the entire Intel team deserves a huge round of applause.)

At WWDC a member of the Intel team helped me get NetNewsWire and MarsEdit building as universal binaries. It took a little under two hours. It took as long as that only because these two apps are made up of over a dozen projects, and we had to change the settings (the famous checkbox, plus some other things) and rebuild each project individually.

Code changes? Nope, just time spent mainly in various inspector windows in Xcode getting things set up correctly.

And that’s why I think this transition will be a success—because it was so easy to create universal binaries, thanks to the great work of these folks and the hands-on help they gave developers at WWDC.

I’m aware that for some developers the transition won’t be so smooth. But it will be smooth for a huge number of developers, and that’s an incredible achievement.

Dear Steve

James Duncan Davidson: Dear Steve: “Well, I think that after the experience we just had this last week, you don’t have to worry about us. We’ll be more than ready for you in very short order.”


Papa waiting (2005)

My cat Papa is waiting in my chair for me to return home...

Papa waiting 2005

Papa, terreur de la savane.

Intel, NetNewsWire, MarsEdit

For most Cocoa developers the Intel switch won’t be a big problem. For our apps it’s not quite as easy as just checking a checkbox, but it shouldn’t be very difficult, either.

NetNewsWire, for instance, is made up of a collection of components: several frameworks, bundles, and libraries. Each separate component will have to be Intel-ified before the main executable will run Intel-native.

I’m guessing that, in terms of work, it will be somewhat less work than, say, adding the Bloglines subscriptions feature was. Probably 5% as much work as the syncing feature. In other words, in terms of the amount of work I expect to do, it’s a relatively minor feature.

So of course we plan to make our apps universal; we plan to support PowerPC and Intel.

Not at all developers will have it as easy, of course. Cocoa developers using Xcode are likely to have the easiest time making universal binaries.

I’ve heard and read some fearful reactions about the Intel thing. Here’s the deal: the Mac developers I know are professionals. They’re not going to just do PowerPC only or Intel only.

One of the things about independent developers is that they often do a great job of supporting a range of systems. Consider this: Safari with RSS runs only on Tiger, but NetNewsWire still runs on Jaguar. This isn’t some special case, this is normal for independent developers.

You might say something like, “Oh, that’s just because Apple wants to sell operating systems and independent developers want to sell to everybody, even people who don’t upgrade.”

To that I’d say, “Yes! You’re right! We have a very strong incentive to support different systems.” It’s just plain good business sense.

And, at least for the majority of Cocoa developers, this support won’t be a big deal. We already do stuff like this. In fact, supporting older operating systems is probably quite a bit more difficult.

Why the Safari folks are cool

I think my favorite folks at Apple are the people who work on WebKit and on Safari.

I got the chance to talk to Jens Alfke and Jessica Kahn a couple days ago: I told them both how Safari in Tiger has been nothing less than a gift. It does three super-important things:

1. It educates people about RSS.

2. It makes it amazingly easy to subscribe to feeds.

3. It allows you to choose a newsreader other than Safari as your default.

I don’t know the inner details of how the decision to support other newsreaders was made, but the people I talked to convinced those who needed convincing that it was the Right Thing to Do.

To them I say: thank you!

P.S. Because I’m sentimental, at the weblogger dinner I suggested to Buzz that we get a photograph of aggregator developers. Somewhere there’s a photograph of me, Jens Alfke, and David Watanabe. I don’t know it it’s been posted yet (since I can barely get online here) but I’ll link to it when it goes up or when I see it.

Major kudos for WebKit Open Source

I’m so pleased to see that WebKit has gone open source.

For me, as a developer whose apps rely heavily on WebKit, this is very likely the best possible news I could have gotten at this year’s WWDC.

My interest is pretty simple: I want bugs in WebKit to get fixed, so my apps work better.

I get reports of mis-rendered pages—and reports of crashing bugs—that are WebKit bugs. My response until now has always been along the lines of, “Darn, that’s a WebKit bug, and I don’t have access to the source. If I can get some more details from you I might be able to reproduce it and report it to Apple.”

It’s kind of a bummer of a response, not much better than throwing my hands in the air.

But now my responses can be more like this: “It’s a WebKit bug. If you can send me more details, I might be able to reproduce it—and develop test cases and perhaps even fix the bug myself.”

This is a much better response. And it gives me more power over the quality of my software.

It means more eyeballs on WebKit, better testing, more bug fixes. So if I report a bug with a test case, and it gets fixed, then other developers benefit. If another developer reports a bug, and it gets fixed, then we benefit—and, most importantly, NetNewsWire and MarsEdit users benefit.

This is an example of the kind of openness that in years past we didn’t get from Apple—but these days are very different and very much better.

I just wanted to publicly thank the WebKit folks for doing this. Thank you!

More UI links

I’m not writing about Apple’s user interface anymore (at least not for a while)—but I do keep seeing interesting posts by other folks.

Helliferocious writes about an interesting new button/menu thing in the print dialog: “A buttnu?”

Quentin at Rogue Amoeba writes, “Apple’s real usability expertise comes in designing end-to-end solutions like iTunes/iPod integration, or technology like Bonjour.”

And then Rory Prior’s post from last January is a classic.

Update: here’s Jack Shedd on UI. His post reminds me how subjective this all is, and how much talking about it is a matter of emphasis.


Has anyone figured out how to de-metal iCal and Finder? I’d like to switch them to unified-title-and-toolbar on my machine, but I haven’t been able to figure it out.

(Unified is the new platinum.)


The NetNewsWire private beta testers don’t mind (or at least tolerate with grace) all the user interface experiments that go on during development—and there were quite a few experiments on the road to NetNewsWire 2.0. (We like to iterate: get ideas, try them, change them, lather, rinse, repeat.)

At one point we were considering moving the unread count to a flush-right “chiclet.”

However, before we finished the feature, testers convinced me that this approach has a problem: the eye has to travel too far to associate a subscription with its number. (I could have said, “So what! Everybody else is doing it, why not NetNewsWire!” but I didn’t. Or maybe I did, but they still convinced me.)

Anyway, here’s a screenshot which shows my first cut at it. You can look at it and say, “Oh, I’m glad that didn’t ship”—but remember, this was just experimental, not intended to ship as-is, just a rough draft of an idea.

So then I re-did it so the chiclets were right next to the subscription name—and that wasn’t good, as you can see here.

And then I thought—let’s move the numbers flush-right again, but use alternating row colors in the subscriptions, and only display a chiclet outline for the selected sub. And that didn’t really work out, either. And then another version had a line going from the sub name to the unread count. Arf!

Finally—last version—dots!

So then we figured this was enough time futzing with this particular feature, and we shelved it, to possibly revisit it later.

Why am I sharing this? Just for a peak behind the scenes at the development process. If you had to classify my approach to UI, you’d call me an experimenter/gatherer: try things and get feedback, then try more things. And get more feedback.

And now for something completely different... random old graphics found on the webserver...

Old header


Home button

Houses Java


Source archive, 2002

Nuevos beta

Jesper Lindholm is working on a fork of Huevos—cleverly called Nuevos. In public beta now!

(This is all with my blessing. I think it’s cool how he’s been updating the app.)

BibDesk 1.0

Congratulations to Michael McCracken on getting BibDesk to 1.0!

WWDC coming soon

See you at WWDC?

You might imagine that I’ll be ranting and raving about UI issues—but, actually, I won’t be. I’ve got it all out of my system. (I wanted to get it out my system before WWDC.)

Speculating about WWDC...

There may be some cool, interesting announcements—and, then again, there may not be. I have absolutely no inside knowledge. Part of me hopes that the focus will be on fixing bugs, adding polish, fleshing out the APIs that need it, rather than big new features.

I’d love to see awesome new hardware, come to think of it. An iPod phone would be sweet, I suppose. A tablet Mac, sure, cool. But more than anything I’d love to see a big speed boost in the desktop line. Fast computers are cool, but super-fast computers are super-cool.