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

[Video Disruptors Grant]: Developing a Livepeer no-code plugin #138

Closed
mahmoud-bahaa opened this issue Feb 23, 2023 · 45 comments
Closed

[Video Disruptors Grant]: Developing a Livepeer no-code plugin #138

mahmoud-bahaa opened this issue Feb 23, 2023 · 45 comments
Assignees
Labels

Comments

@mahmoud-bahaa
Copy link

mahmoud-bahaa commented Feb 23, 2023

Please describe your project. Start with the need or problem you are trying to solve with this project. Describe why your solution is going to adequately solve this problem.

One of the biggest goals for Livepeer is to increase its adoption among app builders. A critical catalyst for Livepeer's adoption is to remove the onboarding friction. This can be done by developing plugins on no-code tools that allow non-tech founders to plug Livepeer into their apps. I want to build 2 plugins for Bubble that allows businesses to easily tap into Livepeer's ecosystem. The first plugin enables users to upload and transcode video assets, and the other one plays video assets. With these plugins, Livepeer will be among many reputable plugins (e.g. Discord, Youtube, ChatGPT).

Link to public GitHub repo (if applicable)

No response

Link to demo website (if applicable)

No response

Please describe in more detail why this proposal is valuable for the Livepeer ecosystem

While it's good to foster Livepeer's adoption in the developer ecosystem, it is expected that no-code tools will account for more than 65% of application development activity by 2024. Yet, Livepeer has no presence in these tools. No and low-code tools are fairly green fields, so establishing a presence on such platforms early gives Livepeer a significant advantage over competition that relies on the classic sales cycle. This is particularly important since the no-code tool builders are often startups that are price-sensitive, which Livepeer targets primarily. To encourage people to use Livepeer, we have to get closer to users, and the easiest way to do so is to develop a plugin for no-code tools. This will make Livepeer almost a no-brainer solution for app builders. The risk in this project is the plugin relies on the success of the no-code tool itself. To mitigate the risk, I'm proposing to start with Bubble; the leading no-code tool with more than 2.3m users.

Please describe in details what your final deliverable for this project will be.

There will be 2 plugins listed here: https://bubble.io/plugins

  • First: a plugin that allows users to upload and transcode assets to Livepeer
  • Second: a plugin that allows users to play Livepeer videos using the asset IDs.

Please break up your development work into a clear set of milestones

  1. An editable player component that gets the asset ID and streams from there directly.
  2. A configurable set of settings that allow builders to create an account on Livepeer studio.
  3. A drag-and-drop (+upload) popup that pushes and transcodes a video to the Livepeer network (status of the file upload + transcoding is captured and reflected).

Sum up the total requested budget across all milestones, and include that figure here. Also, please include a budget breakdown to specify how you are planning to spend these funds.

I estimate the project to take ~6-8 weeks. I'm planning to spend 4 hours per day over this period with the hour costing $80. This will make a total of $12,800

Specify your team's long-term plans to maintain this software and upgrade it over time

The reason I'm proposing this project is that I want to build a no-code app to quickly iterate on different UX designs while leveraging Livepeer for playback (for cost reasons). I'm building this plugin because I'm planning to use it myself.

Please describe (in words) your team's relevant experience, and why you think you are the right team to build this project. You can cite your team's prior experience in similar domains, doing similar dev work, individual team members' backgrounds, etc.

I have 5 years of experience at Amazon Prime Video both as an engineer and a product owner. I have a patent in video streaming (patents.google.com/patent/us11153626b1) and am certified in digital rights management. I also own and run a Livepeer orchestrator (Cluster).

How did you learn about the Livepeer Grants Program?

I don't remember

Was this project started at a hackathon or another web3 event? Which one?

Not really, but I won Livepeer's third prize at ETH SF

Please include any additional information that you think would be useful in helping us to evaluate your proposal.

No response

@hansy
Copy link
Collaborator

hansy commented Feb 24, 2023

Thanks for applying @mahmoud-bahaa. We'll review your application and get back to you shortly!

@Titan-Node
Copy link

