New EOG maintainers

t’s been quite some time that you Felix Riemann and Claudio Saavedra have been doing all the development work in EOG and I think it’s time to pass the ball to them. So, this is just to let everyone know that I’m officially passing the EOG maintainer post to them.
Thanks Felix and Claudio for the great work!

It’s been quite some time that you Felix Riemann and Claudio Saavedra have been doing all the development work in EOG and I think it’s time to pass the ball to them. So, from now on, they are the EOG maintainers.¬†Thanks Felix and Claudio for the great work!

The Eye in 2.20

Eye of GNOME 2.20.0

This is the first stable release of Eye of GNOME (EOG) as part of the GNOME 2.20 major release. The 2.20 release is very special for EOG as it’s the first one with a complete rewrite/refactoring of its core. This means that GNOME now has a much improved image viewer. There lots of cool new features, we really hope you all enjoy! Many thanks to everyone who contributed to this release, specially to EOG’s team members, Claudio and Felix.

So, what’s new?

  • Complete rewrite of application core which means more stable, maintanable, faster image viewer for GNOME
  • New plugin system which allows developers to extend EOG’s UI and behavior. Python support is available.
  • Editable application toolbar
  • New image collection pane with on-demand thumbnail loading, polished look, and continuous scrolling side buttons.
  • Side Pane to be extended by plugins
  • New image properties dialog which replaces the image info sidepane
  • Single instance D-Bus-based activation support
  • Revamped error/warning UI
  • “Open with” support to quickly open images on other applications
  • Mouse scrollwheel improvements: HIG compliancy and zoom factor setting
  • General UI polishing
  • Command line options for fullscreen, slideshow and image collection disabling
  • Display EXIF MakerNotes
  • XMP Support

Python in the Eye

As I’ve announced before, the development version of Eye of GNOME, your beloved image viewer, features a new plugin system which allows you to extend EOG’s UI and behavior. Now that I added python support to the plugin system, the only thing is missing is a bunch of cool plugins! :-)

I’ll pay a beer (at GUADEC) for each one who develops a cool plugin and helps us to improve our plugin system. I have some ideas for a start:

  • File browser pane: something like the File Browser Gedit plugin;
  • Flickr Uploader (aka Postr integration): I have a prototype ready for this one;
  • Photo feed viewer: add support for adding, removing, and viewing photo feeds;
  • Blog This Image: this one could be done by integrating with good/old gnome-blog app;
  • Add watermark to Image: you would be able to add the watermark from a text or from an existing image;
  • Location on Statusbar: show a statusbar icon with a tooltip showing location info (city, country, neighborhood, street, etc) embedded in the image;
  • Creative Commons Licence: show a statusbar icon with a tooltip showing the license embedded in the image;
  • Add your suggestion here!

Volunteers!? :-)

The Side Pane problem

I want to allow plugins to add functionalities to a side panel in EOG. As you probably know, there’s no such side panel in EOG yet. Considering that currently you can place the image collection pane on the top, bottom, right, or left side of the window (a feature requested by several users), how can I have the (left) side pane (for plugins) and allow the image collection pane to be on the left side as well?

In the case of Gedit, the side panel has a documents list (the equivalent UI element of EOG’s image collection pane) and other “pages” can be added to the panel by the plugins. In the case of EOG, this would not be a good approach because the image collection pane is something that you want to keep visible all the time and the side bar should always be on the left side.

Any suggestion?

Plugins in The Eye

Eye of GNOME 2.19.2 is the second under-heavy-development release of Eye of GNOME in the direction of GNOME 2.20. This is a special release: it’s the first one that ships the new plugin system which allows developers to extend EOG’s UI and behavior. Of course, a lot of polishing is still needed but the possibilities are quite vast.

Special thanks go to the Gedit and Epiphany teams because most of the EOG plugin system code came from those projects.

As usual, please, crash, play, use, crash again, extend EOG as much as you can. :-)

First EOG plugin

As a proof of concept for the plugin system, I wrote a very simple plugin which nicely integrates EOG and Postr.

Eye of GNOME and Postr playing together.

Menu item added by the plugin.

Plugin manager in the Preferences dialog.

Three important notes about the screenshots and the plugin:

  • I haven’t released the plugin code yet because it’s just a proof of concept thing. Now I need to write it the right way.
  • The thumbnails pane in Eye of GNOME is using a patched GtkIconView which makes the selections much more visible.
  • For those who use Postr, you probably saw something different in its UI. You’re right! I’ve made some improvements in the thumbnails pane. Ross already merged in the main repository.

eog-ng becomes trunk

You’ve seen some cool development news in my blog about eog-ng branch, right? The good news is that last weekend I merged eog-ng in trunk as part of the GNOME 2.19/2.20 development cycle. This means that we have a solid, faster and more stable code in EOG from now on. Some highlights:

  • Feels faster and more stable (the application core has been totally rewritten and optimized in several ways. This means you will feel that EOG startup is much faster, it uses less memory and crashes much less)
  • New image collection pane (cleaned up to make it look nicer with a one-row view. By setting “hidden” gconf keys you can place the collection pane on any window side – top, bottom, left, right – and it can be resizable or not)
  • Toolbar in fullscreen
  • Image property dialog
  • “Open with” support to quickly images on other applications

Many/Special thanks to Claudio Saavedra and Felix Riemann for the important contributions to this new code. You rock my world guys!

Plans for 2.20

  • Editable toolbar
  • Printing for multiple images
  • Plugin system
  • Support for IPTC and XMP
  • General UI polishing, mostly in
    • Image collection pane
    • Image properties dialog
    • Preferences dialog
    • Error/warning feedback
  • More code refactoring
  • Bug fixing, bug fixing, bug fixing, …

Get Involved

You can find a list of bugs/tasks here (follow the instructions there):

As I always say: contributions are always welcome! Give some love to EOG today and have a better GNOME image viewer tomorrow! Let’s make EOG rock our world! :-)

Error/Warning UI in Eog-Ng

Currently, EOG is really crappy on reporting errors/warnings to the user. Basicaly, you only get feedback about errors on image loading, nothing else. Also, it uses dialogs for this which is kind of invasive and specially annoying on a collection-based UI application like EOG. I really like the UI aproach adopted by gedit with this cute yellow message area. So, I borrowed gedit’s code to use the same aproach in eog-ng. If something goes wrong with the image loading, you can easily browse other images from the same directory without needing to close EOG. Here’s the result:

New UI for errors/warnings in EOG.

I still need to add the code for different kinds of error/warnings for cases like opening a directory with no images, opening unrecognized formats, not found files, etc. This will be piece of cake with the new code base though.


Claudio pointed me to this blog post from this italian guy who seems to be really excited about eog-ng. Good to know that users are enjoying the EOG development news. :-)


Update: don’t worry about the odd “Cancel” button. I’ll fix this ASAP. :-)

EOG statubar

I heard very often that there are some EXIF info that users are really interest in having easy/quick access to. EXIF presentation was really improved as I already reported before. EOG’s statusbar could be used to show really common EXIF values like date and exposure values. I wanted to do this in a way that not much noise is added to statubar. Here’s the result:

Statubar showing most common EXIF info: date and exposure values.

I haven’t commited this yet because I’d like to get some feedback first. Some additional related issues:

  • Is there a way to show exposure values in a non-photographer-friendly way? I’m thinking in adding a GConf key to optionally enable something like “exposure info in statubar”. End-users would free from those evil info then.
  • Should the time reside on statusbar?
  • Show simplified date/time (“23/12/2007, 12:48”) or a full descriptive one (“23 December 2007, 12:48”)?
  • What do you think is missing in statusbar?


Image Properties in EOG

I’ve been working on replacing the image info sidepane in EOG with an image properties dialog. IMHO, this is a less invasive and more consistent aproach. The sidepane takes too much space of the image view mostly when you want to visualize the image EXIF data. Also, just dumping all EXIF data is not very user-friendly. Therefore, another goal here is to make it more user-friendly.

