I use Macs and I use Windows PCs. Sometimes I have a choice – sometimes I don’t. Overall, I’m definitely more of a fan of the general “Mac” user experience – focusing on making things “just work” with sensible defaults, and using as few clicks as possible to get things done.
On Macs, there is a wonderful program called The Unarchiver that “just works” for extracting ZIP files. It works very similar to the built-in unzipping functionality, but supports many more file formats. I love it – when I double-click on a compressed file, it expands it in the current folder, and it’s very smart about how to do that. If there’s only one file inside the compressed file, it puts it right in the current folder. If there’s more than one file, it puts it into an appropriately-named subfolder.
On Windows, 7-zip is probably the most versatile unarchiving program. 7-zip will extract practically anything you throw at it, and it also is great for creating archives as well. However, it’s double-click functionality feels very “Windows”-like – it opens up a file-manager style view, and then you have to decide what to do with it. If you set up the context menu, you can right-click on an archive and choose 7-zip -> Extract Here, and it will sort of do what The Unarchiver does… but not really. It’s not smart about folder placement/creation, and did I mention you have to right-click then go through a submenu?
I decided to write a script in VBS that would work more like The Unarchiver, and bind this to the default action for double-clicking on any archive files. I’ve created an installer file that will copy the VBS script to your 7-zip folder, and optionally set up the file associations for you. I haven’t tested it thoroughly, but it appears to work fine on two of my computers.
Note that this requires that you have 7-zip installed. I recommend installing it to the default directory of C:\Program Files\7-zip, but if you install it somewhere else, just make sure to specify the real 7-zip directory in the 7zunarchiver installer.