The moment is finally here, and it’s my utmost pleasure to announce to this amazing community the official release of JAMS Minimum Viable Product (MVP)!
But first..
Acknowledgments
Two remarkable community members, @loziniak and @safemedia, have created a stunning and functional cross-platform desktop application from the ground up. This app has been recognized as the JAMS MVP, which is an incredible achievement!
Huge personal thank you to you both @loziniak and cobite. Let’s keep kicking ass!
It’s worth mentioning that these rockstars also have their own individual Autonomi projects in the works. The Autonomi Community Token and Autonomi Browser Extension. Check them out!!!
A massive thank you to @maidsafe for the years of dedication as well as @bamboogarden and the Autonomi foundation for getting Autonomi to this point.
Technical Rundown
The focus was previously on a web based app but we recently shifted to a desktop approach in order to get something into the communities hands sooner without having to rely on a non existent browser. This comes with a lot of cool advantages as well!
JAMS MVP is cross platform, written in Rust and built with Tauri. There are bound to be some unforeseen bugs and we want to collect reports of such issues as well as general user feedback.
Currently we are using the now deprecated register data type but will very soon be adapting to the new upcoming data types and API release. Then the plan is to build out features for a full release, though the MVP provides some nice features out of the gate.
Back End - @loziniak
Only data we keep on the network are songs. Playlists and accounts are local. Keys for logging into Autonomi are derived from imported (or generated by app) EVM private keys, encrypted with a password and stored locally, so we don’t need to integrate MetaMask or any other wallet. For those, who feel uncomfortable with that, we advise having separate account just for JAMS and top it up from main account. In case of accounts created by JAMS, private keys can be exported to other wallets.
JAMS was started when Register datatype was existent, so we used it, and since new datatypes were introduced, we emulate Register with compound structure of Scratchpad, Transactions and Chunks. Our implementation differs from high-level official one in that our register entries can contain unlimited amount of data. This implementation is included in Safe lib.
We plan to implement dividing media files to be able to pre-fetch headers with metadata (file format and multimedia tags like title, artist etc.) for faster loading. The best option though would be Autonomi supporting data streaming, which we’d happily help with. Until then we’ll start with download-only operation.
Another feature we would like to have is a node integrated with the app binary, so the user automatically would earn tokens after registering, and hence contribute to network decentralization and resilience.
Front End , App Logic and Integrations - @safemedia aka Cobite
The application was created from scratch using the Tauri framework. For the frontend side of the stack used react & tailwind, along with shadcn for styling.
Some of the features we added are:
-
in-built wallet logic & UI
-
connection detection & routing updates
-
testnet connection
-
user management
-
account (create/recover/update/sign-in/sign-out)
-
upload/download interfaces with metadata
-
secondary navigation panels
-
audio player
-
animation effects
-
settings panel (console logger/network config/toast/status/storage)
-
playlist creation, updating & adding/removing songs
-
song creation & updating with drag-drop/browse
-
song/player scroller
-
favorites
-
translations
-
themes
(Upcoming) Full Release Features
- MVP Feature Set +
- Discover Page
- Unverified Artist Profile
- Follow
- Tipping Button
- Listener Metrics
After Eventual PirateRadio Integration
Read more about PirateRadio (previously JAMStand) here.
- MVP + Full Release +
- Verified Artists
- Paid Plans (highly competitive)
- Collectibles (NFTs)
- Exclusive Content
- Embedded Player
- Curation Rewards
- Streaming Payouts (highly competitive)
- Partnerships
Beyond
- Personal Soundtrack AI
@maidsafe, if Jams Player could be added to the AlphaNet for continuous developer testing, that would be much appreciated! @rusty.spork?
Final Words
Jams was once just a name and a napkin sketch of an anthropomorphic jam jar jamming on a guitar that I had drawn years and years ago. The solution born out of the need to ensure the safe and redundant storage of personal music files, along comes Autonomi (previously Safe Network). JAMS quickly evolved into a dream to solve much bigger problems within the music industry after conceiving JAMStand (now PirateRadio).
Someday, I think it will further evolve into a grass roots movement that could become a global revolution for artists but also for fans alike. Change is needed in how artists and fans engage, are compensated and incentivized, and even how we interact and relate to our music in the moment with a Personal Soundtrack.
With your ongoing support and word of mouth, we can grow Autonomi and this movement to unthinkable heights.
Come Join the JAMS Discord! There will be some additional focus there in the future. We’d like to know, what’s your jam?
Thank you everyone
Visit our site to Download the Latest Release:
Download Here For Now!