Current image info sidepane: invasive and unfriendly.

So, in eog-ng there’s an EXIF tab in image properties dialog which at first sight only shows a summary of the most common things you want to see in EXIF (aperture, shutter speed, flash, ISO, date, etc). But I still want to give the possibility to view the whole EXIF data for advanced users. So, just click on the “Details” expander and you can view all EXIF tags. With the navigation buttons in the dialog, you can easily check EXIF data from each image.

EXIF tab in image properties dialog: balance between user-friendlyness and power usage.

I still want some feedback about it and some help on which EXIF should appear in the summary and in what order. Discussion about image properties should take place in bug #313676.

EOG bits

EOG development is going a litle bit slower than I wanted but it’s going very well actually. As I said before, The heavy development is taking place in eog-ng branch which we plan to merge in the beginning of 2.20 development cycle (aka 2.19.x). See eog-ng wiki page for more information. I’ll try to list the nicest recent news.

Tangofied themable EOG icon

Thanks to Ulisse we now have a new official tango compliant icon.

New beautiful EOG icon.

As a wonderful surprise, Carol, my wife, managed to get a brand new t-shirt with the new EOG logo as christmas gift. Isn’t she lovely? :-)

T-shirt with EOG icon. Awesome hun!?


Thanks to Claudio EOG now have a simple, user friendly and powerful way for printing image. You can define exacly how you want to print the image in the paper and you do this in WYSIWYG way. Side note is that it’s been commited trunk and eog-ng branch. So it will be available already in GNOME 2.18.

New EOG printing UI. Easy and powerful!

EOG website

Thanks to Trond Danielsen we now have an EOG website online. The website uses the project template for consistency. Click here to check it out!

EOG website. Cool!

New collection pane

I’m experiment some new things in the collection pane. Basically, I’m trying to use a one-row-with-horizontal-scrolling aproach. Thumbnails now have a context menu with common used actions. Also, Inspired by the Fickr Organizr I added some buttons to smothly scroll through the image collection. Of course it still needs some polishing and I’d like to get some feedback about it. Comments?

Collection pane experiment.

Image properties

I chose to replace the image information side pane with a image properties dialog. It’s less invasive than the side pane and has navigation capabilities which means you can easily check images info and metadata without having to close-and-open dialog for each image. This is a work in progress. Ideas/comments/suggestions should be posted in bug #313676.

Image properties dialog.

EXIF automatic orientation

As some of you probably noticed, since 2.17.3 (patch still to be ported to eog-ng branch) EOG has support for automatic orientation of images based on EXIF info. One issue stil needs to solved but the general funcionality is already working.

New code base

The code base in eog-ng branch brings a lot of stability to EOG and the code is much more maintanable. Also, in theory (I still need to do some profiling to confirm) the eog-ng code should use less memory and should be faster than trunk. Some useful command-line options were added to start EOG in fullscreen mode (-f), slideshow mode (-s) and with collection pane disabled (-c).


Grab the eog-ng code now and participate! Go go go!

   svn co

Eog-Ng: Putting Hightech Glasses on the Eye

I’ve received some emails from people interested in helping on EOG
development. EOG is a very nice project to start contributing (in the
GNOME context) because it’s a simple and useful application. I’ve
written the plans and related tasks for Eog-Ng on this wiki page.

EOG is old in many senses: its code, its look. In the last two release cycles EOG received a lot of love and some very-wanted features were implemented. However, there’s a need to rethink about the future of EOG in terms of its code (deep refactoring/recoding needed) and features. There are some design problems in the current code which are seriously affecting EOG’s stability. Eog-Ng is a branch which aims to agregate all development work related to what we want from EOG from now on. Eog-Ng main goal is to maintain a very solid and stable core with the very basic feature of an image viewer but with support for some extensibility

For everyone interested: contributions are always welcome! Follow the general instructions on Eog-Ng page, assign yourself to one or more tasks, discuss the solution where applicable and hands on code!

Give some love to EOG today and have a better GNOME image viewer
tomorrow! Let’s make EOG rock your world!