10 ms·
The timeline of browser extensibility is quite fascinating. There's really not a single place that covers all of it, so I decided to research my own timeline/hi
by tschiller 5y ago
The timeline of browser extensibility is quite fascinating. There's really not a single place that covers all of it, so I decided to research my own timeline/history:
- Consumer web browsers (1993-)
- Plug-ins (1995-2015ish)
- User Style Sheets (1998-2019)
- Bookmarklets (1998–)
- Browser Extensions (1999–)
- Mozilla XUL (1997–2017)
- Alternative Browser Distributions (2004–)
- Userscripts (2005–)
- Converging on the WebExtensions API (2017–)
- Manifest V3 (2021–)
- No/Low-Code Browser Extension Builders (2021–)
Here's a link to the blog post with my research: https://medium.com/brick-by-brick/a-brief-history-of-browser-extensibility-bcfeb4181c9a https://medium.com/brick-by-brick/a-brief-history-of-browser...
Also, if you care about browser extensibility, join the w3 group (it's free) and watch the GitHub repo!
- TedDoesntTalk 5y agoWhat is the goal of this group since the current WebExtensions standard is already supported by almost every major web browser? If seems their goal is already complete.
- sneak 5y agoMalicious extensions, as well as the ability to block the browser vendor’s ads still pose a problem to these groups to be solved.
- techdragon 5y agoExcept Apple who don’t have the incentive of browser advertising and are currently selling privacy as one benefit of choosing their hardware (and by extension their software and browser [safari]) Mozilla make money from Google deals and so have outside incentives to not rock the boat too hard on this detail.
- contriban 5y agoKeep in mind that Safari has enough restrictions that uBlock Origin developers decided to stop supporting it, so ad-blocking is pretty poor there.
- shash7 5y agoThere's still a lot to do, mainly around distribution and publishing areas: - webextensions specific storage apis to return promises but chrome still needs callbacks - A few UI differences between chrome's extension popup and firefox's one means you'll need to potentially leave out features for one browser. - csp policies differs between chrome and firefox(and cors too I think) - UX differences between browsers means you'll need to write extra code, and maybe a few extra tutorials. - Difference between how permissions are interpreted on different browsers - Huge huge difference between publishing on chrome vs on firefox - Safari requires xcode, and therefore macos to publish
- lstamour 5y agoThat last restriction (Safari requiring Xcode) isn’t always a limitation, though. Most CI platforms support Mac for publishing apps to that platform. For instance, GitHub: https://link.medium.com/63hjdbRBQgb https://link.medium.com/63hjdbRBQgb and the Safari Web Extension command line parts are documented at https://developer.apple.com/documentation/safariservices/safari_web_extensions/converting_a_web_extension_for_safari https://developer.apple.com/documentation/safariservices/saf... Plus, you probably still need a Mac or a virtualized Mac (for automated tests, for example) because you’ll want to test your extension with Safari to ensure it works correctly.
- contriban 5y agoI don’t get your comment. You just confirmed that, indeed, you need a specific computer to publish Safari extension, which isn’t the case for Firefox and Chrome extensions. It is a limitation and it’s completely unnecessary for the end user. If they’re so lazy to have a extensions-specific store they could at least offer an automatic wrapper that they run before publishing. I should not need XCode anywhere in my build to publish web extensions.
- brutal_chaos_ 5y agoI think the confusion here is need to own vs need to use.
- SilasX 5y agoAt the end of the day, though, you can't remap keys in a fully general way in Firefox[1], so the experience has regressed. [1] Extensions can change it, but they don't take effect until the tab for current page has loaded, which often defeats the purpose.
- TedDoesntTalk 5y agoHow is that relevant to OP topic?
- jchook 5y agoAfaik Chrome does not support the standard, yet Firefox supports Chome’s API. As a result, most extensions seem to use the Chrome API. Firefox also provides a polyfill to adapt the Chrome API to the WebExtensions standard. More info here: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...
- TedDoesntTalk 5y ago> Afaik Chrome does not support the standard Chrome published the WebExtensions API, not Mozilla. Whether or not it’s a standard is another question, you could call it a defacto standard, but Chrome definitely implemented the api that they published.
- syshum 5y ago"WebExtensions" is a nebulous term and I can find no where that Chrome calls their API WebExtensions, it is simply the "ChromeAPI" Mozilla as even stopped using the term WebExtensions, instead just going with Extensions [2] The "spec" that most people refer to as WebExtensions, is BrowserExtensions orginally published by Microsoft via W3C [1] [1] https://browserext.github.io/browserext/ https://browserext.github.io/browserext/ [2] https://wiki.mozilla.org/Add-ons/Terminology#Background https://wiki.mozilla.org/Add-ons/Terminology#Background
- rasz 5y agoAs always its about control. Its a fight against general computing. The goal is deprecation of "remote code" execution, where "remote" means remote to Vendor, but local to user, aka anything not shipped and signed by the extension store.
- amelius 5y agoShouldn't Java be somewhere in that list?
- dimal 5y agoI hadn’t realized that user stylesheet support had ended. I feel like I should bemoan the loss of user control, but in reality, few people used them.
- amelius 5y agoI bet there are browser extensions that fill this gap.
- tschiller 5y agoYep, the first style manager extension was released in 2005 (Stylish). Style manager extensions are a much more frictionless way to manage and share styles The WebExtensions API has APIs for injecting styles: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...
- foxpurple 5y agoStylish was also found to be malware. This is the problem with extensions over browser features. You just can’t trust them with such critical data.
- Someone 5y agoI think Safari on Mac OS has them. If not, what’s https://support.apple.com/guide/safari/advanced-ibrw1075/mac https://support.apple.com/guide/safari/advanced-ibrw1075/mac meaning where it says “Style sheet To use your own CSS instead of webpage style sheets, click the pop-up menu, then choose Other.”?
- ximm 5y agoBookmarklets will die once Content Security Policies will get wider adoption, which I really hope will happen soon.
- tschiller 5y agoAccording to the spec, Bookmarklets should actually be exempt from a site's CSP. The reason is that the user's preferences should take precedence over a site's preferences There's an open bug in Firefox about this (because it doesn't follow the spec): https://bugzilla.mozilla.org/show_bug.cgi?id=866522 https://bugzilla.mozilla.org/show_bug.cgi?id=866522
- forgotmypw17 5y agoDo you know of a replacement for the last resort for transforming a web page into something readable for an individual with accessibility needs?
- npteljes 5y agoFirefox's Reader Mode maybe?
- extra88 5y agoA browser's built-in Reader Mode (Safari, Mac and mobile, Firefox, Edge's Immserive Reader, Chrome has one behind a feature flag) can be very helpful when they work. A better solution is probably one of the browser extensions, like Stylus [0], that enable not just a single user stylesheet but the ability to have custom stylesheet's on a per-domain basis. On top that personal customization, they can load stylesheets others have already created and shared on userstyles.org [1]. [0] https://en.wikipedia.org/wiki/Stylus_(browser_extension) https://en.wikipedia.org/wiki/Stylus_(browser_extension) [1] https://userstyles.org https://userstyles.org
- RHSeeger 5y agoI sure hope not. I rely on bookmarklets on a regular basis. I use them every day.
- Siira 5y ago> User Style Sheets (1998-2019) I’m still using them.
- 63 5y agoAgreed. I just made a new one last week.
- branneman 5y agoNow find some sources to cite with that timeline, and create a wikipedia article from it!
- jamal-kumar 5y agoAnyone else remember stuff that fizzled out like DHTML?
- toyg 5y agoDHTML didn't fizz out, people just stopped using the buzzword - because everybody uses it pretty much all the time.
- DaiPlusPlus 5y agoJust like AJAX - it's still a thing: you can't have SPAs without it.
- detaro 5y agoThe only thing that fizzled out about that is the name.
- Fnoord 5y agoI suppose you could link to the adoption and decline of methods of running code local (instead of remote) such as JavaScript, Adobe Flash, etc. But I also think its interesting to note how browsers became suits including a chat and mail client (protocols such as POP3, SMTP, IMAP, NNTP, IRC, FTP, etc) to focusing on WWW only (HTTP). Heck at some point browsers even had LDAP support for things like bookmarks and settings.
- jfrunyon 5y agoRip FTP https://chromestatus.com/feature/6246151319715840 https://chromestatus.com/feature/6246151319715840
- flomo 5y agoInternet Explorer add-ons (if only because they were kinda a scourge) https://en.wikipedia.org/wiki/List_of_Internet_Explorer_add-ons https://en.wikipedia.org/wiki/List_of_Internet_Explorer_add-...