

Show HN: InboxSDK by Streak (YC S11) – Build Apps inside Gmail - alooPotato
https://www.inboxsdk.com

======
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 it either.

File:
[https://www.inboxsdk.com/build/inboxsdk.js](https://www.inboxsdk.com/build/inboxsdk.js)

Then I see the github page:
[https://github.com/InboxSDK/](https://github.com/InboxSDK/)

There is no InboxSDK project but, just two example chrome plugins using the
inboxSDK.

All the trappings and mechanics of open source without the actual source and
an actual open source license. Are you guys just testing this to see if you
can productize it? Or are you going to go all the way and open source this?

~~~
alooPotato
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 time horizon, we plan on open sourcing the entire implementation
of the InboxSDK but just not yet.

~~~
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?

~~~
olalonde
I can't comment on EU law but the ability to redistribute the (modified) code
is also a defining characteristic of open source
[http://en.wikipedia.org/wiki/Open_source](http://en.wikipedia.org/wiki/Open_source)

~~~
kuschku
Yes, but reverse engineered code is NOT subject to copyright of the original
author by law (there is an EuGH decision about this). IANAL.

Therefore it is, essentially, open source.

------
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 - exactly what you look for in an API.

This is a total game-changer. Very excited to see what the inbox will become
thanks to the Streak team.

Cheers!

And of course you can check out the DocSend extension here to get insight into
page-by-page engagement with your document attachments :)
[https://chrome.google.com/webstore/detail/docsend-
extension-...](https://chrome.google.com/webstore/detail/docsend-extension-
for-chr/nmkphfcebcpicnakipcmgapcckkbhppd)

~~~
nrao123
This is pretty cool!

What I am really dying/desperate for is a group chat feature within Gmail
where the chat rooms are permanent. I thought it was the biggest opportunity
for years. Slack built a billion $ plus business of group chat outside of
gmail. I am sure there is a reasonable sized opportunity for group chat within
Gmail!

------
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 InboxSDK integration portion is only 10 lines).
Would've saved a month of work if this was available the first time around!

Besides not having to keep up with breaking changes in Gmail, another really
nice benefit of using InboxSDK is that you don't have to keep updating your
extension to make sure that it plays nice with other extensions. This was an
unexpected and on-going source of development work for us previously.

Looking forward to the Google Calendar integration :)

------
alooPotato
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.

~~~
squiggy22
What prevents Google closing the door on this?

~~~
alooPotato
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. There are a handful of successful
businesses (like Streak and others) already built on top of gmail and have
been for years. These venture backed companies already trust their business to
be on top of Gmail. We're just making the process of building these apps
waaaay easier.

We take security and performance really really seriously. Because our SDK
helps you build Chrome extensions for Gmail, Google can (and has) shut down
shady apps from the Chrome Webstore, so they don't have to shutdown the entire
platform to get rid of a bad actors.

~~~
squiggy22
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 hacks that could break without notice. i.e.
they'd open up their own APIs to make building these sorts of apps themselves.

I absolutely commend you for what you are doing, I just wouldn't be willing as
a developer to dip my toes in that particular water to spend the time
developing something they could rip apart and break.

As a side note, the documentation page is broken on Mac Safari 8 on OSX
Javascript error:

TypeError: undefined is not a function (evaluating 'reference.endsWith('()')')

~~~
dkokelley
Sure Google could break this (maliciously or otherwise), but would you rather
have to keep up with their changes on your own, or build something that works
on InboxSDK, and let them play cat-and-mouse with the Inbox DOM? Worst case in
the latter scenario is that a feature is down for as long as it takes for a
fix to be released.

~~~
teacup50
I'd rather target open standards, like client-side SMTP/IMAP.

------
yid
If anyone wants to go a different route, Gmail has a fairly complete REST API
[1].

