SE Radio 552: Matt Frisbie on Browser Extensions
Matt Frisbie, author of Building Browser Extensions, speaks with host Kanchan Shringi about browser extensions, including key areas where they've been successful. Based on Matt's experience as a developer working for Google, Doordash, and a startup he founded, they examine tools for building extensions, as well as APIs they have access to. The conversation presents detailed issues such as cross-browser compatibilities to keep in mind when developing extensions and mechanisms in the browser to prevent security vulnerabilities, and finally examines how emerging platforms can help developers take advantage of exciting new possibilities with web extensions.
Matt Frisbie, author of Building Browser Extensions, speaks with host Kanchan Shringi about browser extensions, including key areas where they’ve been successful. Based on Matt’s experience as a developer working for Google, Doordash, and a startup he founded, they examine tools for building extensions, as well as APIs they have access to. The conversation presents detailed issues such as cross-browser compatibilities to keep in mind when developing extensions and mechanisms in the browser to prevent security vulnerabilities, and finally examines how emerging platforms can help developers take advantage of exciting new possibilities with web extensions.
Show Notes
Transcript
Transcript brought to you by IEEE Software magazine.
This transcript was automatically generated. To suggest improvements in the text, please contact [email protected] and include the episode number and URL.
Kanchan Shringi 00:00:17 Hello everyone, welcome to this episode of Software Engineering Radio. This is your host Kanchan Shringi, and our guest today is Matt Frisbie. Matt has worked in web development for over a decade. He’s worked at Google, Door Dash, and has been a startup co-founder. As a Google software engineer, Matt worked on both the AdSense and Accelerated Mobile Pages platforms. Matt has very recently authored a book on browser extensions, which is our topic today. In addition to this book, Matt has authored three others, Professional JavaScript for Web Developers, Angular 2 Cookbook, and Angular JS Web Application Development Cookbook. Welcome to the show, Matt. It’s great to have you here. Is there anything you would like to add to your bio before we get started with browser extensions?
Matt Frisbie 00:01:03 I think that’s good. Yeah, I’m ready to talk about the book. Excited to be on.
Kanchan Shringi 00:01:07 So, let’s just start with what are browser extensions, and can you give us examples of popular extensions and possibly key industries where extensions are most popular?
Matt Frisbie 00:01:18 Sure. So, I say in the book that browser extensions are strange and powerful parasites, and I think that really captures the nature of them. So, they’re these pieces of software that are mostly written with standard web technology, and they sit on top of your browser and they can do a lot of things — just about anything. Really the only restriction is kind of the permissions you give it. And I describe in the book, they’re kind of a hybrid of a website and a mobile app. And so, from there you are really only limited by your imagination because I think most software developers don’t truly appreciate how powerful this software is. There are some limitations and we’ll get into that in the podcast, but I think that they’re really underrated as a platform, in general. So major industries, so according to Google, almost half of Chrome users have at least one browser extension installed.
Matt Frisbie 00:02:15 And I would bet any amount of money that the most popular extension is an ad blocker because that’s, most people do not want to see ads when they’re browsing the web, and ad blockers are extremely effective at that. So, that’s by far the most popular format. But obviously that’s not a money maker — it does tend to be free and Open Source software. But there are large companies that are based off of primarily browser extensions. So, the largest one that people have heard of is probably Honey, which is an extension that will automatically — well, it does a lot of things, but the thing that it’s probably best known for is it automatically looks up and tries coupon codes when you’re shopping online and then to get you the best discount. And PayPal bought Honey for 4 billion dollars just a couple years ago. So, Honey outgrew the browser extension platform, but that was still definitely its primary piece of software.
Matt Frisbie 00:03:09 So there are large companies. Loom is another great one. I actually know one of the co-founders of Loom, and their extension is a screen recording software that allows you to easily generate instructional recordings or whatever of a piece of software. And they have raised a ton of money. They’re eight figure valuation, they’re a huge company. A big piece of their software platform is a browser extension. So, these companies are out there. Other categories are like, AI assistance, like Grammarly is a big one, which watches you type and is able to make corrections and suggestions. Password managers is a big one, so like LastPass, although their reputation is a little bit stained lately. And then there’s also things like developer tools. So, React is far and away the most popular javascript framework. There are plenty of extensions that are able to kind of plug into a React project and then expose additional information that’s helpful to developers inside the browser console. So, there’s a ton of different places that browser extensions really thrive. And then there are some up-and-coming areas that I’m really excited about that we’ll talk about in the podcast.
Kanchan Shringi 00:04:19 So you mentioned Honey; you said they started as a browser extension, and now they have some other mediums, but starting as a browser extension is useful because it’s right there where the user needs them. And that certainly sounds very useful for React or any other dev tools as well. So, you talked about Chrome, we’ve used the word browser extension. So, can you develop the extension for one browser and expect to be able to run it on all others?
Matt Frisbie 00:04:49 Right, so the landscape is a little bit complicated right now. So no, there’s not a way to write it once and have it work everywhere. There are certain platforms that are trying to get closer to that, but there are idiosyncrasies that are unique to each browser. You have to do it slightly differently. However, the browser extensions have pretty much coalesced around the web extensions API, which was the successor to the Mozilla’s original extension language was XUL and XPCOM, which was a much more extensible and, some would argue, a superior platform that was able to customize almost anything about the browser. That has given way to the modern web extensions API, which has a smaller interface. It’s still quite powerful. And then that’s kind of the meat of what extensions use to do what they do. So, most browsers do support that API, but there are quirks that require special considerations for each browser.
[...]