Skip to content

Feature Request: Import ERC-721 token (NFT) Music Tracks from User's Wallet #23

Description

@chrishobcroft

User Journey

This feature request is for a new user journey, described thus:

as a user of Odeon, I want to be able to connect Odeon with my Wallet, and show my ERC-721 tokens (NFTs) (audio tracks, playlists).

Odeon

Below is a screenshot of the existing Odeon music player app:

Screenshot_20210830-183319_Odeon

Music for the player is currently served from the device's own filesystem.

Proposed Architecture

Components

An architecture to enable this can include the following components:

  • WalletConnect is a protocol for connecting to Wallet Apps on a device. This allows a user to transact on an Ethereum Virtual Machine (EVM)-compatible blockchain.

  • Optimism is an EVM-compatible blockchain-based network, used for minting and transferring ERC-721 tokens (NFTs).

  • IPFS is a distributed file system, used for storing files, such as mp3 audio files, and JSON metadata files.

Approach

Odeon could:

  1. Connect with the wallet app on the user's device using WalletConnect
  2. Read / write ERC-721 token (NFT) data from / to Optimism
  3. Retrieve audio files and metadata content from IPFS
  4. Play audio
  5. (Advanced feature) to cache audio tracks on your device for offline playback.

Additional Thoughts

Implementation

This kind of functionality can very easily extend the existing excellent UX that Odeon already has.

For example, a "Connect Wallet" (step 1) option can live in the main Hamburger underneath "Settings", or even in "Settings". It need only require a few steps in the app to "Connect Wallet", and WalletConnect makes this veery easy!

Odeon Connect Wallet

Everything else can happen in the background... pulling in metadata and audio files (steps 2 and 3 above). It may perhaps need some extension in order to stream content from an IPFS gateway though.

As for playback (step 4), Odeon's existing audio player UI is more than capable of this.

For the advanced feature, a "Keep for Offline" checkbox for each track can live beneath "Add to playlist" and "Delete" in the options for each track:

Keep for Offline

"Delete" might need to be disabled for NFT audio tracks because it's not really possible to "delete" from IPFS.

Future Features

Future features could include:

  • Publish new playlists as NFTs to store in your wallet, or to send to your friends' wallets
  • Publish new original music as NFTs to send to music collectors.

Notes

I accept that this may appear a somewhat esoteric concept to propose. But I believe it to be based in a very sane context.

The world is very slowly coming to terms with jpeg NFTs, indicating clearly that gif, then mp3 then mp4 will follow.

NFTs for Music are emerging, as evidenced by Jonathan Mann's recent release "Right Click Save As".

Further, zero-knowledge rollup networks such as Optimism, Arbitrum and zksync are substantially increasing the capacity of blockchain networks, meanwhile reducing their cost of use.

And finally, IPFS is emerging as the default go-to storage for decentralised content and metadata, and while still maturing in some aspects, it represents a sustainable part of the architecture. This is especially true in light of the progress made by Filecoin project.

Credits

All the credit goes to you for reading all this. Bravo to you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions