NetNewsWire 3.0d46 Change Notes
16 Feb. 2007
This page lists the changes in NetNewsWire since 2.1.1. You can download the current version via the NetNewsWire home page.
NetNewsWire 3.0d46 is a sneak peek release—it’s not even a beta. It is not feature-complete and it has bugs.
Highlights
- Spotlight searching
- New Combined View
- Feed ‘Cover Art’
- Full Screen Mode
- Growl Notifications
- Tabs with thumbnails and animations
- Choose folder when subscribing
- Show/Hide Subscriptions List
- Add image to iPhoto
- Add author to Address Book
- Feed popup button
Changes since 2.1.1
Data Storage Changes
NetNewsWire’s backend has been rewritten: it now stores each news item as a separate file on disk. (Which is much like Mail, which stores each email message as a separate item on disk.)
The new backend is more scalable, since NetNewsWire now unloads news items from memory. It also means that startup will be faster, since it doesn’t load everything at startup.
News items are stored at ~/Library/Application Support/NetNewsWire/NewsItems/
This new backend should also be ready for Time Machine: by breaking out each news item into a separate file, incremental backups are easier.
Spotlight searching
News items are now indexed by Spotlight: they appear in your Spotlight search results.
(The data storage changes—storing each news item in a separate file—was done in part for the sake of Spotlight.)
New Combined View
The Combined View now uses a single webview to display multiple items, which cuts down on overhead. You can still select items, navigate using the space bar and arrow keys, and so on.
To enable the Combined View, choose .
There are some things still to do—including making it style-able and splitting up long lists into multiple pages.
Feed ‘Cover Art’
You can show a thumbnail of the current feed in the lower-left corner of the window. Click the little rectangle button to hide and show the thumbnail.
It’s kind of like cover art for feeds. The idea is so that you notice when a website re-designs, so that you don’t feel too far away from the website, so that you have a visual indication of what feed you’re reading.
The Big Interface Color
NetNewsWire is blue lots of places. That’s the user interface accent color—which you can change. then change the top thing (Main Accent Color). I totally dig the default shade of blue, but I encourage you to find the color you like best. It’s meant to be changed.
Subscriptions List
The unread count is more like Mail and Yojimbo and many other apps.
Terminology change: folders instead of groups.
The default feed icon is now based on the one in WebKit. (It still changes color when you change the main UI accent color.)
The background color for the subscriptions list is based on Main Accent Color in the Colors window. The folder icons are tinted to match this color too.
You can hide and show the subscriptions list: choose .
Show/Hide Subscriptions List
You can also have the subscriptions list automatically hide when you’re viewing a web page: choose . (Automatic hiding is cool because it gives you more room for web pages.)
The "New Items" subscriptions has been renamed to "Latest News" so as not to conflict with the "News Items" tab. It also now defaults to showing. People don’t notice this feature, but it’s important. (It’s part of the "river of news" thing people talk about—NetNewsWire has had this since before 1.0, but it wasn’t obvious.)
Favicons
The subscriptions list background is now colored by default—like in iTunes, Mail, etc. The problem is that it displays favicons, and favicons don’t always have transparency—they often look bad on anything other than a white background.
So NetNewsWire now converts white to transparent for favicons, so they look better. (There are some favicons which appear on an exceptions list.)
When a row is selected, the raw version appears—since it looks pretty bad to have all the white areas replaced with the selection gradient. It’s less worse to just have the white areas be white.
Subscribing
New Subscribe sheet
It’s been totally rewritten. (This was one of the few remaining bits of code from 1.x days that hasn’t been rewritten.)
New features: 1) Sync checkbox—lets you specify whether or not the feed should be synced. 2) Folder popup—lets you specify where to put the new feed. (Like bookmarking a page in Safari.) 3) The subscribe sheet is resizable—which is cool for long URLs. (The size is remembered between runs of NetNewsWire.)
The sync checkbox appears and disappears (and elements are resized) based on whether or not you have NewsGator syncing turned on. If you don’t, you won’t see this checkbox. (Obviously, the Info window should have a sync checkbox too, so you can change your mind later.)
Under the hood, the subscribe sheet is now loaded from a separate nib file and it has its own window controller. This may help startup performance and memory use (since it doesn’t get loaded at startup anymore). But not enough so that you’d actually notice. (Yes, eventually I’d like to get all the sheets in MainMenu.nib moved into separate nib files, but it’s a low priority.)
Removed icon and text from sheet—the idea is to make it clean and clear. (I’ll probably put a little ? button in the lower-left corner at some point, so people can get help with subscribing. It will open the Subscribing page in the Help Book.)
(Also note—the new-folder, search-engine-sub, etc. sheets all *also* need a folder popup menu. That’s why I’ve put off this feature for so long—it’s because it wasn’t a simple do-it-once-in-one-place kind of thing.)
Services menu
When you choose Subscribe in NetNewsWire from the Services menu, you now get the subscribe sheet in NetNewsWire. Previously it just put the feed at the bottom of the subscriptions list, at the top level. This way you can choose where the feed goes and whether or not to sync it (if you use NG syncing).
Stories Table
There is now some feedback in the table when you open the link for an item—a right-pointing arrow appears to shoot quickly across the row (heading toward the tabs bar). (It’s fast, and you don’t necessarily realize that it’s an arrow, but that’s okay.)
Items from the same day as the day in the current selection are lightly highlighted in the date column. Items from feeds from the same as the feed in the current selection are also lightly highlighted.
Column memory is much improved.
Added a hidden pref to turn on clicking directly in the flag and read/unread columns to toggle status. Copy-and-paste the following into Terminal and hit return: defaults write com.ranchero.netnewswire readFlagColumnClicksEnabled 1 (Use 0 to turn it off.)
You can display inline summaries, as in .Mac webmail. Choose
New unread circle, flag icons.
The icons for the headers of the flag and unread columns are now darker (like Mail). And the unread item header icon is larger. (And these icons are now drawn in code, which means two less resources in the package, which is cool.)
Fixed a rare case where visiting two identical (but for guid) news items in a row would not trigger the second getting automatically marked as read.
iPhoto integration
In descriptions and web pages, you can ctrl-click (or right-click) on an image and choose "Add Image to iPhoto Library." So—any image you see, you can add to iPhoto. http://www.flickr.com/photos/brentsimmons/96836009/ ;)
Add Author to Address Book command
New command in News menu: .
Some news items include email address and/or name of author. When this is so, NetNewsWire enables this command.
If there’s no name (just email address), then NetNewsWire also opens the new Address Book record for editing.
NetNewsWire adds two URLs with labels "weblog" and "feed" for each person it adds. (That’s kind of cool, I think.)
If it goes to add somebody, but that email address already exists in the Address Book, it just bails—no duplicates, in other words. (Duplicate names could happen, though.)
Send Email to Author command
New command in News menu: .
When a news item includes an email address, NetNewsWire enables this new command—which opens a new window in your default email client, ready for editing.
It’s much like the mail-link command in the File menu—except that the recipient is set to be the author of the news item.
(Respects "addMikesBracketsForMailLink" pref to add < and > around the link. Yes, indeed, how could I forget. ;)
Open Comments command
New command in News menu: .
When the current news item has a comments URL, you can choose this command to open the comments page.
It opens in either NetNewsWire or your browser, depending on your prefs—but it always opens in front, because we assume that you want to comment on the item right now. (Or at least read the comments right now.)
One of the things I like most about this is just the simple fact that there’s now a keyboard shortcut for opening comments. The shortcut is cmd-=. (It may change before shipping, of course, though I don’t anticipate it.)
Growl notifications
Now using Growl for notifications. If you’re not familiar with Growl, check it out: http://growl.info/
(Growl is a configurable notifications system that lots of different apps use. Very cool. Free.)
There are five types of notifications NetNewsWire sends:
- Feeds Downloaded: This is the only one turned on by default. At the end of a feed download session, it tells Growl that a download session ended and displays the numbers of new and updated items.
- Feed Updated: Displays the numbers of new and updated items when a feed updates.
- New Item: Displays the title and some text from each new item.
- Updated Item: Displays the title and some text from each updated item.
- File Downloaded: Displays the URL and path of a file that was downloaded (via the Downloads window).
You configure all this via Growl’s preference pane in System Preferences. There is no configuration in NetNewsWire at all for this feature. (And I hope there never will be, but we’ll see what happens. My hope is that these different notification types give even power users enough options. Yes, additional notifications are possible—I trust you to make requests, but note that we could always add more notifications in 3.1, 4.0, etc.)
Some of these support clicking—for instance, if you click on a Feed Updated notification, the feed is revealed in NetNewsWire.
For the graphics in the notifications, the NetNewsWire icon is displayed unless the notification refers to a specific feed and NetNewsWire has a thumbnail for that feed—in which case it uses that thumbnail. (Exception: file download notifications use the icon for the downloaded file.)
Tabs
The tabs bar is now on the right, a vertical list. (It’s actually an NSTableView subclass.)
It has a scrollbar so you can see all your tabs. (Better than that overflow menu thing.)
It displays thumbnails of web pages. Underneath the tab bar is a switch so you can have it display just titles. (You can turn off the thumbnails.)
When a page is loading there’s a kind of progress indication thing going on in the tab—it fills a gradient-ish blue from left to right.
You can re-order tabs via drag and drop. You can also drag URLs from other apps (browsers, etc.) into the tab bar to open a new tab. You can drag tabs onto the desktop (to create a .webloc file) or into other apps (again, such as browsers). The only tab that can’t be dragged is the "News Items" tab, which is always at the top. When you drop a tab it has a fade-in effect that makes it easier to see where you put it. (It’s a usability thing—I added the effect only after I discovered that I had trouble noting where I had dropped tabs. Now it’s unmistakable. This effect appears only if thumbnails are showing, since the fade-in actually takes place over the thumbnail. [I also just made this happen when you open a new tab, to make it more obvious.])
Tabs still have a contextual menu—when you ctrl-click or right-click on a tab, it gets an alternate highlighting (different from the regular selection highlighting) so you can see which one you’ve clicked on.
Tabs no longer have an option to display favicons. Favicons bite because of the transparency issue—many of them use white where they should use transparency, so they look bad against darker backgrounds.
You can now undo/redo closing a tab. (But note that if you close a tab you lose any history—undoing it just opens a tab with the URL that the tab had. It’s too expensive to keep tabs around on the undo stack.)
There is now a Tabs menu—tab-related commands from File and Window menus have moved to the Tabs menu.
The thumbnail image files are stored at ~/Library/Caches/TabThumbnails.noindex/
Tabs switching
You can use cmd-9 and cmd-0 for previous and next tab. You can also use just the plain 9 and 0 keys. (Unless you’re in some kind of text view—the browser address field or a text view in a page, for instance.)
You can use the plain \ key to return to news items. (Cmd-\ continues to work also, of course.)
Searching in NetNewsWire
Uses the Spotlight APIs now—it ought to be faster.
Now uses the NSLevelIndicatorCell instead of my custom cell, which we can do now that we can require 10.4.
Toolbar
New Icons
The new icons are based on what I see happening in other OS X apps. The icons are circles (as in Xcode, VoodooPad, some of Camino)—but, more importantly, the icons are repeated shapes, as in Mail and Safari. They’re more button-like with simple abstract shapes inside the buttons.
The icon for the Sites Drawer may be insane. May be. Not sure yet.
The colors of some of the icons are based on your current user interface color, but, if you change that color, they don’t update until you restart NetNewsWire. (Known bug.)
To change the circle buttons to black (shades of dark gray, really): with NetNewsWire not running, copy and paste the following into Terminal and hit return: defaults write com.ranchero.netnewswire blackToolbarButtons 1
(To go back to regular buttons, repeat the step above with a 0 instead of a 1.)
Post to del.icio.us in toolbar
There’s a new post-to-del.icio.us command in the toolbar.Full Screen Mode
New command: . (Shortcut: cmd-return.) It does exactly what you think it does. ;) (I got the idea from VoodooPad. If you like the feature, thank Gus.)
Performance
When rebuilding the Latest News feed and groups, NetNewsWire is no longer checking uniqueness to avoid duplicates—except in the case of smart lists and groups, since a duplicate is possible there. (But then, smart lists aren’t working right now, so it’s hard to test if smart lists work correctly.) For people with lots of unread items you should probably notice a difference. (But there is, of course, more performance work to do—and sample reports are always welcomed.)
The data storage changes are all about performance too—the idea is to keep memory use down, which helps performance.
Validate this Feed
The command now opens a web page in a new window instead of in a new tab. (Like the post.to.del.icio.us command when NetNewsWire is your del.icio.us poster.)
TODO: some kind of feedback while the page is loading.
Feed Popup Button
In the browser header is a feed popup button. It lists all the feeds in the page. It finds not just the link feeds in the head section but also the a href= feeds in the body. In the case of a href= links, it makes a guess based on filename as to whether the link is to a feed.
If you’ve already subscribed to a feed, it says "(already subscribed)" next to it in the menu.
If a feed link has no title then the URL is displayed.
When more than one feed link has the same title, the URL is appended to the title.
Good page to test with: http://www.apple.com/rss/ (It finds all the feeds in the page.)
Post Tabs to Weblog
Opens a new window in your weblog editor listing all your open tabs in NetNewsWire. It’s a way of doing link-dumps.
So far it works with MarsEdit only—but I plan to make it work for ecto too before shipping. (I have a script that should work, but it hasn’t been tested yet.)
Styles
Including two new styles: Daring Gradient Bar and Noir - Blue Title.
Added FeedLight to special-case styles that don’t scroll a full page. (There’s a WebKit bug where, for layouts with fixed elements, scrolling by a page goes too far. So NetNewsWire knows about certain styles that have fixed elements, and scrolls less than a page for those.)
The styles popup menu is now a custom subclass of NSPopUpButton with a platinum unified-ish look.
Feed Reports window
The Feed Reports window consolidates the Dinosaurs, Attention, and Bandwidth reports in one window.
NewsGator On-Demand
Preliminary support for NewsGator On-Demand (hosted enterprise) has been added. You have to type the org code in the syncing prefs, as orgcode\password —it doesn’t pick it up automatically yet.
Feed Parsing and Processing
Now more liberal with XML errors (particularly character encoding errors)—using NSXMLDocument’s clean-up-XML option to clean feeds that won’t otherwise parse.
Worked around a bug escaping text in some Atom 0.3 feeds where in some cases you’d see the tags visibly in NetNewsWire. (Note to world: please use Atom 1.0 instead of 0.3.)
WebKit Cache
No longer setting a custom path for the WebKit cache—since it doesn’t actually work. The folder doesn’t get used. So, now, the WebKit cache is back to being at ~/Library/Caches/NetNewsWire/. (Even though I’m putting other things in there too. TODO: file a bug with Apple.)
Memory Report
A new command in the Help menu—Memory Report—generates and displays a report with some important info about how you use NetNewsWire. If you have memory or performance issues, please choose this command and copy the results into an email and let me know.
This report includes the things I would check were I sitting in front of your computer—things like how many feeds, total unread count, browser tabs, etc.
Here’s an example from my development machine:
Unread Count: 243 Number of feeds: 111 Avg. unread: 2 Number of news items: 2499 Avg. news items per feed: 22 Number of browser tabs: 3 Number of loaded browser tabs: 1 Number of unloaded browser tabs: 2 Always load tabs at startup: 0 Combined View: 0 Show Latest News feed: 1 Show Flagged Items feed: 1
Downloading progress
Using one of those cool new progress indicators (thanks to Jonathan Wight of Toxic Software) in the bottom left corner of the window while a download session is happening.
DotMac/FTP Syncing
No longer loading web pages in tabs at the end of sync process, which helps performance if you have lots of tabs.
Change needed for Intel/PowerPC compatibility
Changed how hashes were created for news items that don’t have guids. (To fix an endian issue that was causing .Mac/FTP syncing to not work with guid-less feeds when syncing between PPC and Intel Macs.)
This change is going to cause a hiccup in syncing for people who use .Mac/FTP syncing—feeds that lack guids will not sync read/flagged status properly right at first. But then it will work itself out. (And then it will work properly for people syncing between PPC and Intel Macs.)