Category Archives: Software

NewsBee 1.1 Available in the App Store

NewsBee version 1.1 is now available in the App Store! In addition to the new features listed below, I’ve also made substantial performance tweaks to NewsBee with respect to parsing feeds and just general loading of menus. Thanks to everyone who sent email and requested new features!

Please note that NewsBee is now free in the App Store. I want to thank everyone who purchased a copy. Future updates will also be free.

Multiple Sites in the Status Bar

NewsBee now supports adding multiple sites right to the status bar. This feature change makes it simple to keep your very favorite sites close to hand while still keeping true to NewsBee’s goal of up to date news without distraction.

Activating multiple sites is easy. Just select Preferences > General, select the site you want to add to the Status Bar and then click the “Add to Status Bar” button. When you close the Settings window, NewsBee will reload and display all of your changes.

To remove a site, just go through the same steps and click the “Remove from Status Bar” button.

Multiple Popup Sizes

By popular request, I’ve reworked the popup handler to allow for multiple sizes. I’ve also made a few performance improvements here too that should make loading popups even faster.

Changing popup settings is easy. Just select Preferences > General and then switch to the General tab. There is only one setting on this tab now and it’s for the popups. Move the slider to the size you want and then close the settings window. NewsBee will reload, applying all of your settings changes. The new popup size should be active at that point.

In addition to these major changes, I’ve also added a “Close this menu” option to each NewsBee menu. This option will close just that one site, leaving any others running. This is a convenience option to turn down the noise, as it does not permanently remove the site from the Status Bar. If you quit NewsBee and restart, the site in question will return. You need to go into settings to turn the site off if you want to remove it permanently.


NewsBee is a minimalist RSS reader that lives in your status bar and helps keep you clued into what’s happening without causing the usual distractions that plague most newsreaders (i.e. +1000 unread stories filling you with “RSS remorse”). More information about NewsBee can be found at http://www.jamiegrove.com/newsbee.

NewsBee in the Mac App Store

NewsBee 1.1 Preview

NewsBee version 1.1 is now with Apple for review and should be available very soon. In addition to the new features listed below, I’ve also made substantial performance tweaks to NewsBee with respect to parsing feeds and just general loading of menus. Thanks to everyone who sent email and requested new features!
For a limited time, NewsBee is free in the AppStore. Get it now and get version 1.1 for free when it launches!

Multiple Sites in the Status Bar

NewsBee now supports adding multiple sites right to the status bar. This feature change makes it simple to keep your very favorite sites close to hand while still keeping true to NewsBee’s goal of up to date news without distraction.

Activating multiple sites is easy. Just select Preferences > General, select the site you want to add to the Status Bar and then click the “Add to Status Bar” button. When you close the Settings window, NewsBee will reload and display all of your changes.

To remove a site, just go through the same steps and click the “Remove from Status Bar” button.

Multiple Popup Sizes

By popular request, I’ve reworked the popup handler to allow for multiple sizes. I’ve also made a few performance improvements here too that should make loading popups even faster.

Changing popup settings is easy. Just select Preferences > General and then switch to the General tab. There is only one setting on this tab now and it’s for the popups. Move the slider to the size you want and then close the settings window. NewsBee will reload, applying all of your settings changes. The new popup size should be active at that point.

In addition to these major changes, I’ve also added a “Close this menu” option to each NewsBee menu. This option will close just that one site, leaving any others running. This is a convenience option to turn down the noise, as it does not permanently remove the site from the Status Bar. If you quit NewsBee and restart, the site in question will return. You need to go into settings to turn the site off if you want to remove it permanently.


NewsBee is a minimalist RSS reader that lives in your status bar and helps keep you clued into what’s happening without causing the usual distractions that plague most newsreaders (i.e. +1000 unread stories filling you with “RSS remorse”). More information about NewsBee can be found at http://www.jamiegrove.com/newsbee.

NewsBee in the Mac App Store

How to Scale a WebView in OSX to Preview Content

While working on updates to NewsBee, I decided to tackle a thorny problem I pushed off in version 1.0: scaling a WebView in OSX.

For those of you who don’t know, NewsBee is a minimalist RSS reader that lives in your status bar and helps keep you clued into what’s happening without causing the usual distractions that plague most newsreaders (i.e. +1000 unread stories filling you with “RSS remorse”). One of the things NewsBee can do is show a little popover window to display the content of the RSS feed. It’s a fun feature and for sites with nice RSS entries, it’s a quick way to see what’s happening without getting too invested in the noise of the feed.

NewsBee can show mini previews of content.

