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

Implement Loom.com integration #57

Closed
abrichr opened this issue May 1, 2023 · 8 comments
Closed

Implement Loom.com integration #57

abrichr opened this issue May 1, 2023 · 8 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@abrichr
Copy link
Contributor

abrichr commented May 1, 2023

How can we make it extremely simple for people to create and share use cases?

Capture user narration via speech to text e.g. https://github.com/openai/whisper

@abrichr abrichr added tribe-hackathon help wanted Extra attention is needed labels May 1, 2023
@abrichr
Copy link
Contributor Author

abrichr commented May 9, 2023

@micol-altomare you might enjoy this one 😄

@dianzrong dianzrong self-assigned this May 10, 2023
@dianzrong
Copy link
Collaborator

dianzrong commented May 10, 2023

Solution 1: Record videos with Loom

Benefits:

  • users don't need to create an account or download anything else to create recordings
  • recordings can be easily shared using a url

Implementation:

  • starter code is given on Loom but is written in React, Typescript or JavaScript so would also need some Python backend

Limitations:

  • under the free account, guest accounts are restricted to a maximum number of 5 videos, and maximum duration of 5 minutes

@dianzrong
Copy link
Collaborator

Solution 2: using a Python library

Benefits:

  • doesn't require another language

Implementation:

  • most commonly, PyAutoGUI is used to take screenshots of the user's screen and OpenCV is used to take video from the user's camera

Limitations:

  • needs the user to run the program in the command-line
  • since PyAutoGUI is taking screenshots and it has a very slow frame rate, the video quality is very low

@dianzrong
Copy link
Collaborator

Solution 3: using Ziggeo API

Benefits:

  • has a Python SDK
  • has built-in audio transcription capabilities
  • can easily upload to youtube
  • can put our own branding on it

Implementation:

  • use their Python SDK

Limitations:

  • may not be able to control the quality of the video (if the default/WebRTC recording method is used)

@dianzrong
Copy link
Collaborator

dianzrong commented May 11, 2023

Can also use whisper in combination with the above solutions to communicate use-cases without having to demonstrate it

Benefit:

  • more accessible (for those who can't or find typing/clicking painful)
  • also more human-friendly

Limitation:

  • can be hard to line up audio and actions

@abrichr
Copy link
Contributor Author

abrichr commented May 15, 2023

Thanks for taking the initiative on this @dianzrong !

Solution 1: Record videos with Loom

I think this is preferable since Loom is the most popular and easy to use screen casting utility AFAIK. Here are some sources that might be helpful:

https://github.com/Ecno92/loom-dl
ytdl-org/youtube-dl#27957

Solution 2: using a Python library

We considered using PyAutoGUI to implement OpenAdapt, but ended up implementing it from scratch for various reasons. I think we would not want to go this route unless there is a compelling reason.

Solution 3: using Ziggeo API

This could be interesting, I haven't come across Ziggeo before. A glance at their pricing suggests they don't have a free tier however, which makes this less attractive.

Other options:

https://github.com/jonnekaunisto/simple-youtube-api

Uploading to YouTube might be the easiest to start. Eventually I think we also want to support Loom, but their docs suggest this can only be done from a web application. If that's the case then https://nicegui.io/ may also be relevant. It should be possible to interact with their HTTP API directly, e.g. using Python's requests library.

@dianzrong how comfortable are you with web development? Which approach sounds most interesting?

@dianzrong
Copy link
Collaborator

@abrichr I do not have experience with web development but would love to spend time on it. Also I feel like I might as well get started with Loom since we want it later. For now I think it would be fastest to get something working using niceGUI so I will start with that!

@abrichr
Copy link
Contributor Author

abrichr commented May 15, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants