Bottles

Share

What is Bottles?

Bottles (usebottles.com) is an application for Linux that lets you run Windows applications (.exe files) on Linux. More specifically, it lets you manage separate environments with different configurations where Windows applications are run, which helps if you some applications that only run in Windows 10, and others that only run in Windows XP, for example.

A dialog box in front a window that reads: Welcome to Bottles, Run Windows Software on Linux.
A screenshot of Bottles' welcome window.

Observations

Frustrating UI: I find Bottles' GUI extremely frustrating. The backend of the software itself works, but the frontend tries to be so "clean" that it has several problems with it.

A review of some issues I had with it include:

Introduction Wizard: when Bottles first runs, it shows a dialog box inside its main window welcoming the user. Normally, this is considered good UX. However, first of all, the wizard is completely useless. Its pages are:

Page 1: a graphic of three bottles next to a window. The text reads "Welcome to Bottles". Under it, "Run Windows Software in Linux." That is it. That is the page.

Page 2: a text reads "Windows in Bottles." Under it, "Bottles uses compatibility runners to provide isolated containerized Windows-like environments where programs run."

I have absolutely no idea whom this message is for. What is the Venn diagram of people that need this nice "clean" introduction but also are fully aware of what meaning of terms like "compatibility runners" and "isolated containerized Windows-like environments"? If you're going to put text in your application, at least be informative. Nobody needs a single-line summary of what the application is for when you open it. This is why the Help -> About menu exists in the menubar (but of course, Bottles doesn't have a menubar).

I'm particularly annoyed: because when I tried to close this pointless dialog at this step, I accidentally clicked the close button on Bottles' window. Why did I do this? You may be thinking it's the user's fault. Of course not. It never is the user's fault. We can find very rational reasons in a GUI's design the lead the user to make mistakes like this. In this case, unlike a normal message dialog box, which is wider than it's taller, this introductory dialog box is HUGE and square-like. The Bottles' main window doesn't start maximized, which means that the height of the introductory dialog is almost the same as the height of the main window. Due in part to my window decorations (which I believe are the default in Linux Mint), there are no borders, either, and that's how you make the user close the main window instead of a dialog.

Page 3: a text reads "Almost done." Under it, "We need a few more minutes to set everything up..." Under that, a button with the call to action "Continue."

If you press continue, it starts setting up Bottles. I don't know why it didn't use the time it made me waste reading these introductory messages to start setting it up while I was reading. That would have made perfect sense to me.

Pressing continue displays a weird horizontal bar that is meant to indicate progress but isn't an actual progress bar. It just displays a section in blue that goes from the left to the right and then back. Why is there not an actual progress bar? A log window? Why make it a bar? Why not a spinner like everybody else?

Page 4: a message says "All Ready!" with a call to action button "Start using Bottles."

Despite this, you can't actually start using bottles. It shows you the Library view by default, but you can't add things to your library without first creating a bottle, and to create a bottle, you need to switch to the Bottles view. There are many things I wonder about this.

  • Why does it default to Library view, when a new user can't do anything in it?
  • Why the introductory wizard doesn't guide the user to create their first bottle?

I suppose one answer is that you can click the plus (+) button on the top-left corner to create a new bottle, despite the fact that there is no indication about what that button does for a new user.

I Have Two Plus Buttons in My Headerbar: when using Bottles, I see two plus buttons on its titlebar, because GNOME apps use something called "headerbars" full of buttons which leads to issues like this one, and some themes on Linux use the plus icon for the "maximize" action which leads to issue like this one.

Yes, I actually clicked the maximize button by accident when trying to click on the other button. I don't care if you think I'm not a smart man, the fact something like this is even possible in a GUI is just sad.

No Information at All: Bottles lacks indicators for pretty much everything you could wish there were indicators for. When you install a dependency, for example, there is no indicator of how much progress has been done installing that dependency. Just a spinner.

Some dependencies can take seconds to install, some can take minutes. You have absolutely no idea how long you will have to wait until it installs. I can only imagine someone thought progress bars were too complicated of a concept for the non-technical people who only know basic computer terms like "isolated containerized Windows-like environments."

If the dependency fails to install, there is also no way to get information about it from the GUI.

When you run an application, the only indicator you get is that an icon that looks like a play button becomes a stop button. It the application crashes, for example, you do not even get an indicator that the program stopped executing unexpectedly.

Flatpak Issues: on Linux Mint, the Bottles version available is a flatpak which brings all the UI problems of flatpaks to Bottles. In particular, there is this insane problem where, if you click the button to create a shortcut, it opens a file dialog to find the .exe to run, and the .exe will run but it probably is going to crash.

The problem is that by default flatpaks don't have permission to access your files on the filesystem, so when you select a file like this, what it does is that it copies the selected file to a temporary location and then gives the flatpak application permission to access that temporary file. This means Bottles will be running the .exe file from the a /run/ subdirectory, and only that file. If the .exe needs other files in the same folder (as basically every application needs), the .exe will crash because none of the other files in the same folder will be copied.

This could be solved with a simple warning in the flatpak version: "you're using the flatpak version, so the .exe will be copied to a temporary location and other files in the directory won't." Not only it doesn't have any warning about this, it also doesn't inform you that the file you're running isn't actually the file you selected.

Poor Icons: Bottles, like many applications that look like it, makes use of many icons for its buttons despite the fact it hasn't spend much effort considering what icons should actually be used.

The icon to create a new bottle is a plus, when it could be an icon of a plus next to a bottle. The reason for this is probably because Linux apps prefer to use generic icons so that they can be themed. This often backfires as the generic icon can't actually convey the purpose of the button, specially as some icons may only look like they make sense in one theme.

The icon for running an application is a set of gears (gear reduction), as it indicates a "process." But gears are also commonly found as icons for the button that opens settings or preferences. In fact, even Bottles uses this gear icon for settings.

Hidden, Broken Search: there is a long list of dependencies you can install. It would be great if you could search for their names. Is there a search box? No. Is there a "search dependencies" item in the menubar? There is no menubar. Is it in the hamburger menu? No, it only has 4 items: Import..., Preferences..., Help (which opens their website...), and About Bottles. So how do I search?

You have to press a keyboard key. Any key. And the search box will just magically show up.

Words can not describe how much I hate this.

You found what you wanted. How do you get rid of the search box? Is it escape? It hides the search box, but doesn't clear the filter. In fact, I somehow managed to clear the search box without clearing the filter once.

Conclusion: as usual, I'm just very disappointed with the design of yet another Linux application. I don't think I'll ever understand how something even ends up in such state. Although this review seems to be particularly critical of Bottles, I don't think it's fair to blame Bottles specifically, as it seems to have followed general GNOME guidelines, which is sponsored by most Linux distros. Bottles is not particularly better or worse than the average Linux GUI, it's just indicative of what the average Linux UX feels like: too simplified, confusing, with no indicators, with things that don't work by default and with no logic to inform the user about them, hidden functionality, and help that requires Internet connection.

Comments

Leave a Reply

Leave your thoughts! Required fields are marked *