Think vindicated.
- What is best in life my dear Conan person?
- To confirm your bias. To realize you were right all along. To gather evidence to support the case for everyone else’s wrongness. I guess you can see where I’m going with this.
- Yes, that is mighty good.
Setting the Scene
So I used a MacBook Pro as my workstation for the first time and for a period of six months. Previously, I’ve never shown interest in owning a MacBook and never worked with one for an extended period. I obviously was aware of the fact that a majority of developers do prefer the Mac OS X environment to everything else available.
Turns out that my bias/instinct/gut feeling/resistance/stubbornness against working on the Mac OS X was on point because of several shortcomings of Mac OS X when subjected to my workflow habits. So here’s the yay, meh, and nay aspects of working with a Macbook.
Yay
Alfred
Alfred, the productivity app is really great with it’s functionality of launcher, clipboard and snippet manager while being highly customizable.
Dash
Dash, the documentation browser, is a major boost of productivity, not just because of the curated list of docsets, but also because of the way it strives to provide a very streamlined and efficient workflow for browsing documentation.
Command Key
The command key is super useful for having application and global level shortcuts. I also liked how consistent it’s usage among applications was, like Command-L always focusing the search box in an application.
Emacs Keybindings Everywhere
This was a major and most welcome surprise; Emacs keybindings really seem to work almost everywhere, making any old textbox usable without reaching out all the way to the mouse or the arrow keys.
Hammerspoon
Hammerspoon is advertised as a powerful and extensible automation tool. Now, that’s really truth in advertising since it allows you interact with OS X via Lua scripting with the help of a whole lot of modules. My use case for it was implementing a more sane window manager which mimicked the Ratpoison/Stumpwm school of window managing; mekpoison.
Power Management
Probably unrivalled except some outliers, really lives up to its reputation. You probably are not doomed if you forgot to bring your adapter since you may get a day’s work on battery.
Meh
Hardware
While obviously designed to high standards, I didn’t care for the hardware that much. For some reason the aluminum unibody doesn’t appeal to me. Also it fries your lower parts when you’re doing resource intensive tasks with the machine on your lap.
Touchpad
Being not big on touchpads, couldn’t say this one changed my opinion. Also missed a few things from Linux, like using one finger on the rightmost edge for scrolling but didn’t bother enough to look for workarounds. Also missed the Trackpoint dearly. There’s nothing quite like it, dammit. A trackpoint is the love of your life, whereas the best touchpad in the universe can only save the weekend.
Nay
Not Customizable, Like, At All
Specifically, the lack of native, customizable window managing options and the whole one-size-fits-all approach. What I hated with passion are:
- Unavoidable animation when switching to fullscreen (only mitigated to some degree by some accessibility options)
- No way to turn to turn off window decorations (only available per application basis, like iTerm)
- No way to change window management shortcuts; so if you think Command+Tab is the worst combination ever, you’re out of luck.
I know there are several alternatives for window management and I picked one (Hammerspoon) but it really seemed to me that you were fighting the operating system all the time just to be able to preserve a shred of your workflow.
No GNU Userland
Well, maybe I’m too accustomed to working with GNU/Linux distributions but some things really bugged me to no end; like not having the third button paste everywhere (except in iTerm), no iproute2, outdated userland tools. Also, being a lazy person I’d like to provide command line options wherever I like, thank you very much, like ls /tmp -l
whereas most BSD tools made you specify the options first and arguments last.
Retina Doesn’t Love Company
While the retina screen really looks cool, it doesn’t play well with external displays, you know those non-4K, non DisplayPort, behind the times ones. I swear the fonts looked really weird (read fuzzy) on the display, especially if you didn’t mirror the screen. And this is coming from someone who is content with the font rendering on Linux distributions. Probably I wouldn’t have this problem if I was working with a shiny Mac display, but, yeah.
End of Rant
But this all doesn’t mean that the Mac OS X way of working is no good. I’ve seen people being crazy effective/happy/crazy with it. It also had some really nice features as mentioned (albeit some only with third party software) I really appreciated.
However, at the end of the day, since Mac OS X is so opinionated, it will pose problems for some people if you go with the one-size-fits-all approach and have everyone working on Mac OS X instead of providing the ability for everyone to choose their own working environment.