Design guru? We need a file import UX that says DON'T PANIC
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Dmedia |
Fix Released
|
High
|
David Green |
Bug Description
Tara (~frmdrt) is a professional photographer, and it was observing the many error-prone file management tasks that her software (Aperture) burdened her with that got me wanting something like dmedia. Professional photographers live in constant fear that they will accidentally lose or destroy, say, someone's wedding photos. We want dmedia (and Novacut and other apps built on dmedia) to inspire enough confidence that the user doesn't worry about these critical file management tasks.
Part of inspiring this confidence is having the dmedia backend robust and reliable. But equally important is getting the UX right. For professional users in particular, I think the UX needs to make the user feel confident that 1) dmedia wont even give them the opportunity to make stupid mistakes, 2) dmedia will do the right thing automatically without the user needing to intervene, 3) and dmedia will be honest and tell them when they *should* PANIC.
Although the dmedia backend will be just as appropriate for casual as for professional use, I have a strong hunch that the file import UX needs to be uniquely optimized for casual vs professional use because these two classes of users are actually doing something pretty different. For example, the typical pro user will 1) import from a card reader rather than by connecting a USB cable to their camera, 2) import several cards one after another in a batch, 3) have a much, much higher data volume. The pro use case is extremely repetitive, which is why it becomes error prone and stressful if you give the user the option to make stupid mistakes. What might be an acceptable mental workload for a task performed once per week can be totally unacceptable for a task performed dozens of times per day.
Here's a brain dump of things I've observed in Tara's pro workflow, with some of my own experiences tossed in:
1) Always de-duplicate (and the de-duplication must be flawlessly reliable). Whenever there is any doubt as to whether some files have already been imported, a pro user must be able to throw a card in and have it accurately find any new files. The pro user is horrified of manual de-duplication... never make them do it!
2) Always import all *new* files on the card... don't even give the user the option to import a subset, potentially skip files they actually want. Of course, some files will be rejected as unusable, but the import process is *never* the time to decide that. That should be decided only once the files are durably stored and you can change your mind.
3) Never make the user wait for thumbnails to be loaded before they can begin the import process. Obvious consequence of the above.
4) Don't require user intervention to begin the import process. Another consequence of (2). Perhaps the first time they import using dmedia, a confirmation dialog should appear to make it clear to them what's happening. This dialog should have an "Import automatically from now on" option that's checked by default. After that, there should be a NotifyOSD message telling the user that the import has started, another NotifyOSD to tell the user the import has completed. Of course, there should be a way to cancel the import (I like the idea of doing that through an application indicator). Automatically importing anytime a card is inserted - this is an area where I feel what's most appropriate for the casual vs professional user differs.
5) Import unobtrusively in the background without interrupting the user's current work. It's annoying to require an application to open just to do the import. And as dmedia is a cross-application media library that will be storing video, audio, and photos, there might not always been a single appropriate application to open anyway. If a dmedia-using application is open, the user should be able to continue to work... no one wants to sit and watch the import process.
6) If importing to a system with redundant storage (RAID1 or RAID10), format the card after the import has completed. Nothing is worse than trying to take a photo or some video and realizing your memory card is unexpectedly full. Then you have to 2nd guess yourself: is the card full because I forgot to format it after I imported, or is it full because I never imported these files? A core part of the dmedia design is that it tracks the "durability" the files (basically the number of copies) so that it knows when a file can be safely deleted from a specific device. This is one of the most stressful parts of the pro workflow and it will be a huge win if we can reduce the workload to: "If there are files on the card, then they haven't been imported"
7) When appropriate, tell the user to PANIC. When there are media files (original content captured by the user) for which only a single copy exists in the whole world, dmedia needs to indicate a state of PANIC. I would like an application indicator for long-running background processes, in particular for content-creation type stuff. Turning red like the reboot indicator would be a good idea. dmedia needs to do everything it can to resolve the state of PANIC without requiring user intervention (uploading to cloud storage, copying to removable media). Part of inspiring confidence is being forthright about when there is reason for concern, and this is pretty much the end-all be all concern for pro users.
Upon the recommendation by James Raymond (~animafreek), we're using google docs for doing quick mock-ups. Here is the doc for this feature: https:/
Ping me on #novacut or ask in this bug if you would like write access to the doc.
Changed in dmedia: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 0.2 |
Changed in dmedia: | |
assignee: | nobody → David Green (david4dev) |
Changed in dmedia: | |
status: | Triaged → In Progress |
Changed in dmedia: | |
status: | Fix Committed → Fix Released |
When proof-reading this document for Jason, I started wildly nodding when I came to point number five. This somewhat involuntary response was triggered by memories of me dumping off memory cards from the last wedding that I shot. I wasted so much time just waiting for all 3500 photos to import; Aperture wouldn't even let me rate my photos and create sub-folders during the import process. If I could have rated and cropped photos during importing, I probably would have saved a good two hours. And time is of the essence when brides have internet access in their honeymoon suites; they are excited and want to see beautiful photos of themselves now not later.
The other point that I enthusiastically support has to do with file duplication. I'm quickly running out of space on my hard-drive; it's gotten so bad that I've started eliminating some of my HD movies that I purchased through i-tunes. So of course, it irks me when video and photo files end up duplicated; sometimes it takes me a while to realize duplication has happened (mainly because Aperture will separate duplicated files in the thumb-nail line-up) and that I need to do some trashing.
To sum up, a big thumbs up for points five and one from someone who usually works with thousands of photo files in one sitting.