Code Monkey home page Code Monkey logo

9gag-autoscroll's Introduction

I am a computer scientist / software engineer / founder, currently focused on shaping the future of web app development with ๐Ÿ https://github.com/wasp-lang/wasp ๐Ÿ .

While I am a generalist and enjoy learning new languages, currently I am having most of of the fun while coding in Haskell and Javascript.

In my free time I enjoy mechanical keyboards, bodyweight exercise and Rocket League.

9gag-autoscroll's People

Contributors

martinsos avatar

Watchers

 avatar  avatar  avatar  avatar

9gag-autoscroll's Issues

Make play/stop mechanism work properly

stop and play mechanism is not really working well!
It is hard to actually stop the viewing of current post. We should somehow be able to interrupt the viewing of the post and go on.
Right now we have to wait until 'pending' is recognized by the current post viewing mechanism, which often takes a lof of time and if users presses play in the meantime it will not behave as expected.
Idea: keep a pool of all timeouts and promises, and on stop just destroy them all and then start new scrolling.

Create a gh-pages page

By creating a gh-page, I could solve multiple problems:

  1. hosting of js code. Instead of publishing it on release branch from where it is very difficult to host it, I could have it as a file hosted on gh-page.

  2. having a nicer way to copy the bookmarklet code. In README.md I can not create an image in a link with a href that is javascript:... because github camouflages such links, but I could do it easily on gh-page I believe.

Make it work for desktop

Currently it works only for m.9gag.com.
We should make it also work for desktop, it shouldn't be too hard.

Make firefox add-on

Bookmarklet seems to be creating a lot of problems - often it just does not run on chrome/firefox on android, not sure why, probably some security measures hm.
While one idea is to investigate that closer and identify the reason, another idea is to distribute the autscroller as an firefox add-on: then there should be no problems with running it, and it is more user friendly also. It does restrict us to Firefox, but I think that is ok.

How to host the bookmarklet?

What would be ideal is to have bookmarklet just load the script from the url on which the code will be updated as needed. So when 9gag changes something and autoscroller has to be updated, we would just publish the new code to that same url and users would not have to do manually update their bookmarklet.

The problem currently is that I am not sure how to do that. I tried using github raw links, but they return wrong mime type on purpose, so you could not use them for serving stuff in production. I could maybe use github pages to serve the file?

Right now I am using rawgit.com but that is also not an option, since their production links are cached by CDN which means we can not update the code. Right now I am using their dev link so it works, but that is not to be used in production.

Some ideas right now:

  1. host it on github pages
  2. host it on own server (heroku or smt)

Add "skip" button

This button would skip the current post and start from the next one.

Skip + play/stop not working correctly

Something still seems to be wrong with my implementation.
If I skip the video which has long post after it and immediately press stop, it seems like it stopped but it will continue scrolling after few seconds. I guess that some timeout somewhere does not get canceled, probably in _viewPost method of Scroller, but I am not sure why does it happen.

Make autoscroll into a bookmarklet

Make it easy to create a bookmarklet from autoscroll, that can be used on a mobile phone.
Consider having a bookmarklet always pull the code directly from the github branch or latest release, this way user can not have outdated bookmarklet.

Make gh-page pretty

gh-page is now not nice, both design and instructions. We should improve that!

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.