[{"data":1,"prerenderedAt":433},["ShallowReactive",2],{"project-9583976":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":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":103,"maker_in_thread":235,"shape":246,"grid":251,"attempts":394,"same_week":395,"maker_shows":237,"maker_hidden":425,"reader_version":426,"card":427},"9583976","InboxSDK","InboxSDK by Streak (YC S11) – Build Apps inside Gmail","title","Show HN: InboxSDK by Streak (YC S11) – Build Apps inside Gmail","https:\u002F\u002Fwww.inboxsdk.com","inboxsdk.com","alooPotato",1432227965,2015,176,62,103,2565,5,"notable","dev_tools","browser extension sdk","library",[24,25,26,27],"gmail","browser extension","gmail sdk","javascript api","curious",0.074,{"positive":31,"neutral":32,"mixed":33,"critical":18},7,20,0,32,{"execution":36,"idea":38,"docs":40,"design":41},{"positive":18,"critical":37},1,{"positive":39,"critical":39},2,{"positive":33,"critical":33},{"positive":33,"critical":37},[18,18,37,43,43,33,33,33,43,43,37,33,33,43,43,18,43,18,43,18,33,43,37,18,33,43,33,33,37,43,43,43,43,33,18,43,33,33,37,33],3,null,{"problem":46,"audience":62,"pricing":73,"motivation":84,"time_to_build":44,"stack":88,"openness":100,"stage":101,"team_size":102},{"value":47,"source":48,"evidence":49},"Building Gmail extensions requires fragile DOM hacking that breaks when Gmail changes","commenter",[50,54,58],{"id":51,"by":52,"text":53},"9584259","xpressyoo","Great job and initiative! Gmelius Founder here. A few questions: i) Are you planning to make the whole implementation Open Source? ii) Say I wish to adopt and use your SDK in my…",{"id":55,"by":56,"text":57},"9584107","ttaylorr","I'm confused why people see this as \"revolutionary\". At the core of it, this is just an abstraction around DOM-hacking. Anyone could have done this, and it is foolish to call…",{"id":59,"by":60,"text":61},"9584154","garry","It's a well maintained schlep of a DOM hacking API that makes complex interaction in a hugely important installed base of 1 billion users (previously nearly impossible) possible.…",{"value":63,"source":64,"evidence":65},"Developers building Chrome extensions for Gmail","inferred",[66,69],{"id":67,"by":11,"text":68},"9584134","Founder of Streak (YC S11) here - we built the InboxSDK using all of the work we've put into making Streak work great inside of Gmail. Happy to answer any questions about the SDK.",{"id":70,"by":71,"text":72},"9584087","matthall28","We've been building our Gmail app over at http:\u002F\u002FCloseFox.com with InboxSDK and have really been enjoying it! Definitely a lot better than using gmail.js",{"value":74,"source":75,"evidence":76},"Royalty-free, no plan to charge","maker",[77,80],{"id":78,"by":11,"text":79},"9584711","Well the great part about us working on the InboxSDK is that we need it ourselves for Streak. We were already doing a lot of the work and we wanted to more cleanly separate our…",{"id":81,"by":82,"text":83},"9584395","wslh","Reading https:\u002F\u002Fwww.inboxsdk.com\u002Fterms it says this SDK is royalty-free. Is there any additional important licensing issue to take into account before using it?",{"value":85,"source":75,"evidence":86},"Streak needed it internally to separate business logic from Gmail integration",[87],{"id":78,"by":11,"text":79},[89],{"value":90,"source":64,"evidence":91},"JavaScript",[92,96],{"id":93,"by":94,"text":95},"9584772","obvio","some more info on this here https:\u002F\u002Fwww.inboxsdk.com\u002Fterms",{"id":97,"by":98,"text":99},"9585335","kuschku","You do realize that any client-side code – especially with the universal right to decompile and adapt code in the EU – is essentially open source anyway?","unknown","launched","company",{"praise":104,"objections":127,"requests":161,"questions":185,"alternatives":201},[105,117],{"value":106,"source":48,"evidence":107},"Robust and easy to use, saves development time",[108,112,116],{"id":109,"by":110,"text":111},"9585195","schmielson","Co-founder of DocSend here - we've been powering DocSend's integration into Gmail with the InboxSDK, and it's been a fantastic experience. So easy to use, and very robust -…",{"id":113,"by":114,"text":115},"9584183","ttruong","We rebuilt the Gmail integration portion of our Screenleap extension using InboxSDK and reduced the size of our implementation from a bunch of files to 120 lines of code (the…",{"id":70,"by":71,"text":72},{"value":118,"source":75,"evidence":119},"Maintained changes to Gmail DOM quickly for users",[120,123],{"id":121,"by":11,"text":122},"9584275","We have systems in place to make sure we catch any changes to the DOM. We usually see these changes before 99% of gmail users and can make any necessary changes within minutes…",{"id":124,"by":125,"text":126},"9584558","flawless","Streak's InboxSDK is the missing link to augmenting gmail's functionality. Gmail is a rich product that always seems to be changing silently. The Streak team does a fantastic job…",[128,139,153],{"value":129,"source":48,"evidence":130},"Not open source; no license on the JavaScript",[131,135],{"id":132,"by":133,"text":134},"9584419","slackstation","You give the code in a .js file that you include in a browser plugin but, you don't state clearly whether this is or is not an open source project. The .js file has no license in…",{"id":136,"by":137,"text":138},"9584148","ahmetmsft","Why don't you host the source code on GitHub?",{"value":140,"source":48,"evidence":141},"Dependent on Google not breaking DOM-based integration",[142,146,149],{"id":143,"by":144,"text":145},"9584157","squiggy22","What prevents Google closing the door on this?",{"id":147,"by":144,"text":148},"9584517","A well rounded answer, but I'll pass for now. If Google really believed in your ethos of making the software more valuable via third parties, their platform wouldn't require dom…",{"id":150,"by":151,"text":152},"9586398","BinaryIdiot","Neat idea but I don't get how it works with feature rollouts. If Gmail is updated which changes the DOM and breaks the API how does the SDK handle being updated when it's rarely…",{"value":154,"source":48,"evidence":155},"Documentation broke on Safari 8",[156,157],{"id":147,"by":144,"text":148},{"id":158,"by":159,"text":160},"9585935","dtran","I'm sure you guys have already figured this out by now, but you just need to add a polyfill for `endsWith` since Safari doesn't implement the ECMAScript 6 spec.…",[162,167,178],{"value":163,"source":48,"evidence":164},"Open source the full implementation",[165,166],{"id":132,"by":133,"text":134},{"id":51,"by":52,"text":53},{"value":168,"source":48,"evidence":169},"Support for Exchange\u002FOutlook on Mac",[170,174],{"id":171,"by":172,"text":173},"9584165","keithwarren","Any plans to support exchange in future?",{"id":175,"by":176,"text":177},"9587244","mnkypete","Yeah, unfortunately it's Windows only atm. Outlook API's on Mac are basically non-existent, so we are having a hard time bridging these :\u002F",{"value":179,"source":48,"evidence":180},"Signature support in Inbox",[181],{"id":182,"by":183,"text":184},"9585532","thyselius","Does this mean I can have a SIGNATURE in Inbox now? If so, how? (I'm using Safari, so there hasn't been any way that I know of to use a signature, which is the one dealbreaker…",[186,194],{"value":187,"source":48,"evidence":188},"How does it handle Gmail DOM changes?",[189,193],{"id":190,"by":191,"text":192},"9585822","bliti","Serious question: How would this handle changes in Gmail? Google is the platform owner and may change it without prior notice. My interest is in understanding how would someone…",{"id":150,"by":151,"text":152},{"value":195,"source":48,"evidence":196},"How does it differ from Gmail Contextual Gadgets?",[197],{"id":198,"by":199,"text":200},"9584561","Avalaxy","Can anyone explain how this is different from Google's Gmail Contextual Gadgerts? https:\u002F\u002Fdevelopers.google.com\u002Fgmail\u002Fcontextual_gadgets#what_is_a_gmail_contextual_gadget I'm…",[202,209,217,227],{"value":203,"source":48,"evidence":204},"Gmail REST API",[205],{"id":206,"by":207,"text":208},"9584677","yid","If anyone wants to go a different route, Gmail has a fairly complete REST API [1]. [1] https:\u002F\u002Fdevelopers.google.com\u002Fgmail\u002Fapi\u002F",{"value":210,"source":48,"evidence":211},"gmail.js",[212,213],{"id":70,"by":71,"text":72},{"id":214,"by":215,"text":216},"9584481","kartikt","Creator of gmail.js here. Can confirm",{"value":218,"source":48,"evidence":219},"Nylas",[220,224],{"id":221,"by":222,"text":223},"9584906","cherry_su","How does this compare with Nylas (https:\u002F\u002Fnylas.com), who claims they're the \"next generation email platform\"?",{"id":225,"by":11,"text":226},"9584918","Nylas is really cool. If I remember correctly they are building a base email application that can be extended with plugins (like the atom editor). This does require people to…",{"value":228,"source":48,"evidence":229},"Gmail Contextual Gadgets",[230,231],{"id":198,"by":199,"text":200},{"id":232,"by":233,"text":234},"9585679","icebraining","In my experience (I've built a gadget for our internal use, to create tickets on our software from emails), the gadgets are fairly limited, both in terms of the content they can…",{"comments":236,"answered":237,"key":238},12,8,[239,242,243],{"id":240,"text":241},"9584909","Thanks for this. We're adding licenses to our examples that we have on GitHub and we're also adding a pointer from our inboxsdk.js file to our terms of service. Over a longer…",{"id":67,"text":68},{"id":244,"text":245},"9584246","Well, nothing really. But thats true for almost anything. We think you can trust the platform because we're fundamentally making Gmail better and more valuable to Google's users.…",{"commenters":247,"max_depth":248,"maker_replies":236,"first_comment_mins":249,"lifespan_hours":250},45,6,18,108,[252,254,258,260,262,264,266,268,272,275,278,280,281,282,283,286,288,290,293,296,299,300,304,305,308,309,311,315,317,319,321,322,323,325,328,332,333,334,336,337,339,340,344,347,349,351,353,355,359,363,366,368,373,376,380,381,383,385,388,389,391,392],[109,33,18,253,110,33],"maker\u002Fpositive\u002Fexecution",[255,33,43,256,257,33],"9586692","project\u002Fneutral\u002Fidea","nrao123",[113,37,18,259,114,33],"project\u002Fpositive\u002Fexecution",[132,39,37,261,133,33],"project\u002Fcritical\u002Fnone",[93,39,43,263,94,33],"project\u002Fneutral\u002Fdocs",[240,39,33,265,11,37],"maker\u002Fneutral\u002Fnone",[97,39,43,267,98,33],"project\u002Fneutral\u002Fnone",[269,39,33,270,271,33],"9585576","commenter\u002Fneutral\u002Fnone","oneweekwonder",[273,39,33,270,274,33],"9585986","jsprogrammer",[276,39,33,270,277,33],"9585635","olalonde",[279,39,33,270,98,33],"9587681",[67,43,33,265,11,37],[136,43,43,267,137,33],[143,43,43,256,144,33],[284,43,33,270,285,33],"9584193","gauravphoenix",[244,43,33,287,11,37],"maker\u002Fneutral\u002Fidea",[147,43,37,289,144,33],"project\u002Fcritical\u002Fidea",[291,43,33,270,292,33],"9584658","dkokelley",[294,43,33,270,295,33],"9585101","teacup50",[297,43,33,298,11,37],"9584924","maker\u002Fneutral\u002Fexecution",[158,43,43,298,159,33],[301,43,43,302,303,33],"9584196","project\u002Fneutral\u002Fexecution","pbnjay",[121,43,33,259,11,37],[306,43,18,253,307,33],"9585572","napoleond",[51,43,43,256,52,33],[310,43,33,265,11,37],"9584446",[312,43,18,313,314,33],"9584473","project\u002Fpositive\u002Fidea","snowmaker",[78,43,33,316,11,37],"maker\u002Fneutral\u002Fpricing",[206,318,43,256,207,33],4,[320,318,33,287,11,37],"9584754",[70,18,18,259,71,33],[214,18,33,270,215,33],[324,18,33,270,11,37],"9584573",[326,18,43,265,327,33],"9585594","conorgil145",[329,18,37,330,331,33],"9586454","project\u002Fcritical\u002Fdesign","wingerlang",[124,248,18,253,125,33],[198,31,43,256,199,33],[232,31,33,335,233,33],"other\u002Fneutral\u002Fnone",[81,237,43,267,82,33],[221,338,43,256,222,33],9,[225,338,33,287,11,37],[341,342,33,335,343,33],"9585171",10,"andreineculau",[345,346,33,335,82,33],"9584479",11,[150,236,37,348,151,33],"project\u002Fcritical\u002Fexecution",[190,350,43,302,191,33],13,[352,350,33,302,11,37],"9585842",[354,350,43,263,191,33],"9586265",[356,357,43,256,358,33],"9584105",14,"BorisMelnik",[360,361,43,263,362,33],"9584265",15,"venuzr",[364,361,43,298,365,33],"9584384","OmarIsmail",[182,367,43,256,183,33],16,[369,370,33,371,372,33],"9603046",17,"other\u002Fneutral\u002Fidea","barraponto",[374,249,18,313,375,33],"9584802","timjahn",[377,378,33,335,379,33],"9587342",19,"ellisonf9",[171,32,43,267,172,33],[382,32,33,265,11,37],"9584302",[384,32,33,335,176,33],"9584859",[386,32,33,335,387,33],"9586205","kodeninja",[175,32,33,335,176,33],[55,390,37,289,56,33],21,[59,390,33,270,60,33],[393,390,33,270,292,33],"9584184",[],[396,401,406,410,415,420],{"id":397,"name":398,"points":399,"category":400},"9588128","Visa Explorer",582,"data",{"id":402,"name":403,"points":404,"category":405},"9604203","jsblocks",337,"languages",{"id":407,"name":408,"points":409,"category":20},"9583384","jsgraphs",328,{"id":411,"name":412,"points":413,"category":414},"9610509","An old rotary phone converted into a mobile phone",222,"hardware",{"id":416,"name":417,"points":418,"category":419},"9598972","Typedetail.com",137,"creative",{"id":421,"name":422,"points":423,"category":424},"9608653","melody-jsnes",127,"games",false,"v2",{"id":428,"name":5,"line":6,"ai":425,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":429,"top":18,"kw":430,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":431,"url":9,"mix":432,"praise":106,"objection":129,"sub":21},9583976,0.07,[24,25,26,27],"5513300033100335353503150300133330530010",[31,32,33,18],1794036531550]