It's amazing to me that Roku has the plurality of the US streaming market (37%), yet its development ecosystem is so terrible. For those who don't know:
1. The only public development API requires the use of their proprietary language BrightScript which is poorly documented, and for which no official compiler, interpreter, or runtime environment is available. Enthusiasts had to create an interpreter for it (https://github.com/sjbarag/brs) to speed up development time. Previously you had to push your app to a Roku to run it before you could learn of any syntax errors.
2. They do have a C/C++ API, but they limit access to big orgs and require an NDA to use it.
That they are finally shoring up their poor developer ecosystem with C/C++ and JavaScript APIs is great, but it's unfortunate that they aren't allowing these apps to be distributed through their official store.
Author of that interpreter here - didn't expect to wake up to that repo appearing in a top HN comment! That started as a side project and was maintained with a few coworkers during spare work hours (thanks, Hulu!) for the past 3 years, along with a unit testing framework that runs in it (https://github.com/hulu/roca).
I'm happy to answer any "developing for Roku" questions that come up :)
> It's amazing to me that Roku has the plurality of the US streaming market (37%), yet its development ecosystem is so terrible.
Step 1: be a cheap (the cheapest?) option in the early phase of a market. This way you build up a sizeable customer-base using a market-segment with low/no expectations.
Step 2: app-developers will be forced to support your platform, despite low-quality platform, ecosystem or SDK if they want to be “everywhere”.
Step 3: With better/more popular apps supporting your platform you can start making more expensive devices or even sell/rent your platform to other players needing a checkbox to check before they can launch (ie smart-TVs).
Roku is really crap to use, but by playing by this book they’ve seemingly done well (as a business) so far.
I have used Google TV, Fire TV, Apple TV and Roku. I have used Roku both as a separate device and built into a TV. Out of them all I prefer to use the Roku. I even sold an Apple TV which was given to me and used part of the sale to replace it with a Roku Premiere+ which I found to be a much better experience.
I've used them all as well. I've found the best to be a rooted android TV box. idk if they still make them like they used to, but the Nexus player was by far the best TV box I've used after installing Kodi, adblock, and rooting.
I would love a dumb TV with one of these lil boxes again, but finding dumb TVs is hard and they're usually expensive and for commercial use from what I've found
Apple TV's touch remote is a travesty. Their UI is equally annoying when you realize they advertise the Apple stuff first, and you have to click Home again to get to your main apps. Compare any of them to Roku, and Roku is a barebones, works as expected, channel choosing device.
> you have to click Home again to get to your main apps
Both of these are changeable via settings (if you’re talking about the current generation remote, if the old one an Apple TV can be trained to use any other remote). I have a bunch of Roku devices and an Apple TV and typically prefer the Apple TV: the apps are of higher quality, Airplay is a great added feature and most importantly: no ads. Roku used to have barely any but they’re adding more and more and it’s getting obnoxious.
Also there's no software configuration to change that terrible touch remote into something usable. Rewinding to catch a missed line is always "I hope it works" moment.
My experience with Apple TV was that Apple advertised their own apps regularly. Also most Roku devices released in the last couple of years including Roku TVs support Airplay.
My experience reflects OP's as well. It's not "ads", but things like searching using the SEARCH button inside a non-Apple app returns results from the Apple store.
If one uses it in a search box inside the app, it works in the local context. Imagine having to teach one's elderly parents what the difference is when the remote only has something like 5 buttons and one of them doesn't work how it's supposed to in a consistent manner. Local context vs. global context in searches is an absurd concept in the purview of the average consumer. Hell - I can't understand it half the time because it's so counterintuitive.
That's shady behavior and prioritizes Apple's own services over EVERY competitor.
Besides its terrible remote (the gen I have, at least), the usability constraints are insulting.
Roku has other severe limitations, but they don't outright manipulate their UI and their user experience in such an underhanded manner.
I'm confused by this too, and prefer Apple TV because it doesn't display ads. In my experience Roku does continue to display "special" ads, even if you turn off all user-controllable options.
I think parent commenters are referring to how the Apple TV app — which is great, but can be avoided by using the Home screen — aggregates all available content, and has a dedicated Apple TV+ tab. In other words, the Apple TV app is also the Apple TV+ app.
I have the latest and most expensive Roku that was available as of a year ago.
The thing struggled to keep sound and video in sync every time I disable or enable captions and then requires a restart to fix the issue.
That’s literally the most basic function this device is supposed to support and it cannot. I have never seen such a problem with any other device I’ve used, including a variety of chrome casts, a fire stick, an Apple TV, an XBox/XBox One, and even XBMC (installed on the original XBox), a variety of RPi solutions, etc.
I have used a Roku Express, Roku Premiere+ and now have 2 4k TCL Roku TVs. I have never had an app crash and use Netflix, Disney+ and HBO Max regularly.
On my 4K TCL TV, I've had quite a few issues with the Roku Netflix and Hulu appa... occasionally in Netflix it will just show garbled data whenever you try and play something, or on Hulu it will just refuse to actually start a show (I've noticed this happens mostly with only very specific series...) Solution is usually to restart the TV. Never had any issues while it's actually in the middle of playing anything though.
My second Roku from many years ago (first angry birds one) will crash occasionally using Netflix, will crash hard and reboot itself. Probably a thermal issue. Pretty anemic performance too. I think the software now just stresses the old hardware to the max. But to their credit, it was still receiving updates and worked. Finally retired it and replaced with new version and haven’t had it crash yet.
Are you sure it’s a crash? I used to think my apps were crashing until my remote batteries ran out and I was too lazy to replace them using the phone app instead.
And I noticed the “crashes” disappeared. Turns out there’s a bug with my remote that seems to automatically send a home signal to the device. But it’s also strange because it affected different apps differently.
I rarely saw it with Netflix. But YT was almost guaranteed.
I've experienced the use of about three different Roku TV's and they have a tendency to crash regularly with Netflix. I'm guessing Netflix is sucking up all the limited ram available on these TV's As the App is unbearably sluggish to use.
It is a bit ironic that Roku, which started life as a “Netflix Box” and developed this limited development ecosystem in order to perform on cheap hardware (they always wanted to keep the price under $100) now crashes using Netflix on underpowered devices. Note: as stated above Netflix uses non-public C APIs to run their own engine.
“Easy” and “enjoyable” are different things. The Roku UI is extremely slow/jittery (even on the fastest models) and the layout of their software keyboard, in combination with the design of their remote (and/or smart TV remotes), makes entering text take an eternity as well. (And their voice support isn’t good enough to rely on in place of it.)
When a Roku is just sitting there doing its thing, it’s fine; but when you have to get it to do something else, it’s like a line at the DMV.
I think the software keyboard is a per app design, which is either a ding or a bonus (dev flexibility). Regardless, if you have to spend time typing/searching, using remote on phone is best, where you can use the phone’s keyboard.
I have Roku spread across our entire renovated house including an outbuilding. Rock solid. 4 devices. Teamed up with Plex, and has been a fantastic experience so far (1 year and counting).
Simple. Solid. Works.
Nothing but praise from my side.
Literally, thank Gawd, as native TV smart apps are an absolute waste of time (they might as well retire them all now) and I don't want to get sucked into the other ecosystems.
Roku basically benefitted from 2 things:
1) The constant battles between Apple, Google, Amazon, where removing or not adding their specific media distribution channel to each others platforms was used as leverage in all sorts of unrelated negotiations. This meant that Roku was for the longest time the only device that supported AppleTV, Google, Prime Video.
2) Google’s insistence on it having a physical remote for their Chromecast players which in itself was likely a result of the fiefdoms which led to Chromecast and Google TV being separate products for the longest time.
Both of these things are not true anymore. Roku is no longer a neutral platform. And Google Chromecast now comes with a remote.
I see very little reason to pick a Roku over the Chromecast with Google TV and I suspect that Roku’s disadvantages will only worsen with v2 of the Google device.
I think the Roku Ultra is a great product, can't speak to the other levels, but it works really well in comparison to google's parade of stuff, amazon fire stick, apple tv, and smart tv apps on Samsung, LG, and Sony TVs. Also the remote finder is quite handy.
For me, the best aspect of it was their openness. All of the other competing products had their own streaming services, which meant problems with the other providers- why they spun this off from Netflix in the first place. This means the search will go across the different services to answer the pressing question of the day- which service is this content on and at what price? I was considering starting a company to offer this service until Roku met my need there.
Now though, the battle with Google over YouTube has me suspicious of this status. The temptation to chase recurring revenue streams is quite high.
How many of those amazon/Google employees are working on their respective roku alternatives? Your numbers don't really mean anything. For instance, Google could just as well only allocate 10 people to the chrome cast project, turning your statement around.
The point is that Roku are tiny underdogs competing against giants. If Google has only 10 people working on Chromecast, that's a choice they've made, not a resource constraint.
It doesn't matter if it's a choice they've made if they still beat Roku's dev ecosystem hands down. If Google can make a stellar dev experience out of Chromecast/Android TV with 10 engineers but Roku can't with 100 then it's entirely on Roku. The result matters more than whatever happens behind the scenes.
No they aren't, though they like to try to make people feel this way.
Again, I'm not sure how you can consider a company with a market cap of over 40 billion, and making 1.7 billion in revenue, some sort of "underdog competing against giants".
In their space, it's more like giants bumping each other around.
Well, i mean, technically the definition of an underdog is ": a loser or predicted loser in a struggle or contest"
Which is not about the resources at all but about viewpoint on success.
So i'm going to say "no, it's not basically the definition of an underdog".
Even in slang, you aren't an underdog if you could have whatever you need, but choose not to.
You might be one if you need something, don't have the resources to get it, and have to make do anyway.
That is not the case for Roku - they could hire as many people as they like.
Roku has a market cap of >40billion, and >1.7billion in revenue. They have the resources to do whatever they want.
These are also not reasonable comparisons since the vast majority of the numbers in the other two companies are not on the software/hardware development side.
I would actually guess if you compared "the size of the team working on Google TV/Amazon Fire TV/etc", Roku is probably bigger (or the sizes were very close).
I would be shocked if it was "tiny" in comparison.
If anything, their track record seems to reinforce the opposite idea. Their company is tiny but has a 37% market share according to previous comment, all while having a shitty and closed down developer ecosystem.
I'm generally pro-open source, so this is not coming from a place of shooting down open source, I'm just reading the context in this thread.
To me Roku seems like they are trying to modernize the TV cable industry rather than revolutionize it. They are following a different business model than most modern tech companies.
Wikipedia has a history of carriage disputes between the company and other companies. Sure, the recent Google spat could have been a one-off thing, but they seem to have an issue with a lot of folks.
My personal experience is that when one individual has a bunch of problems with a number of others, it is probably the one individual that’s the problem.
4. They have 4 listed disputes in Wikipedia: NBC/Universal, HBO, Spectrum, and Google; the first three were resolved (the first one the same day as the grievance).
There are hundreds (if not hundreds upon hundreds) of services provided over the Roku hardware/service including it's direct competitors (Amazon Prime TV / Fire stick), more than I can sit here and count without wasting my life.
You would have readers believe that Roku is out there pissing everyone off, being the bad kid on the block, making demands and being a troublemaker. They have had 4 disputes. 4. Out of hundreds of partners. 4.
You don't mention the current disputes with YouTube and Amazon. If we look at top streaming players Roku has had a dispute with, they've almost collected the whole set!
And do consumers benefit from access to 300 "screen savers" but no HBO Max or other service they've paid for but cannot access on Roku? (Note: the HBO dispute was resolved and is now fully supported on Roku, but during its launch, was not available on Roku) Roku wants us to think so, but my family simply says "Let's just get a Google or Fire stick".
The partner count is specious. The real question is whether Roku provides access to the partners each person wants. Removing, or threatening to remove, top players for whatever intention does not engender trust.
Every TV in my house had a Roku a year ago. Post covid, we now have just one. All those tiny partners and apps on the Roku catalog couldn't offset the fact that what the family wanted to see either wasn't on Roku, or was on some corporate gamesmanship countdown.
And it's so disappointing. They were the player without a bias, providing open access to the TV screen to any tiny niche media player. But they changed. Can't blame them, but it feels like this short term money grab of making media and forcing higher fees for access is the first step on the path to being the next Tivo or WebTV.
It's just because they had a massive head start and targeted an older generation. Also if that 37% includes smart tv's with "roku" built in that is artificially inflating the number.
Roku will ban you from installing custom apps if your device has ever installed an app that’s been removed for TOS violations. My account was permanently blocked from side loading because I had downloaded & tried a M3U player.
Thanks for sharing. I'm not a regular Roku user but I do have one and I was thinking about hacking on it. Knowing that Roku can ban you from installing custom apps on the device I purchased is enough to make me spend my time elsewhere.
I'm really glad that companies like pine64, frame.work, and purism, etc are starting to emerge. The Roku, Apple, John Deere etc user-hostile approach of "you don't own it, we do. You're renting it from us and we will tell you what is permitted" needs to be defeated.
Something I haven't really seen discussed anywhere since I first saw this earlier:
>Sunsetting non-certified channels
>With the release of the IDK and beta channels, Roku will remove non-certified channels from the platform by March 2022. The Roku IDK and beta channel feature will facilitate broader innovation, improve beta testing, and offer a better development experience and a more standardized development process across streaming platforms.
So basically, channels via code seems like it's going away. I hope they have a suitable replacement in mind with the IDK
> IDK applications are for personal use only; they can only be run after being sideloaded on an IDK-supported Roku streaming player running Roku OS 10.5 (or later).
So IIUC the IDK explicitly allows consumers to sideload apps.
The Roku interface is great and I would much prefer it over the likes of Apple TV.
However, Roku collects your viewing data (including by taking screenshots) and anything else it can about you (eg. the TCL Roku TVs have mics) and sell it to its valued partners.
> On Roku-powered smart TVs, you can turn off ACR by going to Settings > scroll down and select Privacy > Smart TV Experience.
> Next, uncheck “Use Information for TV Inputs” to disable ACR. Although this will stop your Roku TV from identifying your content on the pixel level, Roku can still collect data about the Roku TV streaming channels you’ve installed and use.
> To prevent personalized ads on your Roku profile, go to Settings > Privacy > Advertising, then check “Limit ad tracking.” Note: This setting is also available on Roku streaming gadgets.
---
> (eg. the TCL Roku TVs have mics)
Is there any evidence that they transmit anything from the mics?
At least some of them do appear to support sideloading, for example my TCL 43" from 2019. I haven't tried loading anything yet, but following the "Enable Developer Mode" process described in the Roku docs [1] does yield the option to enable the dev server, and I don't know that there's any reason to suspect IDK apps won't run if loaded. (Might need to update the OS, though; I haven't done that in a while.)
All apparently first-party by the product names, though, which mine isn't.
I'm going to try building and sideloading one of the IDK sample apps today. If it works, I'll update with details including the TV make, model, and OS version; if not, I'll...just update with that, I guess.
0 for 2. The first-party stick with OS 10.5 gives an "IDK applications are not supported on this device" dialog; the TCL TV, with OS 10.0 and no update available, just black-screens and stays that way till I hit Home.
I'm not really sure what the point is here, if I'm honest. Why even bother releasing an SDK with such limited device support, especially pitched at hobbyists who can be assumed to have (and want to support) the widest device range of any developer segment? It's not as if I'm going to buy new hardware just to look at my calendars and other day-planning info over coffee on my kitchen TV rather than my phone...
So, roku started out as a democratic middleman offering access to multiple streaming players. But it's devolved into another turf war, where it now continually threatens it's purchasers with loss of access, today Youtube, tommorrow Amazon Prime Video.
From such heights, it's really becoming very disappointing.
That was year one-ish. Within a very short period, Roku expanded well beyond that, as it was the only small box and soon stick with an OS, vs. Chromecast, Intel WiDi/Miracast, and other tech that tried to become a remote display, and the myriad of tv boxes that faded out or got commoditized (a zillion tv boxes running android). Replay, TiVo, WebTV, most of the standalone boxes had faded by that point, and Roku, from the bones of Replay, quickly became the place to have "channels" separate from a cable or YouTube/Metacafe/Dailymotion/Vimeo controlling platform etc.
So, yeah, early early days were Netflix bound, but with 1200 channels in 2013 and over 3000 by 2015, Roku was clearly showing more than just Netflix. At that time, sounded like Roku was the open door to distributing content to a group of hungry viewers...
And today? Still tons of "channels"... but instead of the garden of a million flowers, we instead have the top line players offering the most requested media, and so 3000 or 30000 makes little difference. In addition, a quick perusal of https://channelstore.roku.com/ reveals that past the first few "most popular" options, it's a desert out there. Lots of screen savers and public domain streamers, and little else.
So, what are Roku's options? It can promise that all can play with carriage fees reflecting consumption. It can offer it's own content (The Roku Channel) to compete. It can offer an advertising service to allow monetization of channel/media creators. And/Or, it can decide that it owns it's viewers, and instead of being an open gateway, it's a closed wall. And that's where we are: It's not easy to be a slightly-smart pipe, so Roku punted. Open no more.
I'll never get rid of all the Rokus, for hope that they'll come back around. But thinking back, the power of those early days in 2012-2015 when you got a Roku because you wanted to see almost everything without having to get a sketchy box from who knows where and have it pull torrents in the background... well, those were the days, indeed.
Did it? The earliest recollection I have of Roku is of the SoundBridge, a music player released before Netflix streaming was even a thing. It seems the company was reincorporated after they hooked up with Netflix.
I'm guessing this is in response to the fact that Google won't maintain an official YouTube app for them anymore? It's a shame that companies are only interested in releasing SDKs when they can eke out a petty win (not to mention their hardware is basically irrelevant by now) but it's nice to have nonetheless, I suppose.
Someone else mentioned it but under the surface there are killing the ability to add private channels via codes. Those channels were not in the Roku store and could have allowed
Google to work around the ban.
I feel like it'd be compelling to some enthusiasts because of the low barrier (well, minus learning the IDK) to developing something they'd like for a Roku.
Although if you're going to… develop something for a Roku, I feel like a Raspberry Pi might be easier.
But Roku already has some things already built in. Including a very functional remote. Sure all of that can be created on a raspberry pi - but is it really worth the effort? Plus cost wise, Roku would be cheaper than a raspberry pi by the time you add up the cost of all the individual components.
Yeah, I've gone the raspberry pi route for a tv connected home media center, I'm much happier with a bunch of Rokus & a remote Plex server. It's 100x more polished than even the best open source projects, and it is no effort on my part to keep them up to date and functional. Just one less thing to think about, making room for other fun projects.
It's not a surprise that companies won't compete unless they are forced to. I'm glad they choose to make a more open platform their competitive strategy.
Do these community supported SDK/APIs ever work? In my experience (Strava and Spotify APIs) it's an excuse for the company to release a load of half-baked crap and then wash their hands of supporting it. Allowing them to tick the box that they offer a public API and make themselves look better. Despite members of the public donating their time to help each other, without participation from the company itself it's all trial and error development with everyone running into the same bugs that never get fixed.
It's great that some companies have finally recognised the value in providing public SDK/APIs but they should be investing in supporting them also.
When I had bought my Samsung TV in 2017, I too got advertisements in the home bar. I got livid and disconnected it from the internet, and connected my Chromecast and Apple TV to it. Never looked back since.
roku, go all in on it, show them your teeth. but seriously, when the brand came out, it actually become a huge part of my family right away, everyone was talking about it. this was like the first year, fond memories
1. The only public development API requires the use of their proprietary language BrightScript which is poorly documented, and for which no official compiler, interpreter, or runtime environment is available. Enthusiasts had to create an interpreter for it (https://github.com/sjbarag/brs) to speed up development time. Previously you had to push your app to a Roku to run it before you could learn of any syntax errors.
2. They do have a C/C++ API, but they limit access to big orgs and require an NDA to use it.
There are plenty of cool projects, like a Prince of Persia port (https://github.com/lvcabral/Prince-of-Persia-Roku).
That they are finally shoring up their poor developer ecosystem with C/C++ and JavaScript APIs is great, but it's unfortunate that they aren't allowing these apps to be distributed through their official store.