Bug 305961

Summary: Changing EXIF auto-rotation method
Product: [Applications] digikam Reporter: Islam Wazery <wazery>
Component: Import-PostProcessingAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: caulier.gilles, falolaf, frederic.coiffier, jrenner.rouliez, nchip, pbhj
Priority: NOR Flags: wazery: Usability+
Version: 3.0.0   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 3.0.0
Sentry Crash Report:

Description Islam Wazery 2012-08-29 03:13:16 UTC
I am planning to change the way that import tool handling the EXIF auto-rotation of images. 

My proposed plan is to pop-up a dialog after downloading is finished that says to the user he can de-attach his camera and close the import tool, and the autorotation will take place in the digiKam main view, the process manager then will inform him that auto-rotation is taking place for the downloaded pics. 

What do you think guys about that?

Reproducible: Always
Comment 1 falolaf 2012-08-29 06:28:54 UTC
As long as it's possible to disable the popup I think it's ok.
Comment 2 Frédéric COIFFIER 2012-08-29 07:05:18 UTC
I agree about disabling this new popup. Moreover, I download new photos in several times (some photos in album A, others in album B, etc...) : Will I get several popups asking me each time to remove my SDCard ?
Comment 3 Riku Voipio 2012-08-29 07:37:34 UTC
The original message doesn't explain why this change is needed. I guess the idea is to make image download faster by not doing autorotation during download, so user can remove SD card faster?

I don't think adding a popup is a good idea. 

1) It would mean one extra click every time downloading pictures. 
- A good user interface minimizes the amount of clicks for the most common tasks. Downloading pictures is one the most common (if not most common) task in digikam.
2) popup's should not be part of usual workflow, they should be reserved for exceptional events
- We are inflating the alert value If we show popups all the time. Users start just ignoring them and press OK all the time. Then when a really important popup happens, they will click OK before even reading what it was about...

Instead, I suggest putting a checkbox "autorotate images" into the "download images" dialog, selected by default. This way most users (who want autorotate) don't need extra clicks, and users who don't want autorotation can easily do that too (and no new popups!).
Comment 4 caulier.gilles 2012-08-29 08:31:40 UTC
Riku,

Islam work on pipelined post processing in camera interface. Exif autorotation is one of task to do in background.

Look here for details :

https://bugs.kde.org/show_bug.cgi?id=161783

Gilles Caulier
Comment 5 pbhj 2012-08-29 10:03:52 UTC
I agree with Riku in #3. As a user I don't really care when the auto-rotate is happening it won't affect my workflow as I just download+delete all new images from the camera.

Perhaps a notification to say "Digikam processing exif auto-rotations" would be a compromise if user notification is felt to be necessary?
Comment 6 Johann Renner Rouliez 2012-08-29 14:53:20 UTC
The reason we propose a solution is to solve an actual problem. Sure, you already now that, but I can't see what is that problem here, so please Islam, try to explain it ;-)
Comment 7 Islam Wazery 2012-08-29 17:46:32 UTC
Johann, yes you are right, the problem is somewhat vague. In this B.K.O https://bugs.kde.org/show_bug.cgi?id=161783 the problem is that auto-rotation takes a while to perform and hence it makes the overall downloading process slower, so I purpose to separate the downloading from auto-rotation. Auto-rotation will be done just after downloading process. I hope this makes the problem clear :)
Comment 8 Islam Wazery 2012-08-29 17:54:05 UTC
Riku, I agree with you, so we can just give the user a small notification just after downloading is finished *if he enables* the auto-rotation of images, this notification will say "Downloading is completed, you can detach your camera and the auto-rotation will take place.
Comment 9 Johann Renner Rouliez 2012-08-29 18:05:18 UTC
Thanks Islam for making it clearer. 

Separating download and auto-rotation makes sense. Now, as a normal user I have auto-rotation set by default and I don't care exactly when that process takes place. ¿Do we (normal users) really need a notification about it?
Comment 10 Riku Voipio 2012-08-29 18:35:27 UTC
Hi Islam,

Thanks for taking time to explain the issue. Speeding up downloads by moving rotation later makes sense. A notification is fine, if it doesn't require a click to acknowledge.
Comment 11 Islam Wazery 2012-08-30 23:54:45 UTC
Git commit 12c8601fe9f97617bf4d22cffacaeaa7f8fa5f9c by Islam Wazery.
Committed on 31/08/2012 at 01:53.
Pushed by wazery into branch 'development/3.0.0'.

hanged auto-rotation method (backgrounded) and renamed cameraui files to importui
Related: bug 161783

M  +2    -2    digikam/dragdrop/albumdragdrop.cpp
M  +2    -2    digikam/dragdrop/imagedragdrop.cpp
M  +25   -20   digikam/main/digikamapp.cpp
M  +2    -2    digikam/main/digikamapp_p.h
M  +2    -2    utilities/importui/CMakeLists.txt
M  +6    -6    utilities/importui/backend/cameracontroller.cpp
M  +1    -1    utilities/importui/backend/camerahistoryupdater.cpp
M  +1    -1    utilities/importui/backend/camerahistoryupdater.h
M  +0    -1    utilities/importui/items/importdelegate.cpp
M  +0    -1    utilities/importui/items/importoverlays.cpp
R  +182  -143  utilities/importui/main/importui.cpp [from: utilities/importui/main/cameraui.cpp - 090% similarity]
R  +6    -5    utilities/importui/main/importui.h [from: utilities/importui/main/cameraui.h - 097% similarity]
R  +0    -0    utilities/importui/main/importui.rc [from: utilities/importui/main/cameraui.rc - 100% similarity]
R  +7    -6    utilities/importui/main/importui_p.h [from: utilities/importui/main/cameraui_p.h - 095% similarity]
M  +10   -10   utilities/importui/views/importiconview.cpp
M  +3    -3    utilities/importui/views/importpreviewview.cpp
M  +7    -7    utilities/importui/views/importview.cpp
M  +3    -3    utilities/importui/views/importview.h
M  +2    -2    utilities/importui/widgets/importcontextmenu.cpp
M  +6    -6    utilities/setup/cameratype.cpp
M  +3    -3    utilities/setup/cameratype.h

http://commits.kde.org/digikam/12c8601fe9f97617bf4d22cffacaeaa7f8fa5f9c
Comment 12 Islam Wazery 2012-08-31 00:27:22 UTC
I think we can now close this bug (also this one #161783, please guys if you can test the download process with auto-rotation enabled from the development/3.0.0 branch and give me your feedback.