To reach a wider compatibility I had to remove some options available to iDevices only. Since many of you are using iScroll in iPhone only applications I introduced a maximum performance mode that grants the highest speed squeezable out of the Apple device.
To test the difference between standard and performance mode open the online demo ( j.mp/lDBYyr ) on iPad.
You can enable this mode by passing the
useTransition:true option, but it is compatible only with a bunch of devices (modern iPhone/iPod/iPad and Playbook). Of course all this smoothness comes to a price, some iScroll features are disabled while in “performance mode” (notably scrollbar shrinking). If the device doesn’t support transitions or their support is faulty, iScroll falls back to standard mode, so you don’t have to worry about loosing wide compatibility.
As far as I know, iScroll in performance mode is the only scrollview to benefit of 100% HW accelerated animations. As always on github you can grab the latest version (the performance mode is in the
use-transition example folder).
Lastly let me share my frustration about features detection on both mobile and desktop browsers. Detecting browser features is a joke. Some features are detected but badly implemented, others are present but not detectable, others are so complicated to detect that checking the user agent becomes the lesser of two evils. Anyway iScroll is a work in progress, continuously evolving together with mobile technology, as soon as better features detection will be available I’ll try to adopt it.