Homework for “Untitled” tvOS App
The app wasn’t great. It was usable, but not even close to a four-star experience-more like a one-star prototype. I wanted to get it to at…
Homework for “Untitled” tvOS App
Photo by Daniel Chekalov on Unsplash
The app wasn’t great. It was usable, but not even close to a four-star experience-more like a one-star prototype. I wanted to get it to at least four stars, so I did the one thing I hadn’t done yet: real homework, no LLMs involved.
I’ve been building for Apple platforms since the pre-ARC iOS 5 days, and I usually follow a personal checklist for new apps. This time I skipped it, and the results made that obvious. Time to catch up.
Inspirations
First, I needed to study real-world apps and how their UI behaves. I installed a bunch of IPTV apps on Apple TV and tested almost all of them. One stood out: UHF.
I might have used an LLM here-I asked Perplexity for IPTV app inspiration. Reddit pointed me toward a few options, and that’s how I found UHF.
I don’t know who built it, but it’s polished. The card layouts are great, everything feels snappy, and it has tons of features I hadn’t considered.
Mad respect to that developer-they shipped it pre-LLM.
tvOS 101
Next, I needed to understand how modern tvOS apps are built with SwiftUI. What does it take to achieve that level of polish? So I did what any Apple platform developer would do:
- Read Apple’s Human Interface Guidelines for tvOS.
- Watched relevant WWDC sessions.
Turns out tvOS didn’t get major features this year. I expected some SwiftUI updates-maybe liquid glass on tvOS 18-but the best resource I found was from tvOS 17: a session about migrating TVML-based apps to SwiftUI, complete with a sample project. I ran the sample and it worked perfectly on tvOS 18.
The session was WWDC24 session 10207: Migrate your TVML app to SwiftUI.
After watching the session and running the sample in the simulator, I had a much better sense of how tvOS and SwiftUI fit together. Now I knew what I needed.
What do you think I did next?
Originally published at https://rizwan.dev on November 6, 2025.
메타데이터
- post_id
- 112ce5a51bbb
- slug
- homework-for-untitled-tvos-app-112ce5a51bbb
- url
- https://medium.com/@rizwanm/homework-for-untitled-tvos-app-112ce5a51bbb
- canonical_url
- https://medium.com/@rizwanm/homework-for-untitled-tvos-app-112ce5a51bbb
- author_url
- https://medium.com/@rizwanm
- status
- ok
- fetched_at
- 2026-06-21 19:25:17