cryopublic beta

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.

File Explorer Extract all dialog.
File Explorer "Extract all" dialog

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

Assumption

The file presentation.ppt should be extracted into the current folder.

presentation

presentation.ppt

Result

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

Assumption

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

Result

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

Assumption

The folder pictures should be extracted into the current folder.

pictures

pictures

bird.jpg

apple.jpg

banana.png

Result

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

Assumption

The folder 01_content should be extracted into the current folder.

pictures

01_content

bird.jpg

apple.jpg

banana.png

Result

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

Assumption

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

Result

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.

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.

A ZIP archive pictures.zip with two top-level folders opened in File Explorer.
The archive "pictures.zip" with two top-level folders opened in File Explorer.

Steps to extract the content

  1. Double-click the ZIP archive (Enter)
  2. Select everything (Ctrl+A)
  3. Copy to clipboard (Ctrl+C)
  4. Move out of the ZIP folder (Backspace)
  5. Create a new folder with the desired name (Ctrl+Shift+N)(optional)
  6. Move into the new folder (Enter)(optional)
  7. 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.

File Explorer Dialog when the destination file already exists.
Dialog when the destination file already exists.

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.

File Explorer Dialog to overwrite a folder with a file.
Dialog to overwrite a folder with a file (1).
File Explorer conflict dialog overwrite folder with file.
Dialog to overwrite a folder with a file (2).

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 extract context menu.
The cryo file manager extract context menu.

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.