27 June 2010

Use Case 1 - Add URL Subscription

Current dialogue (Liferea 1.6.3)

Use Case Description
The user launches Liferea. The user clicks the “New Subscription...” button which results in the New Subscription dialogue being displayed. The user manually types in the feed subscription URL (e.g. http://planet.gnome.org/) (or pastes text from the clipboard) and clicks OK. A new feed item appears in the left-hand subscription tree directly below the last selected feed, at the same hierarchical level. Liferea processes the feed and displays the configured default number of unread items in the headline pane. Liferea fetches any applicable favicon icons for the site and replaces the default icon for the feed based on the feed type with the favicon. Liferea changes the name of the subscription from the initial value of “New Subscription” to the name provided by the feed. Liferea displays the headlines in the appropriate pane, as dictated by the current view.

Thoughts and Considerations

  1. When adding a feed there is no user feedback while updating the feed for the first time. There is some considerable lag time and it is not clear that anything is happening. The status bar indicates it is updating the subscription, but does not provide any moving indicator to let the user know the app has not frozen. Is it possible to somehow inform the user that an initial set of headlines is being downloaded, along with the other info (name, favicon, etc). Just some UI indication that Liferea is working. Ideal might be to have the icon of the feed not appear as a static default feed type but rather a progress indicator such as a spinner (like the browser tabs often have).
  2. Is it possible that the Advanced feed dialogue be changed into a disclosure triangle? For example I've simply merged the two dialogues into one in the mockup below, and made a few minor changes to spacing and wording. The one key value this affords the user is the ability to switch back to the basic dialogue without restarting the “Add ...” use case. It also reduces application complexity (2 different add subscription dialogues). The mockup below is just a first brush at creating the right unified dialogue. It is meant for discussion. Further refinement/polishing/HIG-ifying is possible if/when the direction is agreed upon.

My name is Kirk and I want to focus on Liferea's user experience

Hi everyone - quick introduction: I'm Kirk Bridger. I'm an analyst by day (what that exactly means is a post all by itself) and am eager to give back to this fabulous project. The best way to do that is by applying my skills, which do not include strong programming anymore. So what I can I offer?

The project leaders have given me the opportunity to take a look at Liferea from the user experience point of view. I'd like to throw a few idea out on this blog for discussion, to see if there are improvements the community agrees on that the developers are interested in implementing.

This will range from simply documenting the existing app's use cases (including using the existing dialogues etc.) to doing a full blown heuristic evaluation using the latest Gnome HIG. Other things I'm keen on doing include creating mockups to help describe and explore ideas - yours and mine.

Over the next little while I plan on posting a few basic use cases and some observations/suggestions based on my own use of Liferea, just to get things started. The purpose of these posts is to get your feedback and suggestions to ensure that any changes that result from the discussion best meet the community's needs and app-specific workflows. So please feel free to chime in if you have any thoughts or feedback.

So that's my intro. I like to think I am clearly separated from my designs so please feel free to be as hard as you want on the ideas I put forward here. Note that I said to be hard on the "ideas". Design discussions can sometimes get heated so I'd like to suggest that we all keep the end goal in mind:

Liferea (Linux Feed Reader) is an for online news feeds. There are many other news readers available, but these others are not available for Linux or require many extra libraries to be installed. Liferea tries to fill this gap by creating a fast, easy to use, easy to install news aggregator for Gtk/Gnome.

23 June 2010

Google Reader Authentication Problem

If you are finding this old post you probably do not know about the Google Reader shutdown on 01.07.2013.

Read more about this and how to migrate and save your data.

10 June 2010

Feature Poll

Simple question: What feature do you miss most?

Disclaimer: This is not a promise to implement anything :-)

06 June 2010

Serious performance issues with ext4fs barriers

More often lately users ask for support because they experience horrendously slow performance. In almost all cases they run Liferea on ext4fs where sqlite, when used with a lot of small update operations doing a lot of fsync() calls, is quite slow. This is not a specific problem of sqlite though, it just is very visible with applications performing a lot of write access like Liferea does using sqlite.

The important difference in this aspect from ext4fs to ext3fs is that ext4fs comes with barriers enabled, which is a filesystem feature (optional in ext3fs) that tries to improves filesystem integrity. But this comes at a cost: depending on your application use case this might decrease filesystem throughput a lot, which is what many Liferea users experience.

A workaround is to disable the ext4fs barriers by adding "barrier=0" to the mount options in /etc/fstab and remount the partition.

Recent Work on Liferea 1.8

Sorry, long time no post here. Nonetheless there is work ongoing on Liferea 1.8. We do mostly performance work and small improvements. I want to keep you updated about the latter. Here is a list of interesting improvements we have now in SVN trunk:
  • GTK 3.0 compatibility (Emilio Pozuelo Monfort and Adrian Bunk)
  • identica.ca bookmarking support (Adrian Bunk)
  • Copy select text to clipboard from HTML pane (Ricardo Cruz)
  • New DBUS method to trigger a feed update (Matthew Bauer)