[1]
[https://developers.google.com/gmail/api/](https://developers.google.com/gmail/api/)

~~~
alooPotato
Yup - this is great for getting at some of the backend data in gmail, the
InboxSDK is designed to let you build apps inside the Gmail frontend
experience.

------
matthall28
We've been building our Gmail app over at
[http://CloseFox.com](http://CloseFox.com) with InboxSDK and have really been
enjoying it!

Definitely a lot better than using gmail.js

~~~
kartikt
Creator of gmail.js here. Can confirm

~~~
alooPotato
Gmail.js is pretty great too.

We're trying to take a slightly more higher level approach but there's def
still a few things we're missing that gmail.js does have.

~~~
conorgil145
Any chance of collaboration between the two projects?

------
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 maintaining the SDK so that their changes
automatically get pulled in, no need for us to release a new version of the
extension.

We used InboxSDK to create part of our DocSend Chrome extension. Our power
users who are in gmail 24/7 can't live without it. Thanks to Streak for
helping us enable our user base and keep happy customers happy! :)

------
Avalaxy
Can anyone explain how this is different from Google's Gmail Contextual
Gadgerts?
[https://developers.google.com/gmail/contextual_gadgets#what_...](https://developers.google.com/gmail/contextual_gadgets#what_is_a_gmail_contextual_gadget)

I'm looking to build a plugin that can automatically send a mail back under
specific conditions and allows follow-ups, but I'm not sure what tech I should
use.

~~~
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 access (only the first 1000 characters, and no
attachments) and in terms of UI (you get a small bar below the email - no
integration with the rest of the interface).

Even for our simple use case, which is essentially a button that makes an HTTP
request to a web service with the email fields, it felt limited.

It also suffers from poor debugging tools. They made some changes that broke
our gadget (I think it was the deactivation of OAuth 1.0) and there's no way
of knowing why it isn't loading, it just doesn't.

------
wslh
Reading [https://www.inboxsdk.com/terms](https://www.inboxsdk.com/terms) it
says this SDK is royalty-free. Is there any additional important licensing
issue to take into account before using it?

------
cherry_su
How does this compare with Nylas ([https://nylas.com](https://nylas.com)), who
claims they're the "next generation email platform"?

~~~
alooPotato
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
adopt their email client.

The InboxSDK takes a different approach in that it lets you extend Gmails
functionality and write apps for Gmail. End users don't have to switch their
email client (assuming their using the gmail web client)

------
andreineculau
Well done! I just hope that proper alternatives to customer support services
take the chance to surface. It's insane to see how they replicate 3/4 of
gmail/another-email-ui functionality just because they add 10% extra
functionality to streamline communication with customers (e.g. multi-language
canned responses, etc).

Build on top, reuse, don't copy-paste!

------
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 a change that's rolled out instantly for all users
(usually takes some time maybe even weeks). I mean you either have a TON of
feature testing to figure it out or you let it break; neither of which seems
very maintainable to me.

What's going to happen with the rumored update? I've been hearing rumors for
over a year now that gmail, calendar, contacts and even tasks are being
majorly overhauled; is there any collaboration with Google to make sure when
(or if) these rumors come true that it won't simply break everything day one?

Trying not to be a nay sayer; this is a great idea if you want to quickly add
something to Gmail without messing with the Gmail DOM yourself but it doesn't
seem to be a good long term bet to me.

------
wslh
If you are interested in this kind of hacks you can't miss Add-In-Express [1]
and my company's Windows Live Mail, Windows Mail, and Outlook Express APIs
that created SDKs around closed source products for more than 10 years.

[1] [https://www.add-in-express.com/](https://www.add-in-express.com/)

------
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 using this sdk would be
impacted.

~~~
alooPotato
We (streak) keep the SDK up to date. The JavaScript you put in your extension
remotely loads the actual implementation of the SDK. If gmail changes, we
change the implementation (fast) and your users get the change automatically.
You the app developer dont need to do anything or even update your extension.

~~~
bliti
Any blog post that explains this a but further? It should be an interesting
read, given that I assume you track changes and update programatically (to a
degree).

------
BorisMelnik
I've had an idea for a Gmail app I've been wanting to build for a while now.
Super easy but I need some help getting it built. This is pretty much a layup
in my opinion.

------
barraponto
I would love for such and SDK for Google Maps. It's ubiquitous and I'm always
trying to catch up with API breakage. Is there something like that?

------
venuzr
Any tips on how to integrate this with FE frameworks like Angular? Unit/e2e
testing?

Thanks for making this.

~~~
OmarIsmail
Cofounder of Streak and helped write a lot of the InboxSDK. I can't give a
definitive answer right now because we don't use Angular and thus don't have
much experience with it. If you're able to specify a DOM node as the root of
an Angular instance then you should be able to make it work.

If you try to make the top html tag as your root you'll probably run into a
bad time particularly if other extensions make the same assumption. One major
difference between writing an app for Gmail vs your own app is that multiple
apps can and usually are running at the same time. This was one of the main
motivations behind the SDK since many of our bug reports were a result from
extension compatibility issues.

We do e2e testing with selenium/webdriver - so it's definitely doable. Tip for
e2e testing is to pay for some extra Google Apps accounts so you can run your
tests in parallel.

------
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 for me to use Inbox, which I love)

------
timjahn
Nice! Was thinking about building a Gmail counterpart for Donald in the
future, looks like this will simplify/speed up development for that.

------
ellisonf9
Dear Gmail Team: Why haven't you acquired this team yet (Streak)?

------
keithwarren
Any plans to support exchange in future?

~~~
alooPotato
Sorry not at the moment. Actually Outlook has a really great API to write
JS/HTML based apps for their desktop client, web client and mobile client. See
[https://dev.outlook.com/MailAppsGettingStarted/GetStarted](https://dev.outlook.com/MailAppsGettingStarted/GetStarted)

~~~
mnkypete
Some marketing: We are actually providing a Javascript wrapper for most of the
official Outlook API, much more fully featured (incl. ribbons):
[http://developer.yasoon.com/](http://developer.yasoon.com/)

~~~
kodeninja
Yasoon looks cool! Is it Windows-only? At work we run Outlook on OS X, so not
sure if it's usable there.

~~~
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 :/

------
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 such an "innovation" revolutionary.

~~~
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. Just because you understand the
mechanism doesn't mean you should demean the herculean efforts of other good
hackers.

Also innovation isn't the idea. Innovation is actually implementing it.

