The other day, I was listening to a podcast and wanted to cast it to my Google Home. But, guess what happened? I couldn't figure out how to cast the podcast from the Apple podcast app to Google Home.
What is the incentive for Apple to develop this capability? Google Home is not an Apple product and even worse these are rivaling ecosystems. Android phones also do not let you Airplay content to your Apple TV.
I realized that there are many podcast apps on the app store. I searched for one with this functionality and tried a couple. Finally found the one that worked (📢Pocketcasts)! It was such a pleasurable experience! 🙌🏼😄
I had another similar problem. I have Chromecast for my TV and I was unable to find a way to cast Apple TV to Chromecast because it only supported Apple’s Airplay. For this one though, I had no recourse. Except to play Apple TV on the Chrome Browser of my laptop and cast it that way.
This felt like a tale of two cities. On reflecting, I realized that the reason for such a different experience was STANDARDS. Yes, podcasts are usually distributed over the internet via RSS (Really Simple Syndication) feeds. RSS is a web syndication format, that specifies a standardized, computer-readable format for publishing and consuming content. That's why many applications can read and play podcasts. Videos, on the other hand, are not distributed over a standard. E.g. Youtube videos are only accessed via the Youtube app. The developers cannot build an app to play videos without using YouTube APIs (which might be hard to get access to).
Why should Software Engineers care?
As a software engineer, this realization can help in a few ways.
Develop products that adhere to standards
Let’s say you are designing a web service. You can design your interface using the OpenAPI specification. Since that is a widely expected standard, developers can develop tools for that specification and get broad adoption. E.g. automated client creation, and endpoint UIs for OpenAPI specifications. You can leverage these tools for your development.
Use products behind a standard API
Let’s say you want to make your systems observable. Instead of directly instrumenting monitoring system clients like Prometheus, Datadog, etc. You can choose to instrument your application with OpenTelemetry. You can then configure the backend to either of these monitoring systems. This enables you to easily switch backends in the future and gives you that optionality.
Develop/Improve tools for common standards
Since standards are shared across organizations. If you have a certain challenge you can solve it for everyone using that standard. E.g. If an email client, in your preferred language, is not performant and you have certain ideas. You can create a different client that follows the same SMTP or IMAP protocol. Your solution can then be used by everyone using that protocol.
Regulation & compliance
Understanding standards like HIPAA & GDPR is important to make your applications legally compliant.
Hope this helps you realize how important standards are.
Please subscribe to my newsletter for more insightful articles.