---
# System prepended metadata

title: Block x WWC Open Protocols Lab

---

# Block x WWC Open Protocols Lab: Exploring Music

Open protocols are vital to shaping a more [empowering future web](https://knightcolumbia.org/content/protocols-not-platforms-a-technological-approach-to-free-speech). They provide sets of rules that let different apps and platforms work together seamlessly on the internet. This interoperability means individuals can choose the tools and services they like without being locked into one system. Anyone can leverage an open protocol to create something new for the internet, fostering a competitive environment where new ideas and apps can flourish. Open protocols can be more inclusive by allowing developers from diverse backgrounds to participate in their development, leading to diverse perspectives that can better serve the needs of a broad range of users and communities. Users benefit from open protocols as they can select client applications and customize their preferences for content moderation, privacy, and security, ensuring individual control and safeguarding user rights and free expression.

In this lab, we'll be building a playlist app using Web5 technologies. To do this, we’ll learn how to define an [open protocol](https://developer.tbd.website/docs/web5/learn/protocols/), work with [Decentralized Web Nodes](https://identity.foundation/decentralized-web-node/spec/#protocols), and build apps with the [Web5 SDK](https://github.com/TBD54566975/web5-js). We’ll first work together to define a shared open protocol before splitting off into two different groups, where each group will build its own version of a playlist app using the Web5 SDK. The apps should let its users create a playlist of songs they like, and “favourite” the ones they love the most. This data will be persisted to a user’s individual DWN. The user will be able to bring their data with them from one group’s app to the other group’s app seamlessly, without either group ever needing to coordinate with the other. The Web5 SDK does most of the heavy lifting in order to make this possible, and we’ll learn how to leverage it to our benefit.

## Resources

https://knightcolumbia.org/content/protocols-not-platforms-a-technological-approach-to-free-speech
https://developer.tbd.website/docs/web5/learn/protocols/
https://identity.foundation/decentralized-web-node/spec/#protocols
https://github.com/TBD54566975/dwn-sdk-js/tree/main
https://github.com/TBD54566975/web5-js