[{"data":1,"prerenderedAt":178},["ShallowReactive",2],{"project-12735665":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":40,"post_text":43,"what":44,"said":47,"maker_in_thread":84,"shape":92,"grid":96,"attempts":140,"same_week":141,"maker_shows":33,"maker_hidden":170,"reader_version":171,"card":172},"12735665","Swip.js","A library to create multi device experiments","title","Show HN: Swip.js, a library to create multi device experiments","https:\u002F\u002Fgithub.com\u002Fpaulsonnentag\u002Fswip","github.com","brackcurly",1476806080,2016,152,17,215,2264,10,"notable","languages","javascript library","library",[24,21,25,26],"multi device","device orientation","web sockets","curious",0.333,{"positive":30,"neutral":31,"mixed":32,"critical":33},4,7,0,1,12,{"idea":36,"execution":38,"design":39},{"positive":37,"critical":32},2,{"positive":33,"critical":32},{"positive":33,"critical":33},[41,32,42,42,42,42,32,32,42,42,42,32,41,33,41,32,41],5,3,null,{"problem":43,"audience":43,"pricing":43,"motivation":43,"time_to_build":43,"stack":45,"openness":46,"stage":46,"team_size":46},[],"unknown",{"praise":48,"objections":65,"requests":66,"questions":67,"alternatives":83},[49],{"value":50,"source":51,"evidence":52},"Demo is creative and impressive","commenter",[53,57,61],{"id":54,"by":55,"text":56},"12736444","rawnlq","Using the devices as planes for the golf demo is incredibly creative! https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZE0gxa-p8HY I know you can use HTML5 DeviceOrientation for angle and the…",{"id":58,"by":59,"text":60},"12737736","mcs_","I don't have a use case for this (yet) but ... the demo is absolutely incredible. Very nice work",{"id":62,"by":63,"text":64},"12739575","addedlovely","Wow, great work. I assume the pinch gesture calibrates the positioning and is always center of the screen? The bounce off the screen edge on pong is satisfying.",[],[],[68,76],{"value":69,"source":51,"evidence":70},"How the physical screen size of each device is determined",[71,72],{"id":54,"by":55,"text":56},{"id":73,"by":74,"text":75},"12738154","WhitneyLand","I don't think it's possible unless you add an app. One solution would be create a companion app that determines the physical screen size, then makes that available to your…",{"value":77,"source":51,"evidence":78},"How device relative height is known when stacked",[79],{"id":80,"by":81,"text":82},"12741224","BonoboBoner","How do you know which device is positioned higher than the other (on a bunch of books)?",[],{"comments":37,"answered":37,"key":85},[86,89],{"id":87,"text":88},"12736625","We haven't figured out a way to do this automatically. Currently we prompt the user to enter the size of the device when the app is opened for the first time.",{"id":90,"text":91},"12742839","You're right, when the server receives two swipe events at the same time in opposite directions we assume that both devices are aligned at this point. It doesn't matter though…",{"commenters":93,"max_depth":41,"maker_replies":37,"first_comment_mins":94,"lifespan_hours":95},14,65,46,[97,99,101,102,105,106,109,113,117,120,123,125,128,130,134,136,137],[54,32,41,98,55,32],"project\u002Fpositive\u002Fidea",[87,32,32,100,11,33],"project\u002Fneutral\u002Fexecution",[73,32,42,100,74,32],[103,32,42,100,104,32],"12738812","anotheryou",[80,32,42,100,81,32],[107,32,42,100,108,32],"12741414","asher_",[110,32,32,111,112,32],"12741542","commenter\u002Fneutral\u002Fnone","timgrossmann",[114,32,32,115,116,32],"12739546","other\u002Fneutral\u002Fnone","morgante",[118,33,42,119,104,32],"12738687","project\u002Fneutral\u002Fidea",[121,33,42,100,122,32],"12738985","Normal_gaussian",[124,33,42,100,104,32],"12752008",[126,33,32,115,127,32],"12739653","asenna",[58,37,41,129,59,32],"project\u002Fpositive\u002Fdesign",[131,37,33,132,133,32],"12737813","project\u002Fcritical\u002Fdesign","elwell",[62,42,41,135,63,32],"project\u002Fpositive\u002Fexecution",[90,42,32,100,11,33],[138,30,41,98,139,32],"12741390","Lxr",[],[142,147,152,157,161,166],{"id":143,"name":144,"points":145,"category":146},"12721709","I made a Chrome extension that helps battle impulsive procrastination",277,"productivity",{"id":148,"name":149,"points":150,"category":151},"12742395","Hawkpost",275,"security_privacy",{"id":153,"name":154,"points":155,"category":156},"12723281","CSS ICON",250,"dev_tools",{"id":158,"name":159,"points":160,"category":20},"12699767","Styled-components",172,{"id":162,"name":163,"points":164,"category":165},"12703679","Stack Match",136,"web_saas",{"id":167,"name":168,"points":169,"category":146},"12745449","Tdo",78,false,"v2",{"id":173,"name":5,"line":6,"ai":170,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":174,"top":18,"kw":175,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":176,"url":9,"mix":177,"praise":50,"objection":-1,"sub":21},12735665,0.33,[24,21,25,26],"50333300333051505",[30,31,32,33],1793990948960]