Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gaideo.com Music #31

Closed
models-72 opened this issue Nov 23, 2020 · 9 comments
Closed

Gaideo.com Music #31

models-72 opened this issue Nov 23, 2020 · 9 comments

Comments

@models-72
Copy link

We prefer clear, concrete, and concise applications. If an application is incomplete or unclear, we will request an update to the application.

Background

What problems do you aim to solve? How does it serve the mission of a user owned internet?

There has been feedback from the community to support music in addition to video on Gaideo.

Project Overview

What solution are you providing? Who will it serve?

Users will be able to upload their music files (.mp3). A new Music section will be created to go alongside Videos and Photos. All music will be transcoded/encrypted into HLS format. Music can be organized into play lists, shared with friends or publicly, and will be searchable. Play lists will be improved for auto play and sharing entire play lists with others.

Scope

What are the components or technical specs of the project? What will the final deliverable look like? How will you measure success?

The final deliverables will be:

Budget and Milestones

What grant amount are you seeking? How long will the project take in hours? If more than 20, please break down the project into milestones, with a clear output (e.g., low-fi mockup, MVP with two features) and include the estimated work hours for each milestone.

Budget: $5000

M1: Support transcoding/encrypting of .mp3. Create new media type for music and update UI to show music media in a new section of the application (24h) $2000

M2: Support sharing, searching, and playlists for new media type (24h) $2000

M3: Improve playlists to support auto play and enable entire playlists to be shared with other users. (12h) $1000

Duration: 2 weeks

Team

Who is building this? What relevant experience do you bring to this project? Are there skills sets you are missing that you are seeking from the community?

I will be the only one working on this project.

Risks

What dependencies or obstacles do you anticipate? What contingency plans do you have in place?

There are no risks to getting this done.

Community and Supporting Materials

Do you have previous projects, code commits, or experiences that are relevant to this application? What community feedback or input have you received? How do you plan to share your plan to the community over time and as the final deliverable?

After the initial web site for gaideo.com was built I have received specific feedback requests from the community to build this feature. It is the main reason I chose to work on this versus some of the other ideas I had for the site. At some point I will present the new capabilities to the community as I did with the first version of Gaideo.

@RaffiSapire
Copy link
Contributor

Hey there, we are reviewing your proposal with our technical team. If you are able to better scope out the technical specs in the milestones that would be helpful for us to get back to you with an appropriate grant approval.

@models-72
Copy link
Author

All changes will be made to Gaideo's typescript based react application. Below is a more detailed breakdown of the changes that need to be made:

M1:

  • Change code to allow for uploading of .mp3 files.
  • When calling ffmpeg javascript library, code needs to be adjusted to account for an audio only file. Generation of a preview image and computation of dimensions will not be possible for mp3. Need to solve this with a fixed image for music and optionally allow user to supply a preview image.
  • Optimize ffmpeg arguments for audio
  • UI needs to be built to show a new Music section.
  • Code needs to change to write music related data to its own file type in the gaideo file system

M2:

  • All sharing/searching/playlist code needs to be reworked to completely abstract the media type. This will make the code more flexible in the future to support other media types
  • Once everything is abstracted, re-work the browse videos/ video player UI components to adapt to showing music or video media
  • Playlists currently are sorted by last updated date. Instead they should sort by the order in which they are added. Additional functionality needs to be added to the UI to allow for re-ordering the media files in a play list, preferrably drag/drop re-ordering.
  • Change background web worker to discover audio media that have been shared by the logged in user's friend list

M3:

  • The video player needs to be enhanced to optionally pass in a playlist as an argument
  • If playing video or audio from a play list, the UI will be changed to show an auto play toggle switch
  • If auto play is enabled the playlist will be retrieved from Gaia storage and the "next" media from the playlist will be played upon completion of the video/audio media
  • Add support for sharing an entire playlist. Currently to share audio/video you can only do one at a time. When sharing a playlist all media files from playlist will be shared. In addition the playlist itself will be shared
  • Change background web worker to discover playlists shared by the logged in user's friend list

@RaffiSapire
Copy link
Contributor

Thank you, @models-72 this grant is approved and we're excited to see this MVP fleshed out! Can we ask you to sign a new contract by emailing grants@stacks.org and we'll get this funded!! Thank you.

@models-72
Copy link
Author

Update:

I have completed work for M1 and M2 and halfway through M3. The only remaining task is to implement a way to share entire playlists with other users. Currently you have to share each video/song one at a time with your friends and then they would need to build their own playlist with the shared media. The remaining work item is to allow bulk sharing of videos/songs via sharing the playlist itself with the additional challenge of sharing the playlist file which we currently cannot do.

gaideo.com and the gaideo source code repository have both been updated all of the milestone changes mentioned above.

@models-72
Copy link
Author

All milestones for this grant have been completed. Source code has been updated at the gaideo github repository at https://github.com/gaideo/gaideo. Also gaideo.com has the updates with the following features:

  1. You can now upload mp3 files
  2. Music can be played in the new Music section
  3. When editing a play list you can now see the full list of playlist entries across all types (videos/photos/music) and change item order/remove items.
  4. When playing a video/song from your play list, the user will see the entire list on the right if not mobile or below the playing video/song if mobile. In this section you can toggle auto-play and shuffle modes as well jump and and play/pause songs
  5. When a playlist is selected you can now share a playlist with friends. This will share the playlist and any items in the playlist owned by the user.
  6. Shared playlists will become visible in the playlist dropdown with the corresponding stacks user id next to the name of the play list
  7. There have been several changes to the menu controls throughout the UI

@RaffiSapire
Copy link
Contributor

Hello! Congratulations, this is so exciting. Lets talk in early january how to share this with the community and get more feedback. in the meantime I'll process your remaining M2 and M3 payments. Thank you!

@RaffiSapire
Copy link
Contributor

Hello! Thank you for all your hard work this year. We would love to send you a holiday note and some custom stacks stickers. Please email me at Raffi@stacks.org with you and your colleagues names/addresses if you'd like to receive one. We really appreciate all your help and contributions. Stacks is what it is because of you!

@vanesvibes
Copy link

@models-72 Vane here~ could you let us know your discord username? Thank You.

@models-72
Copy link
Author

shardeman#7211

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants