6 ms·
What I Learned After Building 3 TV Apps Coming from Mobile
- presz 7mo agoThis blog reads like it was written by ChatGPT.
- deleted 7mo ago[deleted]
- sumo89 7mo agoAs someone that used to work on a TV app I wasn't surprised when focus issues were the first thing mentioned. It sounds trivial but it takes a surprising amount of testing and bug fixing to get it right.
- dinko7 7mo agoI remember one time there was a random Philips TV that just kept crashing when the user tried to do "right" on the last item in a horizontal menu. The client kept testing on this TV, and we spent 3 weeks because my team lead at the time wouldn't trust me that I needed the TV to solve it. They finally agreed to send us the TV. Solved the issue in 10mins.
- mrweasel 7mo agoWho do I send my TV to to figure out why launching the DR app (Danish public broadcaster) on my Philips TV will power on the PlayStation and then crash? Normally I'd just use the AppleTV, but the kid stole the AppleTV to watch cartoons in the guest bedroom. I continuously surprised that a 10 year old AppleTV still a better option than using the apps that comes with the TV.
- irishcoffee 7mo agoDid you try and look it up, or do any debugging? Does it crash with the HDMI unplugged from the Playstation? Playstation power unplugged? Below is what 18 seconds of web searching led me to. https://www.reddit.com/r/PS4/comments/8u6hrm/why_does_turning_a_tv_on_always_turn_the_ps4_on/ https://www.reddit.com/r/PS4/comments/8u6hrm/why_does_turnin...
- mrweasel 7mo agoHonestly I haven't look into it much, I just thought it was funny that this one app would boot the PlayStation... and then crash. None of the other apps does this. To me it's just a funny interaction that should even be possible in my mind. In the end I hooked the AppleTV up again so I don't have care.
- embedding-shape 7mo ago> Who do I send my TV to to figure out why launching the DR app (Danish public broadcaster) on my Philips TV will power on the PlayStation and then crash? Bit me recently when I got a PS5 too, apparently there is a "new" thing called HDMI CEC, which for some stupid reason defaulted to "turn on TV turns on connected device" and vice-versa when first installed. I'm guessing the DR app somehow cares/sends CEC messages (not sure if that's the right terminology, but whatever) to the PS and turns it on. Maybe forcing CEC off on both the TV and the PS can fix the issue, unless you actually use CEC for it's intended purpose.
- embedding-shape 7mo agoI'd be curious why Amazon's Prime app has such horrible performance compared to literally every other streaming service, on WebOS at least (on a relatively recent LG OLED). They're all doing more or less the same thing, as far as I can tell as a user at least, yet just moving the focus around in Amazon's streaming app takes 0.5 second while it's instant in other apps. The bandwidth for actual streaming seems the same as the others, so videos start streaming much faster, but the UI is seemingly doing something very wrong, and I don't understand how they could have gotten it so wrong.
- Dan_- 7mo agoI would assume they hire competent engineers, so it’s probably something intentional, like an invasion of privacy/user telemetry. At least it doesn’t have AWS’s UX.
- embedding-shape 7mo ago> like an invasion of privacy/user telemetry Could be. Interesting anecdote on that, we're using the Vodafone TV app on the very same TV, and that app you can toggle "send analytics to Vodafone" on or off in the settings, which of course defaults to on. At one point I toggled it to off, and suddenly the whole app became as fast as all the others, while when the toggle is on, the application is as slow and laggy as the Amazon one. So that might actually very well be the reason.
- dinko7 7mo agoI've noticed this as well. My best guess is either low hardware or just a bad solution. If they planned to use a unified codebase for Prime app, they likely went with something HTML/CSS-based, which would explain the performance issues. I could be wrong, but it's just a hunch I have.
- embedding-shape 7mo ago> My best guess is either low hardware If there was other apps we use that had the same issue, I'd chalk it up to hardware too, but maybe they simply don't test it on representative hardware? That might explain it. > they likely went with something HTML/CSS-based, which would explain the performance issues Not sure, the web browser in the TV seems to handle things just fine, and much faster than Amazon's app, so I don't think HTML/CSS is to blame here. Probably shit architecture/software design, as usual.
- DanovonT 7mo agoI always found most tv apps have some performance issues. I've seen netflix, prime, even youtube crash, lag, or have some issues now and then that just made me think that maybe tvs are just not powerful. Don't even want to talk about Disney+, HBO, or Hulu. Then I got an appletv+ subscription, and was pleasantly surprised it performed far better, on an android tv even. I wonder if it's beyond just the company standards for performance, and that the lower compatibility for porting between swift and the android sdks compared to idk react components or flutter, forced them to start from scratch for performance on android tvs.
- dinko7 7mo agoMy 2 cents: if you are big enough and the competition isn't as strong, users will give you a pass on some performance issues as long as they get the content they want.
- dbbk 7mo agoTVs are NOT powerful. It’s like writing software for the Lunar rover.
- dlcarrier 7mo agoEven the slower ones are more like a Wii U, which is perfectly capable of everything a set-top box needs to do. Really, the hardware acceleration does all of the heavy lifting, and the processor only needs to render text and coordinate what to composite. It's the bloat of the software layer on top that's slowing things down. A 1st-generation Chromecast only has 512 MB pf RAM and a dual-core 1.2 GHz processor, and it can handle video streaming just fine. Building an interface on top of that doesn't take a lot of resources, if the underlying layers aren't bloated. With current Android/iOS development, they very much are.
- somat 7mo agoTV's are optimized around decoding video, At least they can generally do this at full speed, this is coupled with the cheapest cpu the manufacturer can find. Even this would be manageable, There have been great UI's on weaker hardware. But then they want to program everything in html/javascript/css 7 layer lasagna stacks, this is where things start to get bad. Then the marketing team gets their slimy hands in and proceed to stuff the telemetry in until full. It is still "technically" usable, but nobody is enjoying the experiance. Package it up and sell it to some rube as a "Smart" TV.
- InUrNetz 7mo agoThe "low powered hardware" is why I always buy an external streaming device. I started with the original Apple TV, then a bunch of Roku variants, when Roku got unreliable, I went back to modern Apple TVs. They just work better. I've had sales guys in stores get really pushy with me about "you dont need that", one time I finally had to say to one of them "I get it, I don't care that its already in the TV, I'm buying the external box, either from you or from another store so stop arguing and just sell it to me".
- dinko7 7mo agoAbsolutely. I do the same. IMO it's either Apple TV or Nvidia Shield. Everything else is hit or miss (likely miss). From a developer's perspective, it's a nightmare to deal with such hardware.
- Frotag 7mo agoAs an outsider, the fact that cross-device stuff just works in apple's ecosystem is probably the biggest thing I'm jealous of. It's crazy that something as simple as screen casting is still hit or miss when it comes to (android / linux) <-> (web os / chromecast / fire stick)
- halflife 7mo agoI just bought binding of Isaac on Apple Arcade for my iPad, a very good surprise was not that the purchase is valid for my Apple TV and iPhone, but that the saves are synced, even in mid session!
- andsoitis 7mo ago> Focus would get lost An engineer from Netflix wrote a blog post in 2017 explaining how they handle LRUD input and focus: https://netflixtechblog.com/pass-the-remote-user-input-on-tv-devices-923f6920c9a8 https://netflixtechblog.com/pass-the-remote-user-input-on-tv...
- joenot443 7mo agoI'm sorry Dinko, but this ain't it. > On TV, input works very differently. Users navigate with a remote. Movement is discrete. Every interaction requires intention. Each action is one step in a sequence. That difference changes everything. I just don't want to read articles that are written by LLMs. If there was something you earnestly learned that you think other engineers could benefit from, use your own words to tell us. It's lazy and disrespectful to hand an audience a massive sloppy blob which reeks of GPT 5 and frame it as something you "learned".
- dbbk 7mo agoYes this is a waste of time. It’s actually a hard engineering problem! There are very few engineers who build for TV compared to desktop or mobile. The challenges are totally different. There are still some good human-written articles out there.
- dinko7 7mo agoI write all my articles by hand for the first draft and the final polish. I do use LLMs in between to try to get a clearer message (to what I find appropriate). I understand if you don't want to read it, but there is nothing dishonest about this article. I've lived through what I wrote with those 3 apps. Take it as you wish and have a good day.
- JSR_FDED 7mo agoI think even if you only use LLMs for “getting a clearer message” you’ll find that it contaminates your writing.
- user_7832 7mo agoCan't speak for everyone but personally, I'd much rather read a slightly-imperfect human writing than an LLM that has a very artificial tone. Trust yourself! You can ask the LLM to "mention a few places where I can improve", rather than having it re writing everything, if you really want to.
- 1970-01-01 7mo ago
- voidUpdate 7mo agoI enjoy how the website has overridden my browsers scroll bar to use it's own, significantly lower contrast and less visible one, making it much harder to tell where in the article I am. My browser already has a good dark mode scroll bar...
- ramesh31 7mo agoDoes anyone have experience with professional Brightscript dev? I'm fascinated by it as a web developer looking to find a new niche, but it's like impossible to get into. Seems like every major streaming platform is going to need some experts for the foreseeable future given the install base of Roku at this point, and LLMs are horrible at it.
- wiradikusuma 7mo agoAnother thing is lead time. I built an app (https://signagesync.app/ https://signagesync.app/) to "multi-chromecast" websites and videos to Android TV, macOS, Windows and hopefully Samsung TV as well. "Hopefully", because it took me literally 2 months waiting for the reviewer to test my app after it's submitted (to be fair, they did say "expect 6-8 weeks" upfront). They found some issues (crashes), so it was rejected, but I lost interest in resubmitting.
- DanielHB 7mo agoI am at a point where I just installed Bazzite on a mini-itx PC and bought a gyroscope mouse (also called a flymouse) and use steam big picture mode. Access to a proper browser (with adblock) and a proper keyboard more than makes up for the UX problems. I just wish modern browsers had the (old pre-chromium) Opera browser style of spatial navigation, gyroscope mouses work well enough but spatial navigation is the main feature I miss since I switched off old Opera https://blog.codinghorror.com/spatial-navigation-and-opera/ https://blog.codinghorror.com/spatial-navigation-and-opera/
- garyclarke27 7mo agoInteresting, explains why there are so few good TV apps like YouTube eg Spotify TV app is appalling. Strange that X has not created a decent TV App for long form video. YouTube could do with some competition, great UI but their suggestion algorithm and woke censorship sucks.
- andrewstuart 7mo agoThis should have started by defining what a TV app is, what hardware, what SDK etc etc. Without that, it’s just general information.