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.


- 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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.