Giter VIP home page Giter VIP logo

adaptive-ebook's Introduction

Hi, I'm David Harting ๐Ÿ‘‹

I am an experienced web developer working on tools for analytics engineers. I work remotely from Indiana as an engineering manager at dbt Labs.

I believe in working hard and living slow. I share life with my wife and my dog. I am fortunate enough to enjoy leisure time, which is filled with walks, wine, books, and games (I am very much into Picross right now).

At work, I am happiest working closely with product and design to navigate tradeoffs and to ship quickly. I am passionate about code review and testing.

adaptive-ebook's People

Contributors

davidharting avatar

Watchers

 avatar  avatar

adaptive-ebook's Issues

Capture response time

The response data that we send to Firebase should include how long it took the user to respond.

Questions

  1. How to define the "start" of the response time period? From the time the page is visible?

Reward user with a sticker every 5 pages

This issue includes:

  • Creating a sticker board
  • Creating some sort of sticker assets
  • Creating an animation to show that the sticker is awarded
  • Saving the sticker to the sticker board

Questions

  1. Where should the sticker board live?
  2. How much of a notion of a "user" do we have? Is it okay if the sticker board is only local to their own device?

Add support for cover images

This is already supported in the content model.

  • Show the cover on book selection
  • Show the cover of the book as the "page" of the book

Update logic for choosing prompt and correct answer for pre- and post-tests.

Update Please see my next comment that outlines a better approach for dealing with this.


For normal book reading, we decide if we are using a number or size prompt based on the "mode" (which is in turn based on the "treatment" that is set up at the beginning).

However, for pre- and post-tests there is only one prompt and correct answer per question.

So when choosing a prompt and when grading answers, the logic will need to be updated by passing in the "type" (pre-test, post-test, or regular book) so that we can update the logic.

Effected places:

  • Getting the choices
    Currently, this based on difficulty. However, for pre- and post-tests, difficulty is not relevant. So we need to detect that we are in a pre- or post-test and simply select the one difficulty level that is present.
    src/models/Question.ts#getDifficulty
  • Getting the prompt: src/models/Question.ts getPrompt
  • Grading a selection
    src/models/Question.ts#isSelectionCorrect which in turn depends on src/models/Choice.ts#isSelectionCorrect.
    For a regular book, identifying the correct answer depends on the mode. However, for pre- and post-tests, we will make the assumption that only one of the fields is specified - either the correct number stimulus or the correct size stimulus. So we will need to pass along information about the book type. If a regular book, use mode as normal. If a pre- or post-test, then ignore the mode and identify which field is not null and use that one.

To identify more places that may be effected, in VS Code do a global search for "mode" - CTRL + SHIFT + F to open up the global search on windows.

Read to Me audiobook option

Especially useful for children during "play at home" sessions. They can ask the book to read the page out loud to them.

Questions

  1. Should the option be selected at the beginning and last for the entire session?
  2. Or should each page have an "audio" symbol that can be touched to prompt the page to be read?

Use characters instead of buttons for choosing the stimuli

I think this is probably the most complicated feature in the backlog because of the hidden complexity. This will likely need broken apart into more issues:

  • Render named characters to the screen. The child should press on the character to select a stimulus rather than clicking on the stimulus itself.
  • Make a character selection screen at the beginning of the book. The child should be able to choose two characters to represent the left and right stimuli.
  • Perform text substitution on the page text. Maybe have a format where in the CMS you can use [[left]] and [[right]] and we will replace these pieces of text with the name of the character.

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.