[{"data":1,"prerenderedAt":406},["ShallowReactive",2],{"project-4949551":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":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":47,"post_text":48,"what":49,"said":109,"maker_in_thread":248,"shape":250,"grid":254,"attempts":369,"same_week":370,"maker_shows":45,"maker_hidden":398,"reader_version":399,"card":400},"4949551","Ember Table","Ember Table by Addepar","title","Show HN: Ember Table by Addepar","http:\u002F\u002Faddepar.github.com\u002Fember-table\u002F","addepar.github.com","ldvldv",1356032938,2012,199,49,76,1677,5,"notable","languages","ui component library","library",[24,25,26,27,28],"ember.js","javascript table","virtual scrolling","large dataset","lazy rendering","mixed",-0.224,{"positive":32,"neutral":33,"mixed":34,"critical":35},4,10,3,14,31,{"idea":38,"design":40,"performance":42,"execution":44,"docs":46},{"positive":34,"critical":39},2,{"positive":41,"critical":32},0,{"positive":41,"critical":43},6,{"positive":41,"critical":45},1,{"positive":41,"critical":45},[18,41,41,45,34,34,41,41,41,41,41,41,41,41,45,45,45,45,34,45,34,45,34,34,34,34,45,34,45,45,41,18,18,41,41,45,45,45,45,18],null,{"problem":50,"audience":62,"pricing":48,"motivation":70,"time_to_build":77,"stack":83,"openness":106,"stage":107,"team_size":108},{"value":51,"source":52,"evidence":53},"Displaying large sets of data in a web table efficiently","commenter",[54,58],{"id":55,"by":56,"text":57},"4949602","tomdale","Congratulations to the guys at Addepar on releasing this. They have been contributing an amazing amount of stuff to the Ember.js community—not least of which is helping us build…",{"id":59,"by":60,"text":61},"4949698","julian37","This looks great. Can anybody recommend a similar library (i.e. lazy-rendering table component) that either doesn't depend on a JS framework or uses backbone.js? I know Slickgrid…",{"value":63,"source":64,"evidence":65},"Ember.js web developers","inferred",[66,67],{"id":55,"by":56,"text":57},{"id":68,"by":56,"text":69},"4949966","As a side note: if you're interested in this kind of stuff, we'd love to see you at the first Ember Camp, next February in San Francisco. You can even meet the guys who wrote…",{"value":71,"source":52,"evidence":72},"Solve large-table display problem for Addepar's app; built with div elements instead of Slickgrid",[73],{"id":74,"by":75,"text":76},"4949699","perokreco","We were using Slickgrid for a while and that was a very painful experience as the code was very complex, didn't do frozen rows\u002Fcolumns and didn't interoperate with Ember nicely.…",{"value":78,"source":52,"evidence":79},"A few weeks",[80],{"id":81,"by":56,"text":82},"4950456","This is incorrect. Ember.js is not a fork of SproutCore, and they share no code. Ember.js just borrows some of the best features of SproutCore, like bindings and computed…",[84,89,99],{"value":85,"source":52,"evidence":86},"Ember.js",[87,88],{"id":55,"by":56,"text":57},{"id":74,"by":75,"text":76},{"value":90,"source":52,"evidence":91},"Underscore.js",[92,96],{"id":93,"by":94,"text":95},"4951080","workmanw","Your table looks very nice, thanks a lot for sharing. We have one in our app that is pretty similar, but not as well developed. I am considering replacing the one in our app with…",{"id":97,"by":56,"text":98},"4951157","It seems like the only thing they are using from Underscore that's not already in Ember.js is Function.bind; I'm totally open to adding it to Ember.js proper.",{"value":100,"source":52,"evidence":101},"jQuery UI",[102],{"id":103,"by":104,"text":105},"4950310","larister","True, but perhaps more could be done to trim the fat. There are quite a lot of dependencies, and jQuery UI is quite a large library. Am on my phone so can't dig down to see how…","open_source","launched","company",{"praise":110,"objections":130,"requests":172,"questions":207,"alternatives":218},[111,119],{"value":112,"source":52,"evidence":113},"Useful addition to Ember ecosystem",[114,115],{"id":55,"by":56,"text":57},{"id":116,"by":117,"text":118},"4950459","jobowoo","Congrats to the Addepar team. Love what you guys are doing :)",{"value":120,"source":52,"evidence":121},"Fast, smooth rendering of large tables",[122,126],{"id":123,"by":124,"text":125},"4950050","swah","The fastest table I've seen was this http:\u002F\u002Fukijs.org\u002Fexamples\u002Fcore-examples\u002Ftable\u002F",{"id":127,"by":128,"text":129},"4950225","dclusin","This seems like the classic compile-time run-time trade off. On the one hand it does indeed appear to take a while to load the page. The upside of this though is obviously smooth…",[131,139,154,165],{"value":132,"source":52,"evidence":133},"Slow initial page load due to large dependencies",[134,138],{"id":135,"by":136,"text":137},"4950177","jongleberry","500kb transferred? 2 seconds to load all the CSS and JS files? 4.5 seconds to load everything? Way too much overhead for a static page, IMO.",{"id":103,"by":104,"text":105},{"value":140,"source":52,"evidence":141},"Scrollbar dragging broken on some browsers and Macs",[142,146,150],{"id":143,"by":144,"text":145},"4950216","davidwparker","Very cool. Only problem that I had was that I couldn't grab the scrollbar to go down the table faster (for the million table example). Great work though!",{"id":147,"by":148,"text":149},"4950710","fudged71","I just tried again. Can't drag the scroll slider. Latest OSX Chrome.",{"id":151,"by":152,"text":153},"4951155","jdross","It's an issue for Mac OS X for people who have invisible scrollbars enabled. Issue is being worked on, thanks for sharing!",{"value":155,"source":52,"evidence":156},"Blank screen while loading with no feedback",[157,161],{"id":158,"by":159,"text":160},"4949934","zevyoura","Very nice, but you should add some \"loading...\" text until it's ready to display; on my iPad there were several seconds of a blank white screen and I thought something had gone…",{"id":162,"by":163,"text":164},"4950233","hayksaakian","Same here. I wasn't sure if chrome crashed or something since there was no content on the page",{"value":166,"source":52,"evidence":167},"Ctrl+F search broken for rows not rendered",[168],{"id":169,"by":170,"text":171},"4950716","gregable","Nice. One issue is that the common idiom of cntrl+f is going to be broken with this. Would be awesome if the table supported a search box of some sort.",[173,177,181,196],{"value":174,"source":52,"evidence":175},"Add search box",[176],{"id":169,"by":170,"text":171},{"value":178,"source":52,"evidence":179},"Loading indicator",[180],{"id":158,"by":159,"text":160},{"value":182,"source":52,"evidence":183},"Blog post or docs on lazy rendering and comparison to SlickGrid",[184,188,192],{"id":185,"by":186,"text":187},"4950166","outside1234","Very cool - any chance of getting a blog post about how you structured the lazy rendering part within Ember.JS? I have an application where I need to do something similar.",{"id":189,"by":190,"text":191},"4951043","vemv","Sorry but if the project doesn't even mention SlickGrid (e.g. how does compare to it) I can't take it seriously.",{"id":193,"by":194,"text":195},"4952014","bhntr3","Feedback is more than welcome! Please get in touch on github. Let Peter, Louis and all the other developers know what can be done better. I know Peter is hard at work fixing some…",{"value":197,"source":52,"evidence":198},"Fix scrolling stutter with touchpad and fast scroll",[199,203],{"id":200,"by":201,"text":202},"4950044","pragone","This doesn't work quite well - if I scroll fast enough, my browser (Chrome) thinks I've finished scrolling and goes back to scrolling the screen. As a fan of scanning through…",{"id":204,"by":205,"text":206},"4951702","ehsanu1","Awesome. Minor issue: there's some stuttering when flicking on a mac touchpad with Firefox. If I keep my fingers on the touchpad while scrolling, the scroll seems to follow just…",[208,214],{"value":209,"source":52,"evidence":210},"Can it accept arbitrary lazy client-side data sources like DataTables?",[211],{"id":212,"by":60,"text":213},"4950170","Ah yes, I've looked at Datatables before. I think it doesn't allow plugging in arbitrary, lazy, client-side data sources though, can anybody confirm this? If so, that's a pretty…",{"value":215,"source":52,"evidence":216},"How does it compare to SlickGrid?",[217],{"id":189,"by":190,"text":191},[219,224,231,238],{"value":220,"source":52,"evidence":221},"SlickGrid",[222,223],{"id":59,"by":60,"text":61},{"id":135,"by":136,"text":137},{"value":225,"source":52,"evidence":226},"DataTables",[227],{"id":228,"by":229,"text":230},"4950094","clueless","Would this be close to what you are looking for: http:\u002F\u002Fdatatables.net\u002Fblog\u002FIntroducing_Scroller_-_Virtual_Scrolling_for_DataTables",{"value":232,"source":52,"evidence":233},"ReclineJS",[234],{"id":235,"by":236,"text":237},"4949868","stevefturner","I second this. Any recommendations? ReclineJS is OK but have not had great success with it -- wraps Slickgrid. This table may be enough to make me jump into EmberJS from Backbone.",{"value":239,"source":52,"evidence":240},"SproutCore table view",[241,245],{"id":242,"by":243,"text":244},"4950191","ynniv","A feature rich, reliable table view in SproutCore (from which Ember was forked) has been a highly requested feature for at least 4 years. I'm glad that someone has finally done…",{"id":246,"by":243,"text":247},"4950806","Perhaps they no longer share code, but they share architecture which was responsible for the lack of table view in SproutCore. The history of the two projects is long and…",{"comments":41,"answered":41,"key":249},[],{"commenters":251,"max_depth":18,"maker_replies":41,"first_comment_mins":252,"lifespan_hours":253},35,11,15,[255,257,259,261,264,267,269,270,273,277,278,279,281,282,283,285,287,289,291,292,293,295,298,302,303,304,308,310,315,319,320,323,324,325,328,330,334,336,341,344,346,349,353,355,356,357,360,363,365],[55,41,18,256,56,41],"maker\u002Fpositive\u002Fidea",[68,41,41,258,56,41],"other\u002Fneutral\u002Fnone",[260,41,41,258,75,41],"4949983",[262,41,45,263,190,41],"4951046","maker\u002Fcritical\u002Fidea",[265,41,41,266,56,41],"4951137","commenter\u002Fneutral\u002Fnone",[59,45,34,268,60,41],"project\u002Fneutral\u002Fnone",[235,45,34,268,236,41],[271,45,41,258,272,41],"4949891","jwoah12",[274,45,41,275,276,41],"4950124","other\u002Fpositive\u002Fnone","wheaties",[228,45,41,258,229,41],[212,45,41,258,60,41],[242,39,41,280,243,41],"commenter\u002Fcritical\u002Fidea",[81,39,41,266,56,41],[246,39,41,266,243,41],[284,39,41,266,194,41],"4950858",[286,39,41,266,243,41],"4950914",[288,39,41,266,56,41],"4951150",[158,34,45,290,159,41],"project\u002Fcritical\u002Fdesign",[162,34,45,290,163,41],[169,32,45,290,170,41],[143,18,34,294,144,41],"project\u002Fmixed\u002Fperformance",[296,18,45,297,148,41],"4950505","project\u002Fcritical\u002Fperformance",[299,18,34,300,301,41],"4950551","project\u002Fneutral\u002Fperformance","superbaconman",[147,18,45,297,148,41],[151,18,34,300,152,41],[305,18,45,306,307,41],"4951179","project\u002Fcritical\u002Fexecution","rizky05",[185,43,34,309,186,41],"project\u002Fneutral\u002Fdocs",[311,312,34,313,314,41],"4952013",7,"project\u002Fmixed\u002Fdesign","TeeWEE",[316,317,34,318,272,41],"4949674",8,"project\u002Fneutral\u002Fexecution",[74,317,34,318,75,41],[93,321,34,322,94,41],9,"project\u002Fneutral\u002Fdesign",[97,321,34,322,56,41],[204,33,45,297,205,41],[326,252,34,294,327,41],"4950380","aroman",[200,329,45,297,201,41],12,[331,329,45,332,333,41],"4950369","project\u002Fcritical\u002Fidea","bicknergseng",[335,329,41,266,201,41],"4951392",[337,338,18,339,340,41],"4949961",13,"project\u002Fpositive\u002Fidea","haclifford",[342,35,41,258,343,41],"4950106","Cieplak",[116,253,18,345,117,41],"maker\u002Fpositive\u002Fnone",[123,347,41,348,124,41],16,"other\u002Fneutral\u002Fperformance",[350,347,41,351,352,41],"4951033","commenter\u002Fneutral\u002Fperformance","BCM43",[135,354,45,297,136,41],17,[127,354,41,351,128,41],[103,354,45,297,104,41],[189,358,45,359,190,41],18,"project\u002Fcritical\u002Fdocs",[361,358,45,290,362,41],"4951568","benatkin",[193,358,34,364,194,41],"maker\u002Fneutral\u002Fnone",[366,367,18,339,368,41],"4952229",19,"anodari",[],[371,376,381,385,389,393],{"id":372,"name":373,"points":374,"category":375},"4957144","DataFart",114,"dev_tools",{"id":377,"name":378,"points":379,"category":380},"4947047","ppl",106,"productivity",{"id":382,"name":383,"points":384,"category":380},"4952490","Servus",95,{"id":386,"name":387,"points":388,"category":375},"4951738","NameMesh",94,{"id":390,"name":391,"points":392,"category":375},"4962797","TerminalIMDB",61,{"id":394,"name":395,"points":396,"category":397},"4953362","Million Short DNS",48,"infrastructure",false,"v2",{"id":401,"name":5,"line":6,"ai":398,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":402,"top":18,"kw":403,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":404,"url":9,"mix":405,"praise":112,"objection":132,"sub":21},4949551,-0.22,[24,25,26,27,28],"5001330000000011113131333313110550011115",[32,33,34,35],1793990889039]