Code Monkey home page Code Monkey logo

likelines-player's People

Contributors

shinnonoir avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mmc-tudelft

likelines-player's Issues

Feature request: clustering likes

Trigger-happy users who click the Like button too often will get a lot of overlapping like stars, which are not very useful and also hard to differentiate. It might be a nice idea to cluster them or something :)

Visual misalignment between markers and seek bar

Environment: Firefox, latest version / IE 10

The 'Like' markers are not vertically aligned with the seek bar. They align only at the middle of the video. It looks to me like the width of the 'Like' bar is larger than the width of the seek bar.

Steps to reproduce: click the 'Like' button just after the video starts or just before the video ends.

updateHeatmap() produces a NaN when playback session contains an [x,duration] interval

The function updateHeatmap() creates an initial playback array of length d (duration) filled with zeros. This array represents how often each second is played. The bins in this array are incremented by iterating through the collection of intervals that the LikeLines server returns.

A problem arises when there is an [x, d] interval. In this particular case, updateHeatmap() tries to increment playback[d], which is undefined.

Race condition painting heat-map

Outstanding heat-map requests should be ignored when loading a new video.

Example trace:

  • Load video 1.
  • Heat-map 1 gets requested.
  • Load video 2.
  • Heat-map 2 gets requested.
  • Receive heat-map 2 and paint it.
  • Receive heat-map 1 and paint it.

A classical example that is covered by e.g. Rx combinators, so it shouldn't be too difficult to solve.

Feature request: multiple backends

Currently, the LikeLines component sends the collected feedback to a remote server. The LikeLines player can be more versatile if it would support different kinds of backends. The following two backend types should be considered as new features:

  • Null backend
  • Form backend

The null backend is useful when the collected feedback is not important, e.g., for testing purposes.

The form backend is useful when the LikeLines player is embedded in a form. Example applications include using the LikeLines player in Amazon Mechanical Turk HITs.

Cross-domain JSONP nonfunctional in IE

Cookies set by the LikeLines server are not sent by IE for subsequent requests when the server is running on a different domain than the page that embeds the LikeLines player.

The cookie is used by the LikeLines server for tracking the session across different HTTP requests. If a browser does not include this session cookie (or an incorrect one), sendInteractions requests are denied by the server.

Race condition for setting cookie for new visitor

The LikeLines player currently sends two concurrent AJAX calls to the backend server during initialization:

  • createSession
  • aggregate

The first call is to create a new session for recording interactions. The second call is needed for drawing the heat map.

A problem arises when a user has not contacted the backend server before. In this case, both calls will be without a cookie and in both cases the server will create a new user ID. Interactions sessions are tied to a user ID. If the cookie from the aggregate wins (i.e., arrives last), then subsequent calls to the server will contain a user ID that does not match the interactions session.

scaleArray() does not downscale correctly

The function LikeLines.Util.scaleArray() does not correctly downscale an array. The "smoothing" performed in this function reduces each value in the scaled array to the mean value of the original array.

Bug: heatmap is sometimes incorrectly painted black

Sometimes when the LikeLines player has been loaded, the heatmap is completely painted black.

Workaround:
Call player.updateHeatmap() again manually

Current hypothesis:
Some racing condition causing the heatmap code to be run at the wrong moment.

Keyboard seeks are incorrectly processed due to missing PAUSED events

Example scenario:

  • Load a video with 0 interactions;
  • Play the video;
  • Press END;
  • Update the heat map by reloading the video.

Expected result:

  • The updated heat map should only contain a "hot" region for the beginning of the video.

Actual result:

  • The whole heat map is considered to be "hot" (i.e., fully painted red with the default palette).

Bug location: server/LikeLines/api.py

No new session is created when a related YouTube video is selected for playback

The YouTube internal player currently shows related videos after normal playback has ended. Clicking a related video will start playback, but this event is not handled correctly: No new LikeLines session is created.

Either related videos should not be shown at all (?rel=0) or this particular event needs to be detected and handled (UNSTARTED==-1).

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.