Let’s make Akregator hot again!

Hello KDE fellas!

After a very busy university term, I have finally got myself to write this post about the status of reading RSS/Atom feeds on KDE. Consider this post as if it was written in September 2011, things have been pretty much frozen since then.

The aim of it is:

  • updating the KDE community on what is new with news feeds reading in KDE;
  • “refactoring” ideas in my mind after a semester of slacking off;
  • encouraging people to help making the “feeds reading experience” on KDE cool again! (YES, I AM asking you to join this project)

Akregator (news feed reader of the Kontact suite) was introduced along with KDE 3.4 in 2005 and aficionados of the KDE platform are still using it. However, many other users switched to more convenient web platforms such us Bloglines earlier on, or Google Reader (GReader) lately. Look at these statistics on the GReader devs blog. Ok, it’s not clear what the y-axis in those graphs represents, but still… Unfortunately, Akregator has also been struggling with attracting new users. See this survey from howtogeek.com and you will have a picture of what many geeks choose as they favorite news feed reader. Alas, it’s hard to find a single comment where the Big-G aggregator is not mentioned :( What makes so many readers to favor the Google aggregator? Well, as usual in the case of Google products, it works fairly well and it has got almost all the features that most users want. In my opinion, there is more, though. The most important feature of GReader is that it’s out there on the web and, no matter where you are, you just need a browser and a Google account to access it. What is wrong with using Google Reader then? First of all, you also need an internet connection to access it and you know, that’s not really everywhere (Notice that since May 2010, the offline feature of Google Reader is no longer available). Second, in terms of comfort, nothing beats a KDE application, with its perfect integration with your desktop, notification system, ability to use quick search features, and so on. Third, if you care about your privacy, the new Google’s privacy policy is definitely not something that can make you happy.

This leads us to the encouragement that titles this post: let’s make Akregator sexy again and let’s switch back to it! An idea for doing this came up in the last summer, when I was looking for a Season Of KDE project. I was chatting with Jakob Sack (jakobsack) and Robin Appelman (icewind) on the #owncloud channel and they mentioned that a feed reader was one of the most important among the applications missing in ownCloud. If you don’t know what ownCloud is, you should absolutely check it out (http://www.owncloud.org)! Jakob’s and Robin’s idea was not just to create an online feed reader, but something way cooler: bringing Akregator to the cloud. Immediately after this idea came up, I checked it with Frank Osterfeld, the Akregator maintainer (Frank from now on). Since the very first conversation with him, it became clear that there was a fundamental preliminary step to take before bringing Akregator to the cloud. This was a fully working port of Akregator to Akonadi.

Started few years ago, the creation of the Akonadi framework gave fresh nourishment to the development of applications that manage personal information on KDE, i.e., KDEPIM applications. Many components of Kontact, the personal information manager of KDE, greatly benefited of the port to Akonadi with new interest and new features coming to the platform. Unfortunately, one of the components that was left out from this trend was Akregator. The basic reason for this was that Akregator has always had basically only one committed maintainer, Frank (kudos to him!), and not many other developers involved. A partially working port of Akregator to Akonadi eventually happened in 2008-2009, when Frank was joined by Dmitry Ivanov, a GSoC student at that time. You can read more about the amazing job that Dmitry and Frank did in that period in Frank’s post dated July 2009 and Dmitry’s post dated November 2011.

What happened since then? Not much. No earth-shattering changes happened to the code and the port to Akonadi never made it to the master branch of KDE. Again, the reasons are: basically no developers involved and the code that had become very complex, mainly because of two architectural choices. First choice was the decision to use tagging instead of a simple folders tree structure. Second, the choice to write a common resource for all the RSS services and just a sub-instance of it for each individual service (Newsgator, GReader, local). Dmitry’s resource is called krss and it’s in kdepim, branch work/akonadi-ports.

The news is that during SoK 2011, under Frank’s mentorship, I wrote a new Akonadi RSS local resource. It imports information about the feeds from an OPML file, loads the items and store them in Akonadi. You can flag the items as read/unread/important, and organize them in folders. We used many pieces of Dmitry’s code, including the serializer and all the classes that model the basic objects such as feeds or items. We rewrote the basic methods that define the resource from scratch. The code became simpler, although some features are missing in the new resource. It’s also less general, since you can’t extend it easily to any application other then the OPML storage. It works, though, and you can see it in action in the following (mandatory) screenshot :).

Screenshot of krsslocal on Akonadi Console
krsslocal on Akonadi Console

You can find the source code in the following repository:

http://quickgit.kde.org/?p=scratch/cosentino/krsslocal.git

If you want to suggest features, report bugs, or just comment about the resource, feel free to buzz me (zimba12) on Freenode (I am very often in #owncloud and #akregator).

Other encouraging news: Frank wrote a new migrator for the old data (it’s in kde:clones/kdepim-runtime/osterfeld/akregator-migrator) and he fixed some bugs on the Akonadi port of Akregator (it’s in kdepim, branch work/akonadi-ports) while testing it against the new resource.

Finally I believe there can be new excitement around Akregator!

Screenshot of krsslocal on Akregator
krsslocal on Akregator

If you also got excited and want to know more, you can check out my wiki where I take notes about the entire project at the following link: http://algorithmsforthekitchen.com/wiki/doku.php?id=sok I use it as scratch paper so the information won’t be much coherent. In case it doesn’t make sense, feel free to ask me questions on chat.

Once again, this IS a call for joining the project and don’t forget the KDE Philosophy: When making a suggestion, change “we should..” to “I will..”.

In the part 2 of this post (stay tuned on planet-kde for it!), I will be talking more about the ownCloud feed reader application on which I am working right now and how this will be integrated to Akregator+Akonadi in the future.

Cheers!

27 thoughts on “Let’s make Akregator hot again!

  1. well im using akregator all day all day long
    and just because of akregator i noticed this article and am writing this comment right now ;)

  2. I have just submitted a handful of patches made by various GCI students for akregator, a app that I use daily.

    I might be in for reviews and sanity checks and other such things.

  3. Ubber super awesome!!!

    I’m really really glad to read new about one of my most used applications in KDE ! wish I could join the effort but my agenda is full atm :(

    Do you have any plans for GReader support? for Android users is quite important :p

    1. @afiestas (3) and @cph (7):
      Reverse engineering of the GReader protocol is not a priority. As far as I know, a Google Reader API has never been officially released. The idea is that Android users will be reading feeds from the ownCloud Android app (still a work in progress).

  4. You are my hero. I use Akregator very much. It is basically a fine application, but it misses the polishing at points:
    - The first tab showing the contents of a feed should be static.
    - Konquerors feed detection for adding new feeds should also exists within Akregator itself.
    - There should advanced tab handling features (tab grouping, an tab overview mode which it makes it easier to select and close many tabs at once, …)
    - Better search functions
    - Share a link in Facebook
    - There is an annoying bug when you click on pictures (sometimes, not always): You can not go back in history any more.
    - May be some functions which are similar to http://www.readability.com (via css-style)

  5. I’ve been using Akregator for years – everyday.
    The only feature missing is the ability to restore a deleted Article, if that is even possible.

  6. I’ve been trying KDE for a week or so and like Akregator a lot. I switched from Liferea the first day.
    First thing, I enlarged the font for the articles and then the overall system font for the list in the top box. The aging of many computer users is going to become an issue soon. Most default fonts are too small for older people.

    Bug, I think: if you are reading an article in a tab, Ctrl-End and Ctrl-home are still focused on the feed list in the left column.

    Bug 2, I think: I tried to enter this comment while in tab view and the tab locked up, but now I can’t repeat the problem. I am in Konqueror at the moment.

    Main reason for using a standalone reader: privacy, and not being dependent on Google or whoever for layout, access, choice of articles, etc.

    – Ed H

  7. Great to hear. One “feature” that I find a real pain with the current implementation is that the Ctrl+C shortcut does not actually cpoy the selected text – rather I have to use the popup menu and “copy”!

    I also hope that a synchronisation with greader will be possible.

    1. @cph (7)
      About the ‘copy’ issue: can you please report the bug in the KDE tracking system, specifying which version you are using.

  8. I have been using both Google Reader and Akregator for several years. There are two problems with the Reader. The first is that there is no usable title list so that interesting articles can be picked. Akregator has it. The second is that scrolling the list of abstracts jumps around in Chrome, Firefox, and Konqueror. Marking all abstracts as read fails in Chrome. This brings up a major irritation in Akregator. About 1 in 10 titles do not completely delete from the list. An example of a feed with this problem is http://www.siliconprairienews.com/omaha.rss

  9. I’m so glad that someone will work on Akregator ! I used this app for years but I recently switched to RSSOwl just because it can synchronise the feeds via greader (I use several computers with KDE, at work, on a desktop at home, on my laptop…). I will be more than happy to come back to Akregator if there will be a way to synchronise my feeds :)

    cheers

  10. I’m using Akergator in daily basis. It is the joy of using KDE :). However, I do not like the jumping between Akergator and the bowser. If there is a way to blend the bowser and Akergator in nice way, it will really cool. I’m thinking of 3th pane that comes when you double click the article and cover the other two panes. After finish reading the article, hit back button to come to normal view.

  11. Something else I really miss is a filtering mechanism which would allow to not show or only show filtered items in a feed folder.

  12. Hi,

    It’s a very good news indeed ! To tell you the truth, I just installed Owncloud and created a few Git repositories with the intent to do exactly that (owncloud sync of akregator) when I saw your post.
    I would really like to join the effort. Do you hang on IRC so that you could tell me where help is most needed and help me to start with your code.

    I’m hanging on #kde-devel & #kontact, nick “anarky”

    Cheers

  13. I’m not sure as to what you mean by “stor[ing] in Akonadi”: http://blogs.kde.org/node/4503

    Currently, I synchronize Akregator’s metakit files between my two machines so that they share the same data (history, read/unread articles, etc.). Will it still be possible and easy after the port to Akonadi?

  14. Google Summer of Code code be helpfull for finding more helping hands on this. Seems like Lydia is collecting ideas for this now.

  15. Happy to hear more work on Akregator!

    IMHO it needs Liferea-style filters to help quickly find important news. What it doesn’t need though is the abysmal Liferea-style disk performance ;-)

  16. Fantastic news! Since I’m a student myself that’s very interested in C++ programming, I’ve been eyeing a few KDE sore-spots to improve and Akregator is one of them. There were a few changes I wanted to make and, time permitting, I might look into, including:

    1. Fix the Unified view – do nice things like detatch loading of news from the UI (make the UI non-blocking), mark news as Read in an intelligent manner (Have the title of the currently, “selected” news item highlighted and set to read, allowing users to use the toolbar buttons/actions on it, for example?) and other nice things (make it eat less RAM, if possible)
    2. Configure the news title theme KMail-style (I would personally like to see from which news/blog site a particular article is from in the title, for example)
    3. A prettier theme!

  17. Great news!

    Would it be possible to have a comics backend (using the comic plasmoid retriever)? I would love to be able to track comics on my computer, but I find the plasma interface insufficient for my needs. Having a nice, neat organized list of comic strips, with individual entries for each new comic, would be great for me.

    I currently use RSS feeds but this is not optimal because the comics in the RSS entry are often not in a good format (or downright invisible) and the feeds often include non-comic entries I am not interested in.

  18. I think GReader has the really nice feature to just show you *less*. You only see the newest entries and don’t get a giant clutter of articles that you wouldn’t read anyways. Yes, for me that always was an issue!

    In order to provide some similar functionality, you can use the excellent “Plasma Feed” plugin that puts a short list of the feeds directly on your Plasma Desktop. It even has some Akkregator connection (can import feeds from there, sync doesn’t work though). Check it out: https://gitorious.org/plasma-feed/plasma-feed

    1. @Andrea: not at all. If you read the most recent posts in this blog, you see what is happening. In the last year, I have been busy with the feed reader app for ownCloud, which is part of the same project. Next steps are: implementing API for the ownCloud app, creating an Akonadi resource that interfaces this API and testing Akregator2 with this resource. It might sound ambitious, but you know, step by step…

  19. I like the feedreader, but…
    Wouldn’t it be nice if we can change ALL fonts of the feedreader? Persistent?!
    Thanks a lot.

    1. @Jacky: hi! I am happy to hear that you want to help with akregator. You can come over for a chat at #akregator on IRC Freenode.

Leave a Reply

Your email address will not be published. Required fields are marked *