iScroll, a small moan

It seems there’s some misunderstanding about how iScroll works and I feel I failed at explaining it. I hope this post can make things clearer.

IScroll is an open source, free software released under the MIT license and contributors are required to sign a CLA to participate in the development. This blabbing basically means that you are free to use my code in any way you want, for commercial or free software, for closed or open source code. Nobody will ever come after you asking for money or your first born.

This also means that the software comes AS IS with no warranty. It’s something I do for myself and –out of my good heart– release to the public, but (let me stress the obvious) I owe you nothing.

Why the harsh? I periodically get insulted (literally) for: not providing free prompt support, not sticking to some High Open Source Code of Conduct, using weird naming convention, using weird coding style, not providing extensive documentation, not committing pull requests in a timely manner.

Maybe people relate open source to Linux and Firefox and they think that I get paid for developing the iScroll. I know that iScroll is used by Nike, Bose, Apple, Playboy, Microsoft, Ikea… but let me make this clear. I get nothing back. Every new feature and every bug fix are hours that I remove from staying with my wife, from sleep, from my spare time or from work.

Multiply this by each open source project that I have (because iScroll is just the tip of the iceberg) and you get a pretty clear vision of why I can’t reply to each and every support request.

Contributing and testing

Fortunately many have participated to iScroll development. Without them iScroll would be such a lame script.

I am in no way attached to any part of the code, I accept any suggestion regarding not only the functionality but also the coding style. Whining about the name of a variable is not making the iScroll any better. Open an issue on the bug tracker or send a message to the Google group, I might not be very chatty but I read all of them. Promise.

I am very humble about coding, I’m not a coder, I’m just a developer. I do not have an engineering background, I did art school for god sake. So what? Am I not allowed to write code?

“I sent a pull request 3 months ago and it has not been committed yet”.

Testing the iScroll is one of the most time consuming tasks of the project. iScroll works from desktop to smartphone, from tablets to smart TVs. Often a small change in the code makes more damage than it solves. I do not have physical access to all the testing devices, so before I can push a change I have to make sure that the new code is not actually breaking something.

“Why don’t you use automated testing?”.

Unfortunately the most important tests that have to be done require physically touching the screen. I’ve not been able to find a solution to effectively test the code without a real device on hand.

Sponsorship

Sometimes companies contact me requesting a new feature. If that feature is already in my to-do or if it is very general purpose I demand the code to be released in the main repository. Basically the company sponsors the project.

Never happened. Apparently that’s too much to ask.

I’m setting up a landing page for iScroll, if you want to sponsor the project (I hate the “donate” thing), I’ll put your name/logo in the supporters’ section and of course you’ll get regular invoice for that.

Performance

I often receive compliments about iScroll performance especially on Android. I subsequently get asked how I’ve been able to reach that kind of smoothness and my reply is never liked.

I try to over optimize the code for speed (at least in the critical spots). I use a –messy– build system that selectively replaces bits of code. I do not use external libraries. I do not use standard coding style. I do everything it takes to spare CPU cycles. I’m sorry if you don’t like my answer, but this is what it takes.

We are not to the point where you can throw your code to the browser and forget about optimization. You can (almost) do that on desktop but not yet on mobile (or TVs).

Plans for the future

I’m working on documentation! It is coming early next year. I’m sorry this is taking so long but either I fix bugs or write documentation. Actually this post should have been the introduction of the docs but it ended up being too long and boring and made a blog post out of it instead.

So, fear not. Documentation is coming real soon. Thanks for waiting so long.

Infinite scrolling is also coming to a small screen near you! It is coming out really well and it is good not only for “infinite” scrolling but also to manage very long lists with small impact on the device memory.

The bottom line

Don’t be a dick. I’m open to discussion, attacking me doesn’t help your point.

I do my best to reply to support requests, but I simply don’t have time. Unfortunately there’s a thing called life that tends to fuck with the things you like doing most.

Consider that every $150 donated I can take an hour from work and dedicate it to iScroll. Just saying.




Bitcoin wallet: 1T6W3916Hfozna2XAdAzUfcjzEoRk1EiP

btwallet

14 thoughts on “iScroll, a small moan”

  1. Dear Matteo,

    trying to develop some prototype website for mobile devices i found your iScroll and working on integrating this as a feature of the user navigation. Now i found this post of yours and i am sorry to see that some discussions, questions and reactions obviously causing you to write this. From the beginning of using your Framework it has been clear to me that this is something you made with a lot, lot of effort and you gave it to the community for free. So no one should expect a supporting infrastructure and issue response behaviour in the same way when buying a peace of software. So, please keep your tail up, this is a great peace of software and i am very thankful for this. Happy new year and best regards,
    Ingo

  2. Hi Matteo,

    Unfortunately many people just don’t imagine how many hours a developer can spend doing what you do. For one people not satisfied, there are certainly many more you helped A LOT making public your globally excellent work.
    Yhank you again for sharing and even if you hate “dontae” hope my small contribution will keep you confident that you work is appreciated. Happy new 2014 year !

  3. Matteo, you are absolutely amazing and this is extremely saddening to see that this is happening to you, to the point that you had to write this post. I know for my part I’ve used iScroll many times and without it projects wouldn’t have been the same. You deserve so much for this script yet I know you get nothing in return.

    Thank you for all you’ve done and all you’ve brought to the open source community. Years ago you opened my eyes to what can be accomplished with JavaScript and how many people you can help with an open source project like this.

    Please keep your spirits up, because for each one of those people who think you owe them, there are dozens who think you’re absolutely extraordinary.

    Thanks for all you’ve done!

  4. I’ve used iScroll a few times, and on one project in particular it really saved a lot of time and effort.

    So count me amongst the lovers!

    Having done open source code in the past, I have a little understanding of what you go through. Just wanted you to know that your hard work is very much appreciated.

  5. Hi Matteo,

    You site is in my bookmarks, why:

    I find your code (not just iScroll), very inspiring, and it is very very rare you find open source code in your high standard 😉

    I check you site regularly, and are always happy to see whatever you have published.

    Don’t be upset by the noob questions and comments, they have a bigger hart than brain 😉

    I prefer you code for the documentation.

    Kind regards and happy new year
    Peder

  6. I’m one to say that I do like your style of coding. It gets the job done. There’s actually even some aspects of your code that helped me understand event handling in Javascript back in 2012. We’re all in this together and we’re always learning from each other. No one knows it all. The coding standards police need to chill out.

  7. Dear Matteo,

    i “sponsored” the development of iScroll some years ago when i was working for a large company. Your code was just fine for the first days of the iPad. And your the sollution we developed was just years in front of eberything. And i still use the patched script based on iScroll 3 (i think) sometimes. But i am also “proud” that most requests i/we made entered in the normal version. And i really think that you are doing the development right. Now i use the actual version on iScroll within .epubs and it works not fine but good. I hope that more people/companies do the same like we did years ago. Not only the big ones could consider to pay some money to support the development. I think you did it right and every webdeveloper using this script for a commercial client should think about supporting the project. Especially if you need a “patched” version and the work could be included in the open version.

    Regards,

    Ralph

    1. thanks for your feedback, Ralph. I’m currently working on the next version of iScroll. I will probably think of a way to monetize it, being it donations or paid license for commercial applications I still don’t know.

Leave a Reply

Your email address will not be published. Required fields are marked *