This is a project that I was thinking about long ago, but only now I had the time to really start working on it.
So here it is, Mojo scrollbars patch. Only Mojo 1 for now. The Mojo 2 version will be added later and would probably be a bit different as it seems that the scrollbars initialization prevents the scroller load in some Mojo 2 apps, so I'm still working on it.
Since this is a project for the phone version of webOS, I'll start working on Enyo scrollbars after I'll finish with Mojo 2. Do not port the Mojo patch over to the TouchPad because it has some phone specific visual optimizations. I'll start porting the patches over to the TouchPad and webOS 2.1.x as soon as they all work fine on 2.2.x.

All the versions, from 1.4.5 to 2.2.x are in the zip file. Extract and install the suitable version for your phone.
Note that this is an ongoing project, so probably there are bugs. Install and use at your own risk.

One last request before you download and install: please leave your feedback.

Version History:
0.4.7-37: Fixed a terrible bug for webOS < 2.2 that was causing Mojo load to fail and also fixed a small cosmetic bug.
0.4.7-33: Rewrite of the Mojo code core and a bunch of bug fixes and optimizations.
0.4.4-73: Another rewrite of the Mojo and Mojo 2 code. More precise bounds recognition engine and much faster code, along with some major bug fixes and cosmetic improvements. NOTE: Conflicts with the last version of Mojo Flick Regulator on webOS 2.0+.
0.3.5-43: Complete rewrite of the Mojo 1 code. New bounds recognition engine, a bunch of optimizations, and basic full Mojo 2 support. 1.4.5 version has been added too.
0.1.7-51: Some improvements to the UI elements recognition. A Veer version has been added too.
0.1.1-03: Patches Mojo 2 apps too, but there are no scrollbars in Email, Photos, Contacts, Accounts and Exhibition apps. 2.1 version attached too.
0.0.6-11: Final Mojo 1 version: 2 major bug fixes in the element bounds recognition mechanism, performance and UI improvements.
0.0.4-63: Fixes some bugs and excludes menus and picker popups.
0.0.3-17: More bug fixes and UI improvements.
0.0.2-45: Some bug fixes and UI improvements.
0.0.1-32: Initial release.

0.0.2 is out, with UI improvements and some really nasty calculations and UI bug fixes.
Still trying to get the Mojo2 version to work properly, but it seems that some certain apps (like email, contact, music and more) manipulate the scroller widget in a way that conflicts with my scrollbars injection to the document body. Any help with that would be much appreciated.
Next thing is to complete the UI adjustments (better element position recognition, menus and dashboard exludes, etc.) for Mojo and then start to work on a fix for Mojo2.

Quote:

Originally Posted by p41m3r

System-wide is great.

A few questions:

this is for webOS 1.x, right?
and would the iOS-like browser scrollbars require removal once the 2.2.x project is ready?
any screenshots?

Thx!

No, it's for 2.2.x.
The number 1 refers to the application framework version, not to the system version. Except the webOS 2.x system apps, I don't know of any app that is written in Mojo 2, so this patch works on every Mojo app except for some of the apps that comes pre-installed with the system.
This patch won't conflict with any other scrollbars patch that you already have installed, but unless you like to see a doubled scrollbar I suggest you remove the browser scrollbar patch as soon as this patch is fully compatible with Mojo 2 (which the browser is written in).

Quote:

Originally Posted by gerzhwin

Great project! Just tell me if you need someone for testing …

I need as much testers as possible, so everybody is welcome to download and test it

Quick update: I managed to "cure" the Mojo 2 problem for most apps. Still not working: Accounts, Photos, Exhibition. I hope I'll find the real problem and make it work so we could have both Mojo and Mojo 2 scrollbars and I could develop them both simultaneously.

I don't have time to try this out right now, but would like a bit more info. Are these scroll position indicators or scroll bars you can actually grab and drag?

These are just indicators, as in every other mobile OS (I know that iOS has the alphabetic scrollbar and that TouchWiz on Android has a real scrollbar in some apps, but since they're not in use system-wide I don't consider them as OS real scrollbars).
Also, I think that implementing a real scrollbar in JS would be a stupid thing to do. The needed calculations will just slow down the scrolling.

These are just indicators, as in every other mobile OS (I know that iOS has the alphabetic scrollbar and that TouchWiz on Android has a real scrollbar in some apps, but since they're not in use system-wide I don't consider them as OS real scrollbars).
Also, I think that implementing a real scrollbar in JS would be a stupid thing to do. The needed calculations will just slow down the scrolling.

Hello,

Thanks for this patch. I installed it on my Pre3 and checked out three apps
1 - Dr Podder. Works great
2 - Offline Browser - Works great.
3 - Wifi Preferences. The scroll bar does not go away. The scene is very short and iis around only have the length of the phone and the scrollbar is permanent.

But I dont care about (3). This patch is a welcome and wonderful addition to webOS. Mojo apps suddenly have become more reasonable to use. Thanks again!

These are just indicators, as in every other mobile OS (I know that iOS has the alphabetic scrollbar and that TouchWiz on Android has a real scrollbar in some apps, but since they're not in use system-wide I don't consider them as OS real scrollbars).
Also, I think that implementing a real scrollbar in JS would be a stupid thing to do. The needed calculations will just slow down the scrolling.

The calculations aren't any more complicated than the ones positioning the indicator, just reversed. If javascript can't handle it, then it is a pretty poor language choice for a UI implementation.

Keep up the good work. I wish it worked in the email app. Other than that played around with it. It's maybe 50% success rate. I like it in Internalz Pro and Preware for sure
I guess it really depends on the layout of the application.

The calculations aren't any more complicated than the ones positioning the indicator, just reversed. If javascript can't handle it, then it is a pretty poor language choice for a UI implementation.

They are not complicated, there is just need for too many of them, which will eventually affect the scrolling smoothness in a way that the user wouldn't like
And yes, I agree: implementing the scrolling in JS is a really bad choice (especially with the outdated V8 in webOS).

They are not complicated, there is just need for too many of them, which will eventually affect the scrolling smoothness in a way that the user wouldn't like
And yes, I agree: implementing the scrolling in JS is a really bad choice (especially with the outdated V8 in webOS).

That's funny you say that, because the JS scrolling in Mojo far outperforms the native CSS scrolling in Enyo - and out of all the other mobile WebKits, it looks like only RIM's is able to handle it on a level even remotely close to as good as the webOS devices.

They are not complicated, there is just need for too many of them, which will eventually affect the scrolling smoothness in a way that the user wouldn't like
And yes, I agree: implementing the scrolling in JS is a really bad choice (especially with the outdated V8 in webOS).

My post wasn't quite clear. I meant that if it can't handle scrolling, js is a poor choice for the UI of the OS as a whole. On the whole it does a pretty decent job. It just takes faster hardware compared to other platforms to get a good experience.

(laughs to self about launcher being rewritten in C starting with 2.x)

0.0.3 is here with some more bug fixes and UI improvements.
Known issues:
- When there is a scroller inside another scroller, the bounds recognition is very buggy (I noticed that only in the "description" scene in Auction Mate, but it's still a bug that has to be fixed somehow).
- The bottom bound recognition isn't perfect yet, which affect the scrollbar size when the scroller is in over flow from the top margin.

Next things to do are to exclude menus, fix known bugs and tweak the UI a bit more. I'm still trying to get Mojo 2 to work properly and I would appreciate any help with that.
That's all for now. Download, install and report back.

0.0.3 is here with some more bug fixes and UI improvements.
Known issues:
- When there is a scroller inside another scroller, the bounds recognition is very buggy (I noticed that only in the "description" scene in Auction Mate, but it's still a bug that has to be fixed somehow).
- The bottom bound recognition isn't perfect yet, which affect the scrollbar size when the scroller is in over flow from the top margin.

Next things to do are to exclude menus, fix known bugs and tweak the UI a bit more. I'm still trying to get Mojo 2 to work properly and I would appreciate any help with that.
That's all for now. Download, install and report back.

Hi, thanks for the update. Just did a quick check. The scrollbars is always stuck at the top and does not move when you scroll. But the scrollbars work fine in drpodder and in offlinebrowser. There does not seem to be a scrollbar in wifi preferences; but this is probably the correct behaviour since the length of the scene is not longer than the screen.

Hi, thanks for the update. Just did a quick check. The scrollbars is always stuck at the top and does not move when you scroll. But the scrollbars work fine in drpodder and in offlinebrowser. There does not seem to be a scrollbar in wifi preferences; but this is probably the correct behaviour since the length of the scene is not longer than the screen.

Thanks for the report. Version 0.0.4 fixes the bug you mentioned and some other bugs. It also excludes menus and picker popups from the scrollbars animation. With this version I think that we're practically done with Mojo 1 scrollbars. I just need as much testers as possible to confirm.
Download it, install and report back.

0.0.6 is here with 2 major bug fixes in the element bounds recognition that prevented the scrolling animation in some apps. It also brings some performance and UI improvements, so update immediately if you have any older version installed.
I think that this version can be considered as the final Mojo 1 release. It still needs some code cleaning and some more small tweaks, but I think that it's ready for daily use. I just need testers to confirm.
I also need some help with Mojo 2. The problem is that when trying to apply my scrollbars initialization code in the Email, Contacts, Accounts, Photos and Exhibition apps, I get the "[object HTMLBodyElement] has no method 'insert'" error. Any help with that would be much appreciated.
Download, install and report back. I need as much feedback as possible.