[{"data":1,"prerenderedAt":231},["ShallowReactive",2],{"project-11305758":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":37,"post_text":29,"what":40,"said":76,"maker_in_thread":139,"shape":148,"grid":153,"attempts":196,"same_week":197,"maker_shows":150,"maker_hidden":224,"reader_version":225,"card":226},"11305758","Snapback cache","An infinite scrolling feed cache to keep things nice when users return","title","Show HN: An infinite scrolling feed cache to keep things nice when users return","https:\u002F\u002Fm.signalvnoise.com\u002Fsnapback-cache-what-we-use-to-make-our-infinite-scrolling-feeds-at-highrise-awesome-a789128e807a#.cxhau48xs","m.signalvnoise.com","nate",1458234557,2016,42,21,830,2264,37,"shown","languages","javascript library","library",[24,25,26,27],"infinite scroll","client cache","scroll position","back button","quiet",null,{"positive":31,"neutral":32,"mixed":31,"critical":32},0,2,4,{"design":35,"idea":36},{"positive":31,"critical":31},{"positive":31,"critical":32},[31,31,31,31,31,31,38,31,31,31,31,31,31,31,31,38,39,31,31,39,31],3,1,{"problem":41,"audience":52,"pricing":29,"motivation":60,"time_to_build":29,"stack":64,"openness":73,"stage":74,"team_size":75},{"value":42,"source":43,"evidence":44},"Infinite scrolling feeds lose the user's place when they navigate away and press back","maker",[45,49],{"id":46,"by":47,"text":48},"11307476","mchahn","> Almost all of them suffer from the same problem. If you click on something in the feed that brings you to a new page, when you hit the back button or try to return to that…",{"id":50,"by":11,"text":51},"11307547","Really depends on what you click on. Twitter and Facebook both have most clicks keep you in the context of the feed with modals or in place expansions. But every now and then…",{"value":53,"source":54,"evidence":55},"Developers building infinite scrolling feeds","inferred",[56,57],{"id":50,"by":11,"text":51},{"id":58,"by":11,"text":59},"11307811","I pondered doing something like that, however there's a performance impact with that version right? So if I want to let a user scroll for 5 pages (30 records each), click on…",{"value":61,"source":43,"evidence":62},"Keep feeds from losing place for Highrise users without URLs for every scroll page",[63],{"id":58,"by":11,"text":59},[65],{"value":66,"source":67,"evidence":68},"JavaScript","commenter",[69],{"id":70,"by":71,"text":72},"11310738","bryanrasmussen","hey, this article references JQuery - these people dared to solve a problem without using React and Redux and something released last week!","unknown","launched","company",{"praise":77,"objections":86,"requests":113,"questions":114,"alternatives":119},[78],{"value":79,"source":67,"evidence":80},"Solves a real back-button problem in feeds",[81,82],{"id":46,"by":47,"text":48},{"id":83,"by":84,"text":85},"11309550","justinph","If you had a publicly visible site that you wanted to be crawled, then having a real url would be pretty important. But for something like Highrise, where it's dark to google and…",[87,102],{"value":88,"source":67,"evidence":89},"Infinite scroll is a poor pattern that hurts findability and bookmarks",[90,94,98],{"id":91,"by":92,"text":93},"11308085","PhasmaFelis","I've never figured out what the problem was that infinite-scroll was supposed to fix. Unfucking the Back button is nice, but it feels kind of like expecting praise because you've…",{"id":95,"by":96,"text":97},"11311290","takno","Couldn't agree with this more. Infinite scroll and expandable sub-lists on index pages make it impossible to use those pages in a meaningful way. If there is ever any value to…",{"id":99,"by":100,"text":101},"11310288","cyphar","Anyone who has encountered a book is familiar with the concept of pages. I doubt that people would prefer their books printed on a single strip of paper. Why do the same for…",{"value":103,"source":67,"evidence":104},"Opening links in new tabs already works around the problem",[105,109],{"id":106,"by":107,"text":108},"11307605","theseatoms","This is why I usually Ctrl + click to open link in new tab when scrolling through an infinite scroll.",{"id":110,"by":111,"text":112},"11309394","daurnimator","I use middle mouse click: same thing.",[],[115],{"value":116,"source":67,"evidence":117},"Does everyone else lose their place in feeds?",[118],{"id":46,"by":47,"text":48},[120,125,132],{"value":121,"source":67,"evidence":122},"Ctrl\u002Fmiddle click to open in new tabs",[123,124],{"id":106,"by":107,"text":108},{"id":110,"by":111,"text":112},{"value":126,"source":67,"evidence":127},"Real URLs per page",[128],{"id":129,"by":130,"text":131},"11307755","kingkool68","I just use real URLs that resolve when you navigate back to them... https:\u002F\u002Fwww.zadieheimlich.com (terrible use case as clicking a heading takes you to the same thing you see…",{"value":133,"source":67,"evidence":134},"Paging",[135],{"id":136,"by":137,"text":138},"11308179","michaeldwan","Paging is an implementation detail that's forced on users, like flipping the cassette to side B. It's really great for reading a stream of content without having to think about…",{"comments":33,"answered":39,"key":140},[141,144,147],{"id":142,"text":143},"11307628","Ha yep! Before our snapback cache, what you're saying was the solution we kept recommending to folks. We use javascript to make the whole note a clickable target area, not just…",{"id":145,"text":146},"11307833","That's really interesting. It's like we've all been conditioned to just have unconscious clicking patterns to deal with this headache. Opening up new tabs for things was…",{"id":50,"text":51},{"commenters":149,"max_depth":150,"maker_replies":33,"first_comment_mins":151,"lifespan_hours":152},15,6,219,88,[154,156,160,161,163,165,167,171,173,174,176,179,180,183,185,187,189,191,192,194,195],[46,31,31,155,47,31],"other\u002Fneutral\u002Fnone",[157,31,31,158,159,31],"11307504","other\u002Fcritical\u002Fnone","gukov",[106,31,31,155,107,31],[142,31,31,162,11,39],"maker\u002Fneutral\u002Fidea",[164,31,31,155,47,31],"11307759",[145,31,31,166,11,39],"maker\u002Fneutral\u002Fdesign",[168,31,38,169,170,31],"11310281","project\u002Fneutral\u002Fdesign","christianmann",[172,31,31,155,107,31],"11311329",[110,31,31,155,111,31],[175,31,31,155,170,31],"11310282",[177,31,31,155,178,31],"11326970","nkjoep",[50,31,31,162,11,39],[181,31,31,158,182,31],"11309336","n0us",[129,39,31,184,130,31],"other\u002Fneutral\u002Fidea",[58,39,31,186,11,39],"maker\u002Fneutral\u002Fperformance",[83,39,38,188,84,31],"project\u002Fneutral\u002Fidea",[91,32,39,190,92,31],"project\u002Fcritical\u002Fidea",[136,32,31,184,137,31],[99,32,31,193,100,31],"other\u002Fcritical\u002Fidea",[95,32,39,190,96,31],[70,38,31,155,71,31],[],[198,203,208,212,216,220],{"id":199,"name":200,"points":201,"category":202},"11317811","Honest Salary",314,"web_saas",{"id":204,"name":205,"points":206,"category":207},"11324166","Localkube",173,"dev_tools",{"id":209,"name":210,"points":211,"category":20},"11334764","Quantum",151,{"id":213,"name":214,"points":215,"category":20},"11310485","English syntax highlighter",147,{"id":217,"name":218,"points":219,"category":207},"11327679","Micro",101,{"id":221,"name":222,"points":223,"category":20},"11321164","Rhine",81,false,"v2",{"id":227,"name":5,"line":6,"ai":224,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":228,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":229,"url":9,"mix":230,"praise":79,"objection":88,"sub":21},11305758,[24,25,26,27],"000000300000000310010",[31,32,31,32],1793990940210]