[{"data":1,"prerenderedAt":749},["ShallowReactive",2],{"project-7201353":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"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":34,"aspects":35,"strip":46,"post_text":48,"what":49,"said":77,"maker_in_thread":223,"shape":235,"grid":240,"attempts":708,"same_week":709,"maker_shows":41,"maker_hidden":740,"reader_version":741,"card":742},"7201353","InstantClick","JS library to make your website instant","title","Show HN: JS library to make your website instant",null,"dieulot",1391872378,2014,426,174,22,2272,1,"legend","languages","javascript library","library",[20,23,24,25,26],"pushstate","preload links","pjax alternative","instant page loads","curious",-0.011,{"positive":30,"neutral":31,"mixed":32,"critical":33},16,44,2,19,81,{"idea":36,"performance":38,"execution":40,"privacy":42,"design":44,"docs":45},{"positive":37,"critical":37},3,{"positive":37,"critical":39},7,{"positive":41,"critical":41},4,{"positive":43,"critical":32},0,{"positive":43,"critical":17},{"positive":43,"critical":43},[37,37,37,37,37,41,37,37,43,43,17,43,43,43,47,32,47,32,43,43,17,37,47,17,41,17,17,17,41,32,37,17,37,47,41,37,41,47,47,17],5,"http:\u002F\u002Finstantclick.io\u002F\n\nIt seems the internet architecture won't bring us instant websites anytime soon. So here is a hack.\n\nI released this JS library last month (today is version 2.0 release, fixing v1.0's rough edges), it makes use of HTML5's pushState and preloading to make a website instant.\n\nIt works like this: before clicking on a link, you'll hover over it. And there's a delay of 200-300 ms between these two events. InstantClick uses this delay to preload a page, when you click on a link it will display instantly in most case. (You can test on the website.)\n\nThat's similar to pjax and",{"problem":50,"audience":56,"pricing":9,"motivation":61,"time_to_build":9,"stack":65,"openness":74,"stage":75,"team_size":76},{"value":51,"source":52,"evidence":53},"Websites feel slow on page navigation because pages load after a click","maker",[54],{"id":55},"post",{"value":57,"source":58,"evidence":59},"Website developers who want faster page navigation","inferred",[60],{"id":55},{"value":62,"source":52,"evidence":63},"Internet architecture cannot deliver instant websites, so a hack is needed",[64],{"id":55},[66,70],{"value":67,"source":52,"evidence":68},"JavaScript",[69],{"id":55},{"value":71,"source":52,"evidence":72},"HTML5 pushState",[73],{"id":55},"open_source","launched","unknown",{"praise":78,"objections":105,"requests":143,"questions":171,"alternatives":194},[79,91,98],{"value":80,"source":81,"evidence":82},"Fast, near-instant page loads in testing","commenter",[83,87],{"id":84,"by":85,"text":86},"7202211","maxucho","Awesome work! I just installed this in my own new experimental (read: very low traffic) web app: http:\u002F\u002Fwww.penngems.com\u002F I set the preload to occur on mousedown rather than…",{"id":88,"by":89,"text":90},"7201903","dmazin","By the way, if you don't want to listen to mouseover, merely listening to mousedown takes 50-70ms off loads [1]. Not ignorable. [1]…",{"value":92,"source":81,"evidence":93},"Lightweight and does not use jQuery",[94],{"id":95,"by":96,"text":97},"7201704","augustohp","Extra kudos for not using jQuery!",{"value":99,"source":81,"evidence":100},"MIT license",[101],{"id":102,"by":103,"text":104},"7213422","d0ugie","Note that the author, Alexandre Dieulot, opted generously to release this under the MIT license (thanks buddy). https:\u002F\u002Fgithub.com\u002Fdieulot\u002Finstantclick\u002Fblob\u002Fmaster\u002FLICENSE",[106,117,128,136],{"value":107,"source":81,"evidence":108},"Preloading on hover can trigger side-effect links like logout",[109,113],{"id":110,"by":111,"text":112},"7201415","callesgg","Realy Cool, Only real problem with this is if the clicking has side effects like: http:\u002F\u002Fexample.com\u002F?action=logout as brought up on page. And probably a ton of other application…",{"id":114,"by":115,"text":116},"7201823","mherkender","Poorly designed applications like this one? https:\u002F\u002Faccounts.google.com\u002FLogout",{"value":118,"source":81,"evidence":119},"Preloading adds server load and wasted bandwidth",[120,124],{"id":121,"by":122,"text":123},"7201524","napolux","Wonder what happens for website with zillion of visitors per day. Could all this preload impact on servers?",{"id":125,"by":126,"text":127},"7202035","primitivesuave","One way I see to move this forward in websites at scale is to run a test where you find out the percentage of hovers that result in a click. Suppose its 90% - that means that 10%…",{"value":129,"source":81,"evidence":130},"Breaks analytics and scripts that run on page load",[131,135],{"id":132,"by":133,"text":134},"7201586","oneeyedpigeon","Wouldn't this ruin usage stats?",{"id":110,"by":111,"text":112},{"value":137,"source":81,"evidence":138},"Hover-based preloading raises privacy concerns",[139],{"id":140,"by":141,"text":142},"7201399","snitko","While interesting, I think this kind of functionality should be implemented only by browser developers and should be turned off by default. Really, I can wait 1 second until the…",[144,153,160],{"value":145,"source":52,"evidence":146},"Preload on touchstart for touch devices",[147,150],{"id":148,"by":10,"text":149},"7202097","You are. Preloading on touchstart is something that I plan to work on soon though.",{"id":151,"by":10,"text":152},"7202138","Preloading on touchstart is planned. Also note that percentages like that don’t tell the whole picture; non-touch traffic hasn’t decreased by “like 40%”.",{"value":154,"source":81,"evidence":155},"Per-link customisation of preload trigger",[156],{"id":157,"by":158,"text":159},"7203260","adwf","Really awesome. I was working on something like this myself, but using Jquery ajax combined with history.pushState for partial page loads. This is much better! There are a couple…",{"value":161,"source":81,"evidence":162},"Chrome extension to use on any site",[163,167],{"id":164,"by":165,"text":166},"7201725","aehv","Is it possible to make it a Chrome extension and use it on all sites?",{"id":168,"by":169,"text":170},"7201845","mbesto","In theory you could write a chrome extension and use it for any site, right?",[172,183],{"value":173,"source":81,"evidence":174},"Is there a demo page?",[175,179],{"id":176,"by":177,"text":178},"7201449","lifeformed","Is there a demo page? I want to see what it feels like.",{"id":180,"by":181,"text":182},"7201859","aabalkan","Is there a demo?",{"value":184,"source":81,"evidence":185},"How does it compare to link prerender and prefetch?",[186,190],{"id":187,"by":188,"text":189},"7201527","w1ntermute","Doesn't Chrome already do something like this?",{"id":191,"by":192,"text":193},"7201587","AshleysBrain","Isn't this what link rel=\"prerender\" does? https:\u002F\u002Fdevelopers.google.com\u002Fchrome\u002Fwhitepapers\u002Fprerender",[195,203,207,212],{"value":196,"source":81,"evidence":197},"Turbolinks",[198,199],{"id":88,"by":89,"text":90},{"id":200,"by":201,"text":202},"7211416","romanovcode","So this is like a fork of TurboLinks? I've made this thing myself for website I use in couple of minutes. I would probably not rely my whole website on this plugin.",{"value":204,"source":52,"evidence":205},"pjax",[206],{"id":55},{"value":208,"source":81,"evidence":209},"Chrome prerender",[210,211],{"id":191,"by":192,"text":193},{"id":187,"by":188,"text":189},{"value":213,"source":81,"evidence":214},"link rel=prefetch",[215,219],{"id":216,"by":217,"text":218},"7202174","CoryG89","I think you should utilize the prefetch behavior of the link tag for situations such as these. No need for JavaScript at all.",{"id":220,"by":221,"text":222},"7202518","ivanca","``` \u003Clink rel=\"prefetch\" href=\"http:\u002F\u002Fexample.com\u002Fpage2\" \u002F> ``` More info at http:\u002F\u002Fdavidwalsh.name\u002Fhtml5-prefetch",{"comments":224,"answered":15,"key":225},36,[226,229,232],{"id":227,"text":228},"7201485","Kinda overkill. ;) I may explore this idea later, but I don’t have great hope for it.",{"id":230,"text":231},"7201805","In my opinion even that is overkill. Remember, in most cases it’s already instant. The return on investment (speed\u002Frequests) abruptly declines with brute preloading.",{"id":233,"text":234},"7201505","Thanks, I’ll look into it.",{"commenters":236,"max_depth":237,"maker_replies":224,"first_comment_mins":238,"lifespan_hours":239},106,8,21,53,[241,245,246,248,249,250,254,255,258,261,264,268,272,274,278,282,285,288,292,295,298,301,304,307,309,311,315,317,320,323,325,328,331,333,335,338,340,343,346,349,352,353,356,358,361,364,367,370,372,375,377,379,382,384,387,390,392,395,398,401,404,407,409,411,412,415,418,420,422,423,425,427,429,431,433,435,436,438,441,443,446,450,454,457,459,463,465,469,471,475,477,479,483,485,487,489,494,497,499,503,506,509,512,515,520,522,524,527,529,531,536,538,541,543,546,547,549,551,554,557,559,562,564,568,571,575,577,580,582,584,586,588,591,593,597,598,600,603,606,609,611,614,618,622,624,628,630,635,638,642,644,646,648,650,652,654,656,658,661,665,669,671,674,678,682,685,687,690,693,695,699,703,704,706],[242,43,37,243,244,43],"7201471","project\u002Fneutral\u002Fidea","VeejayRampay",[227,43,43,243,10,17],[247,43,37,243,221,43],"7201779",[230,43,43,243,10,17],[216,43,37,243,217,43],[251,43,43,252,253,43],"7202285","commenter\u002Fneutral\u002Fnone","k__",[220,43,37,243,221,43],[256,43,43,257,244,43],"7201893","commenter\u002Fneutral\u002Fidea",[259,43,37,243,260,43],"7201495","agumonkey",[262,43,37,243,263,43],"7201533","Vektorweg",[265,43,37,266,267,43],"7201555","project\u002Fneutral\u002Fperformance","yogo",[269,43,37,270,271,43],"7201604","project\u002Fneutral\u002Fnone","hakcermani",[273,43,43,252,267,43],"7201790",[275,43,47,276,277,43],"7201943","project\u002Fpositive\u002Fperformance","dhoulb",[279,43,17,280,281,43],"7202192","project\u002Fcritical\u002Fperformance","dclara",[283,43,37,243,284,43],"7202063","baddox",[286,43,37,243,287,43],"7202101","devgutt",[289,43,43,290,291,43],"7202695","other\u002Fneutral\u002Fnone","yelnatz",[293,43,43,252,294,43],"7203198","joshuahhh",[296,43,43,252,297,43],"7205827","dmethvin",[299,43,37,243,300,43],"7205056","mcpherrinm",[302,43,37,243,303,43],"7202142","zarex",[305,43,37,243,306,43],"7207594","fiatjaf",[308,17,37,266,217,43],"7201479",[233,17,43,310,10,17],"maker\u002Fpositive\u002Fnone",[312,32,47,313,314,43],"7201435","project\u002Fpositive\u002Fnone","wesley",[110,37,37,316,111,43],"project\u002Fmixed\u002Fexecution",[318,37,43,319,10,17],"7201426","project\u002Fneutral\u002Fexecution",[321,37,37,319,322,43],"7201446","mrfusion",[324,37,43,319,10,17],"7201463",[326,37,37,243,327,43],"7203395","fudged71",[329,37,43,290,330,43],"7201432","dylz",[332,37,43,290,111,43],"7201437",[334,37,43,290,267,43],"7201571",[336,37,43,290,337,43],"7201641","ecesena",[339,37,43,252,267,43],"7201781",[341,37,43,252,342,43],"7202692","bpicolo",[344,37,43,290,345,43],"7202861","hnha",[347,37,43,252,348,43],"7201661","adambard",[350,37,43,252,351,43],"7201749","windsurfer",[114,37,43,290,115,43],[354,37,43,252,355,43],"7202596","jodrellblank",[357,37,43,290,115,43],"7206978",[359,37,17,360,351,43],"7202724","project\u002Fcritical\u002Fprivacy",[362,37,43,290,363,43],"7204756","snikch",[365,37,43,290,366,43],"7204850","codygman",[368,37,43,290,369,43],"7205199","mike-cardwell",[371,37,43,290,369,43],"7205215",[373,37,43,290,374,43],"7202538","hnriot",[376,37,43,290,351,43],"7202869",[378,37,43,252,366,43],"7204845",[380,37,43,290,381,43],"7205155","ben0x539",[383,37,43,252,366,43],"7204843",[385,37,43,290,386,43],"7201912","nimish",[388,37,43,252,389,43],"7201969","StavrosK",[391,37,43,252,366,43],"7204857",[393,37,43,290,394,43],"7201987","michaelmior",[396,37,43,252,397,43],"7202223","steveklabnik",[399,37,43,290,400,43],"7202037","derefr",[402,37,43,290,403,43],"7202422","tmzt",[405,37,43,252,406,43],"7203004","dfabulich",[408,37,43,252,400,43],"7203108",[410,37,43,252,406,43],"7204398",[84,41,47,276,85,43],[413,41,43,414,10,17],"7202262","maker\u002Fneutral\u002Fnone",[416,41,17,280,417,43],"7202469","thenomad",[419,41,43,414,10,17],"7202524",[421,41,37,266,85,43],"7202642",[125,47,37,243,126,43],[424,47,43,414,10,17],"7202067",[88,426,47,276,89,43],6,[428,426,43,252,10,17],"7201913",[157,39,47,430,158,43],"project\u002Fpositive\u002Fexecution",[432,39,43,243,10,17],"7204911",[434,39,37,266,158,43],"7205250",[140,237,17,360,141,43],[437,237,43,270,10,17],"7201404",[439,237,37,270,440,43],"7201483","hrjet",[442,237,43,270,10,17],"7201514",[444,237,43,252,445,43],"7201513","grandalf",[447,237,43,448,449,43],"7201746","commenter\u002Fneutral\u002Fprivacy","nawitus",[451,452,43,290,453,43],"7201895",9,"pokstad",[455,452,43,290,456,43],"7201975","sjwalter",[458,452,43,290,453,43],"7201982",[460,452,43,461,462,43],"7202242","other\u002Fneutral\u002Fperformance","ngokevin",[464,452,43,461,453,43],"7202386",[466,452,43,467,468,43],"7204409","other\u002Fneutral\u002Fidea","bikamonki",[470,452,43,290,453,43],"7204612",[472,473,17,280,474,43],"7201665",10,"soundoflight",[476,473,43,266,10,17],"7201702",[478,473,17,280,281,43],"7202249",[480,473,43,481,482,43],"7203063","commenter\u002Fneutral\u002Fperformance","samhoggnz",[484,473,43,481,474,43],"7211463",[187,486,37,243,188,43],11,[488,486,43,243,10,17],"7201537",[490,491,37,492,493,43],"7201561",12,"project\u002Fmixed\u002Fdesign","lmartel",[495,491,43,496,10,17],"7201582","project\u002Fneutral\u002Fdesign",[102,498,47,313,103,43],13,[500,501,43,290,502,43],"7202326",14,"ishener",[504,501,43,290,505,43],"7202420","sp332",[507,501,43,461,508,43],"7202449","crimsonalucard",[510,501,43,290,511,43],"7202463","pornel",[513,501,43,461,514,43],"7203768","userbinator",[516,517,17,518,519,43],"7205260",15,"project\u002Fcritical\u002Fexecution","p4bl0",[521,517,43,319,10,17],"7205335",[523,517,37,319,519,43],"7205450",[525,30,47,430,526,43],"7205567","westiseast",[191,528,37,243,192,43],17,[530,528,43,243,10,17],"7201592",[532,533,17,534,535,43],"7204491",18,"project\u002Fcritical\u002Fdesign","robgibbons",[537,533,43,496,10,17],"7204926",[539,33,17,280,540,43],"7203893","ruricolist",[542,33,43,266,10,17],"7204916",[200,544,17,545,201,43],20,"project\u002Fcritical\u002Fidea",[176,238,37,270,177,43],[548,238,43,270,10,17],"7201452",[550,238,17,280,267,43],"7201558",[552,238,17,280,553,43],"7201923","mooreds",[555,238,17,518,556,43],"7201995","jwcrux",[558,238,17,518,553,43],"7202764",[560,238,43,561,10,17],"7202777","maker\u002Fneutral\u002Fdocs",[563,238,47,313,181,43],"7203594",[565,238,37,566,567,43],"7208243","project\u002Fneutral\u002Fdocs","tripzilch",[569,15,37,270,570,43],"7204205","auvrw",[572,573,37,270,574,43],"7201925",23,"wiradikusuma",[576,573,43,319,10,17],"7201938",[578,573,17,518,579,43],"7212988","pt",[121,581,37,266,122,43],24,[583,581,43,266,10,17],"7201529",[585,581,37,270,122,43],"7201727",[587,581,43,252,10,17],"7201737",[589,581,37,266,590,43],"7201978","aphexairlines",[592,581,37,270,281,43],"7202307",[594,595,37,270,596,43],"7202088",25,"loteck",[148,595,43,319,10,17],[599,595,37,270,403,43],"7202488",[132,601,17,602,133,43],26,"project\u002Fcritical\u002Fnone",[604,601,43,252,605,43],"7201589","sunir",[607,601,43,252,608,43],"7201941","corin_",[610,601,43,566,10,17],"7201607",[612,601,37,270,613,43],"7202979","philsnow",[615,616,37,243,617,43],"7201899",27,"lintiwen",[619,620,37,243,621,43],"7202084",28,"thasmin",[623,620,43,243,10,17],"7202094",[625,626,37,566,627,43],"7201675",29,"matysanchez",[629,626,43,566,10,17],"7201708",[631,632,47,633,634,43],"7201476",30,"project\u002Fpositive\u002Fidea","udfalkso",[636,632,47,633,637,43],"7201521","grobmeier",[639,640,37,270,641,43],"7201630",31,"kjannis",[643,640,43,319,10,17],"7201656",[168,645,37,243,169,43],32,[647,645,43,243,10,17],"7201849",[649,645,37,319,169,43],"7201952",[651,645,43,319,10,17],"7201991",[164,653,37,243,165,43],33,[655,653,43,243,10,17],"7201734",[657,653,47,430,165,43],"7201870",[659,653,17,545,660,43],"7205110","neilstuartcraig",[662,663,47,633,664,43],"7204655",34,"sagargv",[666,667,37,270,668,43],"7202118",35,"wololo_",[670,667,43,319,10,17],"7202132",[672,224,17,602,673,43],"7205288","davidslv",[675,676,47,313,677,43],"7202975",37,"resu",[679,680,47,313,681,43],"7205506",38,"toddwahnish",[683,684,47,313,322,43],"7201448",39,[686,684,43,270,10,17],"7201454",[688,684,37,270,689,43],"7201735","Kiro",[691,684,43,252,692,43],"7202032","liviu",[95,694,47,430,96,43],40,[696,697,43,290,698,43],"7202763",41,"insertnickname",[700,701,17,545,702,43],"7202133",42,"math0ne",[151,701,43,252,10,17],[180,705,37,566,181,43],43,[707,705,43,566,10,17],"7201930",[],[710,715,720,725,730,735],{"id":711,"name":712,"points":713,"category":714},"7224436","Siri-as-a-Service Speech API",242,"ai",{"id":716,"name":717,"points":718,"category":719},"7191187","Eliss Infinity",214,"games",{"id":721,"name":722,"points":723,"category":724},"7188119","Hacker News Hack",149,"consumer_social",{"id":726,"name":727,"points":728,"category":729},"7200043","Automatic VPN Generator",125,"security_privacy",{"id":731,"name":732,"points":733,"category":734},"7219025","Abacus",120,"web_saas",{"id":736,"name":737,"points":738,"category":739},"7193353","Pullup",96,"dev_tools",false,"v2",{"id":743,"name":5,"line":6,"ai":740,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":744,"top":17,"kw":745,"maker":10,"domain":746,"tier":18,"attempts":43,"strip":747,"url":-1,"mix":748,"praise":80,"objection":107,"sub":20},7201353,-0.01,[20,23,24,25,26],"","3333343300100052520013514111423135434551",[30,31,32,33],1793990902676]