First Time with Chrome Extension API

This is not a tutorial article on the Chrome Extension API. There's plenty out there, so this is more a fun discussion of what I enjoyed about using the application framework. 

For those programmers or soon to be programmers - the Chrome Extension API is a JavaScript / HTML / CSS framework that allows the developer to build essentially websites within the Chrome browser, whether a full page app or pop-up box.

The JavaScript API allows the app to access Chrome-based features and information such as tabs, history, window content and notifications. Other services like accessibility, internationalization and cron-like tools are also available. With that understanding, let's look at what makes this a great framework more generally. 

Let's first start with the API docs, speaking of tutorials. Well, these are tutorials per se, however, I am thoroughly impressed with the accessibility and simplicity they demonstration regarind the extension framework. By the time I got to the fourth API group, I was already intuiting what would be present and what calls would be named, and violia, I find what I need immediately. For beginners, particularly I imagine if you a programming newbie, this is such a blessing. Sure, it'd be great to know how to write JS well beforehand, but even the bare minimum of knowing how event listeners work will get you a long way. 

Which brings me to my second and perhaps biggest gush about the API - it's trimmed down simplicity. I'm reminded of the antipattern I've seen in joking projects like Simple PHP Easy Plus when I see an API like this. This is exactly what developers want most of the time. For basic services, we don't need extreme complexity or minute controls. I just need a couple couple calls to say - do this ONE things at some point. It's refreshing on its own, and empowering, as I believe the really exciting part about extension / plugin services is the combination of services rather than the direct detailed manipulation of those services one at a time. 

While the API calls themselves are mostly what you might guess Chrome would have available, the background app is perhaps the best part. As the name implies, a simple background.js (or whatever name) is a script that runs continually based on event listeners regardless of the state of the front end of the plugin. I found this helpful for not only the listening events, but app bootstrapping on installation as well. 

Simply put - it's nice to be able to quickly spin something up.

I don't know how big or powerful the Chrome Extension market is. I see a lot of popular brands on there, but I'm not sure how much that was motivated by the marketplace being yet another marketplace EverNote and the like need to be in, or if these are really used heavily as plugins. With that in mind, I'd say it's a great place for developers to cut their teeth a little and get something out there to the world. 

On that note - I will soon have an extension in the store called BetterSpent. Check out the gitHub project and let me know if you want to contribute.