Experience with Apple Silicon M1 MacBook Pro as a Software Developer
subedi.co
subedi.co
The positives are that it is very fast and battery life is great!
That’s surprising; “instant wake” is an advertised feature of the AS Macs.
Are you actually referring to how long it takes to get back to the desktop from the Lock Screen? If so, do you perhaps have lots and lots of Chrome tabs open, more than fit in memory, such that some are hibernated; and do you frequently put your Mac to sleep, change its power state (plug/unplug), then wake it up again? If so, that’s Chrome blocking wake by attempting to wake up all the hibernated tabs to tell them the power state changed. I get that all the time on my 2016 MacBook.
I've never seriously used OS X outside of struggling through it to develop apps, so I'm a bit nervous. I'm making the switch ironically so I can use MS Office (work is heavy on sharepoint), and for the portability.
Do this especially since you're probably not gonna be able to avoid using at least a couple resource-hog Electron apps, so you need to save your battery for them.
Also: Apple's first-party "apps" in general are pretty great. Preview is a religious experience. Terminal.app is one of the best GUI terminal emulators on any platform. Give them a shot if you're not used to bundled software being much good.
With the ability to have multiple tables next to and around Keynote styled diagrams and notes on a single, giant zoomable sheet-canvas with all the usual spreadsheet functionality, Numbers quickly replaced my personal Excel usage.
Notes is nice. I wish it had a 1st-party export solution. Markdown as an option for formatting would be good but it's not a deal-breaker. Being able to drag all kinds of crap, including entire PDFs(!) into Notes and have it Just Work is pretty great.
Preview is so, so good. Thanks to it, macOS is the only platform I've ever used where I don't hesitate even a second to open a PDF. Plus it's great at so many other things.
I really want this as well, but I'm a bit sceptical: would any company release a product soooo good so that their users don't need to buy new models of such product for many years?
I still have a 2015 MBP that works like the first day although I would like to increase the disk and ram. 5 years with the same model; that's a lot. I know many people who replaces their laptops every 2 or 3 years. Now, I have the impression that a model like the one you just described, is a model that could easily "last" for more than 5 years without trouble. Wouldn't that hurt Apple's sales long-term?
I'm hoping this years gen will be like that 2015 model. But I share your concerns, knowing Apple they will gimp it somewhere like not allowing 2 monitors or limiting to 16GB then have next years model have it which will prob increase sales by a ton long term.
Every person that I know with a Mac or an iPhone still has it and it's usable for years after they're done with it. I know some people that are still using their iPhone 6S because it has a headphone jack and that phone is almost 7 years old at this point.
That’s almost 9 years on one machine and I didn’t have to switch; I just wanted to dabble in the latest iOS dev on Big Sur (which is unsupported on the 2012 model)
I think that's honestly a bigger issue than paragraph width
Alternatively grab a design system built by someone who already took care of all the typography decisions.
If you want something that will work well, copy the font and color styles from medium or substack. They've done all the research for you.
Here's a full list of the issues
- There's not enough contrast. The text color needs to be darker.
- The font is too large.
- The paragraph width is too wide
- The font weight is too light
Personally, I think you could increase the contrast between text and whitespace more (i.e. use a darker font color, maybe #222), shrink the font-size a little as the other comment said, and most importantly, set a max-width so that the text doesn't expand arbitrarily when viewed on larger screens. 700 or 900px feels nice to me.
A good start is using an Accessibility Contrast Checker. https://webaim.org/resources/contrastchecker/
The first couple of weeks I used the Rosetta Terminal as described in this and many other blog post, until I found out this was not necessary at all for Node.js as described over here: https://github.com/nvm-sh/nvm/issues/2350#issuecomment-73413....
The only blocking issue was Docker so I used VSCode remote until they released the M1 preview. So with that and the release of HomeBrew 3.0.0 last month and many macOS apps adding M1 support, everything is now running smoothly for me and I think it's a really great machine to use as a developer.
Also, the battery life truly is amazing, and boy am I glad I finally got rid of that touch bar and that ridiculous butterfly keyboard.
Beyond that, I wouldn't change a thing about this machine. Very easy to recommend!
These are games like factorio and CIV6. Only two years ago, a similarly priced (~$1000) dell ultralight was unable to play CIV6 at all (ok, it managed 1 frame every 2 seconds). My M1 Air plays it for hours.
This was particularly painful to read. The mandatory new option that is the touchbar upended what was working fine for something that, for touch typists, is totally inferior. There's no feedback! This is a foundational aspect of usability; for apple to ignore this is a huge mistake.
If it were <1% of the time, no problem.
Also, the fact I have to glance down to do it (on my external keyboard I just jab my pinky up really quick, don't have to look at all) makes me angry every time.
Edit: Looks like everyone else already said the same thing. Sorry!
I honestly wouldn't even say it's that small of a change. Apple took an extremely common activity that worked without a thought and turned it into something you constantly have to look at and think about. This is especially annoying in the context of the posted article, where saving fractions of a second opening an app is one of the biggest pluses listed. At least to me, the former is much worse than the latter is beneficial.
One issue though, is that the touch app crashes sometimes and I need to cycle it's service. This happens rarely since I have updated to catalina 10.15.7, however, previously I would encounter the issue every month
One thing I've been pondering - I've been asking myself: "why on earth would someone actually like the touchbar...ever?". And I wonder if the answer has something to do with the new generation of technologists. The generation that has been using touch on phones/tablets from the beginning of their technology journey.
I have no idea if this has merit, but as someone who hasn't looked at a keyboard while typing in two decades (unless it has a touchbar), that's the only thing I can imagine. Maybe I'd be ok with it if I grew up with it.
Because it's programmable. I'm a programmer. I like things to be programmable.
I've got no hope of remembering what a key like F6 means in a given context - it's a meaningless number. The Touch Bar lets me have context-sensitive keys I can actually understand and use.
- [0] https://en.wikipedia.org/wiki/Optimus_Maximus_keyboard
This is not sufficient on its own. It's possible to have a programmable keyboard that has no screen. It's also possible to have a programmable screen that doesn't take over the function row (a row that has existed since the earliest days of computing).
> I've got no hope of remembering what a key like F6 means in a given context - it's a meaningless number
This doesn't make sense to me at all. Do you use keyboard shortcuts in the apps you use? How does Ctrl-Alt-Shift-V hit you? What about vim or emacs bindings?
We memorize a large number of things that are just as 'meaningless' as F6, so I'm struggling to get on board with this take.
> The Touch Bar lets me have context-sensitive keys I can actually understand and use.
As a touch typist, the changing context of a position on that row means I can no longer rely on my memory of the position of the key. I have to re-learn the meaning of that position for every app that uses that position for some other purpose.
For me, this is just as insurmountable as F6 is for you.
Not really. If they're presented to me via the Touch Bar then yes.
> How does Ctrl-Alt-Shift-V hit you?
Never heard of it! Doesn't sound very intuitive! What do all those keys mean and why are those in that order and how do you discover them? If it was on the Touch Bar I could just see the icon and discover it and learn the muscle memory.
> What about vim or emacs bindings?
But I don't use these editors. And why do they need special bindings anyway?
> We memorize a large number of things that are just as 'meaningless' as F6, so I'm struggling to get on board with this take.
Seems like it should be the computer's job to memorise things, not mine? I don't want to rote learn F6 = step-over in my debugger. That's not a good use of my time. I want an icon I can see when I look for a function key, then learn the muscle memory to keep hitting.
'F6' means nothing to me. Where am I supposed to look that up? In a manual? I don't want these kind of context-switches.
> As a touch typist, the changing context of a position on that row means I can no longer rely on my memory of the position of the key.
The keys don't move on the Touch Bar. If you're using muscle memory they're in the same place each time so you're fine and there's no problem!
Yes. Yes, you are meant to look up the keyboard shortcuts of software programs in their manual, or Google them, or otherwise RTFM. It's part of learning one's tools.
Speaking from personal experience, the critical importance of memorizing keyboard shortcuts was drilled into me by years of PC gaming as a kid and teen. (Imagine playing StarCraft with just the mouse... Ugh.) I wonder if people who grew up with computer games are more likely to embrace keyboard shortcuts later in life.
Why don’t the tools learn me? Learn to show me buttons that I’d want to use in the right context? Why are the tools so broken that they need to be learned rather than being intuitive?
I feel I’m pretty productive without learning archaic key combinations. Typing is rarely my bottleneck - thinking is.
What am I missing? What makes it worth learning these spells?
(Yes I don’t play or know anything about computer games - maybe that’s it.)
I'd love better design, UX, and discoverability in all software tools everywhere, but the grim reality is that this just isn't the case and won't be for many years. Until then, I can say again from personal experience that it was well worth it for me to Google the keyboard shortcuts for terminal cursor movements, greatly reducing friction between me and my filesystem. Similarly, occasionally bringing up the VSCode or RStudio keyboard shortcuts reference windows is well worth it to reduce the friction between my thoughts and my results. It's like going from hunt-and-peck typing ("why can't the input device just learn how to understand my speech?") to touch-typing faster than you can write by hand.
Come to think of it, resistance to plentiful keyboard shortcuts is not something I would have expected to read on HN of all places, yet here we are!
tab
enter
I like adjusting brightness and volume with a slider. You can tap and hold the brightness or volume icon on the touch bar and slide it to where you want. Repeatedly tapping physical buttons feels vulgar by comparison.
I like seeing the progress and having transport controls of my full screen videos.
I like having the little animation draw my attention when I can use touchid for something.
In general it feels futuristic, fun, and like a way better use of the space than physical keys that I would almost never use.
If you’re someone who uses the function keys (JetBrains users maybe?) I can see feeling the same way I did about esc.
To me, using function keys is un-apple-ish.
I have command, control, and option keys that allow me to be quite expressive without moving my hands away from the home area of the board.
Perhaps those with larger hands can reach the function keys without disrupting their positioning. For me it is not possible.
At that point I may as well reach for a mouse or a touchpad.
One thing that strikes me though: of the things you mentioned that you like about the touchbar, many of them don't necessarily need to live in that area of the keyboard.
I should also clarify one thing: I do like that the touchbar can visualize things in context (and I find the things you mentioned cool), but I wouldn't choose that over the physical keys.
For me, the perfect middle ground would be a bar above the function row that doesn't try to be both things. Or perhaps somewhere else entirely (to the right or left of the trackpad?)
> Perhaps those with larger hands can reach the function keys without disrupting their positioning. For me it is not possible.
This could be part of the issue as well. I can reach without issue, but I can understand why this doesn't work for everyone.
I am surprised Apple even tried to get us all to like the Touch Bar after how much people disliked the "Adaptive keyboard"* on 2nd gen x1 carbons. I definitely resented mine.
* https://arstechnica.com/staff/2014/01/stop-trying-to-innovat...
To add to this point, I don’t recall using the function keys for anything other than adjusting brightness or volume or similar functions that aren’t associated with application specific features.
> I have command, control, and option keys that allow me to be quite expressive without moving my hands away from the home area of the board.
This is true, with the Command and Option keys providing many choices of keyboard actions if one learns about them. But in general, macOS is not as keyboard friendly as Windows (or Linux), where many things have keyboard access by default across applications. But this is digressing from the function keys and Touch Bar points.
its like how roku tv offers remote control app for phones.. vs a physical device that you can change volume, channels etc without even looking at the device and in the dark, every time i used the app i had to see where to press couldn't do it blindly because i had no idea if i was pushing anything or the wrong button. How can anyone like touch interfaces if it could be done with physical buttons?
And then I bought a 2021 MacBook Air, without a touchbar, and I found it so much more pleasant. I find the touchbar to be a failed experiment. I no longer want one ever again. I just want buttons for my brightness and music.
I also have to disable force-touch (or whatever it's called on there) on the trackpad, for models that have that, or else my drag-&-drop success rate is reduced from about 100% to more like 30%. Took me quite a while to figure out why that was happening. Luckily I have no clue why I'd want that feature in the first place, so I don't miss it. I don't have any kind of motor-function disorder, I just can't drag-&-drop while maintaining perfectly even pressure, I guess.
They kept the same body while changing out the chip, I suspect the next update will bring the end of the Touchbar.
The M1 is awesome though - it makes the Intel MBA seem like garbage. I was helping my SO set up some stuff for a presentation (Zoom, Mmhmm) and the Intel MBA fan was screaming, the video had unusable lag, the entire thing was locking up.
We switched to my M1 with no fan and everything was fast and flawless.
Meanwhile Intel is pushing nonsense like this: https://hardware.slashdot.org/story/21/02/08/2221233/intel-b...
Intel is in trouble - this is an e-risk for their business.
[0]: https://www.macrumors.com/2021/01/15/apple-removing-touch-ba...
I still don’t have a new MacBook with it because they don’t support multiple external monitors yet, but hey, maybe this year.