Apple TV engineering

Apple TV app development in SwiftUI

My tvOS work is my own, not a client's. I built Archive, a native Apple TV app, and I also run the server behind it, so I can speak to the whole path from a stored video file to a remote-controlled screen, not only the client half of it.

Archive for Apple TV

Archive is a SwiftUI app for tvOS that plays video through AVFoundation over HLS. It browses a personal media library, plays whatever you pick, and resumes from where you left off on whichever device you were watching from before. The library it browses is not bundled into the app: it is served by Arquive, a media server I built and run myself, which transcodes video on the server side. Arquive also runs its own IPTV side with M3U playlists and an XMLTV program guide, and it streams to DLNA and UPnP smart TVs beyond the Apple TV client alone.

Testing a tvOS app the way an agent can drive it

The same app carries a diagnostic surface I built for my own use: an on-device HTTP interface that exposes a trace log, the app's current state, a screenshot, scripted navigation and 149 named test routines, each one declaring the parameters it needs and returning a pass, a fail, or a structured error. An agent can drive the app through that interface, read what actually rendered on screen, and check it against what should have happened, instead of me watching a remote-control session by eye. None of that diagnostic code ships in the release build, it is compiled out before the app goes to the App Store.

What's next on the platform

An IPTV player for Apple TV, alongside Android TV, phones and Android Auto, is in development now, reading M3U playlists and an XMLTV program guide, the same format Arquive already speaks on the server side.

Questions I get about Apple TV work

Is your tvOS work from a client project?
No. Archive is my own app, published under my own developer account, and I also built and run the server behind it.
What does Archive use for playback?
AVFoundation, playing HLS streams that are transcoded server-side by Arquive, the media server I built and run.
How do you test a tvOS app without a QA team?
With an on-device diagnostic surface: trace, state, screenshot, scripted navigation and 149 named test routines an agent can drive and check against, compiled out of the release build.
Are you building anything else for Apple TV?
An IPTV player for Apple TV, Android TV, phones and Android Auto is in development, reading M3U playlists and an XMLTV program guide.

Talk about an Apple TV build

Get in touch about your app.

Reach me on LinkedIn, or read the full role history in my CV.