[{"data":1,"prerenderedAt":258},["ShallowReactive",2],{"project-3438512":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":15,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":42,"post_text":44,"what":45,"said":75,"maker_in_thread":153,"shape":163,"grid":168,"attempts":220,"same_week":221,"maker_shows":30,"maker_hidden":250,"reader_version":251,"card":252},"3438512","Veneer","Veneer, modal dialogs in 75 lines of JavaScript","title","Show HN: Veneer, modal dialogs in 75 lines of JavaScript","http:\u002F\u002Fadeel.github.com\u002Fveneer\u002F","adeel.github.com","adeelk",1325983005,2012,56,25,419,1677,"notable","languages","javascript ui library","library",[23,24,25,26],"modal dialog","javascript","mootools","lightbox","roasted",-0.254,{"positive":30,"neutral":30,"mixed":31,"critical":32},2,1,7,12,{"performance":35,"design":37,"idea":38,"execution":40,"docs":41},{"positive":36,"critical":30},0,{"positive":36,"critical":31},{"positive":30,"critical":39},3,{"positive":36,"critical":36},{"positive":36,"critical":31},[31,36,36,36,36,36,31,36,39,36,31,36,39,36,43,31,36,39,31,31,36,36,36,43,31],5,null,{"problem":46,"audience":44,"pricing":44,"motivation":56,"time_to_build":44,"stack":61,"openness":74,"stage":74,"team_size":74},{"value":47,"source":48,"evidence":49},"Modal dialog libraries add configuration options and features that users must hack around when they need something different","maker",[50,53],{"id":51,"by":11,"text":52},"3438643","Yeah, I did mention the line count in the title but the real point is that it doesn’t come with extra features that you’ll have to customize anyway. For example, there are a…",{"id":54,"by":11,"text":55},"3439639","Every modal dialog plugin I’ve seen takes the following approach: try to anticipate the ways people will use it and provide configuration options accordingly. The problem is that…",{"value":57,"source":48,"evidence":58},"Keep dialog code minimal and easy to extend rather than configured through many options",[59,60],{"id":51,"by":11,"text":52},{"id":54,"by":11,"text":55},[62,70],{"value":63,"source":64,"evidence":65},"JavaScript","commenter",[66],{"id":67,"by":68,"text":69},"3438585","chrisacky","Have I misunderstood your source?.. But when your first line of your README says that it depends on Mootools, which is shipping at like 40kb~, doesn't it kind of defeat the…",{"value":71,"source":64,"evidence":72},"MooTools",[73],{"id":67,"by":68,"text":69},"unknown",{"praise":76,"objections":88,"requests":121,"questions":133,"alternatives":138},[77],{"value":78,"source":64,"evidence":79},"Simple, hackable, covers the 80% use case well",[80,84],{"id":81,"by":82,"text":83},"3438901","phzbOx","I wish more \"library\" would be written that way. I.e. make the 80% use case as simple and clear as possible, and let the programmer change it if needed.. instead of providing…",{"id":85,"by":86,"text":87},"3438634","audionerd","I like what you did here. It's common for new developers to rely heavily on complicated Lightbox scripts, because it seems daunting to implement one on their own. Your script…",[89,101,111],{"value":90,"source":64,"evidence":91},"Requires MooTools, which is about 40kB, undermining the line count",[92,93,97],{"id":67,"by":68,"text":69},{"id":94,"by":95,"text":96},"3438766","tar","He is still relying on Mootools which is around 40kB in size.",{"id":98,"by":99,"text":100},"3443392","dylanhassinger","Your landing page should say that this requires Mootools.",{"value":102,"source":64,"evidence":103},"Modal dialogs are annoying and usability is a concern",[104,108],{"id":105,"by":106,"text":107},"3439049","perlgeek","As a user, I find modal dialogs very annoying, independently of whether they appear in the browser or in any other GUI application. Nice JS and all, but please think twice (or…",{"id":109,"by":106,"text":110},"3441864","I'm curious, can you name an appropriate use case for a modal dialog? The first few uses cases I know of that came to my mind didn't turn out to be so great after I thought a bit…",{"value":112,"source":64,"evidence":113},"Unclear what differentiates it from existing libraries",[114,118],{"id":115,"by":116,"text":117},"3439079","debaserab2","It's great that you've written a modal dialog library but what differentiates it from the other popular options out there? A 75 line modal dialog library (+mootools) isn't a huge…",{"id":119,"by":95,"text":120},"3438768","I don't really understand what's the point of using your 75 line script for creating modal dialogs instead of the one line solution mentioned by chrisacky.",[122,129],{"value":123,"source":64,"evidence":124},"Left\u002Fright arrow key support",[125],{"id":126,"by":127,"text":128},"3440353","epikur","I like it. Would it be very complicated to add left\u002Fright arrow key support?",{"value":130,"source":64,"evidence":131},"Document mobile and browser support",[132],{"id":85,"by":86,"text":87},[134],{"value":135,"source":64,"evidence":136},"Can an appropriate use case for modal dialogs be named",[137],{"id":109,"by":106,"text":110},[139,146],{"value":140,"source":64,"evidence":141},"ColorBox",[142],{"id":143,"by":144,"text":145},"3438917","ricardobeat","We've worked with ColorBox (http:\u002F\u002Fjacklmoore.com\u002Fcolorbox\u002F) for the past couple years and it does the job well, just have to clean up the IE6 cruft. 3rd example would be just…",{"value":147,"source":64,"evidence":148},"dojo\u002Fdijit Dialog",[149,150],{"id":67,"by":68,"text":69},{"id":151,"by":68,"text":152},"3439568","Sorry, it's actually dijit.Dialog({}). My bad.",{"comments":154,"answered":39,"key":155},9,[156,157,160],{"id":51,"text":52},{"id":158,"text":159},"3438775","If you're not trolling, can you show me how to reproduce my third example in one line?",{"id":161,"text":162},"3439644","There are usability concerns that you should consider, but that doesn’t mean there are no appropriate use cases. Anyway, you don’t have a choice when it’s a feature a client asks…",{"commenters":164,"max_depth":165,"maker_replies":154,"first_comment_mins":166,"lifespan_hours":167},11,4,48,63,[169,171,173,175,177,181,182,184,186,187,189,191,194,197,199,201,203,206,208,209,210,211,214,216,218],[67,36,31,170,68,36],"project\u002Fcritical\u002Fperformance",[51,36,36,172,11,31],"maker\u002Fneutral\u002Fidea",[119,36,36,174,95,36],"commenter\u002Fcritical\u002Fidea",[158,36,36,176,11,31],"commenter\u002Fneutral\u002Fnone",[178,36,36,179,180,36],"3439063","other\u002Fneutral\u002Fnone","adrianparsons",[151,36,36,176,68,36],[105,31,31,183,106,36],"project\u002Fcritical\u002Fdesign",[161,31,36,185,11,31],"maker\u002Fneutral\u002Fnone",[109,31,39,172,106,36],[188,31,36,172,11,31],"3447352",[143,30,31,190,144,36],"project\u002Fcritical\u002Fidea",[192,30,36,193,11,31],"3439649","maker\u002Fneutral\u002Fexecution",[195,30,39,196,144,36],"3440452","project\u002Fneutral\u002Fexecution",[198,30,36,176,11,31],"3447315",[81,39,43,200,82,36],"project\u002Fpositive\u002Fidea",[202,39,31,190,144,36],"3438918",[204,39,36,205,11,31],"3447364","maker\u002Fpositive\u002Fidea",[85,165,39,207,86,36],"project\u002Fmixed\u002Fdocs",[94,165,31,170,95,36],[115,43,31,190,116,36],[54,43,36,172,11,31],[212,43,36,213,116,36],"3441599","commenter\u002Fneutral\u002Fidea",[215,43,36,172,11,31],"3447285",[126,217,43,200,127,36],6,[98,32,31,219,99,36],"project\u002Fcritical\u002Fdocs",[],[222,227,232,236,241,245],{"id":223,"name":224,"points":225,"category":226},"3438124","DailyPag.es",69,"learning_science",{"id":228,"name":229,"points":230,"category":231},"3434617","Courtside.me",62,"consumer_social",{"id":233,"name":234,"points":235,"category":226},"3428910","My (late) holiday hack",40,{"id":237,"name":238,"points":239,"category":240},"3451959","Lanyrd Guides: Hacker News Meetups",39,"productivity",{"id":242,"name":243,"points":244,"category":226},"3451009","FindMe",29,{"id":246,"name":247,"points":248,"category":249},"3442265","gitmanual email service",24,"dev_tools",false,"v2",{"id":253,"name":5,"line":6,"ai":250,"cat":19,"year":13,"points":14,"comments":15,"rec":27,"s":254,"top":15,"kw":255,"maker":11,"domain":10,"tier":18,"attempts":36,"strip":256,"url":9,"mix":257,"praise":78,"objection":90,"sub":20},3438512,-0.25,[23,24,25,26],"1000001030103051031100051",[30,30,31,32],1794036492212]