SharpReader Q&A

Fabrice has a wish-list for SharpReader:

a lower memory consumption (currently everything is kept in memory right?)
Yes, currently everything is kept in memory. I have considered changing that ever since I started to run behind myself on reading my subscribed feeds and ended up with over 10,000 unread items ;-) This will be a pretty big change though so it'll take a while. Does anyone know of a free file-based database-component for .NET I could possibly use for this? Using an existing component should make things a lot easier compared to coming up with my own database/indexing system.

multi-selection for feed items and for feeds
I worked on that a while ago (before the first release) but weird things started happening that seemed like .NET bugs to me at the time. It's very well possible that I was doing something wrong though, or maybe they were bugs but are fixed now in .NET 1.1. Either way, figuring this out took too much of my time back then which caused me to at that time simply go back to single-select. It's still on my TODO-list to try and fix this though.

properties for feeds to be able to change the refresh rate for example
This is already there - the refresh-combo selects the refresh for the currently selected feed. If kept at default, a feed will inherit its refresh rate from its parent-category.

being able to stop applying a filter right next to the Apply Filter button
Also already there - just remove the filter dialog (Ctrl-Shift-F) and the filter will be disabled.

What are the plans Luke?
Apart from the stuff mentioned above, I'm considering
  • implementing a customization mechanism for the rss-item display - either using XSLT or a MT-like templating language
  • integrated back/forward buttons that don't just work for the embedded browser, but also for selected items & feeds
  • find and squash that bug that causes SharpReader to crash on Win98/WinME. I just dug up my old Win98 P166 a few days ago so I should be able to run some tests at home now to try and fix this. (if .NET will even run on a system that slow though...)
  • Support IBlogExtension
  • Balloon or MSN-Messenger-style popup to show alert when new feeds come in
  • More per-feed options besides the refresh-rate: auto-purge items, auto-show link in embedded browser, etc.
  • and last but not least: take this baby open-source so I can get some help with all this and more. I've got a bit more code-cleanup to do before I'm willing to share it though, and I still need to decide on which license to use.

TrackBack URL for this entry:

I've never used it, but... maybe it's good enough.


I really like SharpReader: thank you for your work.

Posted by Fabrizio at May 19, 2003 2:35 AM

"Balloon or MSN-Messenger-style popup to show alert when new feeds come in"

As long as I can turn it off :)

"More per-feed options besides the refresh-rate: auto-purge items, auto-show link in embedded browser, etc."

I'd like to see (not as "option" so much but as part of "properties") what type of RSS feed on is: RSS 0.9, 0.91 ... 1.0 ... 2.0 ... I often want to look but now I have to load the feed into a browser to be able to see that. Alternatively a "show feed source" option that does just that: show the actual XML of the feed.

Posted by Marjolein Katsma at May 19, 2003 5:47 AM

Can't you use OleDB with a simple text database or even an access database? That would make it easierfor others to use it too for other purposes :)

Posted by Jesse Houwing at May 19, 2003 6:51 AM

I like the back and forward options a whole lot. The amount of times I've stupidly clicked a different feed then can't remember the last item I was on :)

Posted by Dan F at May 19, 2003 7:07 AM

Hey luke! I'd sure like to help with the open-source stuff!
plus - I'd like to know what control do you use to allow a tree-view inside a list view?

Also -
1) How about adding an "Author" column to the list view?

2) Allow marking a single Item as unred (not just all of them)

3) When applying a filer - put up an hourglass would help know what's happening.. or maybe a progress bar?

Posted by Roy Osherove at May 19, 2003 7:42 AM

I Was Naked

Trackback from ISerializable at May 19, 2003 7:46 AM

I would personally just use an access database.

The user won't need to have access installed, only .NET. (you could also use MSDE...but that is up to you :D)

Once you have the data in some kind of database format the options for manipulating/etc the data greatly increase.

As for indexing, I have had some good experiences with NLucene. (give me a ping for some sample code if you are interested)


Posted by Scott Watermasysk at May 19, 2003 8:18 AM

For the open source thing I've asked it some days ago:

I think SharpReader must not have all on DB cause on my machine (now) takes 64+ MB of memory. I think Access could be the right choice

About MSN Messenger popups..take a look at Genghis: In its features it does have that


Posted by Lawrence Oluyede at May 19, 2003 9:01 AM

"This is already there - the refresh-combo selects the refresh for the currently selected feed. If kept at default, a feed will inherit its refresh rate from its parent-category."

If feed inherits refresh rate from parent - it should show that in refresh-combo. If you change "Default refresh (60)" to "Same as category" it will be enough for most people to notice.

One nice addition to SharpReader would be an ability to filter out by read/unread status. Both for feeds tree and single feed.

And at last one visual bug to report (besides not saving window dimensions properly ;o)). Look at that picture:

This is what will happen with screen resolution set to 1200x1024 with large fonts.

Posted by Aleksey Maksimov at May 19, 2003 11:10 AM

Great plans, Luke!

Like Marjolein, I'd like to see a property dialog (or property pane, or something else, I know that dialogs were not part of the initial design...).

What I'd like to see on that window:

- Name
- Description
- Author
- Feed address (for the RSS)
- be able to change it
- be able to copy it
- a link to open it in a browser window
- display the RSS version
- Home page (for the HTML)
- be able to change it
- be able to copy it
- a link to open it in a browser window
- Refresh rate
- ...

