Would it makes sense to write a new image viewer from scratch?

Since we already have so many, why not fix one or more of them?

1 Like

Great idea!
I haven’t tried all the existing viewers. But I would like one that is:

  • light and fast,
  • color managed,
  • with easy directory browsing,
  • maybe supporting thumbnails for fast scrolling through the images in a directory,
  • with configurable keyboard shortcuts for fast keyboard operation,
  • with raw support or at least allowing to see the embedded thumbs in raw files.
1 Like

@sguyader geeqie comes pretty close. in fact, I agree with @paperdigits that it would make sense to help them get better, rather than starting from scratch. OTOH, doing your own thing is probably more fun, so I understand that POV…

That’s the big Open Source dilemma!!! and the reason why I am asking the question in the first place.

Personally speaking, it would mostly depend on the responsiveness and will to introduce changes in the developer community of the targeted project(s). If it ends up with one month of email exchanges to convince the developers that a change is needed for good reasons, then I would step out. I guess this is something difficult to anticipate…

At first thought fixing one of the existing image viewers seems like a good idea.

On further consideration, as far as I know none of the existing image viewers offer much in the way of support for:

  • color spaces other than RGB
  • file types other than perhaps raw files (qeeqie doesn’t seem to see the embedded thumbnails in my Sony A7 files), plus tiffs, jpegs, and pngs (qeeqie doesn’t color-manage pngs)
  • precisions other than 8-bit and 16-bit integer
  • viewing HDR images
  • viewing linear gamma images

I suspect that if all of these items were added to an existing viewer, it might have been easier to start from scratch. Plus VIPS as the library sounds nice given that VIPS can handle arbitrarily large images. And multithreading is a nice thing to have. And from what I’ve seen the VIPS developer really does respond to requests for support.

This would be an image viewer rather than an image editor. But there is one capability that would be nice - that currently sometimes leaves me scrambling around at the command line - and that would be the option to convert an image from one ICC profile to another (including eg from LAB to RGB), and from one file type/precision to another, and then export the converted image under another name. My “scrambling around at the command line” is usually just so I can open the image using an image editor that can’t handle the particular precision or color space or etc, which is an annoying reason to have to search the internet for the right command to use.

Then there are Krita kra files, which have an embedded png preview image. There’s an API for retrieving the preview.

And someday maybe GIMP XCF files will have the same sort of embedded preview image. It might be nice to add these file types to the list of supported file types, but not XCF until 2.10 is released and assuming support for an embedded png is added.

Not including Krita and/or GIMP would certainly be understandable! I don’t know how difficult the Krita png is to extract, but digiKam and Gwenview currently don’t manage to accomplish this feat on my Gentoo system.

yes that absolutely makes sense and i do it all the time. the thing about light and fast is that you need to limit yourself to whatever you think are the bare essentials for your current needs. unfortunately these requirements change quite rapidly for me depending on what i’m currently up to. luckily enough writing an image viewer is not much work.

i think if you want to write something that’s useful for more than one user for longer than a short while… at some point you’ll end up with something that contains bloat and compromises and features you never use yourself, like all the other projects.

2 Likes

I currently use geeqie too, and agree it is pretty close. I finally asked enough times that they’re implementing xmp viewing for image.jpeg.xmp, which means that I can use my darktable sidecar files from geeqie soon. The devs seems fairly responsive.

@Elle, I agree with @hanatos, everyone wants a fast image viewer with their one feature that doesn’t quite fit, and everyone’s one feature is different :wink:

Of course, I’m not smart enough to write any of this code, so it is easy for me to sit on the sidelines and comment :slight_smile:

Another possibility could be to fork an existing project (why not geeqie) and replace the parts that we feel need some “boost”, most likely the file loading/processing and the color management. This could also simplify a future integration of the changes into the main project…

I have no opinion on whether or not to start from scratch. However, as some people have already done, I can provide a list of features that I would like to see in an image viewer. Here are some ideas that immediately come to mind:

  • As cross-platform as possible. Maybe even mobile.
  • As format-friendly as possible. Can even open broken and unconventional images.
    • Can choose among raw and other embedded images, channels, layers or slices.
  • Faster than everything else. If not, then creating yet another image viewer isn’t a good idea.
  • Can compare up to 4 images with the ability to zoom, rotate and change perspective of one or more images simultaneously or individually.
    • Provides advanced statistics for each. Maybe display POI like sharp or focused areas.
  • Color managed with adaptation for color blindness and / or viewing conditions.
    • Maybe have advanced features like clipping, black point, intent, etc., and indicating (percent of) out-of-range values.
  • Has option to maximize image and hide everything else in window. (I don’t mean full screen.)
  • Is transparent about its pipeline. What is it doing from opening to displaying? Which steps aren’t being done due to an unavailable profile, etc.?
  • Can quickly cull and sort images. I don’t care about tagging so much as move-sorting images to different directories and undoing the moves if I make a mistake. Maybe virtually first, then commit.
    • Unsure which paradigm would work best but a choice between mouse and keyboard controls would be great.
  • The ability to refresh the image(s) if they are altered by another app while the image(s) are open. Maybe an alert message to confirm whether the user wants the change to commit.
1 Like

Following the comments, I have the impression that the best starting point would be to compare the common user expectations with what is already provided by FLOSS viewers, geeqie coming up as one of the first choices.

I have to start playing with geeqie myself. Personally I have ended up using XnViewMP recently, but I’m not a big fan of freeware tools (actually I never understood what freeware is good for).

My personal wish-list mostly contains:

  • the possibility to quickly mark/unmark good images with a simple keyboard shortcut (starring with the spacebar in picasa was an handy solution)
  • quickly and easily toggle between fit-to-screen and 1:1 views, to check image sharpness
  • easy editing of image tags, and selection based on multiple tags (with either OR or AND filtering), plus an easy way to start a full-screen slideshow of selected images

I prefer to keep all images in a single folder, and use tags to sort and filter them, because then the backup procedure is just trivial.

Good point. Perhaps if the result of this thread is something brand new, the design should allow for plug-ins to allow anyone to add their personal pet feature without all users needing to deal with the bloat of the accumulation of everyone’s faves.

Personally, at this point I’m happy with Geeqie. I’ve never looked at the code to see whether it would be easy to incorporate everyone’s personal pet feature.

I also use geeqie currently. It’s close to what I need.
I was going to says the same thing as @elGordo : to make a new viewer fit almost everyone’s needs, providing plugins for more specialized tools could, maybe, make it light and fast for those who want a simple and fast viewer.

Unfortunately, Geeqie is currently unavailable on Windows. Image viewers on Windows tend to be freeware, subscription-based or commercial.

That would be a first thing to look into. Geeqie is gtk2, and many of us have experience in distributing gtk apps for windows. OSX is also supported only through homebrew, as far as I can see. An OSX bubble could be handy as well…

  1. The homepage http://geeqie.sourceforge.net/ is outdated. The right on is: http://geeqie.org/

  2. It looks like they use gtk3 now:
    http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=blob_plain;f=NEWS;hb=refs/heads/master

  3. Most important for me is that an image viewer is as fast as possible.

1 Like

As a long time geeqie user, I’ve never been 100% happy with the view of my Fuji raws.

The view and speed are most important to me.

But Pix was recommended to me GitHub - linuxmint/pix: Image management application
Not having used Mint for a long time I’d never heard of it.
On trying it, I was pleasantly surprised how it handled the Fuji raws. They really do pop.
Worth a look.

Note to @patdavid should be added to software library :grinning:

1 Like

Keith, is Pix showing a demosaiced view of the raw files, or just the embedded jpeg?
If you find that Pix renders your Fuji raw’s better, I guess it’s because it shows the embedded jpg.

1 Like

@sguyader sorry for the late reply, which is ,I don’t know. I just assumed it was the embedded jpeg.
I found if I zoom in too far, the image breaks up earlier than normal, there’s probably something in the settings for this.
Definitely my go to viewer.

Adding it now! @ukbanko - Added!

If you decide to run down that path, I would seriously consider getting a UX/UI person involved for the front-end stuff. I can probably point to some folks that might be able to help in that regard. I too would love a simple, fast viewer, but my needs might be slightly different.

2 Likes

On the UI front, I suggest that people with access to a Windows machine try out FastStone Image Viewer. Their UI is brilliant and worth drawing inspiration from, IMHO.