@Lorne_Kates said:
Re-implementing browser/OS UI controls. Wow
Lotus Notes is (in)famous for doing this, and has developed a large base of users who despise it but are forced to use it by corporate policy. I should know - I'm one of them. It leads to horrible usability and user confusion.
The general mentality also leads to such ridiculousness as conversations like "We need to represent a boolean value in two ways in our user interface - one for viewing and one for editing. Here are several ways we've come up with - which should we use?" I actually participated in such a conversation here at work (I'm a developer focusing almost exclusively on UI). My answer was "um, there's already a way to do that. It's called a checkbox, and it's been UI-standard forever. Why are we even having this conversation?"
To their credit, everyone involved listened, and that's what we went with. Had we rolled our own, our users would have been confused, and usability would have been negatively affected.
And that's what infinite scrolling does. There are two solutions to large vertical amounts of data that have been UI-standard forever BECAUSE THEY WORK:
- Pagination
- Scrollbars with finite, known boundaries, which have visual indication of those boundaries.
In both cases, you are presenting the user with controlled, consumable chunks of information, with a visual indication of how much information there is in total and how much of that information you are seeing at once.
For pagination, that indicator is usually numeric, when you're given the number of pages total, a set of page numbers to click on to page around, and so forth. Since you are thinking in terms of pages, that is appropriate.
For scrollbars, that indicator is visual (as Lorne has described). That is appropriate, since scrolling is a visual thing. Noone thinks "oh, I've got 57 lines on my screen, and there are 1379 lines in total, and I'm on the 12th screenful, so therefore I'm 684/1379th of the way through the document" or "I'm seeing 2 1/7 conversations on-screen, and there are 192 conversations, and I've already read 19 conversations, so I'm 21 1/7 / 192 of the way through the thread." That's useless. Whereas a visual indicator showing the size of a screen and where you are relative to the entire document or thread gives you all of that information at a glance.
In fact, I'd say that the ideal interface for a forum conversation (or any long X) would be one that offers me a choice - paged (where I can set number of units per page) OR all-on-one-page-and-scrolled. Then, if I want to think in terms of numbers of units, I can page it, and if I don't I can scroll it.
Heck, you could even give me an OPTION to do infinite scrolling if I want it. Because that's really a form of paged interface - it serves up chunks at a time instead of the entire document at a once. So why not give me, the user a choice?
Oh, I know why: because Joel Spolsky says options are bad. Guess what: he's wrong.
Unless you can come up with a UI that pleases all of your users in every single way[1], options are good. REQUIRED options are bad. Forcing your users to make lots of choices to make your application function at all is bad. So pick defaults that produce a functional UI. But for fsck's sake, don't assume your users all think the way you do, and stop trying to roll your own controls just for the sake of forcing them to do so.
[1] If you can do that, you are $DEITY. But I'm an atheist.