Uploader Design Overview
1. Problem
Problem Statement: Currently most web applications use the standard http
file browse and upload service provided with the <input type="file">
form field.
- Only one file can be selected at a time for upload.
- Interface is inconsistent from browser to browser even down to the labels on the browse button.
- The application can not specify the file type or types that are accepted in the current context.
- The browser does not provide meaningful or consistent feedback on the upload process.
2. Users
Catalina and Christy are some of the users whose needs we primarily considered when designing the Uploader.
Fluid Personas are a collection of various types of important users whose needs we need to consider throughout the design process.
3. Users' needs
Contexts of Use: Where in the systems we support is an Uploader being used currently?
- uPortal File Upload Contexts of Use
- OpenCollection File Upload Contexts of Use
- Sakai File Upload Contexts of Use
- Uploader Scenarios and Use Cases
Functional Requirements: What use cases does the Uploader component support?
Primary & Secondary Scenarios: In what scenarios would the Uploader be used?
4. Solution
Wireframes: What does the Uploader look like and how does it behave?
Storyboards: How, when, and where would the user use an Uploader?
- Uploader Storyboard - Simple Upload
- Uploader Storyboard - Upload with Error
- Uploader Storyboard - Add more
- Uploader Storyboard - Upload and Cancel
- Uploader Storyboard - Batch Upload with Metadata
Comprehensive File Upload Design Pattern: Design advice for performing a "comprehensive" (complex) file upload.
5. Uploader User Testing
Uploader User Testing: Summary of all user testing performed on the Uploader component.
User Testing Protocol: Describes how the user testing of the Uploader will be carried out.
- Uploader User Testing - Round 1 Protocol
- Uploader User Testing - Round 2 Protocol
- Uploader User Testing - Round 3 Protocol
- Uploader User Testing - Round 4 Protocol
User Testing Results: Describes how the users interacted with the Uploader prototype and what improvements can be made.
6. Preparing for Implementation
Storycards: Decomposes the Uploader into small implementable chunks
- Storycard 1: Remove "pause" button
- Storycard 2: "Remove" button should not display once files are being uploaded
- Storycard 3: Add remaining time for upload to the progress bar.
- Storycard 4: Update information at the bottom
- Storycard 5: Add Cancel button (Daphne)
- Storycard 6: Error: file name already exists (Erin)
- Storycard 7: Allow user to create a display name & send notification (Daphne)
Functional Specification: Development specification containing interaction details such as "interesting moments."