Back to top

We need more unbundling, and smaller markets

On separation of clients and services

People stream movies and TV in many ways. (And few do it in only one way.) You can do it through your phone, tablet or laptop, of course – but I think we’ll find the greatest variety when it comes to other forms: Many people have a TV set in addition to these other devices. But the size of your living area and wallet (or simply prioritisation) influences where you are on the scale of “Small and/or cheap TV that does the job” and “High-end OLED beast with Hi-Fi attached”.

But it’s not only about “More money = Better” – people value different things! For some, a VR headset would be a fantastic upgrade — while if you mainly watch TV as a social activity, it’ll defeat the purpose. And some would never swap their 43" Frame TV for a 77" black rectangle on their wall — no matter how much better the picture is. (Or what about a briefcase TV?)

To some, looking like this while off is more important than anything it can do while on.

Both through “privilege” and “prioritisation”, we have widely differing budgets — and also different needs and tastes. That’s why it’s so great, that we don’t have to use Netflix through only stuff that they have made!

Imagine if we could only use their service on Netflix TVs, or while sitting on Netflix couches. While there is a connection, making “a service”, and “the ways to interact with the service”, are two different things – that often require different skillsets. Now, you could say the difference here is hardware/software, and that you do have to watch Netflix through their app… I’m not saying either the situation or the analogy is perfect! However, while your brand of TV might also make great speakers, it’s still nice that you can choose your sound experience separately from your visual one. And I also think it would be better if you could also watch Netflix through other apps as well.

Over two years ago, John Siracusa wrote the article “An Unsolicited Stream App Spec”.

I subscribe to a lot of streaming video services, and that means I use a lot of streaming video apps. Most of them fall short of my expectations. Here, then, is a simple specification for a streaming video app. Follow it, and your app will be well on its way to not sucking.

This spec includes only the basics. It leaves plenty of room for apps to differentiate themselves by surprising and delighting their users with clever features not listed here. But to all the streaming app developers out there, please consider covering these fundamentals before working on your Unique Selling Proposition.

Obviously, a list of even the most rudimentary features can’t help but also be opinionated. Though my tastes have surely influenced this list, I really do think that any streaming app that fails to implement nearly all of these features is failing its users. Again, these are not frills. These are the bare-bones basics.

I think it’s fair to say that, two years on, most streaming services don’t have these “bare-bones basics”…


I won’t claim to have robust…

Definitions of “clients” and “services”

But in general, I consider clients to be ways to interact with a service. And I don’t mind this sometimes spanning both hardware and software, and there being several layers of clients – like how it could go:

Netflix content -> Netflix app -> Apple TV box -> Samsung TV + Sonos soundbar -> IKEA couch

I’m just brainstorming around a general idea here, and a watertight definition isn’t needed, I think.1

This is not analysis

Ben Thompson, of Stratechery, has a lot of great writing about Bundling and Unbundling. But, I’m not trying to analyse what has happened or what I think will happen. I’m talking about what I think would be beneficial – both to users, and small and medium-sized businesses.2

Thompson talks about “The Great Rebundling”, which is happening. And as you might’ve guessed, I’m not a fan. I want even less bundling!

Because bundling leads to companies competing on larger and larger entities

We can take Apple as an example here. By bundling more-and-more together into their ecosystem, they no longer compete on the individual “parts” — like phone, computer, tablet, smartwatch, earbuds, smart speaker, music and TV streaming, cloud storage, digital wallet, software store, AI assistant, browser, etc. Instead, all of these are bundled together into one entity, and they only compete on “ecosystem that encompasses almost every part of your digital life”. The problem is, that if you can’t compete on this one giant entity, what you do within the parts of it (like make “a better AI assistant”), doesn’t really matter. Jason Snell touched on this in the article “Can Anyone but a Tech Giant Build the Next Big Thing?”.3

Some nuance:

I get that too much fraction, user-choice and complexity has bad side effects. And I’m not saying I think Apple has to open up their phones for third-party camera hardware modules,4 or that every button in a calculator app needs to be an API. And it’s not like there’s zero competition within the smaller parts! What I am saying is that we are, and are moving, way too far in the other direction.

