DefaultImageViewer

Specifications for this cycle :

Default Image Viewer

  • Application Role: image viewer

  • Release target: Karmic

  • Contributors: simon-steinbeiss, SiDi

  • Field of the spec: 'Application Study'

  • Current application: Gpicview 0.1.11

  • Studied applications: Gpicview 0.2.0, Ristretto 0.0.22, Geeqie 1.0beta1

EOG isn't included in this test, it has many deps, including GNOME ones (even if they're shared with other apps, let's see if we can find a compromise with the three above apps before adding one more GNOME-dep in our desktop). It's also because I remembered about EOG when half the spec was written.

Summary

The image viewer is used for displaying images, quicker than image editors or browsers.

  • Gpicview is the image viewer of LXDE. It is lightweight but has limited features.
  • Ristretto is an image viewer developed by an XFCE developer. It fits nicely into an XFCE desktop.
  • Geeqie is an image browser, not developed for any particular DE that I know of. It is feature rich.

Release Note

Not applicable until a choice of application has been made. At the discretion of the release manager (or the drawer of the spec, once approved by the developers team).

Rationale

Gpicview has always been lacking a few features, such as thumbnail bar and slideshow. Also, it is good to check wether there are alternatives with a better feature / ressource usage ratio. We're going to check the state of two other apps : Ristretto because it is maintained by our upstream, XFCE; Geeqie because it has many features, so it's good to see what other similar apps can do (but it's more an image browser than viewer).

Use cases

  • Anna wants to watch a picture she received by email and saved to her desktop (best choice : gpicview)
  • Bader wants to browse through a folder of photos from his last holidays (best choice : ristretto)
  • Callista is a photograph and wants to check her latest photos's EXIF data, rotation, etc (best choice : geeqie)

The specification

Integration / Coherence

  • For which DE are the applications thought ? Do they need services for other DEs ? Are they GTK+ ?
    • Gpicview : LXDE, but works like a charm in any GTK+ DE

    • Ristretto : XFCE

    • Geeqie : none, works in XFCE

  • What dependencies do they need ? How many Xubuntu apps use these dependencies ?
    • Gpicview : No deps outside of default install (mostly common with thunar/firefox)

    • Ristretto : XFCE deps only.

    • Geeqie : No deps outside of default install (mostly common with GIMP/totem)

  • Is the GUI coherent with XFCE / Xubuntu ? Is it GNOME HIG compliant ?
    • Gpicview : The GUI is GTK+ and looks coherent in the Xubuntu desktop. Not HIG compliant (no menu, and icons roughly sorted in the toolbar, which is in the bottom).

    • Ristretto : The GUI is GTK+ and looks coherent in the Xubuntu desktop. Mostly HIG compliant (the Preferences menu may be improvable).

    • Geeqie : Looks GTK+, but the GUI has major drawbacks. Not HIG compliant at all :

      • Doesn't use stock icons
      • Doesn't use default menu names
      • The toolbar and menubar are only on half of the screen
      • There is another toolbar in the bottom that could be merged with the top one.

Screenshots

Gpicview

Ristretto

Geeqie

Geeqie's pan view

gpicview_tb.png

ristretto_tb.png

geeqie_tb.png

geeqie2_tb.png

Full size

Full size

Full size

Full size

Usability

  • First impression / Ease of understanding how to get started and how to use the basic features
    • Gpicview : The lack of menu is compensated by the icons in the toolbar, so basic use is easy.

    • Ristretto :

    • Geeqie :

  • Coherence of the toolbar / menu entries actions with their description (ie. the text and icon match the action of the entry).
    • Gpicview : Ok

    • Ristretto : The only open button in the toolbar is for folders, counter-intuitive (fixed in SVN version).

    • Geeqie : Some features with cryptic names seem to do nothing. The basic features are apparently all ok.

  • Quality of the translation : tested in french
    • Gpicview : Very good translations, not managed in Launchpad.

    • Ristretto : Good translations, not managed in Launchpad.

    • Geeqie : Average / bad translations (some are not standard, some are absent, some are too confusing for me to understand what they do)

  • Day-to-day use.
    • Gpicview : users can get frustrated by the lack of features for image browsing, and some options can't be accessed without a right click in the app's window.

    • Ristretto : The thumbnail bar needs improvement (you can scroll till you dont see any pictures), it needs scrolling buttons, too. For more advanced users, a copy of GIMP/Inkscape's scrolling behaviour could be good (activable via Preferences, for instance).

    • Geeqie : I think it's feasible, but I know it'd be hard for me to get to use some of its features. I find the Preferences / configuration menus too overcrowded, and I can't get the point of some advanced features.

Performances / Ressource usage

Apps that have image preloading and RAM cache options had them disabled for the test, since the application will likely be shipped with RAM conservative options in Xubuntu.

  • RAM usage at opening (without swap, heap dirty memory)
    • Gpicview : 5,7

    • Ristretto : 14,5

    • Geeqie : 11,8

  • RAM usage with 900x900 JPG loaded
    • Gpicview : 17,9

    • Ristretto : 20,4

    • Geeqie : 21,9 (also had thumbnails from this folder, doesn't allow only a file)

  • RAM usage, max value while loading a SVG wallpaper
    • Gpicview : 113

    • Ristretto : 114,8

    • Geeqie : 101,6

  • RAM usage once the SVG wallpaper is loaded
    • Gpicview : 22,8 on first draw, then 55,5; I don't understand why it changes

    • Ristretto : 41,6

    • Geeqie : 55,1

  • RAM usage with a folder opened and the 900x900 JPG loaded
    • Gpicview : cannot open a folder

    • Ristretto : 25,4

    • Geeqie : 21,9

  • Absence of memory leaks can barely be evaluated, so I'm instead gonna evaluate wether the apps clear the memory when you close a picture (the SVG) and load another, lighter (an XFCE logo in PNG) :
    • Gpicview : 20,5 / 55,5 - no

    • Ristretto : 41,6 - no

    • Geeqie : 21,3 - yes

  • Responsiveness of the GUI when loading an heavy image
    • Gpicview : no

    • Ristretto : no

    • Geeqie : yes, but lags when switching pictures and passing over an heavy one

Features

Main features

  • Image / Folder browsing
    • Gpicview : no thumbnails for folder, can switch between images of a folder

    • Ristretto : thumbnails, can switch with keyboard shorcuts too, but no folder browsing

    • Geeqie : image and folder browsing

  • Image rotation / zoom is done by all the applications. Only gpicview has toolbar buttons for this.
  • Fullscreen / slideshow is done by all.
    • Gpicview : the escape button closes a fullscreen window completely, which is counter-intuitive

    • Ristretto : the thumbnail bar could be better integrated with the black background in fullscreen mode.

    • Geeqie : Geeqie leaves some info over the image while in fullscreen mode, which hide it's bottom left.

  • EXIF data for photos can apparently only be edited by Geeqie. Both Geeqie and Ristretto can do EXIF rotation.
  • Link to apps that can edit the picture are handled by all applications. Ristretto shows itself in the list, though, which isn't very serious Smile :)

Advanced features

Only Geeqie has notable extra features compared to the others, making it a great choice for people who want advanced browsing.

  • support for quite all image-types (including raw) (but not perfect, from my tests. Ristretto can open a very few ones, too)
  • option to create "collections" to manage your pictures
  • tagging system
  • quite an advanced image-search system
  • dual-core support (which makes the GUI responsive while loading heavy pics)
  • color management
  • pan view (a huge window displaying all your images)

Though, Ristretto has the following feature that it's the only one to provide :

  • Support for animated GIF

Features worth compared to the rest

  • Are the features of the application worth any ressource usage / usability / integration drawbacks ?
    • Gpicview : yes, the app has the best ressource usage, and it nice looking in Xubuntu.

    • Ristretto : yes, but the GUI can still be slightly improved, and the RAM usage on idle must be boosted. If so, I think Ristretto is the best candidate for a default viewer, as it fills Gpicview's gaps.

    • Geeqie : no, end users will get too confused by the interface. The application is very feature rich, but I think it needs a complete reorganisation of the GUI (it seems devs are aware of this and already work on better naming / translations at this time, according to their roadmap). Geeqie can yet be recommanded as an image browser for people who explicitely ask us on IRC/forums if there is a bigger application for image browsing.

Extra maintenance work after the spec / Quality of relationship with upstream

  • Gpicview : no, maintained by LXDE. No contact with upstream.

  • Ristretto : no, maintained by XFCE. Maintainer is a Xubuntu developer.

  • Geeqie : no, but the app requires a lot of GUI work that we can barely do. Upstream developers seem to be open to suggestions and critique. Simon is in contact with them.

Issues that need solving for the app to be used as default

Upstream

  • Gpicview

    • folder browsing and slideshow mode are important features we need (hard to add)
  • Ristretto

    • Minor usability / GUI improvements. Since the app is heavily maintained right now, it's easy to get that done
  • Geeqie

    • Major usability improvements, reorganisation of the GUI, better integration with an XFCE environment (mostly esthetics). This could take time (a whole release cycle)

By the Xubuntu team

  • Gpicview

    • the escape button shouldn't close the window, at least not in fullscreen (little patch to write)

Comments

  • "I'm personally keen on choosing Ristretto and help Stephan to improve the GUI and reduce the RAM usage" SiDi

Xubuntu/Roadmap/Specifications/Karmic/DefaultImageViewer (last edited 2012-03-25 16:46:42 by nblzone-227-162)