reedcwilson edited this page Nov 12, 2014 · 4 revisions

Idea

Whenever I watch General Conference I always end up looking up biographies of the speakers, taking notes on my computer, performing Google searches for related topics and sometimes checking Twitter to see what people's reactions to certain messages might be all while watching the video. I always wish there was a single dashboard that could either do all of these actions for me or provide me with a platform to be able to do it myself.

This dashboard will allow users to create groups to contribute to research during a broadcast. It will use use YouTube videos which have an API for interacting with the video. This API will make it possible to synchronize links with where they are relevant during a video. By creating this framework people could collaborate as they take notes.

Videos can be embedded into the dashboard to begin a broadcast and then users will be able to add links to certain times during the video. This will also support a REST API so that other websites could get access to all of the publicly viewable links.

Features

The web app will ideally include the following features:

  • The ability to embed a YouTube video into a web page dashboard
  • A place to take and save notes regarding the video
  • The ability to share notes
  • Add links to the current broadcast
  • Have a community links section so that collaboration can happen between groups
  • The ability to make groups private so that links aren't shared with the community
  • Options to add community (outside of the current group broadcast) links into the group
  • Support live videos
  • Have a concept of trusted user which means their links are rated higher and can appear in a separate category
  • Export notes in various formats. Raw JSON or HTML

(bolded options will be created as a minimum viable product)

Architecture

broadcasts will use the MEAN framework. This includes MongoDB as its datastore, Express as an application framework, AngularJS as the front-end and Node.js as the back-end server.

As an initial viable product I will only make three web pages. The first will be a login/signup page. The second will be a launch page which will allow users to create broadcasts and open already created broadcasts. The final page will be the actual broadcast page. I want to take some cues from single-page application architecture to have all of the functionality come from the client with any supplementary information being requested from the server and returned in JSON format. Some inspiration for this is Trello and Netflix which both feel more like desktop applications and do few page requests.

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.