Live data from Hacker News

TextKit 2 – The Promised Land

blog.krzyzanowskim.com

21–30 of 33 posts

Re: TextKit 2 – The Promised Land

#22
This is one of many such API.

I spent decades in Java land using open-source libraries, where the quality was broad and deep. An enticing demo usually meant it was good all the way down.

With Apple, though, a nice demo means you can do exactly what they did, but be blocked if you step off the happy path. Worse, each developer needs to get bruised because there's no publicly available list of bugs for an API.

I'm grateful to those who publish critiques of API's. It's a life saver.

Re: TextKit 2 – The Promised Land

#23

This is an unavoidable result of lazy layouts. With the LazyList in Jetpack compose, it's comically difficult to produce a scrollbar, because the "LazyList" only ever lays out the visible items, so Compose can't really know (unless you actually already know) the full size of the list. I find the iron triangle of project management reins supreme in a lot of domains: quality is sacrificed in the name of performance. [0…

> "Good, fast, cheap. Choose two."

I think many software companies would happily choose good and fast if that were an option. In reality it rarely is (see: The Mythical Man Month).

In fact a lot of companies don't end up achieving any one of the three.

Re: TextKit 2 – The Promised Land

#24
post #22

This is one of many such API. I spent decades in Java land using open-source libraries, where the quality was broad and deep. An enticing demo usually meant it was good all the way down. With Apple, though, a nice demo means you can do exactly what they did, but be blocked if you step off the happy path. Worse, each developer needs to get bruised because there's no publicly available list of bugs for an API. I'm grat…

With NeXTstep it was exactly the opposite: you could usually rearrange, recompose, override the pieces any way you wanted, including from scratch, but the demos and pre-built parts were of such quality that you didn't really want to.

But if you wanted: knock yourself out.

With the first version of Mac OS X, I was stunned that the high-level "convenience" APIs had capabilities that you couldn't actually replicate using the lower level APIs. And this seems to be getting worse. Fortunately with Swift we now have a type-system to enforce the "Apply way or the highway" attitude.

Re: TextKit 2 – The Promised Land

#25
> In a scrollview, such frequent and significant changes to the height result in "juggery" of the scroller position and size

What on earth? How is that considered acceptable? And from Apple of all companies, the ones that put a speaker in the iPod just so it would improve the UX of scrolling.

Re: TextKit 2 – The Promised Land

#27
post #26

It's bizarre that they prioritize parsimony over correctness. Laying out long documents can happen in the background, but shouldn't be deferred to when you actually scroll.

annoyingly enough, the API has some sort of background layout support. I don't think it works well, though. I tried to use it, but it did not improve the "main thread" operations sigificantly to have an impact of fast scrolling scenario - I suspect it may not work actually

Re: TextKit 2 – The Promised Land

#28
When I was working with TextKit years ago I was constantly using the Hopper decompiler on iOS SDKs to understand the internal workings of these frameworks. Documentation is sparse and calling functions in the right order resulted in big differences in results. It can take a lot of time and trial and errors to get it right.

Re: TextKit 2 – The Promised Land

#29
post #12
post #4

Earlier quoted context omitted.

> I would not dismiss TextKit2; it is an incredible improvement over TextKit1. It's an absolute disaster on macOS. Even TextEdit app is now buggy as hell. It's incredible how Apple broke plain text display on the Mac, which was a solved problem since forever.

Is it incredible, or is it quite credible? It’s taken Microsoft years now for “New Outlook” to get feature priority with Outlook 98. This feels like the new normal.

feature parity
Post reply on HN