The original comment is meant as an observation rather than an attack. It's great to see the author of the post use gmail.js to quickly get the sentiment analysis working with 30 lines of code.
The library was a fun side project and has been used by many companies (big and small) over the past few years. Its always nice to see someone make a cool extension on top of gmail.
Here is another one that came out a while ago (uses gmail.js) and on the same theme as this original post:
Creator of gmail.js here - thanks Nathan! I started working on this almost 3 years ago for a personal project. At that time there weren't many libraries available to work on top of gmail so I decided to compile all the helper functions into a standalone library hoping that after it goes on github, others might contribute.
After I did a Show HN in late 2013 a lot of people expressed interest in using this and ever since then, gmail.js has been used by a lot of individuals and startups. I'm really happy that people still frequently contribute to the library by adding features and/or reporting bugs and it has definitely gotten stronger and more stable over the past year (a very special thanks to Brent Kelly)
As a funny observation, the public sentiment towards gmail's DOM still remains the same as it was 3-4 years ago, and while I agree that it changes quite often, I do believe that the severity of those changes is heavily overstated. The disadvantage of an abstraction layer like gmail.js is that you always have to be on top of the DOM, but gmail.js is at a place where enough people are using it that if some major change occurs to the gmail UI, it'll be reported a lot faster because there is now a community using the library. In the past 3.5 years, only a single DOM change on gmail (about 2 weeks ago) has made a breaking change that affected all users from this library.
The whole thing is intentionally designed to be a single file where majority of the functions are standalone so if something goes wrong, anyone can easily understand how it works! That being said, a lot of the focus of this library is to abstract network events so developers making extensions on top of gmail can fire off events when a gmail user gets a new email, sends email, deletes etc. Those things rely very little on the DOM.
Adding UI heavy features with that library is going to be painful (especially a whole new tab interface). It's designed for a rather 'active' interaction with emails (I made it). Most of the auto reply algorithmic stuff can be accomplished through context.io
Hey zrgiu_, there isn't a native observer for that action yet but the closest call is to check if the user is inside an email. I've created a gh issue out of it so hopefully you'll be able to set triggers with the observer method, instead of setInterval
Most email data related methods are making the API calls. The DOM is being used for methods like checking if a user inside an email or if the user has preview panes enabled. Since the primary goal of the library is to aid with chrome extension development, checking items in the DOM is quicker.
Surely! I think the having it out there for anyone to contribute and modify will benefit all our us. Feel free to add on your suggestions or features that are missing :)
Thanks James! Your library was the inspiration for the observer methods. I agree with the maintenance part but I think having this out there will help reduce duplicating efforts.
The library was a fun side project and has been used by many companies (big and small) over the past few years. Its always nice to see someone make a cool extension on top of gmail.
Here is another one that came out a while ago (uses gmail.js) and on the same theme as this original post:
http://www.slate.com/blogs/xx_factor/2015/12/29/new_chrome_a...