NetNewsWire Lite 2.0b22 Change Notes

4 Feb 2005

This page lists changes to NetNewsWire Lite since 2.0b6.

(You can download the current beta from the NetNewsWire beta page.)

Highlights of this release

This release includes the user interface makeover that was in the betas of the full version of NetNewsWire. It also includes performance optimizations and memory-use fixes, a rewritten Atom parser, and many bug fixes.

Some of the new features include datelines in the description pane, per-subscription refresh settings, subscriptions list sorting, better feedback at startup, and templated styles.

User interface

Splitview

The splitview used to act like it went from the bottom of the toolbar to the bottom of the window. Now it really does—which gives a cleaner look.

Cool resizing change—if you resize the window, the width of the subscriptions list doesn’t change, since you probably don’t want it to. (There are exceptions for edge cases, of course.)

Subscriptions list

It’s more like an Apple source list—the highlighted item uses a gradient rather than a plain highlight. (See iTunes, the Finder, etc.)

Subscriptions status bar

Instead of status text at the top and below the subscriptions pane, there’s a single status text field below the subscriptions pane. This makes the UI less busy, since now there’s one thing where there was two. Click the status text field to change what it displays.

Below the subscriptions pane are two new buttons: plus and gear. These buttons (or a variation) have become a standard on OS X.

Descriptions status bar

Below the description pane is a popup for the current style. It’s a good spot for it because it’s right next to the thing it affects—and it means, once again, making the toolbar simpler. (We thought having the popup Style menu in the toolbar didn’t look very good.)

You can hide the style popup menu—choose View > Hide Styles Menu.

The current URL in the status bar below the description pane has a white shadow—giving it kind of a subtle etched look.

Feedback at startup

While feed are being read from disk, you now get feedback—a special view with a progress indicator and a message that says "Loading x of y: Feedname..."

This view is based loosely on iPhoto’s “loading photos” startup view, but it gives a little more info.

Also: NetNewsWire should no longer download feed images and favicons while reading feeds from disk, which prevents the confusion of a download-session progress indicator appearing below the subscriptions pane.

Performance optimizations and memory-use fixes

Startup time

The first time you launch NetNewsWire, it won’t launch much faster than previous betas. But the time after that it should launch more quickly. (A little more quickly or a lot more quickly, depending on various factors.)

News items status is now stored in a separate database, NewsItemsStatus.db. This change lowers NetNewsWire’s memory use by just a little to quite a lot, again depending on various factors.

Memory leaks

Found and fixed some memory leaks that appeared since the last time we did a memory-leak-hunt. One of the leaks was a rather juicy leak in the Atom parser.

Small optimizations

The RSS parser is a bit faster. (Optimized a text encoding utility it uses.)

Processing feeds after parsing is quite a bit faster.

It’s faster to go to the next unread item in a group with lots of unread items.

Displaying HTML in descriptions is a bit faster.

Username/password now in Info window

You can now set the username and password for a feed in the Info window. There’s a new “Username & Password’ section. Expand it to set your username and password. (Passwords are stored in the keychain.)

Feed parsers

Atom parsing

The Atom parser was rewritten. Some highlights:

1. Fixed link support—example: links in items in http://annevankesteren.nl/feeds/href now work.

2. Multiple subjects in http://www.43folders.com/atom.xml now appear.

3. Passes internationalization tests in http://www.intertwingly.net/blog/2004/06/02/Aggregator-i18n-tests.

4. Now supports UTF-16 encoding—and passes internationalization tests in http://intertwingly.net/stories/2004/06/03/utf16.atom.

5. Atom authors are now supported (in the creator field).

6. Supports for comments URL via Well-Formed-Web module http://wellformedweb.org/CommentAPI/.

7. Parses feeds where Atom itself is in a namespace, as in http://www.pocketsoap.com/weblog/feed.atom.

8. Decodes base64-encoded items as in http://diveintomark.org/tests/client/escaping/blink.xml.

9. Supports links and xml:base—passes tests in http://diveintomark.org/tests/client/base/links-in-content.xml and http://diveintomark.org/tests/client/base/links.xml.

10. Supports titles in plain text vs. titles in HTML—passes tests in http://diveintomark.org/tests/client/escaping/blink.xml and http://www.intertwingly.net/stories/2004/04/04/title.atom.

