Oct 082015

I love my Macbook Pro and I hate Apple 🙂

More or less a year ago I’ve bought a Mid 2014 15″ Retina Macbook Pro featuring a 2.5 GHz Intel Core i7 with 16 GB RAM and 512 GB SSD. That’s just a smidge slower than the fastest processor and it is not the voluminous 1 TB SSD, that would have allowed me to keep my complete music colletion with me. I regret having not taken the bigger SSD, but all in all the difference was something like 500 €, the equivalent of a good lens.

Well, the Macbook Pro is the best computer I’ve ever had. It’s faster than every desktop and of course much faster than every laptop. A similarly equipped Ultrabook from MSI, the alternative that I’d considered, felt and looked cheap in comparison. It was almost laughable.

So far, so good. What I didn’t like was Apple’s way of forcing their user interface style down my throat. I am used to Linux (and earlier UNIX workstations from DEC, HP and IBM). 20 years ago I began using virtual desktops extensively.

Do you know what a virtual desktop is? Basically it is a program or system extension, that allows you to switch between different desktops with different groups of windows open. The best of them had not only virtual desktops but also viewports, with a virtual desktop being a rectangular arrangement of viewports (fully configurable, for instance 6×5, just like tiles) and therefore a viewport being something like a window showing one part of the desktop, one such tile. I had configured keybindings to move the viewport left, right, up, down with CTRL+ALT and a cursor key.

I normally used three such desktops, with CTRL+ALT and PageUp/PageDown to move from desktop to desktop, keeping the viewport as it was in the previous desktop. You can imagine that as a three-dimensional arrangement of three layers of tiles.

I always kept my main windows in the middle layer. That way from each main window (for instance an open editor window with the most frequently edited file in a project) I could reach six neighboring (and related) windows with only one keyboard shortcut, 14 neighbors with at most two shortcuts, the whole cube of 26 neighbors with at maximum three shortcuts.

Yes, 90 screenfuls of windows sounds crazy, but as I used it, it was incredibly useful for a programmer with a visual mind. Flipping between open files for comparison or for looking up information was extremely fast and became almost automatic.

To set up such a session with 30 or 40 open windows took time and the session wouldn’t last. There was no way to save an arrangement of windows and automatically re-open it after a reboot. It does not even work on a modern Mac with all programs.

Persistence of sessions was no necessity either. It was Linux. You rebooted after an operating system upgrade to the next release or after a power failure. Program upgrades normally only required a restart of the program. Kernel upgrades could wait for the next OS upgrade. Security was not a concern.

Good things never last though, and user interface designers on Linux, in their constant desire to embrace Windows and Mac users, began to take away virtual desktops (the layers) and instead call the former viewports desktops. Gone was the third dimension, but I still had a rectangular plane. It made intuitive arrangements of related windows harder but still reasonably feasible. Four neighbors with one shortcut, twelve with two shortcuts, if you accepted having to use the same shortcut twice.

Then came Ubuntu and Gnome 3. They took away the second dimension, reducing the plane to a single string of desktops. You could only move left/right, going from the first desktop to the last took as many shortcuts as you had desktops (minus one). Of course you could use shortcuts like CTRL-1, CTRL-2 to CTRL-0 for the first 10 desktops, but that required you to know your windows by desktop number. It required you to think before switching desktops, instead of relying on muscle memory. It slowed me down, I hated it with a passion and I called it “The Most Stupid Idea” user interface designers have ever had. I tried it a few times and always reverted to alternative desktop software that at least gave me my two dimensional, rectangular arrangement. I even found a similar virtual desktop add-on for Windows.

Imagine my dismay when I found out that “The Most Stupid Idea” was actually the standard on the Mac. Ubuntu and Gnome 3 had just copied the UI style of OS X Mavericks!

When Apple had first given their users virtual desktops, they called them “Spaces”, and until Mavericks they were two-dimensional as it is a minimum requirement for a proper virtual desktop. Only with my first OS X version ever did they dumb the interface down. I was furious. I had the best hardware on the planet, but I was stuck with a non-customizable user interface nightmare. Hey, we’re Apple, we know better than you what you need!

TotalSpaces2 to the rescue. It was a clever operating system extension that restored the two-dimensional grid of desktops. After the first days of pain it was finally relieve.

Until El Capitan. The way TotalSpaces works is by hacking the operating system. The new “System Integrity Protection” makes that hack impossible, and because Apple refuses to make the window management system customizable via a supported API, I have to either disable “System Integrity Protection” (an actually important security feature) or I am back to “The Most Stupid Idea”.

The problem with Apple is the same as with the designers of Gnome: it’s arrogance and disregard for their users. Apple is a cult and surprisingly people even seem to love them for that.

What will I do? Install Linux on my Macbook Pro? I can’t. I need Lightroom and sometimes still Photoshop. Install Windows 10 instead? I am not yet ready for that, but somehow I think that’s a good idea 🙂