skf268@nyu.edu
notes.jpg

Lifesaver Notesaver

Lifesaver Notesaver

I find myself taking notes from books and youtube videos, sometimes verbatim. This was becoming annoying and so I decided to create some note taking tools to make my life simple.

I needed help in two scenarios:

  1. While reading books. I read mostly on my kindle, sometimes a hard copy. In both scenarios taking notes is tricky and I always end up loosing them. The only solution was to stay near a laptop and write them in the notes app in there (I use Bear) which was not ideal since it breaks the flow. I thought a better solution could be if I could dictate the notes on my phone and access them later on my laptop to compose them in a blog post. The problem with apps that support audio notes is that they save audio files which are difficult to work with. So I decided to make a google assistant app which would store my audio notes in textual format.
  2. While watching youtube videos. Lately I have been listening to many lectures and debates and taking notes along the way meant constantly pausing the video and typing what the speaker is saying, sometimes verbatim in order to get the quote right. This was frustrating. Since I mostly watch videos on chrome on my laptop, I decided to make a chrome extension that gives me ready access to the captions from where I can add notes on click of a button. Its a much smoother experience since I don’t have to constantly pause the video and switch applications.

Here is how the tools work.

The google assistant app

This is a really handy app to quickly add a big chunk of content, be it quotes from the book or thoughts that I might have while reading, without changing devices. And the notes are accessible via a webpage so they are readily available when I am ready to compile them.

Dictating notes has its advantages but if appropriate features are not developed it can feel like writing with a permanent marker with a clock ticking on your head. Here some useful features that I developed to make the experience more pleasant:

  • Continuing a note in multiple attempts (as shown in the video) lets you take breaks when the text is too big.
  • Ability to edit the note you just added is important as sometimes the app misunderstands certain words and you may want to redo the whole thing.
  • Canceling the note in between dictation is important, it lets you freestyle without worrying about being prepared upfront.
  • Deleting the last note is a way to undo which is crucial.
  • Listening to the note back is also an important feedback that the note was saved successfully.

Interface for storing the notes:

UI.png

The interface for storing notes is mostly linear. There are a couple of reasons for it.

  • Firstly, the primary objective of this exercise was to streamline the experience of adding a note so that I can focus on the reading. Mandating commands to add tags and other kinds of classification mechanisms, especially in voice UI was too jarring.
  • Secondly, this webpage was in no way suppose to be a final draft. Its purpose is to be a temporary place for storing notes before they can be consumed in a more comprehensive blogpost.

Having said that each note has certain identifiers like whether this note was added with the Google Assistant app or the Chrome Extension (discussed later), and also what date and time was the note added. These identifiers are enough for me to remember where the note is coming from in case of any confusion. For chrome extension the url metadata is also present making it very easy to go back to the source.

The Chrome Extension

This one is also a life saver. The chrome extension basically downloads subtitles from youtube and makes them available for easy note taking. As shown in the video, all I have to do is find the phrase that I liked, highlight and add. In order to download the subtitles, the extension basically looks for tab which is producing audio, even if that tab is not currently active.

UI2.png

If no tab has any audio playing it shows the appropriate message.

The code

The code for all of this is in these two repositories

https://github.com/kshivanku/notesGA

https://github.com/kshivanku/srtChromeExt