5
15 Comments

What does it take to create a browser plugin? Are you making browser plugins/extensions? Share it, and your story why you've made it

πŸ‘† Question from above

Your responses in the comments πŸ‘‡

on June 22, 2020
  1. 4

    We just (soft) launched our Chrome extension: Browse AI Recorder
    It lets you record your actions on sites, take screenshots, and capture texts (soon). It then uploads the recording to our server on AWS and we can run them for you on the cloud whenever you want.
    A couple of use-cases:

    • Monitor your competitor's site and get an email notification when they change their pricing or UX
    • Have Browse AI login to your site and perform actions every day, and send you an email notification as soon as something is broken
    • Automate actions like how Zapier does, except you can do it on any site, without coding.

    This was the first Chrome extension I've ever written, and it's probably one of the most complex ones out there. I used React and CRA under the hood for UIs, an AWS Lambda as the backend API endpoint, and AWS S3 as the storage for recordings.

    I found Google's official documentation for extension development quite good. There were only a few things that weren't answered there (like the review process and common rejection reasons) which I found out about on the official Google Group.

    It took me and another full-time developer about 8 months to develop the extension, the backend, the dashboard, and the marketing site. It was a pretty massive project.

    Let me know if you have any questions about my experience developing and publishing the extension. I'd be happy to help.

    1. 1

      tell me, yow do you deal with browser compatibility? I'm totally out of browsers extensions developing, so it's quite unknown for me.

      and you got there pretty massive infrastructure there.

      1. 2

        I decided to focus on Chrome for now because I read quite a few articles from developers who made their extensions compatible with both Chrome and Firefox and were now regretting it. My understanding is Firefox' extension API is pretty similar to Chromium's, and you can even make your extension compatible with the new Edge, but it definitely takes time to develop, maintain, and support, and I think for self-funded businesses its cost usually outweighs its benefit given Chrome's market share.

        As you said, our infra is pretty massive. That's another factor I considered when I decided to focus on Chrome for now.

        1. 1

          nice to know that. well, that is totally reasonable if you are self-funded or even just starting with it... we tend to optimize it even we get some traction... sticking with one browser is ok

          so, you're calling some of your APIs, I suppose... what else are extensions capable of?

          1. 2

            Chrome extensions are capable of A LOT. You can see a list here:
            https://developer.chrome.com/extensions/api_index

            1. 1

              this is a nice starting point to think about possible ideas

              not talking about world changing extension ideas, but for the start.... thanks

  2. 3

    I worked on the Datawallet 3.0 - Developer Edition extension at my previous company.

    Pretty cool stuff:

    • redux to help manage extension/page messaging
    • extensive cryptography usage for encrypting big files and storing them on local file system
    • loading iframes, handling authentication and scraping data from various sites (LinkedIn, Facebook, etc)
    • exposing a GraphQL API for querying data in a privacy preserving way.

    A lot of things I learned at that company and while working on the project that required this extension prompted me to create Portabella once I left.

    1. 1

      portabella is quite nice idea!

  3. 2

    I made this small Chrome extension for Dribbble, it lets you preview full size shots on hover, without having to open it. I've made it because I needed it and the available extensions were either not working anymore or not supporting gifs and videos.

    Writing the code took few hours - it's really very simple extension. And then I spent some time with other things around it, like creating the icon and other graphical assets, making a showcase video, making posts etc. So the whole process from start to finish took maybe 2 days.

    When it comes to learning resources, the official Google documentation and stackoverflow were sufficient in my case.

    1. 1

      this is small and simple, yet powerful extension... and it solved your need, which is nice++.

      which programming language do you use for writing extensions? I probably could find that answer on google, but what are you using if there are different options.

      which browser versions are mandatory to support, is there something like that? or you're free to support e.g. only latest

      1. 2

        just pure javascript, it's only about 60 lines of code really

        i think browser support is managed by google themselves, there are no requirements nor setup to choose which versions you want to support

  4. 2

    Because I'm just experimenting for a possible bigger project, later, I named it URL Rat to keep other people from trying to use it for non-educational purposes. But it takes each visited address and sends it off to a configurable URL for (hypothetical) logging and analysis. Because that's a terrible idea, especially security-wise, I doubt it'll ever appear in the marketplaces for such things...

    For anybody who might want an explanation of how the pieces fit together, I documented the base functionality in a blog post and will be publishing a second post about implementing browser storage on Wednesday.

    It's a surprisingly relaxing process. I only had a couple of points where I felt like I was beating my head against the wall, and the bigger one (browser storage for the configuration) was because I didn't read.

    1. 2

      what do you suggest as a starting point in building browser extensions?

      1. 1

        It depends on what you want to do. My blog post and repository both link to a great introductory article on MDN that'll walk you through a very simple extension that just puts a red border around mozilla.org pages, and my web post just builds on that frame. I'd highly recommend starting there, just to have a foundation to build on.

        If you want to add a pop-up window, that's their follow-up tutorial. To mess around with browser storage (like setting and retrieving settings), I couldn't find a tutorial, so that turns out to be today's post that puts what I learned in a single place.

        Feel free to bug me as you go, though I can't guarantee I'm always connected!

        1. 2

          that's more than enough... will bookmark this, thanks