As a software developer, you always want to be working on projects that will improve your technical skills and make you some money. What better way to do both than by developing chrome extensions?
In this blog post, I'll outline some of the benefits and drawbacks of developing chrome extensions from a software developer's perspective.
Here are the topics I'll be touching on in this article:
- Benefits of developing chrome extensions
- Drawbacks of Developing Chrome Extensions
- How To Get Started Developing Chrome Extensions
- Conclusion
Benefits of developing chrome extensions
Chrome extensions are an excellent way for software developers to reach a vast audience of users. In this section of the article, I'll outline some of the benefits of developing chrome extensions from a software developer's perspective.
Benefit #1 - Make Money From Chrome Extensions
First and foremost, developing chrome extensions can be quite profitable. If you can develop a popular extension, you can make money through advertising and premium features.
One of the great things about chrome extensions is that you can build them once and then sell them to many people. You can charge a one-off fee or even better a recurring monthly or annual subscription.
In my case, I decided to sell my chrome extensions via a SaaS monthly recurring subscription plan with an annual membership option too (2 months free). I've also offered my chrome extensions as one-time lifetime purchases ranging from $9.99 to $699 (yes, you read that correctly people have paid $699 for one of my chrome extensions!).
That said, the lump sum payment I received when I sold and exited from my chrome extensions overshadowed all of my subscription income. It was multiple six-figures and life-changing for me and my family.
Benefit #2 - Improve Your Development Skills
Building chrome extensions is a great way to improve your technical skills. It requires a good understanding of HTML, CSS, and JavaScript but if you're able to successfully develop a chrome extension, it will definitely look good on your resume.
You can also use chrome extensions as a way to learn new development frameworks and libraries. For example, you can build a chrome extension using a framework such as React, Vue or Angular to become more familiar with it.
My extensions were built using Angular JS, mainly because I had experience in it and prioritised faster delivery than experimenting with new frameworks.
Benefit #3 - Ability To Reach A Huge Audience
There were 3.6 million apps in the Apple App Store as of June 2021, which has an audience of around 1 billion users.
When it comes to Chrome, the contrast is striking: there are only 200,000 Chrome extensions with 3.2 billion users in the chrome store.
The chrome web store offers a much greater opportunity than the iPhone app store because there are far fewer apps per user.
That is, if you can create a decent chrome extension, you'll have a far higher chance of standing out in the chrome web store than you do in Apple's App Store.
Benefit #4 - Quick And Easy To Develop
Another great benefit of developing chrome extensions is that they're relatively fast and easy to develop. If you're familiar with HTML, CSS, and JavaScript, you should be able to build a simple chrome extension in a matter of hours.
Of course, the more complex and feature-rich your extension is, the longer it will take to develop. That said, being able to leverage Javascript frameworks such as React, Vue & Angular and CSS frameworks such as Tailwind & Bootstrap can really speed up your development process.
Benefit #5 - Portability To Other Browser's Stores
When you develop a chrome extension, you're not just restricted to the Chrome Web Store. You can also submit your extension to other browser's stores such as Opera, Edge & Mozilla.
While the number of users on these other browsers is significantly lower than Chrome, it's still an option worth considering. In my case, I decided not to submit my extensions to any other browser's stores because my users were generally all on chrome anyway.
That said, thanks to the browser extension standardization efforts of the W3C, it's now possible to write a single extension that can be installed on all major browsers with just a few small changes.
Benefit #6 - Low Running Costs
Another great benefit of developing chrome extensions is that they run locally client-side, meaning there's very little server maintenance and costs to worry about. This is in contrast to apps which require a backend server to function.
While this doesn't mean that developing chrome extensions is cheap or free, it does mean that the costs are significantly lower than developing apps.
In my case, I hosted the user's data within their own private Airtable base, which was on the free tier 99% of the time. Thus, the monthly server costs were negligible compared to the cost of provisioning and maintaining multiple backend servers.
If you're interested in getting started with developing Chrome Extensions, I've put together a free quickstart PDF guide you can download at the Ultimate Guide To Developing Chrome Extensions: Everything You Need to Know.
Drawbacks of Developing Chrome Extensions
As you can see, developing chrome extensions has a lot of benefits, but there are also some drawbacks to consider. In this section of the article, I'll outline some of the cons of developing chrome extensions from a software developer's perspective.
Drawback #1 - Built On Moving Foundations
As Chrome extensions are generally built to enhance a particular website, the developer is at the mercy of the website owners when they decide to change the look and structure of their website at any point.
For example, my chrome extensions were built upon the Merch By Amazon platform and once every few weeks or months Amazon would make small updates to their UI. This would mean that elements with certain IDs were no longer present or had been renamed. As such, they'd need investigation and resolving to ensure the app functioned as it was supposed to.
Drawback #2 - Potential For Copycats
As with any popular software, there is always the risk of someone copying your work and releasing it as their own. Whilst this is normally a case of the copycat copying your features and re-implementing them themselves, with browser extensions it can be much worse.
As everything runs client side, the potential for someone your copying source code is much higher and as such, it's essential to make sure your code is somewhat obfuscated and minified before release.
Bear in mind that Google still need to be able to understand your code for review purposes so you can't just encrypt everything to a completely unreadable state.
Drawback #3 - Google Can Change The Rules
It's Google's store and they can do whatever they want. This means that at any point in time, Google could make a change to their store policies which could negatively impact your extension in some way.
It could just be that they remove certain permissions that your app relies on but worse than that would be the removal of certain permissions/functionality that is core to your app. Ultimately, Google has its users' best interests at heart and will patch up any vulnerabilities they see which could render your chrome extension useless.
Drawback #4 - Complex Chrome Extensions Can Be Difficult To Develop And Debug
If you're looking to develop a complex chrome extension, be prepared for a lot of development and debugging time. Chrome extensions are somewhat difficult to debug and get working properly, especially as they're reliant on the host website behaving consistently.
This difficulty is multiplied when your extension interacts with multiple websites as you need to take into account the different ways each website behaves.
My chrome extensions relied on data being pulled in from AIrtable's API, calling some Amazon web services and bits of data off Amazon's webpages. If any of the parts bugged out or behaved differently then it was nigh on impossible to debug reliably.
Drawback #5 - Conflicts With Other Extensions
Chrome extensions can often conflict with each other, especially if they are trying to do similar things.
For example, one of my extensions would pull in data from a given website and display it in a table on the page. However, if another extension was also trying to do the same thing - say, by inserting its own table on the page - then it would often cause issues as the two tables would be fighting for control of the space.
Sometimes, you need to reach out to the other extension's developers to see if there's a way you can work around the issue but that isn't always possible if they're unavailable.
How To Get Started Developing Chrome Extensions
I have over five years of experience as a chrome extension developer and have earned multiple six figures in subscription income. I made even more than that when I sold and exited from my biggest chrome extensions.
Conclusion
Developing Chrome Extensions can be lucrative and rewarding for software developers, but it also has its drawbacks. You need to be aware of these before you start development so that you can plan for them and avoid any potential problems.
Here's to happy chrome extension developing!
Top comments (0)