I think this is not the way to express yourself about others people work and effort. It only shows the kind of miserable prig creature you are. And yes, Richfaces has bugs and problems. I suppose your brilliant self-made components are awsome and just perfect (That is really laughable). Go on, don't waste any more time of your precious, magnificent life. Do it all yourself. It would be perfect for everyone.
You've missed the point. Of course my software has bugs (from subtle ones to stupid ones), but all the major use cases and functionality has test cases so I can catch most failures most of the time (assuming my code is appropriately covered).
I had a quick look at Ice Faces. This toolkit has the concept of a rowselectionlistener on a table (i.e. there is a rowselectionlistener tag and Java object for it). So, by design that functionality is present on the table and (hopefully) has tests written against it. RichFaces, on the other hand, does not have the concept of row selection on a table. You can supposedly get there by jumping through suggested hoops, none of which works. Had RichFaces designed row selection on the table, tests would have caught it not working and you wouldn't be in the embarassing situation of having a broken demo (which, according to the forum was drawn to RichFaces' attention over a year ago and is still not fixed).
Consider the "noDataLabel" attribute that was added to the extended table. Great idea. Erm, where is it on the scrollable table? Ooops, not there because the tables do not share the same immediate ancestory. Doh! It reinforces my belief that RichFaces has evolved through hackery rather than by design.
(BTW, I solved the row selection + sorting with the scrollable table by doing the old trick of walking the component hierarchy and fiddling with row keys. I also solved the absence of a nodatalabel on the scrollable table by wrapping the table in a custom component (NoDataAwareTable), adding it as a child, and having the nodatalabel in a facet of the custom component, with a renderer conditionally rendering based on the row count.)
Sorry, but I can't understand why RichFaces 3.3 has such a major usability problem that hasn't been caught by unit or integration testing. It's not version 0.95 after all.