[Shotwell] Some Ideas of mine

Kenneth Jernigan kenny3794 at gmail.com
Fri May 14 00:06:38 PDT 2010


Hello,

I've been playing with Shotwell for a few days and looking over the
backend/code structure in my spare time.  I hope to be able to take some
time to experiment with the Vala programming language and perhaps toy with
some of these ideas I have.  However, I felt it best to share them and let
the masses decide if my idea(s) are worth the time I spent typing...  Thus,
I send the following ideas:

1.)  The undo feature is great - however, I notice it's only for the current
session and is lost following a restart of the application.  However, I
noticed that in the database, all of the transforms are kept there.  Thus,
my first thought is that Shotwell should be able to undo ANY transform at
ANY time (This could also allow re-arrange of the transforms without needing
to redo them).  An example... if I've taken time to perform a Red-Eye
removal and performed an Enhance and then later decide to "un-enhance" the
photo, I must now spend time re-performing the Red-Eye.  (A "history" could
be added to the Side Bar)

2.)  The first thought led me to my second thought.   The layout of the
transforms in the database appear to me like they might be un-optimized.
 I'm not sure on all of the timing of Shotwell (mostly due to my lack of
knowledge of the code -- still learning), however, it would seem to me that
using text string processing would be using resources and limit the
reasonable growth of the database. I would think, instead, that a separate
table of transforms would be stored, capturing a different transform in each
table entry.  Then, the photo table would have a list of associated
transform keys (in order).   While the transform parameters in the table
would still be text, the amount of text parsing could be reduced, or even
offloaded into the transform function.  I could even see this opening the
door for plug-in style transform updates. However, I do not know the time
the SQL database takes to query compared with string parsing, but I know
database queries are already performed to read the Tags and  Events, so I
assume not too much time is lost.

3.)  Specifically, I miss a few types of transforms:

   - the ability to create a sepia or B/W photo. I know this can
   be achieved with careful manipulation of the Adjust sliders, but predefined
   filters will improve user performance.
   - Soft Focus feature - great for hiding complexions and creating affects
   - Rotate (straighten) -- I saw a ticket for this already.
   - Sharpen -- sometimes photos come too soft/blurred.  It'd be nice to fix
   without loading GIMP.
   - Faded borders -- one of my wife's favorites features when prepping a
   photo for print.
   - Flip -- rotate 180 + mirror.


4.)  A struggle I've had with Shotwell is it's lack of multiple
keyboard/mouse inputs.  I will list here the keyboard/layout/mouse gestures
I keep trying to use but can't:

   - When I've zoomed to a picture, I expect my scroll wheel to move me to
   the next -- but no luck.
   - When I press backspace from a picture page, I expect to return to the
   Photos page (legacy effect of internet explorer).  Same is true for my
   mouse's browser back button.
   - When I have a red-eye tool on the screen, I try to get precise
   placement control with the arrow keys -- doesn't work.
   - I wish that the mirror, adjust date/time, and favorites where
   accessible without needing to click Photo first
   - I wish Extended Information wasn't a modal dialog, but instead a
   replacement/supplement for the Basic Information frame in the sidebar
   - When on the photo checkerboard page, I want CTRL + Mouse Wheel to
   adjust the zoom.
   - When looking at a photo - it'd be nice to have the option to zoom in
   without needing to crop the image, make window bigger, etc. (I understand
   optimization with libjpeg probably makes this difficult)
   - When adjusting crop, It would be nice if the CTRL + crop option worked
   similar to several other image editing apps (maintain current selections
   aspect ratio).
   - When looking at a photo, it feels as though there is a missing up arrow
   by the left/right arrows (to return to checkerboard page)

5.)  It would be a nice feature to have captions for each picture that
automatically upload to Picasa, Flickr, Facebook, etc, when the pictures are
published.  I believe this could easily be stored as a text field in the
Photos Table.

6.)  Support for multiple users.  I have setup a single database shared (via
links from the hidden folder to a shared folder with a user group to which
all users have R/W access) between multiple logins (could be multiple PCs).
 I like to share the images, otherwise when she imports the pictures, I have
to re-link them into my database to see them. However, with this setup, I'm
cautious not to have both users access the database simultaneously.  It
would be ideal if Shotwell could handle this situation automatically with an
option for shared database (/usr/share/shotwell/.shotwell/*) or individual
database (~/.shotwell/*).


For now, I have no other thoughts.  However, I will continue to play with
the code, time permitting, and continue using Shotwell.  I'm glad to see
that Shotwell is due to become the default photo handler in Ubuntu 10.10.  I
appologize if I've rambled - just consider these the thoughts of a humble
embedded software engineer...

Good night,
Ken



More information about the Shotwell mailing list