Pale Moon Devs Ponder Dropping Current Codebase And Starting From Scratch (softpedia.com)
An anonymous reader writes: The developers of the Palo Moon browser are thinking of scratching their current codebase due to the fact that it doesn't support many of today's current Web standards, and because future Firefox plans will introduce incompatibilities within its codebase. The team plans to build a new browser from scratch, which they'll use to replace Pale Moon when it reaches a stable version. As with the old Pale Moon, the browser will keep Firefox's pre-Australis interface and still support many features removed in Firefox, like Tab Groups and full themes.
They are not building it from scratch. They will use a newer version of Firefox as a starting point. It is "re-forking". It is likely they will not use the latest version since they want to keep tab groups. Though it will be new code when compared to the old Palemoon.
I ran it in parallel with Firefox, mirroring every action, back when Firefox when firefox changed its UI: 300 tabs on each, playing videos and long text pages heavy css, and without closing for a few weeks.
The memory footprint was over a gig in PaleMoon-64s favour, and it wasn't showing any appreciable slowdown in performance. Can't speak towards Firefox nowadays, but I will note Pale Moon does seem to pick up a stutter with some videos lately if not shutdown. That could be entirely unrelated though.
Netscape 4 sucks, so lets throw it out and start again. Back when Spolsky could write he bitched about this.
Mozilla seamonkey sucks, so lets gut most of it and make Phoenix (now known as Firefox)
And now this again?
Users are fleeing Firefox like there's no tomorrow. The stats show that Firefox is likely around 7% of the browser market on all of the platforms it supports. The stats clearly show that Firefox's users are going to Chrome and Edge.
All we need is confirmation from Netcraft. Firefox is dying and bleeding users, flowing like a river of blood.
You don't need to be a Kreskin to predict firefox's future. The hand writing is on the wall: firefox faces a bleak future. In fact there won't be any future at all for firefox because firefox is dying.
I don't know that I'd call Edge buggy, unless you're running the preview versions (which are pre-release software and expected to have bugs). It is undoubtedly getting better, feature-wise, too. However, it is still fundamentally a toy browser, an overgrown mobile phone app, and it is really quite worthless as a consequence.
It has nothing resembling good tab session management (although they did add an interesting feature in that general area in the last preview update).
It offers basically no support over what JS can and cannot do.
It has basically no cookie filtering.
It has no tracking protection or ad blocking (IE first got these almost a decade ago).
It built-in Flash that can be globally disabled, but cannot be enabled and disabled for specific sites.
It has no support for tab grouping or switching tabs in last-used order.
It cannot understand RSS/ATOM feeds at all (renders them just as XML files, no feed reading ability).
It doesn't support per-tab taskbar items.
I'm sure there's many more features missing; I don't use it enough to find out because the list above already contains multiple deal-breakers for me. The only things it does well are its dev tools (which are not mobile-app-like at all), its rendering engine, and displaying which tab(s) are playing media. Nobody who has any choice in the matter should be using it on a desktop PC, and I say this as somebody who voluntarily uses all off Pale Moon, Opera, IE11, Chrome, real Firefox (on occasion), and Midori (on occasion, though it's pretty feature-less too).
There's no place I could be, since I've found Serenity...
sounds familiar
http://www.joelonsoftware.com/...
who needs another browser anyway?
Just to be clear... this is not Pale Moon writing their own web browser. This is Pale Moon reforking from a newer Firefox branch and reimplementing the features that distinguishes them from Firefox. So, the article and summary says "from scratch", which is misleading because it's not "from scratch" as most people understand the term (writing a new browser yourself from the ground up), it's modifying the newly branched Firefox code, adding their own new features or stripping out crap from Firefox. It's the Pale Moon features only that would have to be rewritten "from scratch".
Joel's advice doesn't account for this scenario, in which you're building new code on top of an existing forked codebase that is lagging behind modern web standards. There are only two choices: Moon Child can try to integrate massive amounts of Mozilla developer changes back into an older fork (impossible, really), or he can refork and redo his own changes. Given that undoubtedly Firefox's changes have been far more numerous and substantial, it probably makes sense to re-fork and rewrite the Pale Moon code.
Honestly, I'm not sure how this is really sustainable, as the same thing is bound to happen again in the future. And I've never figured out how anyone can be assured that Pale Moon is at all secure, either. I have a sneaking suspicion it's "secure" in the same way Macs (and Linux, actually) used to be secure - too small a target for anyone to bother with. I mean, I love the guts of these guys trying this, but... well, I wish them the best.
I also really hate whenever someone trots out this article of Joel's and presents it as gospel, because while it's a good rule of thumb, it's foolish to view any particular development rule as 100% inviolable. I've personally been involved in several highly successful near or partial complete rewrites of very large codebases. I'd say it's certainly a good default position to take - you'd need to convince me before tossing code and starting over. But there are times when doing so would actually be more damaging and end up compromising your new design too much in order to maintain compatibility. Often, it's far better to simply put in a compatibility shim, leave the old code behind, and build a new module next to it, switching over when backward compatibility is needed and slowly depreciating required dependencies.
Irony: Agile development has too much intertia to be abandoned now.