11. Supports for "via" and "related" links—passes tests in http://diveintomark.org/public/2004/05/multilink-via.xml, http://diveintomark.org/public/2004/05/multilink-type.xml>, and http://diveintomark.org/public/2004/05/multilink-linkblog.xml. Also see a couple real-world feeds that include related links: http://annevankesteren.nl/feeds/href and http://thadk.net/atom.php.

Note: these changes don’t affect already-parsed items—they affect all new items from here on out.

Also note: Atom is a moving target. It’s not a finished spec. That means that new versions of Atom will appear and more work will done on our Atom parser in the future.

RSS parser

NetNewsWire now reads Xanga feeds (which are structurally invalid).

It reads feed that lack a version number.

It better handles feeds with unencoded ampersands (the most common cause of non-well-formed feeds).

It reads some feeds with character encoding errors that it didn’t used to be able to read.

Reads RSS 1.1 feeds. (RSS 1.1 is a newly-proposed format, a successor to RSS 1.0.)

Networking

There was a bug with feeds that redirect—they would get updated only every other refresh (roughly). Fixed.

A potential fix for the bug with reading feeds through authenticated proxies is included—but we don’t have an authenticated proxy to test with, so we can’t be sure yet that the fix works. (If you yourself use an authenticated proxy, please let us know one way or the other if it works.)

Subscriptions sorting

You can sort the subscriptions list—manually (the way it is now, where you organize it how you’d like), by unread count, or by name. See the View > Subscriptions menu.

The list is re-sorted whenever something changes that would change the sort order. An exception to this is when you have sorted by unread count—it doesn’t re-sort every time the unread count of a feed changes, because that’s highly annoying. Instead it re-sorts after a refresh session.

The sorting is animated. You can turn animation on and off via the General preferences pane. You can also tell it to sort only inside groups and not sort the top level of your subscriptions.

Templated Styles

Styles can now include templates. A style is really a folder with a .nnwstyle suffix. Control-click on the file in the Finder and choose Show Package Contents to see inside.

If a style includes a template.html file, then that template is used, otherwise the standard template is used.

You can install a *.nnwstyle file by double-clicking on it. A window will appear in NetNewsWire telling you who created it. Click the Install button to install it.

An Info.plist file inside the style includes information about the creator, his or her website URL, and so on.

Some new styles were included—check out Tyger, for instance.

Datelines in the descriptions pane

The description pane now includes datelines—source, date, creator, and subject. (Not every feed has all this information, so NetNewsWire just displays what’s available.)

Per-subscription refresh settings

You can customize the refresh interval for individual feeds and for groups. Choose Window > Info and expand the Refreshing group.

Settings for groups apply to every subscription inside the group, except for subscriptions that have their own settings.

(This was originally a full-version-only feature—but we realized it could help save on bandwidth if you tell it that some feeds don’t need to be refreshed as often, so we added it to the Lite version.)

Sites Drawer

Many more feeds were added. To see everything that’s been added since the release of 1.0.8, open the New in 2.0 group in the Sites Drawer.

Rendezvous (aka Sharing)

Change named of service from "_feed_subscriptions_sharing._tcp" to "_feed-sharing._tcp"—because the old name violated the spec. (It was too long and contained underscores where it shouldn’t.) (This change means that Rendezvous won’t work between this version and earlier betas.)

Fixed some bugs—the Rendezvous feature is now more reliable. (The browser wasn’t always starting when needed; it was shutting down prematurely; it wasn’t always finding nearby subscription lists.)

If the Rendezvous server fails to start, it now waits 61 seconds instead of 5 seconds to try again. This cuts down on CPU use and gives networking things a chance to time out.

Beta notes

A Beta Notes page appears the first time you run each beta version. This way you know you’re running a beta and you know what beta means. The beta notes page includes some warnings and also lists the change notes.

(It turns out that people didn’t always go to the beta page on our website.)

You can re-open the Beta Notes window by choosing Beta Notes from the Help menu.

HTML display fixes

Descriptions for feeds that don’t have a valid home page URL were not being displayed. Now they are.

If you have a news item selected, then select no item, the description wasn’t clearing—now it is.

© Copyright 1995-2008 Brent Simmons
NetNewsWire is copyright 2005-2008 NewsGator Technologies, Inc.