GithubHelp home page GithubHelp logo

jamiewohletz / katana Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 1.18 MB

Web app for slicing YouTube videos into repeating segments.

Home Page: http://katana.red

License: MIT License

JavaScript 69.50% HTML 18.16% CSS 12.34%

katana's People

Contributors

ember-tomster avatar jamiewohletz avatar

Watchers

 avatar

katana's Issues

Feature: Slicing

Should be able to click a button to start "slicing" and click it again to stop. "Slicing" is basically the same as recording; the purpose is to create a segment of the video that can be looped and played separately. An infinite number of slices (segments) can be created for a given video, and they may overlap. Ideally, the interface should indicate this overlapping in some way. I suggest displaying each slice in a new row and having their placement and widths correspond to their start and end times.

Bug: Saving is quirky

Sometimes, the project just keeps trying to save. You can see this evidenced by the "saving..." and "saved!" text at the top.

Bug: Project list doesn't udpate

When you enter a new URL and a project is created, the project list should reflect that a new project has been created and saved.

Rewrite in React

The app needs a major rework. Desired features:

  1. Mobile-friendly
  2. Better UX (need usability testing)
  3. Metronome

I would like to move away from Ember and start over again in React.

Feature (usability): Make slices interactive

The current interface makes modifying existing slices a little tricky. A better interface is for slices to

  1. Be draggable -- The user must be able to click and drag a slice back and forth.
  2. Be editable -- Every slice must have a vertical bar visible on both sides. The user must be able to click and drag these bars to adjust the slice size.

Tests!

Now that we've got all the functionality we desire, we seriously, SERIOUSLY need some tests, so we can refactor and make the app better as a whole and also not have to worry about breaking everything when we add/change a feature.

Feature: Projects in LocalStorage

When the user enters a YouTube video URL into the app, the app must create a "project" object identified by the video ID and save it into LocalStorage. These projects must be displayed and updated instantly in a vertical bar to the side of the main player.

The most recent project, if it exists, must be loaded into the player when the player first loads.

Lastly, if a user enters a video URL containing a video ID existing in the known projects, the corresponding project must be loaded up rather than creating a new project.

This feature allows users to slice up multiple videos and refer to them later without having to have an account. In fact, the only downsides of this approach are

a) Projects cannot be accessed on different devices
b) Clearing the cache will destroy all projects

For now, these are acceptable downsides, because a full-fledged account system seems like overkill.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.