Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

much much much better:

- super smooth. Scrolling and everything just feels right. They do a lot of low level software magic to make that happen. Off topic: If you ever try to reimplement a scroll view on iOS you will see how much effort is needed to make it smooth - even if you have access to all the same APIs

- biiiig trackpad. I find this especially important when I have a big external monitor plugged in. I can easily move the mouse across two screens without lifting the finger. And very good palm recognition to avoid accidental presses

- the haptic feedback is amazing. The entire surface is stiff and the feeling of a button click is done entirely in software + haptic feedback. Once you are used to it every other trackpad just feels old and cheap (same with iPhones and taptic engine actually)

- Gestures and what you can do with them (OS X spaces!) is really well done. On many other systems a gesture will only work via on/off states. On Mac you have continuous gestures (you can undo/go back at any point) and that makes a big difference in terms of how fluid and smooth interactions will feel



I've done some reverse engineering of the macOS Spaces implementation and it is really all the way through the stack; Dock creates animation transactions and everything in WindowServer to make it work. You really need deep integration to have something like that be smooth and work well.


any chance there is a writeup on this anywhere?


I don't think I have enough for a writeup; I was actually looking into how Dock manages spaces so I have a bunch of general information on the SkyLight/CoreGraphics API. In short Dock grabs trackpad events and creates "SLSTransactions" to animate the windows around, but if there's anything in particular you're curious about I can try to go look that up specifically.


> SLSTransactions

thank you, that's a great pointer in case I look into that some more. Found https://github.com/koekeishiya/yabai/issues/148 which might be a good entry point for me

This kind of software is completely foreign to me. Private APIs and all these tricks for macOS integration. Very interesting


Yeah, window managers are generally the biggest consumers of that set of APIs (although even yabai only uses very few of the ones available). If you have more questions feel free to ask, although of course as these are all private APIs I may not have correct/any answer for you.


> Gestures and what you can do with them (OS X spaces!) is really well done

GNOME 3 does this correctly (but spaces are vertical), I think KDE Plasma too, and I have personally implemented this gesture in Wayfire :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: