Skip to content

Instantly share code, notes, and snippets.

@shader
Created July 28, 2014 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save shader/4bcad3152e70dd43f46d to your computer and use it in GitHub Desktop.
Save shader/4bcad3152e70dd43f46d to your computer and use it in GitHub Desktop.

[3/6] Major UI

  • Use urls for filtering so that browser history works
  • Application selector checkboxes instead of dropdown
  • Video thumbnails in tool block
    • Display thumbnail for user videos, instead of just names
    • Add 'request video' thumbnail for users without videos
  • Add instrumentation
    • Get list of actions to instrument
  • Integrate ratings

[1/1] Other Major items

  • Recommendations
    • Service for api
    • Set up recommendation service
    • Cron job for recommendations
    • Set up pre/post process hooks
    • Pre-hook for translating to recommendation schema No longer necessary; we're currently reporting usage events in a compatible format
    • Post-hook for translating from recommendation schema
    • Add eve endpoint for retrieving usertools
    • Use recommendation results on client

[15/15] Minor UI

  • Add application name with icon under tool name
  • "Sort by" in the upper right
  • "Has video" and "I haven't used" checkbox filters in "Show tools that…" section
  • Add mouse/keyboard icons to video thumbnails
  • Add mouse/keyboard tool filter checkboxes - unchecked includes everything
  • Display usage metadata
  • Remove "has video" badge
  • Change color of "unused" badge to light blue
  • Make entire application checkbox and label clickable
  • Rectangle stack for multiple videos
  • Add random option for sorting
  • Move user/tool filter blocks to bottom of filter section
  • Move ordering into dropdown + button for asc/desc/shuffle
  • Switch 'no video' image for 'Ask for video' text
  • Re-label user/tool filters to be more clear about what they do

[6/8] Eve based API (v2.0)

  • Clips
  • Ratings
  • Images
  • Usages
  • Access control for clips and images
  • Upgrade angular client to support new api
    • [14/14] Update Controllers
      • NavCtrl
      • UserListCtrl
      • MainCtrl
      • FilterCtrl
      • OrderCtrl
      • ToolListCtrl
      • ToolBlockCtrl
      • UserFilterCtrl
      • ToolFilterCtrl
      • DropdownCtrl
      • StatusCtrl
      • RequestCtrl
      • ShareDropDownCtrl
      • ShareCtrl
    • Fix video player
      • Base64 image loading
      • Load local videos
      • Load Remote videos
      • Thumbnails
      • Rework main.video route
      • Figure out how to do keyboard overlay for hub videos
  • Logging endpoint
  • Update documentation

[1/4] Other

  • Batch notification emails every day at 12:30pm
  • Add trust support
    • Sort videos with rating first, "trust" second
    • Sort non-video users by trust
  • Store webserver logs in mongo Ran into some issues with mongo logging. It seems to have some issues with certain message contents
  • Setup ReadTheDocs Gave up. Doesn't seem worth it, plus it's just not easy

[0/5] UI Wishlist

  • Improve video download/playback performance
  • Add community knowledge support (wiki, comments, upvote comments)
  • Zooming in on event frame for thumbnail
  • Tool details page w/ permalink (?)

Bugs

  • Filters are not properly updating url
  • Ordering is not properly updating url
  • Sometimes loading the additional clips in a user's clipset doesn't work on the first try
  • Sometimes api service creates additional processes that aren't properly killed. Maybe switch from killproc -p pidfile to pkill socaster-api

Performance

  • Switch back to file urls instead of using base64?
  • Instead of preloading entire video, load images asynchronously (possibly w/ loading bar)
  • Switch back to using pagination, and do initial sorting on the mongo side This may only help in the 'short run', since the tools would have to be loaded again every time the ordering changed. Still, with lots of tools/usages it might be better than dumping the the entire database into the client… Alternatively, have separate collections that are sorted in different ways, and switch between them when switching ordering. That way re-fetching isn't required when switching. That may not be necessary, since restangular is set to cache these requests anyway.
@kjlubick
Copy link

Use urls for filtering so that browser history works

As of this commit, this works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment