Skip to content

About oTranscribe2

Elliot Bentley edited this page Oct 30, 2016 · 12 revisions

Update October 2016: I've abandoned this project for Project Renovation, a bottom-up attempt at achieving the same goals.

oTranscribe is used by thousands of people every day -- but the code is messy, undocumented and untested. oTranscribe2 is an attempt to rewrite the application from the ground up to enhance:

  • Stability: Well-tested code should hopefully result in fewer bugs for end users.
  • Extensibility: Well-structured and well-documented code is easier to add new features to.
  • Permanence: Both of the above will hopefully ensure that oTranscribe is able to adapt to future changes to the web platform.

I've made a start, but I need your help. Below is the current to-do list of everything I would like to re-implement into oTranscribe (and a few new features below that). If you would like to contribute, please pick one of the to-do list items below, or suggest an enhancement.

Thanks!

- Elliot Bentley

Guidelines for contributing

Please keep the following in mind if you are contributing code:

  • Write tests for any new code you add. Tests are in the test directory and use Chai for assertions. Please don't break any old tests; modify them if appropriate. Untested code, or code which breaks existing tests, will not be merged.
  • Please edit documentation (currently stored in Readme) to match any additions or changes.
  • Any additional libraries should be carefully considered before adding, as they will increase page weight.
  • Feel free to open a ticket on GitHub to discuss how any task should be approached.

Existing features to re-implement:

  • Skip backwards before resume
  • Control speed
  • Scrubbable progress bar (with file name)
  • Storage
    • Autosaving
    • History panel
    • Store history for file
    • Restore past version
  • Multiple language support
  • Help page (or maybe a link to page on github wiki)
  • "Last media" stored in transcript details
  • Speed slider styling
  • Improve performance of progress bar
  • Formatting buttons light up when over a formatted section (queryState?)
  • Browser filetype compatibility
    • check when loading in a file
    • provide message in UI
  • Export
    • Export panel UI
    • Export plain text
    • Export Markdown
    • Export to Google Drive
    • Export to OTR
  • Import OTR
  • Select media file
  • Clear media file
  • Video files (with player in corner)
  • YouTube
  • Offline access (with ServiceWorkers, maybe using jakecache)
  • Keyboard shortcuts
    • Should all work even when text editor is focused (add class 'mousetrap' to '.text-editor')
    • Esc: Play/pause
    • F1 (or Ctrl+1): Rewind
    • F2 (or Ctrl+2): Fast-forward
    • F3 (or Ctrl+3): Slow down
    • F4 (or Ctrl+4): Speed up
    • Ctrl+B: Bold
    • Ctrl+I: Italic
    • Ctrl+U: Underline
    • Ctrl+J: Insert timestamp
    • Ctrl+S: Manual backup
    • Ctrl+O: Open file list
  • Bugfix (Safari only): When removing formatting, caret jumps to end of line
  • Bugfix (Safari only): Hitting return loses texteditor focus
  • Bugfix: Can’t upload same audio file twice in a row

New features to add:

  • Cloud storage
    • Dropbox
    • Google Drive
  • Right-to-left language support
  • Soundcloud support
  • Switch (text editor) files
  • Export OTR with embedded media file
  • Foot pedal (maybe via Chrome app or by packaging an Electron desktop app with this node library)
Clone this wiki locally