DEV Community

Cover image for Lessons learned from publishing my first Chrome Extension
Adrian Matei
Adrian Matei

Posted on • Updated on

Lessons learned from publishing my first Chrome Extension

Recently I have developed a bookmarklet and a Chrome extension to make saving bookmarks to www.bookmarks.dev much easier. In this blog post, I will share with you some lessons learned from this experience.

1. It is easier than expected

Before I started digging into the topic, I thought developing chrome extensions was a sort of "voodoo" thing accessible only to the wizards of web development. But it is not like that. Sure you need to have some basic skills around HTML, JavaScript, CSS, and understand the provided Extension APIs, but the possibilities are almost limitless.

See My list of almost indispensable Chrome Extensions to get a glimpse of what I mean. Most of the extensions listed there have also links to their source code.

Source code for the Save to Bookmarks.dev extension.

2. Learn from the best?

Although the documentation is pretty good and well structured, I learned the most by watching this youtube video series by Daniel Schiffman from The Coding Train:

Alt Text

It is entertaining and easy to understand.

The accompanying blog article - Chrome Extensions (and Bookmarklets)

3. One time 5$ fee for Chrome Web Store

Before you can publish the Chrome Web Store, a one-time $5 developer signup fee. A reminder in the dashboard will appear until you pay the fee.

4. The User Interface of Chrome Webstore Developer Dashboard is not optimal

To say the least... There is a new version but with lots of limitations still.

It should stay in the header Please handle with care - I, for one, unpublished by mistake the extension. I was trying not to publish (remove from status Pending) a small doc update I've done on the metadata, not the extension itself.

5. Have some media available

You need to have some screenshots and optionally a video prepared. They should help the users get started with your extension. Below it's a link to a video for using the Save to Bookmarks.dev extension.

Alt Text

6. Limit required permissions to only what is needed for the extension's core functionality.

For example, I injected the content script programmatically to avoid having to declare a <all_urls> matcher in the content_scripts section of the manifest file, when the activeTab permission suffices.

The browserAction defined in the background script will trigger the execution of the content script:

chrome.browserAction.onClicked.addListener(iconClicked);

function iconClicked() {
  chrome.tabs.executeScript({
    file: 'content.js'
  });
};

Enter fullscreen mode Exit fullscreen mode

7. Have some patience before being approved

After publishing the extension, you might need to wait before being approved to be published in the Chrome Web Store. In my case, it took about 2 working days for publishing version 1.0.0 and five working days when publishing version 2.0.0 (it happened over the New Year's eve though, so most approvers might have still been in vacation)

If you have learned other important lessons about the topic please share them in the comments section below.

Top comments (1)

Collapse
 
aleksandrhovhannisyan profile image
Aleksandr Hovhannisyan

This is sorta off topic, but Daniel Shiffman is great! The dude's bubbling with infectious energy. I referenced his book, The Nature of Code, for an Artificial Intelligence for Games class that I took a while ago. He's one of those people who were clearly born to teach.