Hello fellow web-monetizers!👋 We are super excited to be a part of this amazing sprawling community of creatives!🌱
We have been busy experimenting with some applications of the Web Monetization API, especially with live music stations and how their monetization could be improved. Here is an update for the community!📝
Project Update 🚧
We set out to take on this project with the goal of experimenting with the current web-monetization technologies, around how indie music creators can better connect with their audiences and also monetize their efforts without the 'middleman"🕵️ Hence, we are targeting (and almost on track😅) to deliver a basic prototype of how such a live music station would look like, in terms of the underlying pieces and the monetization technologies involved. In addition, as part of this music station, we plan to also deliver/host some of our own computer generated music tunes🎶
Progress on objectives
We have been iterating through some original brain-stormed ideas on the music station mostly and have settled on what the alpha is going to look like (see below for details). We have had some struggles with our other goal of generating tunes using a computer leveraging existing tools out there (requires some human input still😢). But that is a wider ML/AI issue the wider community is trying to tackle and experiment with at this point.
Hopefully, we will get there, a fully computer-generated & managed music station with native monetization over the web, THAT is the long-term ultimate goal outside of this grant period!🎯
We are very thankful for this grant that lets us prototype the pieces which will help us seed this ultimate goal!🙏
The key activities so far have been mostly focused on experimenting with some front-end and back-end solutions which could be pieced together to create a first prototype for a web-monetized live music station.
1️⃣ We first took the naive approach to start with. We looked at hosting on the cloud with existing providers who expose external APIs. External music hosting sites were the top of the list. Here is what the first ever iteration looked like:
Front-end [basic v0.0.1]:
Back-end [basic v0.0.1]:
But this was not super useful as you can see, it still involves an external provider and no 'station' capabilities!
2️⃣ So next we went onto find something that can provide 'streaming' radio station like capability. Here is what that looked like:
Front-end [simple v0.1.0]:
Front-end [simple v0.1.2]:
Back-end: [simple v0.1.2]
So now we had some more control over how we can schedule our shows and playlists! Great! But still this was based around an external service and lets face it not that great of a UI!
3️⃣ Now it was time to look for alternatives for a more managed back-end solution and bit more cleaner UI for the user! Here is what that looked like:
Front-end [seedling v0.1.3]:
Front-end [seedling v0.1.3b]:
Back-end [seedling v0.1.3]:
Still some more polishing needed on the UI and the whole UX when listeners get on the station. But the basic pieces are here then, no commercial services involved now (except for hosting, if you cannot afford your own server! And maybe one day we would get useful p2p Web 3.0 hosting!)
📍 And this led us to our alpha! Here is a sneak peak:
[P.S. As you can see, we dearly love emojis😂]
This is currently running fully locally, and we plan to go live with this soon right after we finish some user-based 'optional' profile features!
Oh and we have also been generating and mixing some computer generated tunes for release at the same time. Here are some computer generated non-edited bits out of some of the tunes for your pleasure:
Sweet Harmony - Segment I
Oncoming Change - Segment III
Settle Down - Segment II
Here is the overview of what is left before we go live!
📌 Some way for a user to have a pseudonym based 'profile'.
📌 Bug fixes with the volume controller backend.
📌 Proper meta-data fetching from the station to the UI player
📌 Finish provisioning of the front & back-end on the cloud for release!
📌 Evaluate how in the long-term the limitation of background streaming monetization can be tackled! This is currently the biggest fundamental issue we found with the web monetization API for this type of application.
📌 Final mixing of some tunes!
Communications and marketing
So far the work has mostly been experimental and we have mostly been playing with some ideas to get to a point where we have now decided on a basic design and architecture for the alpha prototype music station⬆️
We plan to release the initial code (all open-source🎉) and get the station live sometimes in mid-to-late February, with the basic functionalities that we targeted for as part of this grant.
It will be a prototype, but due to the lack of face-to-face interactions with the target community, against our original plan we will be putting it up and try to connect with people over the web. Ohh COVID🦠
We will also release some of the initial computer generated tunes without any licensing barrier as promised for this grant work for the community! (Expect them to be a bit edgy and rough!)▶️ But they show what is currently achievable, which was the goal we set out with for the current grant period!⭐
🔴 Look out for some follow-up posts with links to the live station and code when we go live!
What community support would benefit your project?
We would love to connect with folks who are active with the wider indie music community both online and offline. In particular, it would be great if we can have some user feedback on our current efforts and how they could use/adopt/mold our work for their needs!
For us, this is a longer term project even outside of this grant period. Hence, we would love to get in touch with folks who could be potential partners and benefit from our work!
Also if there are any other potential applications of what we are trying to build let us know and we would be very happy to collaborate!
We will be posting about our code release and alpha going live here first, before anywhere else, so look out for that on your forum feeds! And finally any suggestions, pointers and tips would be very much appreciated! Don't be shy, say hi!
We are proud to be a part of this community💖
Top comments (5)
hello I'm curious. have you found a solution where webMonetization stream stops when the tab is unfocused? for example, the user have you webapp playing in one tab then switches to another.
referencing this github issue: github.com/WICG/webmonetization/is...
Hey Xander! Unfortunately that is one of the biggest limitations that we came across while experimenting, as mentioned in one of our TODOs:
"...Evaluate how in the long-term the limitation of background streaming monetization can be tackled! This is currently the biggest fundamental issue we found with the web monetization API for this type of application...."
That is indeed exactly what you are referring to as well. Long-term a feature that allows the user to enable background streaming on the applications of their choice would be very useful as mentioned in that GitHub Issue as well. We do think that this is something better tackled on the WM provider level rather than by applications to maintain a common interface to background streaming.
In the meantime, if we find any 'hacky' solution to this, will post it out here for sure!🙂 Conversely, if you get something working please do share too! 😁
I really enjoyed reading this report! Indie music is such a rich space for experimenting with Web Monetization and I love the direction of your thinking and iteration. Very excited to see where this project goes! (PS – Your emoji game is 💪)
Thanks for your support Erika! It has been a fun ride working with you and the rest of the GftW team as well so far! We are super excited for where this goes as well! 😊
You might be interested in what Kendraio have done, and be keen to compare notes from Audiotarky- drop me a line if you like email@example.com