Today we are announcing some major upcoming changes to Firefox add-ons. Our add-on ecosystem has evolved through incremental, organic growth over the years, but there are some modernizations to Firefox that require some foundational changes to support.
Extensions play a central role in Firefox’ appeal, so they have to be very careful with how they implement these changes.
IMO, browsers have gotten way too bloated, constantly trying to do things that standalone apps should be doing.
You got that right!
I disagree. Websites these days are complete programs that are being downloaded and run within the browser. So I like that I can view pdf within the browser as if it were a webpage. Integration with services like pocket, hangouts and hello seems like a no-brainer to me.
I am trying but I can’t think of a feature in a browser that should be left out.
I don’t know about integrating specific websites into browsers…
Addons for things like pocket and hangouts make sense, as well as a sharing API to allow addons to be installed to handle that.
IMHO, Native apps need to just die. Everything should be implemented via the web. I only use a terminal, browser, video player and image viewer on the desktop. Everything else is either a terminal application or a webapp.
With things like service workers, offline storage, web components, and app manifests, It does seem as though everything that’s not currently run through a browser will eventually be able to be. If you’re keen on alternative OSes, this is *great*; all your apps work everywhere.
Not to forget payments:
http://thenextweb.com/dd/2015/08/02/w3c-trying-standardize-payments…
An effort that goes all the way back to 2010.
Virtual reality:
https://www.youtube.com/watch?v=db-7J5OaSag
And asm.js and webassembly for making the web a better runtime for other languages:
https://blog.mozilla.org/luke/2015/06/17/webassembly/
etc.
Edited 2015-08-22 09:14 UTC
Oh well, that’s clearly the entire set of software applications anyone would use right there, so I guess we’ve solved that one.
Buy a Chromebook?
We don’t quite have enough features for everything to be replaced, but we’re close.
Stuff like Photoshop, Blender, etc. will be feasible in-browser following the release of webassembly.
Combined with application manifests, installing software is as easy as visiting a URL, and pinning the page to your taskbar/desktop/as a .desktop file.
There are hints for ‘chromeless’ applications, meaning you click the icon on your taskbar as regular, a window pops up with just application UI.
You can still use full-featured webapps like that offline, because they download the functionality you will need for offline usage in the background. For example, as well as google docs, there are image editors and games that run as web-apps, but don’t require an internet connection after you’ve visited.
This also ensures users are always on the most recent version, whenever they connect to the internet, by updating the resources of the web app.
There are a few standards that need to come into place, but it’s very close to being the case that there’s nothing a native app can do that a webapp can’t.
You certainly can’t say the same for native apps – installing, updating, ensuring compatibility with multiple platforms… They’re a nightmare in comparison. A good OS like Arch Linux certainly helps with a lot of that, but it still doesn’t give you the full flexibility of webapps.
The concept is sound, but the execution stinks. HTML is a deliberately loose page description language, CSS is a nightmare and Javascript is a joke. These are not the things we should be building anything of any importance with.
Web browsers are not, never should have been and should certainly never become an application framework. Sadly, what’s old is new again and the next generation have to learn all of the mistakes of the past, rather than engineering a proper solution.
You get it. I would thumbs up you if I could.
Edited 2015-08-23 00:34 UTC
So you prefer portable apps over “installed” versions. And you prefer them to be auto-updating. From a user standpoint there’s little difference. But, one requires an internet connection and the other can be maintained locally without any internet requirement at all.
ilovebeer,
Upvoted.
I think platform agnostic applications is a noble goal, one that I stand behind, but not with HTML/CSS/JS as the foundation. I work with it all the time, and I’m not a fan. HTML carries tons of evolutionary baggage and even if it’s technically possible it’s not a great solution for large scale modern application development.
Sure, native apps got its share of problems. Yet they still remain vastly more powerful and flexible over anything the web has to offer.
IMHO, for the end-user, the only real advantage web apps have over native is that the lack of a sandbox means that you have to trust the developer. The inconvenience of double-clicking a .MSI file to try a new program wouldn’t bother me one bit if it wasn’t because I never know what it might do (like if I can even completely uninstall it, if it comes with a virus, etc). Fix that and I’ll try *any* native app over a website any time except if I’m surfing news or watching youtube clips.
So you’ll own nothing, including your data, as it’ll all be “in the cloud” and every EULA will make the Windows 10 spying look like the FSF. Ya know what? I think I’ll pass, thx.
I love how many here think of things from a tech perspective like “it’ll free us from lock in! Everything will work everywhere!” without bothering to ask the most important question which is “How will corporations completely ruin this for monetary gain?” which we have seen time and time again is frankly the most important question by a factor of 1000, because these corps do not care about lack of lock in, the ability for users to “run anywhere”, all they care about is squeezing that last Shekel of profit out and if that means selling your data to anybody with a buck? Ripping off the work you do in these programs and selling it to anybody interested? tracking every move you make, word you type, button you push? Then that is exactly what they will do .
So before you cheer such a future? Take a looong hard look at all the tracking and spying of corps like Google and MSFT and ask yourself “is it really worth trading all my data and privacy for this?”
I prefer native local apps for as much as possible so i am not beholden to any website provider. Or if i just want to cut the cord and use a computer locally i should still be able to do my work.
Extensions are really what separates Firefox from everything else. I hope the changes doesn’t ruin it that about it.
Edited 2015-08-22 00:22 UTC
Given that they’re talking to people like Giorgio Maone (author of NoScript) about what APIs are needed and they’re taking about easy porting, not direct compatibility, it’s entirely possible that what they mean by “Chrome’s extension model” is “We’re splitting things up into content and and chrome processes anyway, so let’s focus on being a superset of Chrome’s API for familiarity and porting reasons”
That said, they’ve already piled a lot of straws on one camel’s back and, if I have to, I’ll research embedding APIs like QtWebKit, QtWebEngine, CEF, etc., write my own browser frontend to regain whatever functionality they killed, and then abandon Firefox.
https://github.com/The-Compiler/qutebrowser
If Firefox keep rubbing people the wrong way, I can see non-vim-ised forks of this project coming forth.
Currently I have over 40 add-ons installed and running. I do need all of them.
If we take into consideration Chrome’s add-ons model, then each tab of my Firefox will consume at least ~800MB of RAM. What the heck are they thinking? Do they want to shoot themselves in the foot?
You need 40 add-ons? Now I am seriously interested to see that list. There should be at least a dozen in there that everyone else needs as well
(also, 1 add-on requires 20 MB per tab???)
Edited 2015-08-24 08:21 UTC
As for Chrome add-ons memory use, it’s under More Tools -> Task Manager
The add-ons which I use are listed here: http://mzl.la/1JuCsep
Quite a few nice addons in there indeed. But to say you NEED all of them is really an overstatement.
Also, I just checked in Chrome and I have no extensions that are 20 MB or more and the amount of RAM they take is not per tab, so the few Chrome extensions that I use add up to 30 MB in total, not 800 MB per tab
It’s been my experience that, at the very least, these are subsumed by “Classic Theme Restorer (Customize UI)”:
– The Addon Bar (Restored)
– Movable Firefox Button
Also, you’ve got NoScript so I’m curious why you’ve also got RefreshBlocker, given that NoScript offers that feature.
In case anyone’s curious about MY long list of addons, here you go:
Security/Privacy:
– Beef Taco (Targeted Advertising Cookie Opt-Out)
– BetterPrivacy (expires LSOs based on inactivity in long-running sessions)
– Cookie Time (expires cookies based on inactivity in long-running sessions)
– HistoryBlock
– HTTPS-Everywhere
– NoScript
– Private Tab
– RefControl (force Referer headers to avoid IP-based tracking on CDNs)
– uBlock Origin
– User Agent Switcher (The Aurora-channel Ubuntu PPA useragent sticks out like a sore thumb on Panopticlick)
Convenience:
– Automatic Save Folder (currently broken in e10s)
– Classic Theme Restorer
– DownThemAll!
– FindBar Tweak
– Greasemonkey
– InlineDisposition
– No Flash
– Pure URL
– Reddit Enhancement Suite
– ScrapBook
– Stylish
– StumbleUpon
– Stylish Sync
– Video DownloadHelper
Stuff which should come standard:
– Custom Standalone Image Backgrounds
– [in-awesomebar RSS icon from Classic Theme Restorer]
– Disable Ctrl+Q Shortcut (Never close the browser by mistake again)
– JSONView
– Lazarus Form Recovery
– Restartless Restart (It’s just a new icon in the customize toolbox)
– Session Manager (to protect me from accidentally discarding my session on crash recovery)
– Show Keyword (It’s just one more field in the bookmarks panel)
– Tab Counter (It’s just a new widget in the customize toolbox)
– Tab Wheel Scroll (Every other browser and Linux GUI toolkit I’ve tried does this by default)
– Toggle Animated GIFs
Development:
– DOM Inspector (for writing the many XUL userstyle tweaks I use)
– Fangs
– InspectorWidget (“Inspect Element” button for XUL)
– Live HTTP Headers
Other:
– Gecko Profiler
– TiddlyFox extension for Firefox
Edited 2015-08-25 02:00 UTC
Palemoon is a fork of Firefox, works better, faster, and isn’t doing silly things.
They have 32 and 64 bit versions, and it supports sync and everything else – and more!
Palemoon.org