11 ms·
Coding Horror: The End of Pagination
- duaneb 15y agoHere's another use case perspective: consider the webcomic. There's a case where you're not searching for something—that is, every single "page" is possibly valuable content—but there's still hundreds, potentially thousands of pages to display. The problem comes in when someone is looking for that one comic they saw a few years ago. Unlike xkcd, this comic hasn't implemented full-text search yet, so if they can't do a manual comparison sort, they have to go over every comic. What's a natural way to do this? Still new to web development and user interface design in general; this is probably a different problem altogether.
- uiri 15y agoI think that the solution is right there in your question — full-text search. xkcd takes this to an extreme perhaps, but even just transcribing the text in each comic ought to be enough to make it decently searchable. That and titles. I can usually get to an xkcd via the title or some words similar to the title which are usually in the comic itself. This may not work for comics which tend to be visual gags though. If it is too much of a pain to manually transcribe the text, perhaps using OCR?
- dubya 15y agoFor a lot of things, a huge spatial visual index would be more useful than the text. Microsoft had some sort of project where you could have several thousand photos onscreen at a time. An analogous case from the physical world would be searching for a particular image you remember from a thick book of artwork. I think this would be pretty easy for most people, but I don't know of a good digital version. Maybe the xkcd archives would be a good testbed.
- EvanKelly 15y agoAllowing the comics to be tagged (perhaps invisibly) by users to facilitate search could be another possible solution, that could be easier than OCR and also include non-text specifics. Usually when I remember a comic and am trying to find it, I remember one specific detail, whether it's a picture or text.
- simonbrown 15y agoOhNoRobot can search XKCD comics. http://www.ohnorobot.com/ http://www.ohnorobot.com/
- simonbrown 15y agoAnother problem with endless scrolling: It often results in very small scroll bars which can be hard to use.
- lolilives 15y agoI'm going to have to agree. Another problem with endless pagination is that it makes it difficult for me to refer to content. For example: "Look at the blue shirt on page 5" rather than "Look at the blue shirt visible after about 30 seconds of scrolling down" Also, when the page is reloaded, I have to scroll all the way down to where I was (which may take longer than I want it to because the page needs to load everything before my target).
- codinghorror 15y agowouldn't you link directly to the blue shirt item?
- dfox 15y agoMainly, it makes scrollbars completely impossible to use for actual scrolling. Try using one of these sites loading more and more content without scroll wheel or something similar.
- krallja 15y agoSometimes I think I'm the only person who doesn't see scroll bars anymore. Does your mouse not have a scroll wheel? Does your trackpad not have 2-finger scroll?
- Pewpewarrows 15y agoFor those wanting to see an interesting approach to solving this problem (not written by me): http://tumbledry.org/2011/05/12/screw_hashbangs_building http://tumbledry.org/2011/05/12/screw_hashbangs_building Associated HN discussion: http://news.ycombinator.com/item?id=2592741 http://news.ycombinator.com/item?id=2592741
- orthecreedence 15y agoNormally I shy away from "end of" or "death of" posts, but this makes sense. Pagination evolved from people having 56k modems and it taking two minutes to load a page. Add some images in, and you're going to be there a while. I really like the idea of intelligent search and only showing relevant content vs just showing everything on the page and hoping people will find it. It seems so obvious now, but the status quo is so ingrained in us. Sometimes I do want to see the 873rd image, sometimes it's just the one I'm looking for, but burried under endless pages of other images. Having some sort of search (either tagging, date, or text) can really make this process easier for users.
- ChrisLTD 15y agoI despise endless pagination. I do most of my browsing on mobile devices these days, and endless pagination can quickly overload the measly RAM constraints on my iPad and iPhone resulting in a crash.
- harisenbon 15y agoI've been wanting to play around with "scrolling pagination" as opposed to an "endless pagination." Where items are removed from the top of the list as they are added to the bottom, so you have a low-memory version of endless pagination. Curious how much havoc that would wreck on the scrollbar & swipe scrolling on mobile.
- ChrisLTD 15y agoThat's a cool idea. If I recall correctly, that's how table views work in iOS.
- threecreepio 15y agoI have a site in progress that's used an endless paging with a sliding window, so after 5 pages it'd clip the top page. It was a little irritating in that you could notice that something different was happening with the scrollbar once you hit the limit, but other than that it did work well on mobile devices. In the end we had to replace the endless bit with a big "load more" button though, for unrelated reasons.
- zackham 15y agoWhen you remove your content, measure it first and keep your new content properly offset. This way the scrollbar won't change since your new content is positioned correctly. The old content is removed from the DOM, but the space it took up is still accounted for.
- gbog 15y agoGoogle reader is doing this ok on mobile version for my Androids: they have two action links on bottom of list: "load more items" and "mark all as read", so I do load more a few times, and then mark them all as read when I feel I am loading too much the boat.
- mase 15y agoJeff mentioned this in the article, but it really forces you to rethink your footer if you put important links there.
- thrusong 15y agoThis is a problem I've noticed with Facebook's footer. On quite a few pages you just can't get to it. I thought it was an obvious problem but it doesn't seem like a lot of sites I use that implement it have put much thought into it.
- georgemcbay 15y ago"Pagination is also friction. Ever been on a forum where you wished like hell the other people responding to the thread had read all four pages of it before typing their response?" I mostly agree with wumpus here as this relates to search results, but it is interesting that forums are brought into it because forums (generally the smaller, community type forums with long-tail discussions as opposed to reddit or even HN where discussions are generally about 24 hours max and then dropped) are the one place I absolutely love pagination. The unfolding discussion of a particular thread tends to have a timeline in my brain that maps to the pagination of the thread. eg. Oh, subtopic XYZ, that first came up at about page 5... lemme jump over there and refresh my mind on how that came up. Taking away pagination in forums would be a net negative for me, much like code folding is a net negative for me (I tend to have a map of the code in my mind that is impossible to keep if the code is folded in some random configuration). Granted, this is subjective and entirely personal, so I'm not saying he's wrong (or that code folding is wrong for everyone), just that getting rid of pagination is not necessarily great for all people in all situations.
- tsewlliw 15y agoI can't agree more about code folding. The shape of the code lets me use visual patterns instead of actually thinking about the parse tree
- alextgordon 15y agoSupposedly the role of code folding is to reduce distractions. But I also find it far too distracting when the code moves around (though it's fine when it's less than a screenful). Perhaps it would work better if the code were simply hidden instead of collapsed. Then the non-folded code would remain in the same place as before, and it would be less disorienting.
- tfm 15y agoI thought I was the only one! (sob) I've tried folding, so many times, but it just seems like I'm fighting against it. I don't know that it's the shape of the code that's being hidden that spoils it, maybe I'm just a bottom-up kinda guy. Maybe there is a need for a support group here.
- taitems 15y agoOne of the things that always killed me about the Forrst experience was that sure, it had great pagination, but it was only one particular page/view. If you were navigating snaps or code posts individually you were stuck with manually clicking next and previous buttons like the good old days. It's one thing to come up with cool techniques, it's a whole new bag to apply it effectively.
- kylebragger 15y agoYeah, we admittedly don't do this very well right now.
- jedc 15y agoThe worst thing you can do if you implement infinite scroll?: Put key navigation links in your footer. Facebook does this right now and it seriously pisses me off. Though in Facebook's case they do eventually stop loading more updates so I can click on something in the footer, but other sites definitely don't. Please don't do this.
- citricsquid 15y agoA tip: hit "end" on your keyboard then "escape", it will terminate the loading of the next set of pages and allow you to access the links.
- fredwu 15y agoFYI here is a jQuery plugin for doing endless pagination: https://github.com/fredwu/jquery-endless-scroll https://github.com/fredwu/jquery-endless-scroll
- mncaudill 15y agoCoincidentally, I felt compelled to write a bunch of words about the issues with pagination just this past weekend. http://nolancaudill.com/2012/03/24/pagination/ http://nolancaudill.com/2012/03/24/pagination/
- drivebyacct2 15y agoI just love clicking on something in an infinite scroll and then getting to press "back" later and waiting for 20 pages of results to stream back in to sift through.
- mturmon 15y agoYes, in essence your location in the infinite scroll becomes a very important part of your state, but it is not treated properly on "page back". For example, in google image search, "back" returns to the head of the list, even if you were on page 20. E.g.: https://www.google.com/search?tbm=isch&hl=en&biw=973&bih=1043&q=clojure&gbv=2&oq=clojure&aq=f&aqi=g2g-S8&aql=&gs_l=img.3..0l2j0i24l8.636l1745l0l1952l7l7l0l2l2l0l65l206l5l5l0.llsin.#q=vintage&num=10&hl=en&gbv=2&tbm=isch&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=9446aba6c2a360f3&biw=836&bih=897 https://www.google.com/search?tbm=isch&hl=en&biw=973...
- EvanKelly 15y agoThis has been my main complaint with "neverending Reddit" from the Reddit Enhancement Suite. Sometimes when you click back, the "Page" of results you clicked from is omitted from the scroll. (result numbers jump from 50 -> 101 for example). What's even more frustrating than losing your place is your place not actually existing anymore when you click back. I've grown to look at the result number before I click, so that I can try and find it quicker when I return.
- kennu 15y agoI think infinite scrolling works best for uses cases where you don't typically open links after you've scrolled down. In Facebook's case, most of the interaction is ajax (Like, Commenting, etc.) so you don't lose the position. For me Facebook works pretty well. I like to keep quickly scrolling down (using trackpad inertial scrolling) until I've skimmed over everything new in the feed. Forcing me to move and pinpoint the cursor to click a "Next page" link would certainly add friction to that. Google's search results, OTOH, are a completely different use case, where you want to have full control to the paginated browsing, constantly navigating back and forth. Perhaps this involves a distinction between "lean back" and "lean forward" use cases. Leaning back, it's nice to just keep on scrolling with simple finger swipes.
- epikur 15y agoI've been using the Autopatchwork chrome extension for quite a while now. It's gotten buggier as more websites have implemented their own infinite scrolling, but like Adblock, it greatly improves web browsing.
- AznHisoka 15y agoPagination still is important from a search engine perspective. You want search engines to crawl your deep pages, and pagination is a great way of giving them that path. Relying on things like AJAX, or worse hiding all the content behind a search box.. will lead to less pages crawled.
- etcet 15y agoThis is probably the last chance I'll get to let everyone know that Hacker News has recently started to paginate comment threads (see my submission https://news.ycombinator.com/item?id=3746568 https://news.ycombinator.com/item?id=3746568, which apparently very few people saw). I definitely have an axe to grind because it breaks my code, but I really believe it's very bad for discussions. In particular the case of only a single comment and it's children appearing on the first page of comments on threads with large number of comments is the biggest problem. It leads to only one response to the article being heard and has the side effect of greatly encouraging piggy-backing on the "first post", as it were. edit: when I say 'my code' I mean my code that's forked from wvl's hckrnews.com extension and any other extension that highlights new posts since you last opened the discussion.
- bostonvaulter2 15y agoYes, I agree that having only a single parent comment is very poor UX. It is compounded that often by the time you get to the bottom of the page the "more" link is expired!
- Drbble 15y agoReddit has solved this problem.
- Evgeny 15y agoAdditionally, I have a habit of opening a browser window and all of the discussions I want to read each in its own tab. This browser window may be sitting in the background for hours if I'm busy, and by the time I get to read it, reach the end and press "More" I'm presented with "unknown or expired link" which, to me, is the culmination of disrespect for the reader.
- Strom 15y agoI get that expired link nonsense even if I immediately start reading the comments. It works only if I skip reading most of the comments.
- 15y ago
- tbsdy 15y agoIt's a great idea, and actually slashdot is already doing this on their front page. However, there are some problems: 1. If I want to find a particular item within the first "page" of results, but I've scrolled down 10 pages of results, find that item becomes pretty tricky! 2. Let's say I have a user who scrolls down 1000 pages. What does this to the browser? I'd imagine it grinds to a halt... The only solution would be to have a load page for the previous results. Here again, the issue I highlighted in point 1 becomes more emphasized. Especially if the search results change while it reloads (though you might keep the results for the user's session - but this sounds like a scaling issue).
- matthew-wegner 15y agoAutoPatchWork for Chrome automatically infinite-scrolls many sites (including Hacker News): https://chrome.google.com/webstore/detail/aeolcjbaammbkgaiagooljfdepnjmkfd https://chrome.google.com/webstore/detail/aeolcjbaammbkgaiag...
- rektide 15y agoAutoPager is on both Chrome and Firefox and bloody changed my life. Parent was TL;DR: I already knew this is bloody essential, totally the only proper way to do things, and that one cannot go back after having tried. Of course, the other major split from Atwood is that I think he's dead wrong. It's not about delivering better targetted results. That will, inevitably, fail. It's about the other part he briefly mentions- reducing irrelevant friction. The reason Google suceeded only with shorter results was because the friction of scanning through and filtering a result was so very high (taking a couple excerpts, a title, furrowing one's brow, thinking hard, and making a binary click/ don't click value-judgement guess). https://chrome.google.com/webstore/detail/mmgagnmbebdebebbcleklifnobamjonh https://chrome.google.com/webstore/detail/mmgagnmbebdebebbcl... https://addons.mozilla.org/en-US/firefox/addon/autopager/ https://addons.mozilla.org/en-US/firefox/addon/autopager/
- Shorel 15y agoI have it installed for Opera. It's great.
- funkah 15y agoPretty cool until you click a link in the list, go back, and make a sad face when you realize the list has reverted to the first 20 items or whatever. Then you have to scroll, wait, scroll, wait, scroll to get back to where you were.
- JamesLeonis 15y agoTumblr implemented endless pagination with exactly this problem. This came up when you tried to reblog/reply to a post or view "read more" content and forgot to open another tab. They have since implemented a regular pagination system that fixes the back button problem.
- crdoconnor 15y ago"It isn't just oddball disemvowelled companies, either. Twitter's timeline and Google's image search use a similar endless pagination approach. Either the page loads more items automatically when you scroll down to the bottom, or there's an explicit "show more results" button. Pagination is also friction." Actually if you're surfing on a flaky internet connection, endless pagination has MORE friction. With pagination you can click on the "next" button again if it doesn't load the first time. If the javascript doesn't want to fire off another request in the endless pagination series and the last one didn't work, you're just screwed. This makes facebook especially, incredibly annoying to use on flaky wifi.
- brigade 15y agoOr if your browser unloads the page to save memory (it helps that every additional page increases memory footprint!), or crashes, or you want to bookmark your place and come back later, or you're looking for a post by date, or a million other reasonable scenarios. Endless pagination only makes sense if you consider content after ~4-5 pages to be near worthless and don't intend for people ever to read it.
- cletus 15y agoDear God I hate this anti-pagination nonsense. I loathe infinite scroll. It puts you at the mercy of the site doing browser caching right (no one does) otherwise you click on a link, click back and then have to start from the beginning again. Even Apple gets this wrong (you'll reach a point going through the Top Charts in the App Store where pressing Back reduces you back to the first 10 results). Pages can be bookmarked easily, which can be incredibly important. Paging is also easier for crawling (otherwise it requires some JS evaluation or other hackery). DZone is a good example of a site that annoys the crap out of me with infinite scroll. Seriously, cut that shit out.
- jonursenbach 15y agoIt's especially annoying when people have site footers with important links, but infinite scroll just above it, rendering it impossible to click on any link in said footer. Drives me fucking insane.
- funkah 15y agoYeah, the only way to do that right would be to give the infinite scroll a container with a fixed height, and drive the infinite scroll based on the position of the container rather than the entire page.
- citricsquid 15y ago> Drives me fucking insane. I share exactly the same feelings. Want to create a Facebook page: http://i.imgur.com/vZ5LD.png http://i.imgur.com/vZ5LD.png good luck! It's like the game where you have to click a button but whenever you hover over the button it moves.
- fpgeek 15y agoNow try getting to that footer on your smartphone (because you wanted some feature of the desktop site that wasn't in the mobile version, for example).
- lukifer 15y agoThere are occasionally use cases for infinite scroll, but I agree that most of the time, it's a design anti-pattern. My preferred solution to pagination: by default, load a large number of results per page. The markup overhead is minimal with gzip, database hits can be mitigated with caching, and images can be lazy-loaded if necessary. Best of both worlds, and friendlier to users and search engines alike. Also, there's no reason pagination can't work inline (ie, link to "Load 10 More Results"), which also gives you the best of both.
- haberman 15y ago> In a perfect world, every search would result in a page with a single item: exactly the thing you were looking for. Not everything is search. Sometimes you genuinely want to see the list. eg. transactions in your bank account, messages in your inbox, posts on your Facebook wall, etc.
- georgefox 15y agoAlso, who's to say you're only searching for one item? Ever searched for a used car on Craigslist? You probably want to see more than one result. Even if you were only searching for one item (say you're searching Google for an article you read a few weeks ago), sometimes alternate results are useful too. What's wrong with discovering something new?
- swah 15y agoHe acknowledges that, but if there was a way to see just the listing you're going to accept (of course that's impossible, so they show the first best matches) wouldn't you want it?
- duaneb 15y agoSomething that Google may think about is the value of being on the front page of a google search: such a position is devalued if there is no literal front page.
- Skywing 15y agoInfinite scrolling was what killed Digg, for my friends. I admit, I never did use Digg. I do remember my friends telling me about when the "new" Digg launch, though. They cited the infinite scroll as one of the major things that broke usability, for them. He'd check it throughout the day and used the pages as sort of a stopping / reference point that he'd know to skip to when he got a chance to check it again later. The infinite scroll meant he had to sit there and force it to load until he saw the articles that he left off at.
- tomjen3 15y agoIn general, don't paginate at all. Your two thausand word article should be on one page.
- shingen 15y agoAfter reading into the post I had to scroll back up and check the date on it. I was sure this had to be from a few years ago. Atwood is talking like infinite scroll is the wave of the future. He's only a few years late to that party.
- goggles99 15y agoPagination provides structure which most humans prefer (myself included). I cannot stand endless scrolling with loading pauses every so often if I scroll too quickly. In Google searches, I have my results set at 50 results per page and when I am conducting research, this provides me a guideline when I know it is time to try some different search terms. Some hybrid scheme may be more acceptable in which the page folds segments that you have scrolled a certain distance past, and unfolds a segment that you are entering. A Floating nav helper could display which segment/page you are currently on and perhaps even provide the ability to jump a previous/next or x segment. Best of both worlds™ navigation
- jamesrcole 15y agoHonestly, I'm not sure what I think of infinite scrolling, but most of the complaints about it are really about problems with current implementations (e.g. back-button issues), and the people don't seem to be considering whether there might be technological fixes to those problems.
- goggles99 15y agoPagination provides structure which most humans prefer (myself included). I cannot stand endless scrolling with loading pauses every so often if I scroll too quickly. In Google searches, I have my results set at 50 results per page and when I am conducting research, this provides me a guideline when I know it is time to try some different search terms. Some hybrid scheme may be more acceptable in which the page folds segments that you have scrolled a certain distance past, and unfolds a segment that you are entering. A Floating nav helper could display which segment/page you are currently on and perhaps even provide the ability to jump a previous/next or x segment. Best of both worlds™ navigation
- alexchamberlain 15y agoTo make this effective, we need to be able to artificially control the scroll bar, like we can now artificially control history.
- chrislomax 15y agoI don't see why pagination has to go away any time soon? I can't stand Facebook auto loading more content, I end up dragging too far when it has auto loaded and I have not noticed, I spend more time looking at the scroll bar than the content! I think the analogy of the forum posts are bad as well where people don't read the previous 4 pages, I think the issue more with forums is that there is a large thread to follow and it generally has to be followed from the beginning. You have generally landed on page 20 of a forum post because it has an answer to a query you put into a search engine. You don't land on page 20 from the forum itself! In this I am a firm believer that if it ain't broke, don't try to fix it. Why should I as a developer over think about maintaining page position when clicking the back button or showing different paginated content to search engines for indexing? I don't feel like I am putting a lot on the user and I always know where I am with paginated content.
- retube 15y agoHis arguments _for_ pagination seem to totally trounce those against! In terms of user experience, ease of implementation and technically (deep links, spidering etc). I've come away from reading that article absolutely against infinite scroll.
- user-id 15y agoA tumbledry.org article on doing infinite scroll better was posted to HN about a year ago (http://news.ycombinator.com/item?id=2592741 http://news.ycombinator.com/item?id=2592741) and it was most the way towards doing infinite scroll right.
- DanielBMarkham 15y agoIn a perfect world, every search would result in a page with a single item: exactly the thing you were looking for. But I'm looking for a list of similar items in order to compare them. Many -- if not most -- times I perform a search I have but a vague idea of what I want. I throw something at the engine, take a look at the results, then decide whether to restate my search or not. A list is a perfectly good answer to many questions. And this business about pagination? I'm sorry Jeff, but infinite scroll must die. It's a god-awful user interface mess. If you like this sort of thing, why have pages at all? The web should be just a seamless, flowing experience without any context-switching. I almost feel like we are purposelly being baited by Atwood. (Bloggers? Purposely stirring up trouble for pageviews? Say it ain't so) It kills the entire concept of a page. It destroys the user's ability to know how much of something they are seeing, and makes linking a disaster. Make it go away.
- duncans 15y agoI think Alex Micek's infinite scroll is the most impressive I've seen - progressively-enhanced and doesn't break the back button: http://tumbledry.org/2011/05/12/screw_hashbangs_building http://tumbledry.org/2011/05/12/screw_hashbangs_building. Impressive bit of work from a dentistry student.
- duncans 15y agoIn fact, was discussed on HN nearly a year ago: http://news.ycombinator.com/item?id=2592741 http://news.ycombinator.com/item?id=2592741
- bambax 15y agoIt would seem the solution to infinite pagination isn't infinite scroll (which is the exact same concept, only badly implemented) but sorting and filtering. If there are too many results, what I want is some way of filtering out the results that are obviously not relevant (because not in the correct language, or too old, or too recent, etc.), not the ability to "scroll" forever (infinite scrolling adds DOM elements to the page to the point where the page is so big, nothing works properly anymore).
- instakill 15y agoI hate infinite scroll as Facebook implements it with the news feed. It's impossible to get to the footer because something else always loads. I have to disable my airport temporarily to get there.
- read_wharf 15y ago"In a perfect world, every search would result in a page with a single item: exactly the thing you were looking for." That's just the opposite extreme of thousands of paginations. I, personally, don't search that way. I generally look for a few good results, and then draw my conclusions based on the total of what I read. Rarely do I look for the page that has the answer. Maybe because I'm not looking for answers.
- javajosh 15y agoKind of a meta comment, but why does a post that should have been called "A Viable Alternative to Pagination" is instead titled "The End of Pagination"? Or maybe it could be more mysterious like, "What happens when you give up paginating the web?" The final title declares the end of something, which is needlessly confrontational and emotional (especially in geeks for whom it's especially distressing since, factually, pagination is still occurring all over the place). tl;dr Nice thoughts about new ways to interact with web data with a needlessly sensational, counter-productive title.