This feature makes use of a NSPopover with a WebView embedded inside and it works pretty well. The problem is that I chose to make the popover a bit small to stay out of the way. However, if an image is too larger to fit within the constraints of the page, it’s likely to overflow beyond the visible page. Here’s an example using Apple’s home page.

You’ll notice that the rest of the iPad Mini is off the screen. This is exactly what will happen if you have a WebView in an OSX app and the content is larger than the visible area.

In iOS, this is no big deal since scaling is part of the UIWebView class (scalesPagesToFit:). In OSX, you have to roll your own as the WebView class does not support this method.

To solve this problem, I could add hack the HTML I’m putting into the WebView. I could add some CSS3 scaling or even do some fancy Javascript to resize the WebView based on the calculated size of the page. And as you might expect, I tried these options and ultimately decided to abandon them because they either:

a) Made the WebView too large
b) Scaled the page in a way that made the content look funny
c) Produced inconsistent results

So, I launched NewsBee 1.0 without scaling content and of course the first request I received from live users was the ability to resize the popovers. 🙂

How to Scale a WebView in OSX to Preview Content

As I noodled through the problem, a friend pointed out that Apple Mail has a preview button on all URLs. When you tap it, Mail shows you a snapshot of the page in a NSPopover. Here’s what that looks like:

After testing with a variety of links, I saw that Apple was getting flawless results on resizing content. Then it occurred to me that they were likely loading the content in an off screen WebView, taking a image representation of the view, and then scaling that according to the size of the NSPopover view. And guess, what? It works.

Here’s the process for setting up the off-screen WebView:

  1. Create a WebView about the size of a regular browser window (eg. 1000px x 1000px).
  2. Set the delegate so that you can handle didFinishLoadForFrame: when content is loaded.
  3. Load the content by calling loadRequest: on the mainFrame of the WebView or by passing HTML to the mainFrame by using loadHTMLString:.


WebView * placeHolder = [[WebView alloc] initWithFrame:NSMakeRect(0, 0, 1000, 1000)];
[placeHolder setFrameLoadDelegate:self];
// Assumes displayHTML is a NSString with valid HTML.
[placeHolder.mainFrame loadHTMLString:displayHTML baseURL:yourNSURL];

At this point, you just need to implement didFinishLoadForFrame: method of the WebFrameLoadDelegate class to capture and process the results.

Here’s the code for implementing the didFinishLoadForFrame: method of the WebFrameLoadDelegate class:


- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
NSBitmapImageRep *imageRep = [sender
bitmapImageRepForCachingDisplayInRect:[sender frame]];
[sender cacheDisplayInRect:[sender frame] toBitmapImageRep:imageRep];
popoverBackground = [[NSImage alloc] initWithSize:[imageRep size]];
[popoverBackground addRepresentation: imageRep];

// imageView is a NSImageView I've hooked up in IB
[imageView setImage:popoverBackground];

}

In Interface Builder, my NSPopover xib as a Custom View with a single NSImageView inside. The NSImageView uses autosizing to stay aligned with the size of the Custom View. The Image Cell inside the NSImageView is also set to scale proportionally down.

As a result, NewsBee 1.1 will have much better popover previews. Users can select from multiple sizes and the full page will be displayed and scaled accordingly. The other side benefit is that doing all the loading in an offscreen WebView seems to speed things up quite a bit.

NewsBee is #4 in Mac app news downloads

I just checked the Mac App Store and was pleasantly surprised to find NewsBee at #4 in top paid news downloads!

NewsBee is a minimalist RSS reader that lives in your status bar and helps keep you clued into what’s happening without causing the usual distractions that plague most newsreaders (i.e. +1000 unread stories filling you with “RSS remorse”). More information about NewsBee can be found at http://www.jamiegrove.com/newsbee.

NewsBee in the Mac App Store

NewsBee Launches – A New Minimalist RSS Reader for OSX

Super stoked to announce that NewsBee 1.0 is now available in the Mac App Store!

NewsBee is a minimalist RSS reader that lives in your status bar and helps keep you clued into what’s happening without causing the usual distractions that plague most newsreaders (i.e. 1000+ unread stories blaring at you).

I made this app to keep up with what’s happening in the world of Hacker News. I wanted to be able to dip in at my leisure, without going to a web page or dealing with the noise of a regular RSS reader. As the app progressed, I figured I’d add the ability to change feeds and show popover previews of content. That said, I’ve never left the core principle of “one-site-at-a-time-so-you-don’t-get-distracted-by-new-shinies”.

You can read more about NewsBee here…

NewsBee in the Mac App Store