Menu

ReSiStance 0.8 with Google Reader support

Posted by, svillar on January 11, 2011

I delayed a bit ReSiStance development during last months because we had a lot of work in Igalia’s WebKit team. But I managed to find some time during Xmass to advance some work and to review a couple of pending patches. The most important ones were by far, the Google Reader support ones.

It all started with some sensational work done by Chus Picos. She did almost all the research regarding the status of Google Reader API (check here if you’re interested) and cooked a very nice set of initial patches. Thank you very much for the great work o/o.

Using those patches as basis, I fixed some remaining issues detected during the review process and implemented a couple of (IMHO) nice features I wanted on top. Basically with ReSiStance 0.8 you can:

One-click import of the feeds from your Google Reader account

Auto read/unread status sync with Google Reader as you read

Add new subscriptions to Google Reader

Remove subscriptions from Google Reader

Note that being a mobile app I tried to minimize network traffic as much as possible, and thus, no synchronization is performed automatically except the read status update as you read.

So this is how the main window looks like right now:

There you could see that the Google Reader patches came with a couple of UI changes. Zooming in the left part of the screenshot

unveils a couple of new UI elements:

a brand new cell renderer to showboth feed title with subtitle and small Google Reader like icon for subscribed feeds (Planet Igalia and Fanhouse NBA blog in this case)

feeds without favicon now get a default RSS one (see Planet Webkit)

Now if we take a closer look at the rightmost part of the main window

we could realize that another new cell renderer was also developed to show the amount of unread items (and yes the background color is taken from the theme) inside a rounded corner rectangles.

Apart from the new UI items and the Google Reader support, there are a lot of other changes like connectivity improvements (with libconic integration), better exception handling, sorting fixes, duplicate entries detection…

Summing up, this new release not only adds some changes in the UI but tons of them in the guts of ReSiStance, so give it a try if you like it and tell me any bug you might find. Take into account that you need to setup the extras-devel respository in your N900 to have ReSiStance listed in the Application Manager. For those interested in the code, you can get it from the git repo as usual.

great application, thank you all!
Still it seems a bit slow to me if one has a lot of feeds in it or one which is currently not reachable…
Good old “grr” instead seems to get all the content of feeds via google reader so this way it only starts one connection and because of this is much faster, right?!
Do you have any plan on using / providing this way too?

@ReinoutS: Open a terminal and type “netstat -at”. If you see some hostnames corresponding to feeds you have in google reader, then resistance is definetly doing the right thing. It took quite a while on my device too.

@m4lvin yeah ReSiStance still downloads the feed contents from the original sources and not from Google Reader. I do that in order to have the same code for all the feed sources. But if the difference is big I can think about that (patches welcomed BTW)

“Note that being a mobile app I tried to minimize network traffic as much as possible, and thus, no synchronization is performed automatically except the read status update as you read.”
Well, that is good, but a little bit unfortunate aspecially on wifi connection. When I launch RSS reader, I want to read what is new, so an autosync (I guess I mean update) on launch would be a nice feature (if it does auto-sync, it seems not to work for me).

Also, is there a way to go to the source? Lots of feeds do not provide the whole text and insted they povide only a link – I would like to be able to follow those from the reader. Especially nice would be, if I could do it with multiple articles at once (i.e. I got ten new articles with links to source texts only, so I would get to open all of them in one action – similar to removing items in file manager)

Also, if it were possible to view only unread items (i.e. automatically hide feeds that did not get updated) would be nice.

@svillar
I have added all three, I hope you have luck with them. If implemented, I would fall in love with Resistance (so far, grr is better for me needs, but it is far from ideal and not actively developed – and the interface of ReSiStance is much better).

I second the request for tt-rss support – I use tt-rss and it’s great. The mobile interface in tt-rss 1.5 actually works pretty nicely with the n900 browser, but a native client would be even better. I’ll check if the OP filed a bug yet, and if he didn’t, I will…thanks!

Thank you all for the very kind comments, and all the suggestions but specially for the quick testing. I’m really sorry for the feeds in folders bug, but it’s a bit complicated to cover all the cases when you don’t know the scheme of the xml.

I’ve just uploaded v0.8.1 to maemo-extras with that fix. Hope it works for most of you.

Regarding this issue @ReinoutS, what version are you talking about 0.8.1 or 0.8.2 ? I can import http://blog.xebia.com/feed/ perfectly. Do you mean adding that feed from scratch or getting it from Google Reader?

By the way, I do not know if it is worth reporting as a bug – using 0.8.2., initial synchronization to google reader first shows lots of unread posts with each feed and corrects itself only after the synchronization is done. I.e. with each added feed from google reader, a certain number of unread posts is indicated. Only when the synchronization is complete (for all feeds), the number of unread posts is set right. It is a minor issue but it confused me a lot. Also it seems to me it slows the process a bit (ReSiStance downloads posts that already been read).

@Tomáš actually that’s not a bug. ReSiStance downloads the feed items from the original source, i.e, it downloads what the original source provides. After that we perform a read/unread synchronization with google reader in order to know what items were read in Google Reader. It’s not a bug to download items previously read. Many people store their read items, because they want to read it again or whatever.

@svillar
Oh, I see. Does that mean that anytime you sync with Google Reader, ReSiStance first pulls all updates and then marks as read those that are unread in Google Reader? Well, I can see someone finds that useful. On the other hand, it is not very bandwidth friendly when on cellular, right? I would not mind if there were an option to download only unread items (if only because it is much faster to get updates then – I do most of my reading on a laptop and use the phone only occasionally), but it is not something I am terribly concerned about (and neither am I producing any patches).

@Tomáš yeah well, the library used by ReSiStance does not allow you to select which posts you want to download. You could do that with Google Reader API but I don’t want to change the way ReSiStance works unless the performance degrades a lot easily when using Google Reader.