[{"data":1,"prerenderedAt":280},["ShallowReactive",2],{"project-8237111":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":35,"aspects":36,"strip":43,"post_text":46,"what":47,"said":71,"maker_in_thread":163,"shape":171,"grid":176,"attempts":244,"same_week":245,"maker_shows":45,"maker_hidden":273,"reader_version":274,"card":275},"8237111","Impulse","Dynamic JS Animations for the Mobile Web","title","Show HN: Impulse – Dynamic JS Animations for the Mobile Web","http:\u002F\u002Fimpulse.luster.io","impulse.luster.io","coderzach",1409233253,2014,93,31,301,2272,14,"notable","dev_tools","javascript animation library","library",[24,25,26,27],"javascript animation","mobile web animation","physics animation","touch gesture animation","debated",0.2,{"positive":31,"neutral":32,"mixed":33,"critical":34},7,3,2,4,16,{"performance":37,"idea":39,"execution":40,"design":41,"docs":42},{"positive":34,"critical":38},0,{"positive":33,"critical":38},{"positive":38,"critical":34},{"positive":38,"critical":38},{"positive":38,"critical":38},[44,38,44,44,38,44,38,45,38,38,38,32,38,44,38,38,32,38,45,38,32,45,38,44,32,38,44,32,38,45,38],5,1,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":59,"openness":69,"stage":70,"team_size":69},{"value":49,"source":50,"evidence":51},"Smooth animations that respond to touch velocity on mobile web","inferred",[52,55],{"id":53,"by":11,"text":54},"8237630","Number one is being careful about NEVER triggering a repaint while an animation is happening. That means only animating css transform properties and opacity, and deferring…",{"id":56,"by":57,"text":58},"8238033","drhayes9","It seems like such an obvious idea: rather than rely on mathematical guessing games with easing functions, animate the elements at the velocity of the user's gesture and apply…",[60,65],{"value":61,"source":62,"evidence":63},"JavaScript","maker",[64],{"id":53,"by":11,"text":54},{"value":66,"source":62,"evidence":67},"CSS transforms",[68],{"id":53,"by":11,"text":54},"unknown","launched",{"praise":72,"objections":96,"requests":119,"questions":135,"alternatives":147},[73,92],{"value":74,"source":75,"evidence":76},"Animations are very smooth and performant","commenter",[77,80,84,88],{"id":78,"by":57,"text":79},"8237969","Very cool! The animations are just buttery smooth. coderzach, since you're here and responding, how would you compare your library to Velocity?…",{"id":81,"by":82,"text":83},"8237562","Kiro","Very nice and performant. What's the secret?",{"id":85,"by":86,"text":87},"8237489","bestrapperalive","Can't comment on ease of use yet, but these animations are amazingly smooth on my computer and my phone, even when stacked and applied to a screen full of elements. Will…",{"id":89,"by":90,"text":91},"8237646","shaydoc","Very impressive and smooth transitions. Will definitely give this more attention. Thanks for sharing.",{"value":93,"source":75,"evidence":94},"Velocity-based physics feels intuitive",[95],{"id":56,"by":57,"text":58},[97,112],{"value":98,"source":75,"evidence":99},"Menu and drag behaviour breaks on some browsers and devices",[100,104,108],{"id":101,"by":102,"text":103},"8239578","scoot","Windows phone: sort-of...ish: The home page title I can flick around, and it reacts to velocity and direction, but if I try and drag it, it lets go before I get very far and goes…",{"id":105,"by":106,"text":107},"8238325","ds206","FYI, after dragging the title around, then tapping on the menu icon, the menu is broken. It starts sliding down, but doesn't stop and slides off the page. If I refresh and don't…",{"id":109,"by":110,"text":111},"8239783","jdmichal","For what it's worth, I see the exact same behavior on the desktop in Firefox 31.0. If I pull the menu down a little bit and release, it goes by itself to the bottom and stops. If…",{"value":113,"source":75,"evidence":114},"Does not work on older iPhone Safari",[115],{"id":116,"by":117,"text":118},"8239474","ivanceras","Does not work on my iphone 3Gs using safari. Can't scroll, can't pull down the menu. Trying the inertia scroll, only scrolls the page of the browser, but not the entire text…",[120,131],{"value":121,"source":75,"evidence":122},"Document supported browsers and devices",[123,127],{"id":124,"by":125,"text":126},"8237751","jeremya","Great work! Everything looks really smooth on Chrome on Android. Is there a list of targeted mobile browsers on the site or at github? I could not find it.",{"id":128,"by":129,"text":130},"8238320","jonahx","Nice work, and I like the demo website too. I couldn't find details on browser support, though....",{"value":132,"source":75,"evidence":133},"Windows Phone support",[134],{"id":101,"by":102,"text":103},[136,140],{"value":137,"source":75,"evidence":138},"How does it compare to Velocity.js",[139],{"id":78,"by":57,"text":79},{"value":141,"source":75,"evidence":142},"Does jQuery animate still have legacy overhead",[143],{"id":144,"by":145,"text":146},"8239666","tfb","> It also doesn't rely on jquery animate, which has a lot of extra cruft to run on older browsers and support legacy code. Writing the rendering in pure javascript helps a ton.…",[148,155],{"value":149,"source":75,"evidence":150},"Velocity.js",[151,152],{"id":78,"by":57,"text":79},{"id":153,"by":11,"text":154},"8238009","I'd just like to add that Velocity is an awesome library and is really well written. If you need static animations it's a great tool, and you should definitely use it.",{"value":156,"source":75,"evidence":157},"jQuery animate",[158,159],{"id":144,"by":145,"text":146},{"id":160,"by":161,"text":162},"8240279","tothepixel","As far as I've seen Jquery is still using an interval to animation, and not RequestAnimationFrame. This is because of glitchiness that occurs when you switch tabs during…",{"comments":164,"answered":34,"key":165},12,[166,167,168],{"id":153,"text":154},{"id":53,"text":54},{"id":169,"text":170},"8237815","That's a great idea, and super important. I'm going to start working on that right now. Right now it's iOS and Android, and works on most versions I've been able to test on. It…",{"commenters":172,"max_depth":173,"maker_replies":164,"first_comment_mins":174,"lifespan_hours":175},18,6,78,26,[177,179,181,183,184,186,187,189,191,193,195,196,200,202,205,207,210,214,217,218,220,222,223,226,227,229,232,234,238,240,242],[78,38,44,178,57,38],"project\u002Fpositive\u002Fperformance",[153,38,38,180,11,45],"other\u002Fneutral\u002Fnone",[56,38,44,182,57,38],"project\u002Fpositive\u002Fidea",[81,45,44,178,82,38],[53,45,38,185,11,45],"maker\u002Fneutral\u002Fperformance",[124,45,44,178,125,38],[169,45,38,188,11,45],"maker\u002Fneutral\u002Fnone",[101,45,45,190,102,38],"project\u002Fcritical\u002Fexecution",[192,45,38,188,11,45],"8239613",[144,45,38,194,145,38],"other\u002Fneutral\u002Fperformance",[160,45,38,194,161,38],[197,45,32,198,199,38],"8240869","project\u002Fneutral\u002Fperformance","goldfeld",[201,45,38,178,11,45],"8242880",[203,33,44,182,204,38],"8238111","thomasfl",[206,33,38,180,11,45],"8238169",[208,33,38,180,209,38],"8240610","clairity",[211,32,32,212,213,38],"8237836","project\u002Fmixed\u002Fdesign","imkevinxu",[215,32,38,216,11,45],"8237846","maker\u002Fneutral\u002Fdesign",[105,32,45,190,106,38],[219,32,38,188,11,45],"8238427",[221,32,32,188,106,38],"8238638",[109,32,45,190,110,38],[224,32,38,225,11,45],"8240460","maker\u002Fneutral\u002Fexecution",[85,34,44,178,86,38],[128,44,32,228,129,38],"project\u002Fmixed\u002Fdocs",[230,44,38,231,11,45],"8238383","maker\u002Fneutral\u002Fdocs",[89,173,44,233,90,38],"project\u002Fpositive\u002Fnone",[235,31,32,236,237,38],"8238170","project\u002Fneutral\u002Fdocs","sbarre",[239,31,38,231,11,45],"8238183",[116,241,45,190,117,38],8,[243,241,38,225,11,45],"8239600",[],[246,250,255,260,264,268],{"id":247,"name":248,"points":249,"category":20},"8246218","tmux-resurrect",241,{"id":251,"name":252,"points":253,"category":254},"8244815","Chan",150,"languages",{"id":256,"name":257,"points":258,"category":259},"8258132","RandomStartup.org",119,"web_saas",{"id":261,"name":262,"points":263,"category":254},"8239113","luajit-libuv",101,{"id":265,"name":266,"points":267,"category":20},"8241978","Howm",71,{"id":269,"name":270,"points":271,"category":272},"8237176","SuperTrip",69,"games",false,"v2",{"id":276,"name":5,"line":6,"ai":273,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":277,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":278,"url":9,"mix":279,"praise":74,"objection":98,"sub":21},8237111,[24,25,26,27],"5055050100030500301031053053010",[31,32,33,34],1793990911282]