When discussing things like antitrust, it’s very relevant to discuss the absolute size of the market/company, as well as the general health of that specific market. So in this case, it’s very relevant that the smartphone OS market is:

  • huge (in terms of absolute market cap),
  • intertwined in countless other markets,
  • something every adult “has” to take part it,
  • and a duopoly.

For instance, neither of these are true in the gaming market, which some people compare to the smartphone market.5


What I would like to see

I've written a more specific idea for how this could work with music streaming. Click here to check it out.

I think competition can lead to great innovation – but we have to make companies compete on the right stuff. Bundling leads to less competition, and situations where you can’t pick-and-choose the best parts. You have to choose the entire Package A or the entire Package B. So here are some loose ideas on what I’d like to see:

1) Service providers mostly compete on their core

Some things I think it would be good if Netflix were to compete on (not saying none of these apply today):

  • Content
  • Price
  • APIs (how well it works with other video players)
  • Video player

Even in a world where protocols allowed you to stream content in the clients you wanted, it would still be beneficial for Netflix to make a great client. User-choice always brings complexity, and many just stay on the defaults anyway. So if the default was bad, many would bounce off the service. Furthermore, if Netflix had the best client (which you got for free by subscribing — but perhaps could pay for otherwise as well), it could be used for streaming other companies' content. Unlike some other types of services, streaming isn’t exclusive.

This also ties into the idea of “building protocols, not platforms”, as I would want the defaults to mainly (only?) be built on public APIs.

The Tesla charging network could be a parallel: Here in Norway, Tesla has always used (the slightly better European version of) CCS chargers. The charging network is great — and you get “free” access to it if you own a Tesla. However, other car owners can also get access to it, but for an extra fee. Other charger providers can also freely create their own stations that can charge Teslas.

2) Expand the open protocol instead of creating proprietary APIs

The IMAP protocol, which by far is the most common open standard for email, is old and pretty basic. When Google wanted to expand on this, for Gmail, they created their own proprietary API. So while someone can create a client that uses that API (like Mimestream is doing), a different email provider can’t provide the same API.

Fastmail 🖇️ did what I want to see:

They, instead, spearheaded a new open protocol, called JMAP. This has many of the same improvements as the Gmail API, but it’s open for anyone to use and contribute to.

Now, being “locked” to using open protocols could make adapting new features slower. But I absolutely think it would be worth it, among other things because I think the increased competition would lead to more total innovation.

There is one important question, though (which I don’t claim to hold the answers to), which touches on both of these two points: Which elements of the service are the parts they should compete on, and which parts should be common between competitors? What I’m trying to get at, is that some things should just be “part of the plumbing” so to speak.

3) Anyone can make clients for anything

So, I strongly believe in the separation of clients and services. In addition to streaming, this also applies to social media, blogging/newsletter platforms, messaging services, and more.

Mastodon is a great example here, where the default web client and apps are OK, while there are numerous great options around, depending on your budget, preferences, and devices. This has resulted in a situation where literally the entire “Top 5 social media apps I’ve used” list is Mastodon clients.

I just don’t think things like “Which platform has the strongest social lock-in”, or “Which platform is allowed the best inter-operability with a totally separate product” are things that should be competed on. Instead, it should be “The best one, according to your preferences, that suits your budget”. And different people on the same service should be able to choose their own experience.

Moreover, if an app you use makes changes you don’t like, you’re not locked-in in the same way.


Ah, a man can dream…


  1. More examples later, though! ↩︎

  2. I strongly believe in the societal benefits having a healthy eco-system of these businesses – and not just a few giants controlling everything. ↩︎

  3. An example of how things changes the second protocols enter the mix, is that Sonos supporting AirPlay 2 makes it way easier to not have HomePods. ↩︎

  4. Even though that would be kind of sick! ↩︎

  5. “Why shouldn’t I be able to install what I want on my Playstation if Apple has to allow it on the iPhone?” ↩︎