
The Shape of Everything
A website mostly about Mac stuff, written by August "Gus" Mueller
» Retrobatch
» Mastodon
» Bluesky
» Micro.blog
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
Artem Loenko: Native all the way, until you need text:
I did everything people say you should do. Native all the way. I know the platform. I know the options. I know SwiftUI, AppKit, TextKit, WebKit.
But I still cannot make a simple thing work properly: a chat with Markdown & the ability to select a whole message.
And suddenly it becomes much clearer why most new chat-heavy apps that depend on one of the most important interface patterns of this era – chat, long-form rich text, flexible typography – are web-based in one way or another.
In the beginning (aka, Mac OS X 10.2 in 2002), there was nothing better than NSTextView.
It evolved, and we eventually got TextKit 2. But something's off about it, and I can't quite explain what or why.
Update: Matt Sephton left a comment on HN about Loenko‘s post:
I recently launched a text editor for iOS that uses TextKit 2 and is highly performant with files of 5,000 lines (I tested with Moby Dick from Project Gutenberg). I made it between Aug 2025 and Apr 2026, development is ongoing.
Every keystroke is restyled in under 8ms: no debouncing, no delayed rendering. 20 rapid keystrokes are processed in 150ms with full restyling after each one.