Usability of extracting ZIP archives on Windows
This article explores the challenges a user might encounter for a seemingly simple task — extracting a ZIP archive. The Windows built-in support for extracting ZIP archives isn't as smooth as it could be. The end of the article demonstrates a simplified extract function to improve the user experience.
When a user extracts a ZIP file without examining its content first, the result might be surprising. Windows doesn't provide an automatic way to figure out the optimal path to extract the content. This can lead to unnecessary extra folders with just one item in it. Or worse, polluted folders with dozens of items.
Background
Since their initial release 31 years ago in 1989, ZIP archives have become the most popular archive format to compress and exchange files and folders. There is a simple reason for that, like MP3 they just work everywhere, on every platform even without 3rd-party tools.
Windows built-in ZIP support
Windows provides two build-in ways to extract archives. 1) Extract via context menu or Ribbon action and 2) open an archive as compressed folder. The main difference between them is the amount of interaction steps vs. control over to which destination files are extracted.
1. Extract via context menu
Microsofts documentation and most articles recommend this method. The context menu action pops up a dialog and suggests a destination folder.
Note that the top-left back button isn't clickable. The title "Extract Compressed (Zipped) Folders" is generic and plural. It doesn't reflect the fact that we extract a specific file named presentation.zip.
The dialog doesn't display the content of the archive. By default, it suggests extracting everything to a new folder with the archive name.
The following common scenario ZIP archives were analyzed to see how well this works. A ZIP archive may contain arbitrary structured content. The given assumptions represent the least surprising results.
a) A single file
presentation.zip
presentation.ppt
The file presentation.ppt should be extracted into the current folder.
presentation
presentation.ppt
A new folder presentation is created and the file presentation.ppt is extracted into it. There is little value in having an extra folder holding only one item.
The new folder will be opened in a new window (this option is checked by default). This disrupts the mental model, since the user isn't any longer in the same place where the context menu was opened to extract a single presentation.
b) Multiple files
pictures.zip
bird.jpg
apple.jpg
banana.png
Based on the archive name a folder pictures should be created in the current folder. The files should be extracted into this folder.
pictures
bird.jpg
apple.jpg
banana.png
The newly created pictures folder holds everything together. Creating an exta folder further prevents polluting the current folder with possibly dozens of files.
c) A folder with multiple files
pictures.zip
pictures
bird.jpg
apple.jpg
banana.png
The folder pictures should be extracted into the current folder.
pictures
pictures
bird.jpg
apple.jpg
banana.png
The folder pictures is extracted into a new folder named after the archive. The extra folder is unnecessary and having two nested folders with the same name is confusing.
d) A folder with a name different from the ZIP archive name
pictures.zip
01_content
bird.jpg
apple.jpg
banana.png
The folder 01_content should be extracted into the current folder.
pictures
01_content
bird.jpg
apple.jpg
banana.png
There is no value in putting 01_content into the extra folder pictures.
e) Multiple folders with files in them
pictures.zip
animals
bird.jpg
food
apple.jpg
banana.png
Based on the archive name a folder pictures should be created in the current folder. The content of the ZIP archive should be extracted into this folder.
pictures
animals
bird.jpg
food
apple.jpg
banana.png
The extra folder keeps the whole directory tree together as one unit.
Related YouTube videos
When people want to learn how to extract ZIP files, they might search for a short video on YouTube. The most viewed YouTube videos on the matter utilize the "Extract all" context menu.
- How To Unzip A Compressed File Folder(577K views)1
- How to Unzip a File or Folder in Windows 7(523K views)1,2
- How To Zip/Unzip A File Or Folder In Windows 10(206K views)1,2
- Extracting Files - Windows(60K views)1,2
1 Uses the suggested default destination and open in new window option.
2 Shows the "unnecessary folder" issue mentioned in test (c).
Summary
The default approach, which always suggests extracting to a new folder named after the archive, only works properly for archives that contain multiple top-level items.
Opening the new folder in a new window disrupts the user's mental model from extracting a ZIP archive to getting "teleported" to a new location. People who mostly work with just one File Explorer window may find it even more confusing.
2. Open a ZIP archive as compressed folder
The second method to extract ZIP archives doesn't suffer the downsides of the "Extract all" approach but requires more manual work.
Double-clicking an archive in File Explorer works the same way as opening a regular folder. The content of the archive is immediately visible. It's possible to copy the content to the clipboard and paste it outside in an appropriate location.
Steps to extract the content
- Double-click the ZIP archive (Enter)
- Select everything (Ctrl+A)
- Copy to clipboard (Ctrl+C)
- Move out of the ZIP folder (Backspace)
- Create a new folder with the desired name (Ctrl+Shift+N)(optional)
- Move into the new folder (Enter)(optional)
- Paste the content from the clipboard (Ctrl+P)
When the archive contains only one top-level item, the process consists of at least five manual steps. The example above has multiple top-level items, requiring two more steps to create a new folder and enter it.
→ Keyboard-shortcuts significantly reduce the time for each step, but the cognitive load stays the same.
This method provides full control without surprises for the user.
The case where the destination already exists
In rare circumstances, a file might already exist under the same name at the destination. In that case, Windows shows a dialog and asks to replace or skip the file.
At this point, it is not possible to select another destination or to rename the file: Replace, skip and compare are the only available actions. The choice of icons should be questioned, the checkmark icon for replacing might be debatable but the undo icon for skipping is confusing. Expanding the "More details" button is meaningless as it's always disabled.
→ To prevent the error in the first place, the "Extract all" dialog should have warned the user that the destination already exists.
Attempt to overwrite a folder with a file
When a folder at the destination exists, which would be overwritten by a file with the same name, an unexpected dialog pops up.
The dialog doesn't communicate the actual issue that the folder and file have the same name and suggests a solution not related to the problem. Pressing "Continue" opens the next dialog.
Pressing "Try Again" yields the same error again. To fix the issue the folder needs to be deleted. The user is pretty much stuck here and has to figure out what to do by searching the Internet for a solution.
Building a simplified ZIP extract function
Looking at the issues of the built-in Windows ZIP support, the question remains: How can it be improved to be easier to use? Ideally, the functionality should be foolproof, and the user shouldn't have to make all these decisions.
The cryo file manager adapted the macOS approach to extract archives. The whole process is automated so that the user doesn't have to make any decision other than to extract the archive.
UX Properties
- Never create unnecessary extra folders.
- Always create an extra folder based on the archive name if it contains multiple top-level items.
- Extract single item archives directly into the current folder.
- Conflicts with existing files are handled by renaming the extracted items automatically if needed, so that presentation.ppt is renamed to presentation (1).ppt.
- After the extraction is done, the new file or folder is selected to guide the user. This prevents the "teleportation" experience when opening a new window.
- There is no option to select a different destination — it's always the current folder. This removes the cognitive load for a UI element that almost nobody uses.
- For smaller archives no dialog will be opened since the extracted result is visible quickly. A simple progress bar dialog is shown only for larger archives.
Demo videos
The following short videos demonstrate the user experience of the simplified extract function.
Extract an archive with one file
The file is extracted into the current directory.
presentation.zip
presentation.ppt
Extract an archive with multiple files
In this case an extra folder pictures is created and the content is extracted into it.
pictures.zip
bird.jpg
apple.jpg
banana.png
Extracting a single folder
The folder also has a different name than the archive.
pictures.zip
01_content
bird.jpg
apple.jpg
banana.png
Extract a large archive
For larger archives a progress bar dialog is shown. The video also shows the conflict handling by renaming the extracted folder since a folder with the name already existed.
Conclusion
The simplified extract function prevents all pitfalls of the Windows built-in ZIP support. The biggest gain is that a user doesn't need to understand anything about the details or different cases.