Windows VS MacOs for Development

Windows VS MacOs for Development

About 3 months ago, I attended my first hackathon ever. I dusted off my 4 year -dated windows laptop.

Long story short, it didn’t pan out. Windows decided to update at the worst time possible. Right when things were getting good, a project scope was established, and everyone was ready to get working.

My windows laptop flat out refused to back out of the “15 minutes left” menu enabling shutdown. No amount of batchscripts could stop the inevitable.

I packed up and went home. This was the 2nd windows laptop I had ever owned, and I wanted to try something different. A macbook.

These are all my impressions of MacOS and Windows, from programming, media, and everyday use. From both my own experiences and others.

Hardware Build Quality

I ended up getting a lightly used Macbook pro 2015 edition. Because Apple forgot how to manufacturer good laptops since then. Poor keyboard design, lack of legacy ports, needing dongles for everything, dust bricking your keyboard, etc. More so now with the latest inability to fix your own computer. And getting vendor locked.

Everything about a Macbook is far superior to most if not all solutions out for windows laptops. Every windows laptop I have owned, I felt compelled to use a mouse. Because of how terrible touch feature integrations are with windows. With a macbook, tactile feedback was on point. I never found myself accidently using the touchpad unintentionally either.

Use of Screen Real Estate

Macbooks have a far better overall usage of screen real estate. Because it has native desktop modes built in, it’s very seemless to switch from one application to another. Works great for dual screen setups

However, as a long term windows user, I cannot help but find this process inefficient with a triple monitor setup. I tend to take screenshots in portrait mode fairly often, for documentation purposes. I cannot remember if ever, someone who uses macOS running on a vertical monitor + 2 horizontal monitors.

Hardware Support

Macbooks suffer from having one vendor selection for an external monitor. With windows, you could run dual USB to output an additional feed. Doing this on macbook forces the CPU fan to spin at full capacity. And its really annoying.

The only option is to use an external HDMI port (assuming you have one, post 2015 models don’t). 

Another thing that is frustrating with Macbooks – external GPU support is discontinued with thunderbolt 2. That means I can’t use my macbook for rendering video quicker if I wanted to down the road. I would have to use its dedicated graphics card. For reference, GPU benchmarks are around 1500, GTX 1080s are around 12,000.

Software Development

Developing on a windows computer is an awful experience overall. I can’t begin to describe how frustrating it is whenever I encountered an error.

Did I not install the package correctly? Was the path not specified on install? Can I find issues related to my OS on this topic?

Everytime I dug through tech forums / stackoverflow, it was like rolling the dice. I would find a solution… but it wouldn’t work. Something that I would run in command prompt would not work in git-bash due to how things worked behind the scenes. Special terminals like cmder / emu would fail in one application, but not the other.

Using terminal commands in MS-DOS is god awful. None of the keybinds felt even remotely natural, using unix ls is so much simpler than using dir.

Running a macbook and unix shell for the first time natively… was refreshing. Running commands felt like 2nd nature. I could install native environments like oh-my-zsh with just using command lines in homebrew. Or seperate out installation dependencies in their own folders, so I wouldn’t deal with global conflicts.

Learning ruby on rails on windows was painful. It actually made me stop learning backend development because it was that bad. And avoid using the terminal. Now that’s really not the case anymore

Mac has some amazing terminal programs such as Iterm2. There is no windows comparison, binding native hotkeys to overlay a transparent terminal cannot be understated

Software Solutions

Macbooks might be better for multimedia (music / video / graphical / UX), but it has a lot to be desired.

If there’s one window’s application that I rely on almost daily, its ShareX. This nifty program lets me press one keybind, and generate a gif in less than 10 seconds. With a shareable URL from imgur. And gives me very powerful screenshot annotation tools to make effective shitty drafts.

I literally searched everywhere for something comparable to this app. For several weeks. A/B tested and bought every software in existence for anything remotely close. I must have tried 20 different apps.

Whenever I have to write up a lot of documentation, I avoid macbook’s specifically for this reason. Or having to do livechat / posting updates on slack. Every second, every keystroke, every finger movement matters to me. Time saved is time earned to enjoy elsewhere.

Having apple sketch is nice though, granted, many UX tools in 2018 are getting way better.

File Explorer

MacOS has a significantly better file explorer than Windows. However, windows is just better in everyway when it comes to file uploading.

With Mac, you cannot specify a folder path when uploading an image, for example. You have to select it every time. With windows, I could use an app called greenshot, press a button, screenshot, immediately get the folder path, paste it and upload anything in seconds. Your everyday windows user wouldn’t be aware of such things, but for me it matters.

Windows gives you the flexibility of installing your own file explorer. I personally use directoryOpus, and I find it essential everyday for work. Since I preview a lot of PDF’s, images, etc

Native Installation

Installing things on MacOS is what Windows should have done. Package things in its own seperate folder. With the ability to install something downloaded in literally one click.

Windows, I find I have to constantly click the “show last modified date” tab which is horribly redundant. Especially if I have a lot of files and folders in the downloads.

Native Search

Windows has awful search feature functionality built in. Regardless if we’re talking about windows 7,8, or 10.

With MacOS, there is spotlight, and alternatively alfred. Pressing CMD+SPACE to immediately find a file, trigger a IFTTT command, or run a program is very convenient. No such program in windows has this functionality

Keybindings

I still can’t get over the copy-paste function in macbookPros. It is not ergonomic friendly, despite coming from a long time Windows background. Everytime I press the copy and paste command, it feels like I am playing Hasbro’s twister game with my fingers. It doesn’t feel well thought out at all.

There’s really one specific way of touchtyping with a QWERTY keyboard layout. This is putting four left fingers over “ASDF” and four right fingers over “JKL;”. A standard Windows keyboard layout always encourages you to stay in that position. You just need to ever so slightly shift your wrist left, or just stretch a bit.

With Macbooks, this is not true. You have to shift your entire wrist/arm downward. That’s just… mechanically inefficient. For something you to do almost everyday.  Regardless of which fingers you use from muscle memory.

This in my opinion is poor ergonomic design. You could rebind the keys yourself, but this should have been native. Strangely enough I can’t find a video explaining what the proper way of using window’s CTRL+A, CTRL+C, CTRL+V on MacOS. The best I found was this stackexchange article.

I have played competitively in many video game genres over the years…  this is why I feel these native keybinds are terrible. When you have to do something inefficiently constantly, you are not going to be good, period.

Color Calibration

While macbooks pro retinas have been touted for it’s vibrant colors, one thing that really bugs me is PWM (Pulse width modulation). I cannot physically dim my macbook pro with nightshift mode in the evening. Because it drops the brightness past a certain %, and PWM kicks in causing eye fatigue due to screen flickering. So I ended up using flux here

Summary

This is my thoughts on macbooks VS windows laptops / desktops. For about 3-4 months. I have thoroughly tested as many popular productivity mac app. And watched way too many videos to count on macOS. I come from a long windows background. My first PC I owned was built by components I got from the hardware store, 15 years ago. But I make a disclaimer here – I am by no means an expert at using MacOS though. These are just my opinions.

My overall experience with MacOS and Macbooks is mixed. Hardware is far superior to anything else I’ve found in windows laptops. But software is a mixed bag for me. It has inferior software offerings for quick screen/gif annotations, which I rely on daily. Developing in a unix-based environment is wonderful though. Keyboard bindings are not good, but I may be biased.

My portable macOS workstation

This article was written October 2018, topics discussed here may be irrelevant in the future.

2 thoughts on “Windows VS MacOs for Development

  1. I’ll have to disagree with Mac keyboard ergonomics. Maybe it’s due to my (small) hand size, but I don’t move my hand down for copy-paste, I use my thumb + index or middle finger. So I reach CMD with my thumb like reaching for the spacebar but slightly to the left. I believe most people agree that pressing space with your thumb is ergonomic. Once I’ve used Mac’s I find Windows’ layout unergonomic and limiting. Cause with cmd Mac has an extra modifier key which is really good for Vim or any other keyboard shortcuts.

    1. Pressing space is ergonomic for both Windows and Mac, I agree with this.

      I had to do a bit more research on this topic. The best article I could find regarding the correct way of copy+pasting in Mac was this stackexchange article. . Strangely enough I could not find a video explaining MacOS ergonomics anywhere on youtube.

      Macbooks (2015 edition), they have an extra modifier key. But, I don’t consider the “FN” button as a commonly used key in Mac. The only time you would routinely use it is with Excel (F4 bind key). With windows I frequently use all 3 keys (CTRL, WIN, ALT). I find this is all the modifier keys I need, granted I use only basic VIM keyboard shortcuts / commands. If I needed more special bind keys, I use a macropad. I can’t think of a need for it unless you do a lot of 3D design / photoshop / video editing / use emacs+vims shortcuts heavily.

      4 bottom left keys is harder to touchtype in my opinion. I constantly mix up ⌘ and CTRL, and can’t figure out which finger to use. It takes more muscle memory to remember the layout.

      I tried what you suggested, use your left thumb and roll it under the wrist to touch ⌘. It also limits the total range of potential comfortable keyboard positions (e.g. slouching on a chair, vs sitting upright). It also requires an additional muscle in the forearm (Flexor carpi radialis, if I’m not mistaken), causing increased tension.

      Maybe I am just not used to MacOS ergonomics. One issue that I find is I use CTRL+A, CTRL+C, CTRL+V frequently in windows. Using the MacOS equivalent for select all ⌘+A, requires you to lose the “ASDF” “JKL;” touch typing positions

      The other option is to use your left ring finger on the ⌘, but you also lose touch typing position. It is also really hard to use ⌘+A this way too.

      I may just rebind the “FN” key to “CTRL” and just manually unbind / rebind it as necessary. Even after thinking this through and testing it out a bit more, I still think MacOS native ergonomics aren’t that great, from a biomechanical viewpoint.

Leave a Reply

Your email address will not be published.