Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap v2 #15

Open
1 of 7 tasks
thiamsantos opened this issue Mar 10, 2017 · 6 comments
Open
1 of 7 tasks

Roadmap v2 #15

thiamsantos opened this issue Mar 10, 2017 · 6 comments

Comments

@thiamsantos
Copy link
Contributor

thiamsantos commented Mar 10, 2017

Some things to do on the next major release. The changes can be made on different branch, can be called v2 for convenience. Every suggestion needs to be approved, after that it will be included on the list below and further discussion about it should be made on its own issue.


@thiamsantos
Copy link
Contributor Author

Some other suggestions waiting for approval:

@thinker3197
Copy link
Owner

thinker3197 commented Mar 11, 2017

Roadmap -

  1. Write tests - Yes, this is a must and we'll do that. Include visual and cross-browser tests both.
  2. Simplify API - Not sure if I really understand what you mean here. Maybe we can have more discussion on this.
  3. Integrations - Use travis first. Once tests are written to a cover suitable portion of the api, add coveralls too!
  4. Git hooks - Can do that. Give the least priority to this at the moment.
  5. Add migration guide - The 2nd version will use SVG's for image rendering, so we're going to introduce a breaking change to the api. We need to add a basic migration guide for people using v1.0.x to shift to v2.0.0.

@thiamsantos
Copy link
Contributor Author

I create a issue for each feature to be added. #16 #17 #18 #19

With simplify API, I was trying to say that the methods provided by the project should be more simple. Instead of proving two methods .init() and .render() could be exposed as just one function progressively().

@thinker3197
Copy link
Owner

.init() and .render() methods both have different & defined jobs to do. The init() method is for initialisation of the initial variables, setting up event listeners. It doesn't contain any library logic. The render method is a private method to library (although I've exposed it in the public api to let people fiddle with it if they want) which adds library logic to the elements.

As for the issues, good job @thiamsantos. Priority one is to add offset option to current version and release a patch for v1.x.x which I'll complete today or tomorrow. Then we can start working on v2.0.0.

@thiamsantos
Copy link
Contributor Author

Could you show me a use case for the .render() method? I just pointing that because I can't any use case for it outside the scroll event listener since it only render the images if the image is "on the view".

@thinker3197
Copy link
Owner

Consider a case where you want to toggle the loading of some image based on another image. To handle such situations, one might want to alter the render() method and pop/push the image based on whether the other image is loaded.
Ps: It might not be the best example, but we can get a situation like that and hence having such methods (i.e. the methods which do not contain the rendering logic) can be exposed for developer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants