Recently, Apple announced—and then released—a new notebook referred to simply as “MacBook.” Its headline features revolve around classic Apple design, pushing the limits with extreme size constraints, and a lot of invention. The notebook is extremely thin, light, and clean in terms of design.
The notebook also sports an incredibly low power system design. The highest available CPU clock speed is a “mere” 1.3GHz. The RAM is 8GB in all configurations. And, there is no fan at all. Perhaps the most controversial design element is the lack of ports. It has one USB-C port and one headphone/microphone combo jack. The USB-C port is primarily there for powering the device. No, more specifically, it is there for charging the device. As a bonus, it can double for every other connection one may find necessary. But, the point here is that many, if not most, notebook users today do not really need ports on their device. Wireless is the way of the future and this notebook exemplifies this.
Of course, people who actually write reviews of technology products are probably the very worst people to make these observations. Tech writers have anything but a typical user profile and so their commentary is almost universally worthless.
So, where do I stand on this device? Well, for the past couple of years, I have toted around an iPad Mini or iPad Air to act as a kind of portable personal space in the computing world. I have a MacBook Pro 15” w/Retina that is maxed out in terms of specs and provided to me by my employer. I also never take it anywhere. Despite being light for its class, it’s still a burden to lug around when I know I’m never going to use it outside of the office.
I don’t require a notebook of my own. However, I, like most people, tend to do personal things while at work. I prefer not to do too much personal stuff on work property. You never know what kind of data mixups may happen and it’s generally good to keep a clear separation between those worlds. So I carried my iPad along with a keyboard case to sort of provide a portable personal space. It worked pretty well, but, I began to hit the limitations of the iPad when I started to take personal interest in more programming topics that weren’t relevant to work.
I truly believe that, with the right software support, the iPad could be a great tool for software developers. However, producing that kind of tooling takes an immense amount of time and effort. I do not have that time and do not have the will to put out the effort. So I found myself looking for hacks, like SSH into my personal desktop at home for full access to compilers and file systems and all the other aspects of software development tinkering. But, it was never a very good user experience. I loved the portability of the iPad Air 2, and its sheer power within its confines. But, I needed a notebook to have access to my personal space and software development tinkering at the same time on the go.
Luckily, at almost exactly the moment I was accepting this reality, Apple made their announcement of the new MacBook. While others may have been looking at this device and thinking about how underpowered it must be and how strange it is to have merely one port that is also used for power, even going so far as to pan it as just a notebook version of iPad—as though that was a bad thing—I was salivating. This was exactly what I wanted! If the iPad was reborn as a Mac notebook, that would be perfect.
The MacBook was perfect for me.
Now, that dreaming and idealism that comes with the announcement of a new product that seems like it truly is what you want is often muted by the calculations of whether that device can actually do what you need or want it to do. The big question: was the performance of this ultra low power device going to suffice? Will it simply be too weak to work as a programmer’s tinker toy?
So that brings us to day one. Yesterday I took delivery of my lovely new MacBook, in Space Grey, maxed out with what little choices one has for specs on this device. To recap, that means we have 8GB RAM, 512GB Flash Storage, and a 1.3GHz Intel Core M Dual Core processor. That seems incredibly weak compared to either my personal iMac (32GB RAM, 512GB SSD, 3.5GHz Core i7) or my MacBook Pro, which is similarly overpowered. It isn’t unreasonable to be somewhat concerned that the lower power machine may not provide a satisfying working environment for a programmer.
It took a few hours to get the basic system set up to my liking. At some point I had the thought that, perhaps, I should simply not use my usual tool set. No IDE, for example. I thought it would save me the frustration of waiting for the slower CPU to deal with all the multitudes of operations an IDE performs. However, I eventually concluded that it was silly not to try.
In my day to day work, Java is my primary tool. As all long term Java programmers eventually learn, the IDE of choice is IntelliJ IDEA. I installed it, and set my expectations very low. I took my time working through the configuration to find any and all options that I felt could improve the performance in this restricted environment. There wasn’t much. I did find a few key items such as increasing delays for auto completion and eliminating passive autocompletion pop-ups. I have often been annoyed by these behaviors anyway. Another option that gives a huge boost in perceived performane is disabling animation of windows.
I loaded up my most recent project from work. It’s a Spring Boot proof of concept web application. It ran. It worked. And it wasn’t even painful to work with. Sure, it definitely started more slowly than I am used to from my MacBook Pro (by about 5s.) There was no surprise there. However, what did surprise me is that the responsiveness of the IDE was maintained at more than an acceptable level. And while I realize that this is very early in the process of discovery, I am quite hopeful for the future prospects of software development on this device.
The entire time I’m trying these things out, I completely forgot that I had a whole host of software running in the background. We’re talking both Safari and Chrome, Reeder, iMessage, Telegram, Evernote, OmniFocus, Mail with multiple accounts, Dash, and utilities like Bartender. Oh, and Time Machine was completing the first backup of the notebook, a mere 93GB wirelessly. In short, the machine was working for me.
In conclusion, I am very impressed. I have never had a lower powered notebook that could perform so much so admirably and still be so light, small, totally silent and basically the most beautifully designed notebook ever. I hope that this level of experience is maintained over time. But, regardless, I already know that I can use this machine when traveling to maintain my capability to do real work anywhere I go.
And most importantly, this device will serve me very well for its intended use as a personal space for my daily browsing breaks, video, music, etc. as well as being a wonderful programming playground when I need a distraction from the rather predictable daily grind.
Oh, one last thing to mention: the battery held up wonderfully during this entire experiment. I did everything on battery. I worked on setting up my environment and tested out compilation and debugging and everything else entirely off the wire. I easily spent at least 3 hours doing this and had an estimated remaining battery life of 4.5 hours. I actually think that was a notable underestimate and also reflects the activity of backing up the machine and all the initial copying and so on that goes on when setting up a working environment for the first time.
TL;DR: MacBook performs far better than one would expect based on its stats. I can work in IntelliJ IDEA perfectly fine. Battery life is great. Highly recommended.