Yes I think the device itself is fine, but the Apple TV apps are mostly terrible and often very laggy/poorly written.
The way developers use the UI toolkit that the Apple TV provides also seems to tend towards apps where it's very difficult to figure out what's the active selection, which is of course _the_ critical challenge.
The issue here is that the app developers design & test for the latest Apple TV 4K models, which have about 10X the performance (and 2-4X the RAM) compared to the old HD models.
Apple left a large generational gap because they kept selling the HD for many years (until 2022) as an entry-level device alongside much more capable 4K models.
> ”it's very difficult to figure out what's the active selection”
Yes, based on my observation this seems to be one of the biggest challenges people face with the AppleTV interface, along with accidentally changing the selection when they try to select it (because of the sensitive touch controls on the remote).
> it's very difficult to figure out what's the active selection
I don't think is the fault of the 3rd party devs, Apple seemed to start this and other devs followed their example.
I tend to make a small circle with my thumb in the center of the select button, or just slightly move it back and forth, to see what thing on the screen starts moving with me.
I have never noticed this issue. Buttons get highlighted in contrasting colours. Things like episode thumbnails get a different colour highlight border and sometimes even drop shadow. What I find harder to do is to see when going to the left means going to the menu on that side or just the previous tile.
I have a benchmark program I use, a solution to day 5 of the 2017 advent of code, which is all python and negligible I/O. It still runs 8.8x faster on pypy than on python 3.14:
$ hyperfine "mise exec python@pypy3.11 -- python e.py" "mise exec python@3.9 -- python e.py" "mise exec python@3.11 -- python e.py" "mise exec python@3.14 -- python e.py"
Benchmark 1: mise exec python@pypy3.11 -- python e.py
Time (mean ± σ): 148.1 ms ± 1.8 ms [User: 132.3 ms, System: 17.5 ms]
Range (min … max): 146.7 ms … 154.7 ms 19 runs
Benchmark 2: mise exec python@3.9 -- python e.py
Time (mean ± σ): 1.933 s ± 0.007 s [User: 1.913 s, System: 0.023 s]
Range (min … max): 1.925 s … 1.948 s 10 runs
Benchmark 3: mise exec python@3.11 -- python e.py
Time (mean ± σ): 1.375 s ± 0.011 s [User: 1.356 s, System: 0.022 s]
Range (min … max): 1.366 s … 1.403 s 10 runs
Benchmark 4: mise exec python@3.14 -- python e.py
Time (mean ± σ): 1.302 s ± 0.003 s [User: 1.284 s, System: 0.022 s]
Range (min … max): 1.298 s … 1.307 s 10 runs
Summary
mise exec python@pypy3.11 -- python e.py ran
8.79 ± 0.11 times faster than mise exec python@3.14 -- python e.py
9.28 ± 0.13 times faster than mise exec python@3.11 -- python e.py
13.05 ± 0.16 times faster than mise exec python@3.9 -- python e.py
I tried making a library this way and lacking control over the visibility of the exported types was really painful; it made my intellisense awful because every type I defined at the root was exported from the library
I really like it for web components. Lately I have many "my-component.js" files and it's quite nice to just be able to copy them to new projects and have it all work without a build step. But I'm not sure I would use JSDoc over typescript syntax in a large project.
So the question is, what does a commercial website gain from people clicking on links to that website? I’m not even sure where to start to explain that one if one has to ask.
The way developers use the UI toolkit that the Apple TV provides also seems to tend towards apps where it's very difficult to figure out what's the active selection, which is of course _the_ critical challenge.
reply