F-Spot Time Edit
Proposal for date and time handling in f-spot.
Author: Mattias Holmlund,
<firstname> at <lastname> . se
Last updated: 2005-08-30
Each image in f-spot should have a date and time associated with it.
The date and time can be used for several purposes:
- Sort all pictures in chronological order. This requires that the
modification times for all pictures can be compared, i.e. their
timezone must be known or all times must be represented in the same
timezone.
- Tell the user at what time of day the picture was taken. This
requires f-spot to present the time in the local timezone where the
picture was taken.
All images have a date and time associated with them by the camera.
There is however no timezone information stored by the camera. The
timezone is added by f-spot when the image is first imported and can be
wrong.
Many users will probably have pictures taken in several different
timezones. To provide a consistent interface, it is important that
f-spot is aware of timezones and knows how to handle them.
A
frequent problem is that users forget to set the clock on their camera.
Therefore, f-spot needs to allow the user to update the timezone as
well as adjust the time associated with the picture.
Editing many photos at once
A very frequent use of the Edit Time dialog will be to correct the time
for many photos at once. The user simply select all the photos that he
wants to edit and
selects Edit Time from the menu.
There are a number of different errors that the user might want to
correct:
- All images were taken with the same camera without adjusting the
time on the camera between the images. However, the time on the camera
was wrong. This means that all images have timestamps that need to be
adjusted with the same amount of time.
- The images have no timestamp at all associated with them, or they
come from many different sources and have different errors. In this
case, the user can probably not reconstruct the exact time each photo
was taken and will have to resort to setting an approximately correct
time for all images.
- The time on each image is correct, but the timezone is wrong.
This might be because the user has set his camera to use local time and
f-spot has used the wrong timezone when importing the images.
These errors can all be corrected in the proposed "Edit Time" dialog.
The Edit Time Dialog

Figure 1. The "Relative Adjustment" tab.
The upper part of the dialog shows a preview of the changes that the
user is about to make. It displays one of the pictures along with
"Before" and "After"-information for the timestamp of the displayed
image. By using the arrow-buttons, the user can check how each one of
his images will be affected before pressing "Apply".
The lower part of the dialog contains three tabs: "Relative
Adjustment", Absolute Adjustment" and "Timezone Conversion". Only the
settings in the selected tab will be used for the time adjustment.
"Relative Adjustment" allows the user to correct the first error
described above. The user can select an image that he knows when it was
taken and set the correct date and time for that image. This results in
an adjustment in days, hours, minutes and seconds that is shown after
"Adjustment:" in the dialog. This adjustment is then applied to all
selected images. When the user scrolls between the images using the
arrow-buttons, the Date and Time fields in the dialog are adjusted to
match the "After"-field for the image, keeping the "Adjustment"-field
constant.
"Absolute Adjustment" allows the user to set the time on all images
regardless of the current timestamp on each image. He can also choose
to only set the date and leave the time intact or vice versa.

Figure 2. The "Absolute Adjustment" tab.
The "Absolute Adjustment"-tab also allows the user to increment the
time by a fixed amount for each image. This avoids any problems with
having many images with the exact same timestamp. (Is this a problem?)
When the user scrolls through the images with the arrow-buttons, the
Date and Time-fields are updated by the amount set in Increment time,
so that the Time and Date fields always match the "After"-field at the
top of the dialog.
"Timezone conversion" allows the user to convert the timestamps for all
the into a different timezone. Note that this is different from doing a
relative adjustment and setting the timezone, since that can not take
daylight savings time into account.

Figure 3. The "Timezone Conversion" tab.
In the dialog it is possible to select a Timezone from a dropdown list.
It might be necessary to turn this into some sort of popup or other
control due to the amount of timezones available. It shall also be
possible to specify a numeric timezone, but then f-spot won't be able
to take daylight savings time into account.
When the user scrolls through the images using the arrow keys, the
Before and After fields are updated with the converted timezone.