[{"data":1,"prerenderedAt":144},["ShallowReactive",2],{"project-10599399":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":36,"post_text":38,"what":39,"said":42,"maker_in_thread":82,"shape":85,"grid":88,"attempts":102,"same_week":111,"maker_shows":14,"maker_hidden":137,"reader_version":138,"card":139},"10599399","Magic Keyboard","title","Show HN: Magic Keyboard","http:\u002F\u002Fmagickeyboard.io\u002F","magickeyboard.io","feross",1447990174,2015,19,6,1291,2565,51,"shown","creative","interactive animation","web_app",[23,24,25,26],"keyboard animation","javascript canvas","falling letters","browser demo","mixed",0.25,{"positive":30,"neutral":31,"mixed":30,"critical":32},2,1,0,5,{"performance":35},{"positive":32,"critical":32},[33,37,32,37,37,33],3,null,{"problem":38,"audience":38,"pricing":38,"motivation":38,"time_to_build":38,"stack":40,"openness":41,"stage":41,"team_size":41},[],"unknown",{"praise":43,"objections":63,"requests":72,"questions":80,"alternatives":81},[44,56],{"value":45,"source":46,"evidence":47},"Fun to play with and entertaining","commenter",[48,52],{"id":49,"by":50,"text":51},"10601554","ionised","Nice. I just wasted 20 minutes messing with this in work trying to figure out what I could do. If I hold a key down for 10 seconds or so the letters tend to rain down about a…",{"id":53,"by":54,"text":55},"10606008","imakesnowflakes","Fantastic!",{"value":57,"source":46,"evidence":58},"Good performance in Chrome",[59],{"id":60,"by":61,"text":62},"10606711","vinceyuan","Nice. Its performance in Chrome is very good. But in Safari it is very bad.",[64],{"value":65,"source":46,"evidence":66},"Performance degrades over time in Safari and as letters accumulate",[67,71],{"id":68,"by":69,"text":70},"10599555","stephentmcm","Nice but needs some form of clean up running as the animation slows down more and more. A quick peak at the code shows there's a platform to catch the letter but there doesn't…",{"id":60,"by":61,"text":62},[73],{"value":74,"source":46,"evidence":75},"Delete letters after they hit the platform",[76,77],{"id":68,"by":69,"text":70},{"id":78,"by":10,"text":79},"10600354","That's right. I should delete the letters after they collide with the platform.",[],[],{"comments":31,"answered":31,"key":83},[84],{"id":78,"text":79},{"commenters":14,"max_depth":30,"maker_replies":31,"first_comment_mins":86,"lifespan_hours":87},59,91,[89,91,93,95,96,100],[49,32,33,90,50,32],"project\u002Fpositive\u002Fnone",[68,31,37,92,69,32],"project\u002Fmixed\u002Fperformance",[78,31,32,94,10,31],"maker\u002Fneutral\u002Fexecution",[60,30,37,92,61,32],[97,37,37,98,99,32],"10617801","project\u002Fneutral\u002Fnone","1mrankhan",[53,101,33,90,54,32],4,[103,104,108],{"id":4,"t":11,"points":13,"comments":14},{"id":105,"t":106,"points":107,"comments":14},"12507233",1473955230,12,{"id":109,"t":110,"points":37,"comments":101},"15649289",1510104333,[112,117,121,125,129,133],{"id":113,"name":114,"points":115,"category":116},"10611813","BestRuby",92,"languages",{"id":118,"name":119,"points":120,"category":116},"10608457","Simulacra.js",82,{"id":122,"name":123,"points":120,"category":124},"10626157","Commandcar","dev_tools",{"id":126,"name":127,"points":128,"category":116},"10608119","HtmlPy",79,{"id":130,"name":131,"points":132,"category":124},"10596241","mention-bot",72,{"id":134,"name":135,"points":136,"category":124},"10612105","Wox",54,false,"v2",{"id":140,"name":5,"line":5,"ai":137,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":28,"top":17,"kw":141,"maker":10,"domain":9,"tier":18,"attempts":37,"strip":142,"url":8,"mix":143,"praise":45,"objection":65,"sub":20},10599399,[23,24,25,26],"530335",[30,31,30,32],1794036537849]