I'd say that these changes, plus the ones you listed make a lot for one developer alone. Releasing this project as open source is a smart move to make it a success. I think it's needed to be able to keep up with the feature requests and bug fixes. But of course you'd have to remain the main project operator to keep it moving in one, good direction :-)

My votes for the wishlist (apart from the bugs that need to be fixed of course):

1) Memory consumption (that needs to be fixed sooner or later...)
2) Feed properties
3) back/forward navigation (great!)
4) Multi-selection
5) ...

One more wish? Improve the search filter:
- date interval (using calendars)
- read/unread (often I remember I've read something, but where ;-) ...)

Posted by Fabrice at May 19, 2003 12:21 PM


Some features that I'd like to see:

Top of my list: Ability to store the subscription list (and the read/unread status data) on a remote server, so I can use multiple instances of SharpReader on different machines (e.g. home/office) from the same subscription list. (Happy to download all the posts to each machine -- just want a way to keep the subscription lists in synch that's easier than daily import/exports).

That's perhaps to quirky because not everyone works off multiple machines, but that same capability might be useful for sharing subscription lists -- e.g. if I can dynamically work off my online subscription file, maybe I can work off other peoples's as well, combine it with mine, allow them to use mine, etc. -- share the subscriptions!

Also very important: Filter by read/unread/changed.

Ability to Shift-Click or CTRL-Click to select multiple items (e.g. to delete or mark a group of items at once)

Posted by Greg at May 19, 2003 12:44 PM

Regarding customization via XSLT or MT style tags... definitely include CSS and/or Javascript. I'd love to add little JS snippets like Blockquote Citations (

Posted by rick at May 19, 2003 12:46 PM

Desired little feature: add unread items (of currently selected blog) to the status line since for me, and I'm expecting others as well, the left column isn't wide enough for this bit to be visible.


Posted by BillSaysThis at May 19, 2003 2:38 PM

I would like SharpReader to work in Terminal Services/Remote Desktop mode. As it stands now the current version doesn't even load. It just pauses for a sec, then returns me to the desktop without any error/exception at all.

Posted by Dan Bright at May 19, 2003 4:26 PM

A simple yet essential request:
Please allow resizing of columns in list view.
I can't read the full subject, unless I maximize sharpreader.

Posted by Amber at May 19, 2003 4:43 PM

A toolbar would be handy.

Great job, best RSS reader I've found yet.

Posted by Glenn at May 20, 2003 12:51 PM

Hey Luke;

Check out vmware to make testing under various OS's a ton easier --- a potentially way faster than your old P166!

- J

Posted by JDM at May 27, 2003 3:01 PM

JDM: I'm sure vmware is easier & faster than using my old P166, but unfortunately it's not free. And since I'm not making any money from SharpReader, I'm hesitant to spend the $299 to buy vmware.

Posted by Luke Hutteman at May 27, 2003 3:20 PM

I'm interested in most of the features listed above.

An access database would certainly be the easy way to go, though MSDE would be the more robust solution. You may be able to look into the database replication stuff that MSDE supports (I've never played with it myself)
One hassle with MSDE is apparently it is a problem to install correctly as part of an install process, and Microsoft themselves have been known to get it wrong in several products...
A good comparison article of MSDE vs JET (Access) is at

I'd like to add my opinion to the feed options debate: In terms of windows user interface guidlines I look to the file menu and right click context menus for properties of the feed. I'd expect that it would show a dialog box with the ability to modify the various feed settings listed by Fabrice. The "combo box" in the top right breaks the standard user experience.

A small annoying bug that would be nice to fix, but is just a cosmetic thing is that the when you add the links to the feed / title to your favourites the word Feed or Title is added to the favourite's title. The Feed: part shouldn't be part of the link.

I'm all for the open source idea, though I think it's something you'd have to think carefully about in terms of licensing conditions.

Another feature request would be the ability to flag particular items for later follow up, perhaps this is / could be part of the BlogThis / BlogExtension stuff (I haven't played with either, sorry)

Enough ranting I guess....

Posted by Skware at May 29, 2003 4:13 AM


Sharpreader is great!

I would like to help making a right-to-left Hebrew verison,
whenever this gets open sourced!

Good luck,
Udi, Israel.

Posted by Udi at May 29, 2003 1:04 PM

SharpReader is definitly one of the better readers out there. I do have one suggestion/request. I'm not sure of the name but I've used a Reader which would warn me about popups and ask if I wanted to allow it to open. Having that as an option would be really nice since New York Times feed can be poprific :p at times.

Posted by Shane Courtrille at June 3, 2003 6:57 PM

I don't know how much you've thought about it lately, but memory usage issue is the only reason I'm currently not using sharpreader. I love it otherwise, great work!

My biggest problem with sharpreader's memory usage is it still uses so much when it's minimized to the system tray. I'd love to leave it open all the time, but it should really dispose the forms and write all the data to disk, though still checking for updates and writing them to disk.

Frankly just using a dataset and writing it to disk as xml would work great I would think. And if it wasn't 'great' it's probably better than the current state of memory usage when I ignore the feeds for a day more more.

A class for data access which can handle different sources (MSDE, access, xml files) would probably be ideal, and you could start off with support for only one method at first.

Posted by PurpleFlux at September 22, 2003 12:11 PM
This discussion has been closed. If you wish to contact me about this post, you can do so by email.