This is a great idea! I've used Bubble in the past for building apps. Great exposure.
One question @mahmoud-bahaa, will the code be open source?

@mahmoud-bahaa
Copy link
Author

mahmoud-bahaa commented Feb 24, 2023

I'll keep it open-source so that the Livepeer community can actively contribute to it.

@mahmoud-bahaa
Copy link
Author

@hansy is there a timeline for when I should expect a response?

@hansy
Copy link
Collaborator

hansy commented Mar 2, 2023

We should get back to you in a week or so.

@mahmoud-bahaa
Copy link
Author

mahmoud-bahaa commented Mar 5, 2023

I made a quick proof of concept to test things out. I was able to create a Livepeer plugin that loads a video using any playback ID.

Screenshot 2023-03-05 at 20 57 54 (3)

@hansy
Copy link
Collaborator

hansy commented Mar 8, 2023

@mahmoud-bahaa This looks great! As an update on your grant, I've been asked to tell all applicants a decision will be given at the end of the month. But please continue posting any progress you make. It will tremendously help your case for funding. Thank you so much for your patience!

@mahmoud-bahaa
Copy link
Author

mahmoud-bahaa commented Mar 13, 2023

@hansy I published the first version of the Bubble Plugin here: https://bubble.io/plugin_editor?id=1677840415216x421611770103726100 . This version allows the users to play any Livepeer on-demand asset using a VideoJS player, but it doesn't support live just yet. The plugin exposes a few playback events and states that users can integrate into their apps. I published the code plugin here: https://github.com/mahmoud-bahaa/Livepeer-Bubble-Plugin but I'm keeping it private for now until the full project is ready.
There is a lot left to be done on the plugin, but I'll hold off for now because I think the plugin features should be aligned with Livepeer and its community.

Building with the plugin
Screenshot 2023-03-13 at 22 36 42

The result
Screenshot 2023-03-13 at 14 11 21

@AuthorityNull
Copy link

Really great idea!

@Titan-Node
Copy link

This needs to be funded! Lets generate more demand in No Code platforms

@hansy
Copy link
Collaborator

hansy commented Mar 29, 2023

@mahmoud-bahaa Can you DM me on Discord (hansy#9576)? Let's set up a call to chat. We are interested in this project, I just have a few clarifying questions.

@mahmoud-bahaa
Copy link
Author

@hansy here's my discord username: mamood#9776. DM me and I will send you my calendar.

@mahmoud-bahaa
Copy link
Author

@hansy here's my proposal for the scope:

Milestone 1 (Video player)

  • VideoJS-based player that plays VOD assets using asset IDs.
  • HLS player for live assets.

Milestone 2 (Upload VOD assets)

  • Settings page to configure the API key and any other relevant settings.
  • Uploading and transcoding video assets.

Milestone 3 (Demo app)

  • A demo video demonstrating that the plugin is the easiest way to build a video app that includes storage, transcoding, delivery, and playback.
  • A sample app that includes 1/ playing VOD and live videos, 2/ uploading a VOD asset to Livepeer.

@hansy
Copy link
Collaborator

hansy commented Apr 10, 2023

Thanks for the updated proposal with milestones. This looks to me; I'll present your proposal to the rest of our committee. We'll sync back with you next week (this week we have some folk in Tokyo for an Eth event).

@hansy
Copy link
Collaborator

hansy commented Apr 21, 2023

Hey @mahmoud-bahaa, I haven't forgotten about this proposal. The team hasn't been able to sync properly, so apologies on the delay. As soon as I get a decision, I'll ping you immediately. Thank you for your patience!

@hansy
Copy link
Collaborator

hansy commented Apr 26, 2023

@mahmoud-bahaa Apologies for the delay! Our team has come to a decision, and we'd like to fund this grant! Here are the milestones you proposed:

Milestone 1 (Video player)

    VideoJS-based player that plays VOD assets using asset IDs.
    HLS player for live assets.

Milestone 2 (Upload VOD assets)

    Settings page to configure the API key and any other relevant settings.
    Uploading and transcoding video assets.

Milestone 3 (Demo app)

    A demo video demonstrating that the plugin is the easiest way to build a video app that includes storage, transcoding, delivery, and playback.
    A sample app that includes 1/ playing VOD and live videos, 2/ uploading a VOD asset to Livepeer.

You have up to a month to complete each milestone. For each, we're offering $3k upon completion and review of the deliverable. Additionally, we'd like to offer a $3k success bonus upon reaching 100 external applications that use the plugin. There's no explicit timeline on the success bonus.

So in review:

Milestone 1 - Video player
Timeline: 1 month
Amount: $3k

Milestone 2 - Uploader
Timeline: 1 month
Amount: $3k

Milestone 3 - Sample application
Timeline: 1 month
Amount: $3k

Success Bonus - 100 applications to install/use plugin
Timeline: N/A
Amount: $3k

Total: $9k base + $3k success bonus = $12k

If this looks OK to you, please send me your arbitrum-compatible wallet address. We'll send an upfront payment of $1800 (20% of base) worth of LPT to it. Once the transaction has been confirmed, we can officially kick off the grant and I'll send dates for each milestone completion!

Let me know if you have any questions!

@mahmoud-bahaa
Copy link
Author

Hi @hansy, thanks for accepting the grant. I'm happy to proceed but would like to officially start on May 7th as I'm currently out of town. If that's fine by you, please send the money to mamood.eth. Who'd be the point of contact in case I have any questions or help from the LP team?

@hansy
Copy link
Collaborator

hansy commented Apr 28, 2023

May 7th is no problem! So your milestones will be due:

Milestone 1: June 7
Milestone 2: July 7
Milestone 3: Aug 7

For any technical questions, please feel free to post in the #developer-help channel in Discord. I'm also happy to assist you for any technical questions or any other questions your might have. Feel free to ping me here or on Discord.

@hansy
Copy link
Collaborator

hansy commented May 3, 2023

@mahmoud-bahaa
Copy link
Author

Thanks @hansy , yes I can confirm that I received the money

@mahmoud-bahaa
Copy link
Author

I finished the first milestone of the plugin (version 1.3.1) which plays on-demand and live HLS videos. Please have a look and let me know if you have any questions or comments.

@hansy
Copy link
Collaborator

hansy commented May 30, 2023

This looks awesome. Do you have an example, kitchen-sink app to play with?

@mahmoud-bahaa
Copy link
Author

Hi @hansy , check this sample app: https://livepeerpluginapp.joincluster.com/ - you can enter the Playback URL (from Livepeer studio) of any asset or stream.

@hansy
Copy link
Collaborator

hansy commented Jun 2, 2023

Great this works! Quick question: how do I see the code on Bubble? Every time I click on "See code ->" in the change log, it takes me to the General Settings page.

@mahmoud-bahaa
Copy link
Author

On the left-hand side click on "Elements", then scroll down and you'll find the code.

@hansy
Copy link
Collaborator

hansy commented Jun 2, 2023

Perfect. Milestone 1 looks good. Will sign off! When transaction is confirmed, I'll post tx hash here.

@mahmoud-bahaa
Copy link
Author

mahmoud-bahaa commented Jun 3, 2023

Thanks @hansy, I'm glad you like it. Let me know when the TX is ready.

@hansy
Copy link
Collaborator

hansy commented Jun 6, 2023

@mahmoud-bahaa
Copy link
Author

Thanks @hansy, I see the amount transferred is equivalent to $1k at the time of the transfer. I was under the impression it'll be $1.5k. Did I get it right?

@hansy
Copy link
Collaborator

hansy commented Jun 6, 2023

Milestone 1 was for $1200. The total value of that milestone is $3000, of which $1800 was already paid up front. We use a 30-day, time-weighted average of the LPT price from the time of transaction queue when paying out milestones.

@mahmoud-bahaa
Copy link
Author

mahmoud-bahaa commented Jun 7, 2023

Maybe I'm misunderstanding, but the upfront payment was $1500 not $1800, or perhaps the time-weighted average of the LPT token was higher than the time of the transaction?

@hansy
Copy link
Collaborator

hansy commented Jun 9, 2023

The upfront was $1800, and yes we always use an average for all our payments. This helps smooth a bit of the price volatility, but yeah unfortunately, this means the transaction amount might be higher or lower than the intended target.

Moving forward, I'm happy to also post the LPT price used to calculate the tx for your records.

@mahmoud-bahaa
Copy link
Author

Got it, no worries, thanks for explaining.

@hansy
Copy link
Collaborator

hansy commented Jun 30, 2023

@mahmoud-bahaa Here's the tx receipt for completion of Milestone 2: https://arbiscan.io/tx/0xf43a595e5e32de79e91939f9bac34c51115ca9e861fb69d160a8684930c171a7

@mahmoud-bahaa
Copy link
Author

mahmoud-bahaa commented Jul 30, 2023

@hansy I'm happy to announce the third milestone of the grant. I uploaded a video tutorial for the plugin here: https://youtu.be/Kk9iBXMYnNU. I want to retain this sample app's access to Livepeer but will need an API key that does not bill me.

I'll continue to take bug reports and feature requests until it reaches a point where I need extra help.

@hansy
Copy link
Collaborator

hansy commented Aug 2, 2023

Awesome! Will review shortly and get back to you asap!

@hansy
Copy link
Collaborator

hansy commented Aug 2, 2023

@mahmoud-bahaa This looks great! A few documentation-related things:

  • Can you link your video and the Github repo from the Bubble plugin page? I assume most people will discover the plugin through Bubble's marketplace; would be great if they can find the video and repo.
  • Can you add some more documentation on the plugin about what you can do with the plugin (VOD, start a livestream, etc) along with instructions on how to navigate Livepeer Studio to retrieve asset ID, RTMP URL, etc?
  • The functions and features you highlighted in the idea are awesome! Can you briefly document those (in words) on the plugin page as well (and/or in the Github repo)?
  • Can you add chapters to the YouTube video to segment the video into sections for easier navigation?
  • I see the milestone addresses playing live videos; did you mention that somewhere in the video?

I think some basic, written documentation will go a long way for prospective devs who want to skim the functionality of the plugin before diving deeper.

Regarding the Sample App, if I remember correctly, Bubble prevented a way for users to input their own API key in the frontend (via a text input) that could then be used to make subsequent API calls from their account, right? If the Livepeer account you set up is used purely for the Sample App; I'm sure we can flag so as not to bill you. We'll monitor it, and if it gets abused, then we might do something about it then.

@mahmoud-bahaa
Copy link
Author

Thanks @hansy, great call. I'll add some documentation and link the relevant links to the plugin page. I'll also add the YT segments. I haven't mentioned live playback in the video because I didn't want to make the video even longer. I can try add it to the video if you prefer.

You're correct about Bubble. The account I was using was my personal one, but I can create a separate account and share it with you so that it doesn't get abused. Are you ok with that?

@mahmoud-bahaa
Copy link
Author

mahmoud-bahaa commented Aug 7, 2023

I have created a documentation page for the plugin here, which I linked to the plugin page. I also created a new API key and published the demo app as you suggested.

I updated the video to include live playback and link it with the LP studio broadcast. Also added chapters.
Here's the new video: https://youtu.be/Kk9iBXMYnNU

@hansy
Copy link
Collaborator

hansy commented Aug 9, 2023

Awesome awesome! The documentation looks fantastic! Happy to release the milestone payment. Will ping you when the tx is confirmed.

@mahmoud-bahaa
Copy link
Author

Thanks @hansy, feel free to ping me if there is any feedback or issues/questions about the plugin.

@hansy
Copy link
Collaborator

hansy commented Aug 10, 2023

@mahmoud-bahaa
Copy link
Author

Thanks @hansy, pleasure working with you! Let me know if there's any feedback or features you want added.

@github-actions
Copy link

This issue has been marked as stale with no activity. It will close in 7 days.

@github-actions github-actions bot added the stale label Sep 18, 2023
@github-actions
Copy link

This issue has been automatically closed.

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

No branches or pull requests

4 participants