Idea for a new browser product

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35476
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Idea for a new browser product

Unread post by Moonchild » 2016-03-15, 12:40

This is sort of an open letter to the community, because we're facing some difficult times in the medium-to-long future with the way the web is developing away from actual standards, and "standards" being currently mostly dictated by the same people who run the biggest browsers (Google, Microsoft) and web services (Google again, media sites, Facebook) -- including the W3C being heavily influenced and/or strong-armed into accepting standards that rather describe the way "the big three" are behaving than what is logical or should actually be part of clear, separated domains for different technologies involved in creating the Web.

I've had some recent talks with other core developers (feel free to chime in with your own experiences Tobin, Travis, etc.) and I think the only way forward from this impasse for the longer term is to create a new browser product that will start with a clean slate.

Some of the rationale behind this:

Lack of community development

Despite our clear and open invitation for more people to get involved in both core development and extensions, the uptake has been (really) slow. There's only so much a small team can do under constant demands from its users, and I'm personally stretched very thin over multiple disciplines trying to keep things together, since I can't delegate much to others (especially core work). I do understand that this seems like a mammoth task, and I understand the fear of touching a behemoth of a source tree that is 14 million lines of code, but anyone can start small and learn along the way or specialize into certain areas. I don't know everything about the entire code base either; nobody does. Not even Mozilla as a whole!
There's just a dawning realization that more people need to actually get involved for the amount of work involved in keeping up with the developing web and demands put on us by websites. So far, it seems our requests for help and the open invitation to jump in and help out with patches has been seen as being dismissive; please understand that it's not. I know that "patches welcome" has been used by certain companies publishing Open Source software as a "we're not going to despite being able" response, but understand that in the case of Pale Moon, we actually do welcome patches because we're not able to tackle every enhancement ourselves and need your help.

Missed the mark

Looking back at our forking point, we've "missed the mark" by a few versions of the Mozilla base code for several technologies. Hindsight being 20/20 and all, it's easy to look back and say "we should have used Holly and repair it" instead of staying with a known-stable base to build from - however, that is hindsight, and also the fact that 2 years ago we didn't know nearly as much about the code base as we do now so we likely wouldn't even have been able to have a stable browser out based on a dev version of the code. Unfortunately, that code was destroyed by Mozilla so a minor rebase isn't possible either to try and weave that code in (which would still be a huge task to accomplish - that a small handful of developers would not be able to easily tackle).
We "missed the mark" in a few areas: Promises and some other base ECMAScript 6 landmark features we don't have, certain streaming media support, Direct2D 1.1 (platform update versions of Windows) support, and some CSS features that are being adopted relatively commonly these days, to name a few of the more obvious ones. Porting this across to our Pale Moon code base would be possible though difficult, and require a lot of development time which we're not given.

Complications in the Mozilla code

Moreso than anything else, the Mozilla code has been very unstable, not just from a product view (although it's been one of the main reasons we forked when we did) but from an actual code structure point of view. This is mainly because of some rapid changes that started happening with many refactoring changes upon refactoring changes, e10s and FirefoxOS considerations that fundamentally changed some of the underlying structures, not to mention changes in coding style, which makes porting code increasingly difficult (and regularly impossible) because they build on (and were designed for) the changed underlying structures.
Without actual documentation about the intricacies of these changed structures because they are purely internal, rewriting code with the same functionality also becomes more difficult since it asks for reverse-engineering and tracing a simple change back to a complex refactoring and inherent behavioral change of the code involved. Mozilla code has become extremely heavily reliant on templates, classes, overloading, virtualization of functions and many, many stub and redirect functions to "pass the buck" to the correct module to process things in, which makes working with the code base very difficult. A lot of this also seems unnecessary, but it's understandable that Mozilla developers would want to use structural improvements to build on and, very similar to what we've been doing in some areas, change code around to remove obsolete or archaic code in favor of something more modern. Which brings me to the next point:

Compiler compatibility

From early on, the moment it was available, we've been ahead of Mozilla in terms of the compiler in use because of the inherent advantages offered by VS2012 over the (at that time used) VS2008 or VS2010. This has been a very straightforward choice because the code was (mostly) compatible with no real breaking changes. This is no longer the case, however. Since Mozilla moved to Visual Studio 2013, which has some significant breaking changes by aligning more closely to the C++11 code standard, as well as offering certain advanced OOP logic that our compiler doesn't offer, later code changes in the Mozilla code have become largely incompatible with what our compiler offers in terms of code features. Either way, we'd have to switch compiler on the medium term, with necessary code changes, to be able to adopt/port more code from the Mozilla tree. While this is certainly possible, it does add another hurdle for what Pale Moon currently builds on and from.

So, I've been looking closely at what would be a way forward, and the idea has come up to make a new browser product, re-forking from a later point in the Mozilla source tree to tackle the missed marks, compiler compatibility, and to some extent the complications in the Mozilla code. This re-forking would be done on the last stable version of Mozilla code that hasn't had a sledgehammer put to it yet and that offers the features and capabilities we as a project would still want (i.e.: Sync 1.1, XPCOM binary components in extensions, XUL, XBL, complete theme support, etc.).

This new browser fork would:
  • Be using (a changed version of) Goanna.
  • Be compatible with the current Web by far and large.
  • Retain our UI.
  • Not be able to directly load Firefox extensions, but be closely compatible, only requiring small changes in extensions to release them for it.
    This is an important consideration since XUL, bootstrap and SDK are being deprecated or already considered "legacy" (read: obsolete) by Mozilla and will be phased out completely. Instead of trying to remain compatible with a range of wildly different Firefox extension versions for a dying platform, it would make sense to evolve the extension ecosystem into something that would be specific to this new browser, with focused development on a stable and unique framework, removing all of the compatibility headaches we've seen recently as well as making things easy for extension developers to maintain their work for us.
  • Be able to adopt additional changes from Mozilla code more readily.
  • Be more compatible with Windows 8.1 and 10.
  • Not include telemetry or DRM of any sort (goes without saying).
  • Possibly offer WebRTC as an option if there is enough demand for it. If so, this will still remain low-key and not heavily maintained.
Mind you, Pale Moon would still remain to be Pale Moon and nothing drastic will change short-term; this is a long-term planning idea that will involve a lot of work if launched and will be given shape alongside our current efforts. If, instead, we get more influx of current Pale Moon development and help as a result of this discussion, then this idea may not even be brought to fruition.

I would like to hear your feedback -- but please read over this entire post and think about what is said before you reply, to keep this discussion focused and helpful to evaluate this idea.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

New Tobin Paradigm

Re: Idea for a new browser product

Unread post by New Tobin Paradigm » 2016-03-15, 15:57

I would like to add... The future of this proposal is entirely in your (the Pale Moon Community's) hands. You must take up the responsibility for how you would like us to proceed by voicing your concerns, opinions, and by getting involved.

A few years ago I started getting involved in the Pale Moon project because I saw first hand how Mozilla was changing. I was a community member of the SeaMonkey Project, though not a member of the council and was only a very occasional contributor. I have watched it from version 2.1 (gecko/2 - Firefox 4) onward deal and react to political pressure and developmental difficulties from rapid release all imposed by MozCo and watched them go from a group who bravely took up the burden of supporting the Suite software to transition through a major and almost complete rewrite to a group so scared to lose what few crumbs of assistance and infrastructure that Mozilla gives them to a group who's complete apathy with only a select few trying desperately to keep it alive when facing complete destruction of their core foundational technologies with JUST today a total and complete demoralization from their MozCo liaison for not adopting Firefox 110% during their very own status meeting with very little resistance to what this individual was saying.

This is not how to run an open source project.

During that time I discovered Pale Moon (around version 15 or so) I thought it was a pretty good alt build and what the developer had written on the site was compelling and more or less completely in line with my own thinking. As the afore mentioned downward progression of the SeaMonkey project was happening I joined this forum and community. I asked questions and eventually developed a relationship with the project. I thought what I learned from observing and testing in the SeaMonkey community could potentially be helpful and of course I am a web and graphic designer and could potentially offer something on that front. As the ESR24 train was progressing and Australis was approaching I really started becoming majorly involved. I launched a research project into a possible future of the Pale Moon codebase called uninspiringly vNext.

This project looked at taking the Pale Moon browser specific front end code and everything that makes Pale Moon.. Pale Moon and not Firefox or something else and progress it up the line with a target being the next ESR release. This project was successful to a great extent. Though of course the FE code needed fixed up here and there but it was achieved.. Pale Moon on gecko/29 and beyond without Australis or any Firefox specific code (in fact nothing from /browser in the gecko/29 tree was used only ours). Ultimately, it was conclusively determined at that time that the codebase was not stable enough to base the next however many years of development on. At that time the best course of action was to continue development of the browser on our already significantly modified and stable codebase. You got Pale Moon 25 and now Pale Moon 26 out of that.

During all this I positioned my self as doing the Add-ons Site for our new wholly forked browser on its new path. I quickly got a website up and tried to do as much as I could to ease the burdon of transitioning from v24 to v25 as much as possible. Today we have a good selection of already out of the box and listed Firefox add-ons, some good forks, and some lingering pseudo-statics. We can get updates not only from us and from AMO (Mozilla's Add-ons Site) and more work continues including a great amount of scraping to create a more complete mirror of AMO and to evolve the Add-ons Site service to the next level.

Interspersed with that effort I also worked on the codebase for Pale Moon and FossaMail. Largely dealing in the Pale Moon area with upgrading libs like libvpx as well as the build system. In FossaMail I worked to get the "comm" codebase to build with the same backend as Pale Moon uses as well as update components there such as the core code used by the email client's instant messenging capabilities. Along the way I was also involved in many "code cleanup" efforts such as providing a pivotal piece of the removing crash reporter effort and removing the maintenance service dead code. Also, those may remember the 3rd party build known as PM4XP which I and my nearly but never completely defunct site Binary Outcast provided. Suffice it to say I have done a lot along with the massive amount of work others have done.

All in all we have all launched some amazing things with Pale Moon including the ever evolving Add-ons Site, our own Sync Service, a reborn IRC channel, the Github repos, a new code cross-reference service and enhanced what we already provided in the past. Yet.. we have made some .. I don't want to call them mistakes but as Moonchild said missed the mark with some particular aspects.

For me personally this is largely in the area of the Pale Moon Add-ons Site.. We spend so much time trying to work out why your extension has failed or what extensions are broken.. who to contact.. etc. That there is hardly any time left over to get what we should be doing.. done.. Which is build and develop the foundation of the site its self. We need to focus on enabling users, developers, forkers, etc to be able to get their extensions out there.. NOT fixing every busted extension or porting every theme ever. This is not really the job we signed up for and YET we have been doing just that to satisfy short term issues and ignoring the long term issue that without a way for developers to /easily/ get their extensions out there we will likely never see more than a handful up on the site.

This also leads into the issues with the Pale Moon codebase as it stands today. We are trying desperately to support extensions from what could be considered generations ago. Current and recently abandoned Firefox extension developers are not very likely to ditch their new code or build in 20 different work around to support us specifically. Some will.. and that is awesome.. But some won't and we are losing out on that big time. We are currently so obsessed with FIREFOX extensions that aren't going anywhere and not making it worthwhile to make PALE MOON extensions either on the site infrastructure side or the developer side. This needs to change regardless of the above proposal goes forward or not.

We are all a community and this is community driven software. What you do or don't do has a direct affect on what the end result of the product becomes. We must pull together and decide our own destinies go forward regardless if this purposed path is the right one or the path we have been firmly on for the past few years. We as a unified community need to make that decision.. Not just Moonchild, my self, and a few others. If we fall into that trap... Then we are no better than MozCo.

I request everyone read BOTH posts clearly, closely, slowly, thoughtfully, and completely. Then voice your opinions, ideas, and questions here. This is likely the most important thread this project has ever seen and it requires everyone to participate.

User avatar
TwoTankAmin
Keeps coming back
Keeps coming back
Posts: 777
Joined: 2014-07-23, 13:56
Location: New York

Re: Idea for a new browser product

Unread post by TwoTankAmin » 2016-03-15, 16:39

You need to find a source of income from P M. Altruism doesn't feed the baby.

This is a lot easier to say than it is to implement. Basically, the net gives one two choices, charge for it or else sell advertising. One can, of course, use both. So the issue becomes how to generate income from P M which can then be used to pay people to do what is needed.

I am not sure if there is a way to generate income that would succeed. Browsers are free because you are the product and you pay in ways that make you feel as if you are not actually doing so, I fall into the camp of users who can afford to pay and am willing to do so. But all those users who expect things for free and free from ads clearly will not. Since i do not have any clue how many regular users of pale moon there are, i can even begin to guess how much would be affordable for most to pay, were they willing to do so.

100,000 users who each pay $10 a year only generate a million dollars. That may sound like a lot, but considering what decent programmers etc. can earn, that 1 million would not go very far. $10 is not a lot to ask people to fork over for what they are getting. Now if there are 1 million users of PM and they each pay that $10 then $5,000,000 starts to look good. On the other hand, I think advertising in the browser might alienate many users.

And then I wonder about this. The idea of redoing it all as you outline above is going to take time and people. If you cannot pay them, how can you induce them to do the needed work?

Some people may be willing to work for less than they might earn working for some of those big companies you name, but that is fr cry from working for free.

Perhaps you should consider putting up a poll here to test what people think. You might also consider emailing users asking the same. Here is a basic outline of what i would ask:
1. If Pale Moon had to cease to exist because the people involved cannot afford to keep working for basically contributions from users and cannot get additional help, how willing would you be to pay a small fee yearly to keep it going?
a) I would never pay.
b) I would likely pay if it was not too much
c) I would gladly pay not to have to use the alternatives.

2. If you chose b) or c) above: Which of the below best describes what you might be willing to pay?
a) $10-$20/year
b) $21-$35/year
c) $36-$50/year
d) Another amount: $___________ (enter amount).

3. If the only way to keep Pale Moon available was to do some advertising, how would you feel about that:
a) It would turn me off completely and I would try to block such ads or else switch browsers.
b) I would accept a modest amount as long as it was not too intrusive.
c) I would rather have ads like many other products and sites to be able to keep using Pale Moon with all its great features.
d) I would accept ads as long as users who paid the yearly fee have the option to block them. Only those who use the browser free would have to see some ads.

4. I am a pretty savvy user, as such I believe the following about most free software/apps and sites:
a) They are truly free and there is no form of cost to me in any way. I am not a product.
b) There is no such thing as a free lunch. I will be paying for for "free" software/apps or sites in some fashion. I am the product to some degree.
c) I do not care about anything except that software/apps and/or sites costs me no actual money to use.
d) I would rather pay something not to be the product and/or not be subjected to having to view ads.
I think if you can get a decent number of the current user base to answer a pool or survey like that, you would get a pretty good idea where the future course for Pale Moon might be. Moonchild you already know I fall into the camp of hating ads and being more than willing to pay to be able to have an alternative like your browser to use. I believe what you really need to know is if there is any economically viable path towards what you envision as the right future for P M. I am not suggesting the browser be a profitable venture, only that is generates sufficient income to pay a fair amount to people for doing the work you need done. This includes you.

I am wondering if this is not the potential chance for you to do what Mozilla set out to initially, before it lost its way. Perhaps it is possible to take a page from the 1960s and make Pale Moon a communal browser. Users contribute enough to make it economically viable and the people who do the work contribute their skills and time for something less than they could earn if they wanted to be paid the most possible. There must be a middle ground out there which would be acceptable most of those involved from all sides.

I hope I am not off base here with the above. But I would not like to see the demise of Pale Moon. To quote Bob Dylan, or rather, to paraphrase him,

'Twas in another lifetime, one of toil and blood
When blackness was a virtue and the road was full of mud
I came in from the wilderness, a creature void of form.
"Come in," P M said,
"I'll give you shelter from the storm."

Crowdfunding
From Wikipedia, the free encyclopedia
(Redirected from Crowd funding)

Crowdfunding is the practice of funding a project or venture by raising monetary contributions from a large number of people, today often performed via internet-mediated registries, but the concept can also be executed through mail-order subscriptions, benefit events, and other methods.[1] Crowdfunding is a form of alternative finance, which has emerged outside of the traditional financial system.[2]

The crowdfunding model is based on three types of actors: the project initiator who proposes the idea and/or project to be funded; individuals or groups who support the idea; and a moderating organization (the "platform") that brings the parties together to launch the idea .[3]

In 2013, the crowdfunding industry raised over $5.1 billion worldwide.[4]
https://en.wikipedia.org/wiki/Crowdfunding

Edited to add: I am not a programmer, but I would be willing to volunteer some of my time to help in other ways if I can.
“No one has ever become poor by giving.” Anonymous
“Everyone is entitled to his own opinion, but not to his own facts.”" Daniel Patrick Moynihan
"The good thing about science is that it’s true whether or not you believe in it." Neil DeGrasse Tyson

New Tobin Paradigm

Re: Idea for a new browser product

Unread post by New Tobin Paradigm » 2016-03-15, 17:16

I don't think throwing money at the problem will fix it or make it go away Mozilla already tried that. There are plenty of other open source projects out there that don't go to those lengths.. If everyone, who as you said would gave 10 dollars, were to learn then apply that to do a little bit here and there on an on-going basis instead then that would truly solve the problem. As community driven software the community should, you know, drive the software.

Also, remember this:
Moonchild wrote:Mind you, Pale Moon would still remain to be Pale Moon and nothing drastic will change short-term; this is a long-term planning idea that will involve a lot of work if launched and will be given shape alongside our current efforts. If, instead, we get more influx of current Pale Moon development and help as a result of this discussion, then this idea may not even be brought to fruition.

Octopuss

Re: Idea for a new browser product

Unread post by Octopuss » 2016-03-15, 17:35

I don't know anything about coding, so I will only ask this: First you say Firefox's code is basically a mess, and then you talk about creating new PM "from scratch" from later version of the same code. I don't understand.

freefrog

Re: Idea for a new browser product

Unread post by freefrog » 2016-03-15, 18:14

I am excited about Palemoon as a project but I have trepidation about getting involved. There are fundamental things I believe need addressed before Palemoon can be developed successfully.

As both Moonchild and Tobin pointed out, contributors are lacking. It needs to be said: the scale and complexity of development and the constant necessity of being compatible with the web requires a substantial community of developers. Period. In light of this, Palemoon should be doing everything possible to lower the barriers to understanding the project goals and what needs done.

A re-base to a recent version of Firefox does not help this issue and I believe this is a false premise (that's not to say there aren't good reasons for re-basing). It's seldom the case that difficulty has discouraged open source contributors. Motivation to see a project succeed trumps the difficulty of a task, always. What needs to be addressed are those aspects of the project that discourage motivation to contribute. These aspects are almost solely communication problems.

Like it or not, the frontpage at palemoon.org is what everyone sees when first introduced to Palemoon. It's simply tedious or impossible to get to any of the following when I arrive on this page:
  • why does this fork exist?
  • what problems with Firefox does this fork address?
  • how can I contribute?
  • what do I need to know before contributing?
  • what are the current (development) issues?
  • what is being worked on right now?
  • I have an idea/problem; are the developers aware of it?
  • what is the project roadmap?
Some of the most interesting and motivating information about this project I learned by manually searching the forum. What a travesty! Of those, one of the most important was the clear and unwavering vision for the project and the great responses by the project leaders to questions regarding Mozilla's development decisions and how Palemoon differs in philosophy. This info needs to be front and center.

I was shocked when I realized that Palemoon did not have a public issue tracker, especially one like Bugzilla. Having the forum as a recommended way to file bugs and suggest features is, frankly, an abomination. Github issues are woefully inadequate for project like this. Having a proper public tracker will facilitate development interest in very big ways. Imagine a fellow developer sent you a link to an issue on an open source project you had never heard of. Which format allows you to gain context and information most efficiently and therefore hold your interest longer: a forum thread or a Bugzilla bug? The ability to discuss, fix, follow, and reference development issues is sparse and laborious.

All of these factors are active barriers to entry and discourage motivation to contribute. I need to stress how important they are. When people feel their time is being wasted or when information is not readily available, they leave. They also intuit that others will feel the same way they do and conclude there will be few people to help them and development will be slow. Addressing these issues not only aids in the development process: it changes the public facing image of the project.

Make it easy to gain context about the project. Make it easy to discuss development. This is where Palemoon needs fixing. If it's understood that Palemoon will flounder without community involvement, then there is no question that increasing community involvement should be made a top priority. No changes to Palemoon's code will accomplished this!
Last edited by freefrog on 2016-03-15, 18:51, edited 1 time in total.

New Tobin Paradigm

Re: Idea for a new browser product

Unread post by New Tobin Paradigm » 2016-03-15, 18:50

freefrog wrote:A very good post.
Believe it or not.. I completely agree with pretty well everything that you have said. These are areas that other users in the IRC channel have also been expressing and I have been considering how to approach bringing this up.. But hey.. A great post saved me from that then.

The forums while fantastic for more direct user to user and developer to user communication (along side the IRC channel) do work but I have felt that it does not act as a catchall.. Especially for the more formal aspects of open source development. Don't get me wrong, the site as it stands today is full of information and it was thoughtfully put together but as we all have noted maybe what is prioritized on the site is not serving our users as well as it once did back in the pre-v25 days.

That also isn't to say the site needs to be "modernized" with huge flat colored square graphics taking up 2/3rds of the page and large ass thin fonts and millions of pixels of whitespace but a site reorganization may be in order to help bring the most important aspects of what where and how one can do anything be it download the product to learn more and to jump in and see what is happening to the forefront.

As for a centralized bug tracker.. Yes I also agree with github having a barely acceptable issue tracker and something like a bugzilla installation MAY be a better idea.. But also consider having an issue tracker (let alone a dedicated centralized repo at all) save for the forums is a relatively new thing and having yet another login beyond the forums and github could also be a barrier. Also, it would also mean that we would need to provision the resources and put the research in to set and configure that service. For example, I recently (very) set up a code cross-reference using the MXR software see: http://xref.palemoon.org/. That took over 8 hours to get it to the point it is and it least in my opinion isn't complete (but is fully functional).

So your points are well taken man. Thanks!

User avatar
Nigaikaze
Board Warrior
Board Warrior
Posts: 1322
Joined: 2014-02-02, 22:15
Location: Chicagoland

Re: Idea for a new browser product

Unread post by Nigaikaze » 2016-03-15, 19:16

I, personally, would love to be able to contribute to the project. I do have experience coding, but that was as a hobby a lifetime or so ago. (Anyone remember the WWIV BBS? It was released as shareware, but if you paid to register it with the author, you were given the source code to modify it as you saw fit. I used that as an excuse to teach myself C++ back when Borland C++ was a thing and ended up tweaking the hell out of my BBS when I was living in South Dakota.)
freefrog wrote: I have trepidation about getting involved.... In light of this, Palemoon should be doing everything possible to lower the barriers to understanding the project goals and what needs done.
My problem is, all of the coding I did was back in the early '90s, and I really haven't done much of any coding work since then. So I'm extremely rusty and have no idea where to start. And these two questions ...
freefrog wrote:how can I contribute?
what do I need to know before contributing?
... are first and foremost in my mind. If y'all could put together some sort of basic tutorial on how a relative neophyte can approach learning to understand the Pale Moon code well enough to start to be of use to you, then I will start to be of some use to you.
Nichi nichi kore ko jitsu = Every day is a good day.

freefrog

Re: Idea for a new browser product

Unread post by freefrog » 2016-03-15, 20:09

A very good post.
Thanks!
The forums while fantastic for more direct user to user and developer to user communication
I couldn't disagree with you more on this (unless you mean "communication" exclusively). Using the forum as a development tool stymies progress. Users don't have the tools to search for specific issues to avoid duplicates. Threads and comments are cumbersome to reference. There's no ability to filter or set issues by component, open, resolved, priority, etc. Threads are paginated making it difficult to quickly acquire the proper context for an issue. Cumbersome to reference and alert other developers or users. Threads often end up buried and forgotten about. The problems go on and on. I want to see all the feature requests for the interface. I can't. I have experience in this component, show me related bugs. It can't. Show me the metabug for this addon so we can get it working. Read and retain a 50 page thread.

These are atrocious limitations to foist on new developers looking for something they can help with. And that's saying nothing about former Mozilla contributors!

The ability to work on specific issues with users, delegate people to them, see them through to completion, and provide a searchable and referable archive of past development is simply not practical with a forum. If setup time and an additional login are considerations against the magnitude of improvement a bug tracker would bring, then I'm afraid we don't understand each other.
having an issue tracker ... is a relatively new thing
Bugzilla was released in 1998!


We've forked one of the largest and most complicated open source codebases in existence and the development community is considered invaluable to the success of the project. I don't understand how having a public issue tracker is not a bare-minimum necessity from day one. Honestly, I wouldn't be surprised if many developers have a hard time taking the project seriously for this reason.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35476
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Idea for a new browser product

Unread post by Moonchild » 2016-03-15, 20:32

Thanks for your insightful posts so far!

A few things I have to say in response:
  • Just throwing money at the project and making it a corporate setup where what people put in is put into a mill to somehow produce progress is not going to solve our near-future issues. Even if it would be enough to hire some full-time developers, it is creating a direct supply-and-demand setup that Pale Moon simply doesn't fit in, and won't be in the best interest of our community or users. On top of that, creating an actual company with hired staff isn't a straightforward deal; neither is making the browser have a price tag.
    Crowdfunding would be something to look into if there was a clear need for funding to put back into the project, i.e.: if there is a clear and detailed plan of action for a significant period of time to come, but this isn't possible for a browser. Look at the other big browsers out there: they are run by larger companies that have investment opportunities and business stability from other revenue, and the ones that don't are either building a frame around an existing engine not developed by them (Opera) or are losing ground and copying the plan of action and matching steps from others (Mozilla) to try and stay in the game. Neither of those is at the heart of Pale Moon as a concept.
  • Pale Moon intends to be a Community-driven piece of software, where direct input from its users can lead to changes for the user - within reasonable bounds, of course - but this means that the community must get involved. That includes you, the reader of this post. As a community, we aren't looking for single individual "gurus" that burn their candle full-time, all the time. We are looking for people with above all the willingness to be open, to learn, to try and improve someone else's work, and share their results. But in a way that's truly contributing to all other users, instead of just "hacking" the source to make it do one particular thing because it fits one's personal workflow. This can be a small thing. And then another small thing next week. And so on. You'd be surprised how much it actually adds up if people contribute this way, reducing the load for others.
    One common misconception is that you "have to be a programmer" to contribute to Open Source. You don't - but you must be willing to learn how stuff works, ask pointed questions, and spend time tinkering and using trial-and-error to figure out how it works if there are no ready answers. Nobody is born a programmer. Many programmers are programmers because they started tinkering with code to "see if they could make something work", and formal education often came secondary to that to give more structure to it for professional purposes.
  • I'm aware that there isn't (yet!) a clear "developer's website" for Pale Moon that would make things a little more accessible. But that, too, is where our community can help out. Documenting things that are currently on the forum (we already have information about building Pale Moon for different platforms, for example) and making that into a standalone part of a developer website is something we can surely accomplish -- if you want to help, talk to us! Make suggestions, ask for a framework or template, and commit pages. I'll be more than happy to set up a repository for a documentation site for version tracking and development. I can also look into extending our forum with "pages", which I believe is a new feature of the forum software we just moved to.
  • The burning questions for people just discovering Pale Moon are not necessarily the "why" for its existence or how to contribute, they are more centered around "what is it" which the main website does answer. Many people come to discover Pale Moon because they have been pushed once too far by their current/previous browser to look for alternatives. Others find it because they have been shown it as a recommendation. As for basic information about the browser, there is a lot directly discoverable on the Pale Moon website, if people are actually willing to navigate it and don't expect everything in a single "let's scroll until our fingers bleed" page. Have you checked out the menu on the website? People will want to test the waters before they want to put effort and time into helping it develop further, and although a clear link from the website to the dev website would help there, IMO that kind of information doesn't belong there. The Github issue tracker, although fairly basic, does provide a good overview of our current problems we face (another point asked about). I guess I'm saying is that the information is all out there, but not as conveniently gathered in a single site as some would like -- that too has a reason, and that is above all having to rely on third party service providers for these services to keep them running and maintained so we can focus on what matters for our project instead of server administration.
Presentation of information aside though, that is not our current problem, and lack of community development as a result of that presentation isn't our main issue right now, either. Our problems are, in fact, very directly code-related, and the idea for a re-basing one last time into a completely separate product (as opposed to one that has slowly separated from its sibling) is driven directly from that. If, instead, we can tackle the big problems there are within our current code base, then that would not be needed (as already stated). But it's an important "if" that our current team by itself cannot fulfill without additional help.

I don't expect people to magically become familiar with the intricacies of the Mozilla code because of its size and complexity, so unless we can attract some previous coders who actually have contributed to Mozilla in the past and are familiar with how the code works, neither hired programmers nor a few community developers will have the required expertise to implement the marks we missed in the time frame that they should be. We're getting there, but running into serious roadblocks that require either more minds or "inside knowledge of Mozilla code" or the applied mix of coding practices to solve. And as I've told every major contributor before: if they intend to commit serious time to developing to solve specific big issues, they don't have to do it for free, either, even if it would benefit your fellow man and make the 'net overall a better, more accessible place for people who prefer the choice they get in using Pale Moon. e.g.: Do you think you can tackle our Promises problem? I'll happily pay a bounty for that!
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

New Tobin Paradigm

Re: Idea for a new browser product

Unread post by New Tobin Paradigm » 2016-03-15, 20:39

@freefrog

Did I not say I agree with you? Did I also say that a forum even with the addition of github issues may not be the right tools for the more formal aspects of development. Did I also not say that bugzilla or a similar more advanced issue tracking tool may be a better option but there are more additional strings to that which include resources, maintenance, and administrative learning curve but if it would prove to be the superior option I would certainly take up the burden of working it out.

The reason it was not here since day one is because day one was in 2009. And in 2009 and in fact until relatively recently it wasn't really needed or required. Much of what we do today wasn't needed back then. Same goes with active cooperative team development until relatively recently. Same with some of the issues you pointed out for the site.. I said that maybe how it is setup may not serve users as effectively as it did pre-v25. Again.. I agree with you.. In the past a single website with some technical info and a forum was all that was required besides disclosing source code changes.. Not much else really was.

This of course was well taken and we hope to resolve some of these issues in the future but much of our current issues today are not a result of that. But we are getting way off topic here..

EDIT: Oh good.. Moonchild got us back on track!

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35476
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Idea for a new browser product

Unread post by Moonchild » 2016-03-15, 20:40

Off-topic:
freefrog wrote:Bugzilla was released in 1998!
We've forked one of the largest and most complicated open source codebases in existence and the development community is considered invaluable to the success of the project. I don't understand how having a public issue tracker is not a bare-minimum necessity from day one.
Understand that we didn't start off by needing this, at all. We didn't ave a public repository until relatively recently (and with it came an issue tracker, which can be used if people would only do so - Github's issue tracker ties in directly with the repository, with pull requests, with version control; I don't understand why we'd have to set up yet another tracker aside from it, unless there are plans to move away from git... which there aren't) because it wasn't needed for the slow separation.
Also, one could argue that bug tracking software as old as 1998 isn't going to be particularly suited to current-day developments ;)

This project has grown and evolved - it was not "set up as an entity" with a clear plan of action. You're applying 20/20 hindsight here! On day one, this was a rebuild by a single person. An issue tracker wasn't just unnecessary, it wasn't even an option with the resources at the time.
And it seems Tobin was saying the same as I typed this up ;P
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

freefrog

Re: Idea for a new browser product

Unread post by freefrog » 2016-03-15, 21:41

Did I not say I agree with you? Did I also say that a forum even with the addition of github issues may not be the right tools for the more formal aspects of development. Did I also not say that bugzilla or a similar more advanced issue tracking tool may be a better option but there are more additional strings to that which include resources, maintenance, and administrative learning curve but if it would prove to be the superior option I would certainly take up the burden of working it out.
You said you agreed, but it wasn't true. You said the forum was fantastic. It's not. You said an issue tracker may help and may be worth the effort. It's not a possibility. It will improve development and publicity by leaps and bounds as I explained thoroughly.

But we are getting way off topic here..
I argued that lack of community involvement and the tools for communication therein is directly related to the need to re-base now and in the future. This thread does not exist if enough community help is available.
Presentation of information aside though, that is not our current problem, and lack of community development as a result of that presentation isn't our main issue right now, either. Our problems are, in fact, very directly code-related, and ... If, instead, we can tackle the big problems there are within our current code base, then that would not be needed (as already stated). But it's an important "if" that our current team by itself cannot fulfill without additional help.
You need help tackling problems
and if you had enough help you wouldn't need to re-base
but lack of community help is not related...?

'Presentation of information' is a strawman of my argument.

the idea for a re-basing one last time into a completely separate product (as opposed to one that has slowly separated from its sibling) is driven directly from that.
You may have to elaborate on this because those two things appear identical. How can it re-base into a "completely separate product"?

adisib
Lunatic
Lunatic
Posts: 380
Joined: 2015-06-13, 03:34
Location: KY

Re: Idea for a new browser product

Unread post by adisib » 2016-03-15, 22:07

When did Firefox adopt VS2013? Will a new fork point make it very simple for PM to switch? For people like myself, who only have newer such as VS versions 2013 and 2015, it would make it easier to commit code since it could be properly tested.
Moonchild wrote: This re-forking would be done on the last stable version of Mozilla code that hasn't had a sledgehammer put to it yet and that offers the features and capabilities we as a project would still want
The "forking base" of Firefox 24 ESR was chosen primarily for extension compatibility, correct? What would the new forking base be? Firefox 28?
Is there any chance of forking off of a pre-Australis version of a different Firefox fork rather than Firefox itself?
Moonchild wrote:Mind you, Pale Moon would still remain to be Pale Moon and nothing drastic will change short-term; this is a long-term planning idea that will involve a lot of work if launched and will be given shape alongside our current efforts.
What's the chance then of another development pull like PM for Android; e.g. dropping Fossamail development?

New Tobin Paradigm

Re: Idea for a new browser product

Unread post by New Tobin Paradigm » 2016-03-15, 22:43

@freefog

I think you are getting hung up on specific components of what I and Moonchild said rather than the actual composite meaning.

@adisib

What once was ESR24 was chosen because of its overall codebase stability NOT because of extensions. I explained this in my first post (second post in this thread).

One thing should be made clear here.. If this new product is to be created it wouldn't be re-based/forked from Firefox but the platform code with our application specific code on top of it.. This is a very important distinction that gets lost. There would be no Australis UI or other Firefox-specific nonsense to deal with or revert as the code that makes it a browser application rather than say an email client or a suite would be sourced and fixed up from current Pale Moon specific code.. This would be every much akin to the vNext research I ran 2 years ago.

---

EDIT: Let me also be clear here.. This is an idea.. A concept.. A possibility. Please don't go off half-cocked freaking out about the future of Pale Moon here.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35476
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Idea for a new browser product

Unread post by Moonchild » 2016-03-15, 22:54

adisib wrote:Will a new fork point make it very simple for PM to switch?
A new fork point will, in fact, require VS2013 to build. It won't be able to be built with 2012 any longer because of breaking changes.
adisib wrote:The "forking base" of Firefox 24 ESR was chosen primarily for extension compatibility, correct?
Not primarily. The primary reason was the Australis plans (initially planned for v25 of Firefox), and it being an ESR version with inherent long-term stability would allow us to focus on own development instead of constantly trying to play catch-up regarding security. It allowed more focus on Pale Moon specific things.
adisib wrote:What would the new forking base be? Firefox 28?
No, much later. Also, as Tobin explained, it would be a re-base; it would mean we would still be using a hybrid setup with lots of our own developed code from the past 2 milestone ranges, not making this into a clone of Firefox.
adisib wrote:Is there any chance of forking off of a pre-Australis version of a different Firefox fork rather than Firefox itself?
:) there is no such thing! Mozilla has used mozilla-central as their Firefox trunk and focusing solely on Firefox; there are no other branches. At this point in time, re-basing on anything too old would just be a lesson in futility - it'll have to be something worthwhile with enough forward momentum to carry us from that point on.
freefrog wrote:You said you agreed, but it wasn't true. You said the forum was fantastic. It's not. You said an issue tracker may help and may be worth the effort. It's not a possibility. It will improve development and publicity by leaps and bounds as I explained thoroughly.
That is your opinion. Please don't present it as fact because you cannot know this (unless you have some kind of crystal ball or something that can give you such certainty). The only certainty setting up a bugzilla tracker is that it will cause a lot of extra administration overhead. If your statements are because of a personal dislike of GitHub, then I understand your attempt at trying to move us away from it, but going about it quite the wrong way.

Once again though, we have a github repo, it has an issue tracker, which integrates directly with the repo. It also has a flexible labeling system and allows for direct pull requests and linking, as well as in-line formatting of code. Its search function in issues is also superior to the old and slow system present in bugzilla. In addition, it would require contributors to create yet another separate account for the bugtracker... I'd prefer to keep things simpler for potential contributors and keep it in one place.
Still, this is a practical consideration for project management that is not the main issue. It's important, absolutely, but not our main issue here, which is code-based. We may not have exactly the same kind of large-scale setup needed for an organization like Mozilla that MUST use separate department and components, and it may not be as-familiar if you come from Mozilla-land, but it's simply a different method to do the same thing.

What can people do to contribute or help our current code base to avoid re-basing? Log into Github, fork our repo, look at our issues list, take an issue to work on (communicate you're taking it!), work on it in the forked repo and when solved, create a pull request to merge the changes back into our master repo. It's that simple to get something committed to our code base.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

CharmCityCrab

Re: Idea for a new browser product

Unread post by CharmCityCrab » 2016-03-15, 23:59

I'd like to thank MoonChild and Matt A. Tobin for starting this thread and being detailed and forthright about their future plans, and involving the community in the process in advance of making the decisions, which is a pleasant contrast to the way most browsers (Even some of the other Open Source ones [i.e. Firefox, Chrome]), do things.

I am probably going to go back and reread the posts they've made and the posts from other users in the days to come, and mull over this some more, and I may come up with one or more additional responses later, but here are a few ideas that I have, all offered in the spirit of trying to be helpful, not demanding (I realize what I type may not always come out the right way, but I actually am very grateful to MC and Matt and everyone else for doing this project for us.). If it works, take it and use it, if it's not feasible or desirable, no problem:

1. If a decision is made to basically scrap what we have and start over to some degree, I think it would be very much worth considering starting with a Webkit/Blink web engine base instead of Gecko/Goanna (Although a fork of Webkit/Blink could be renamed Goanna for branding purposes if desired, obviously).

Why Webkit/Blink instead of Gecko/Goanna? To maintain maximum compatibility with the web, both for when the new version of the project gets off the ground, and for the future going beyond that.

The fact of the matter is, websites code primarily for Webkit/Blink. On the desktop, Chrome and Safari combined are a huge majority of browsers (Especially if you exclude Trident, which Pale Moon can not legally adopt as it is not open-source), and on mobile it's an even greater one. Even many smaller browsers use that as a base now- Opera included. So, that's what people code for. To try to maintain Gecko or a fork of Gecko and then get website owners and design software and such to support it is a very difficult thing for a relatively small project.

We've also had conversations here repeatedly about how Firefox is losing marketshare and may not be there as a major browser, or at all, in five years. And, if Firefox is there and still has significant marketshare, they may not be using Gecko anymore. They are working on Servo and Rust, and ultimately seem to be planning to deprecate Gecko. I wouldn't be shocked if they eventually switch to Webkit/Blink themselves if the Servo/Rust thing fails and they keep declining in marketshare. That's long-term, but it was stated that this potential re-working of things is for the long term, so I wanted to bring that long term perspective into it.

Then, when Gecko and Gecko forks are less than 1% of the market, it's going to be 100x harder to get websites to code to standards or to Gecko/Goanna than it is today, and today it's already very hard.

So, ultimately, Pale Moon rebranching from a later version of Gecko is a temporary salve.

As long as the web engine is anything other than Webkit/Blink or a close fork, we're swimming against the tide.

A version of Pale Moon with a close fork of Webkit/Blink is a browser that will be far more likely to render the coming web "correctly" and will require far less developer time and effort working on compatibility shims for various websites that keep redesigning and "breaking" their sites for anyone who isn't using WebKit/Blink.

It'll also be easy to fork in new rendering, speed, and stability improvements to the core engine, because the they will be created for webkit/blink by the bigger players versus having to code for Gecko/Goanna from scratch on every single thing if there is no Firefox with a Gecko core anymore (Whether it's because Firefox goes to rust/servo, webkit/blink, or because Firefox is no more in general).

Also, as a small aside, this may make us the obvious choice for Linux distributions as their default browser in the long run when Firefox fails or becomes unusable, and there is a desire to have a Webkit/Blink based browser, because Chromium is under Google's thumb and Pale Moon is not (Although, honestly, I don't understand the decision making processes behind a lot of the decisions Linux distros make).

I wouldn't suggest this if we were weren't talking about ditching the current version of Goanna and starting fresh, but any essentially new browser in 2016 that doesn't anticipate a huge market share where it can move people to code for it would be wise to consider Webkit/Blink. No new browsers are starting with Gecko today. Even when the ex-Mozilla CEO started his own browser, Brave, it was not using the Gecko engine or a fork thereof, it was using Webkit/Blink.

This will also help a ton for Pale Moon for Android, if there is one at that point. It might be the only Webkit Android browser with ad-block. And the Mobile Web is really designed for Webkit.

2. I agree that in the long-term, depending on Mozilla add-ons is not a good route to go. Even apart from the fact that their code base and ours have diverged and will diverge further, and there are compatibility issues, it's bad optics and marketing to tell everyone to go to another browser's website to get stuff for Pale Moon. Pale Moon is not Firefox. Devs keep repeating that, and it's true, but it's a mixed signal to some degree when people hear "This browser is absolutely independent of Firefox" and then "Go to Firefox's website to get add-ons".

3. For me personally, a large part of what drew me to Pale Moon was the ability to make the browser look like I wanted it to look. With themes and options, I've got a File menu, an Edit menu, and so on and so forth. I have big back, forward, stop, refresh, and home buttons, I have a bookmarks bar underneath, I have a status bar, I have full URLs with nothing grayed out or emphasized, etc.. To the extent these are in the browser, I would very much like to see them in a potential new Pale Moon. To the extent that they are part of a theme or options, I would like to see there continue to be a similar theme or options. Something like Past Modern Revisited combined with a hypothetical Webkit/Blink core would be something no one else can offer.

I would further suggest, for the market in general, though they may or may not share my specific preferences about the UI, that a big part of Pale Moon's success and potential future success lays in the fact that the UI is very customizable. So, we'd want to keep that in the future- regardless of what the rendering engine is, and what other changes are made. Under the hood, people want the latest and greatest, but on the outside, they may want an old look or UI that is not in vogue, or an alternate UI that "never was" and "never will be" as a mass market thing, but is more suited to them than everyone else. When I suggest adopting Webkit as a rendering engine, I am not suggesting adopting that horrible Chrome UI.

4. Ad-Block is important. Wherever we go, people will want that as a feature or an add-on, ideally maintained by the Pale Moon staff, just as Ad-Block Latitude is today, so it doesn't break with upgrades and such.


5.
In general, stability and security, as well as speed and compatibility, are all important to me and I think to many users. I may like an older UI, but I like things modern under the hood. Privacy is another value I think many have.

6. People will not pay for a browser. They just won't. That is not a good road to go down when almost every other browser is free. Donations are good, but fees or prices are not.

7. The original growth of Firefox was largely because it blocked ads via an extension. Part of the decline of Firefox is because they keep trying to jam ads into the browser. Browsers should not have ads, in my view.

8. I'm not a coder, but the impression I get sometimes is that some coders who may want to help are lost as to how they can help.

Maybe Pale Moon could put an easy to see "How to volunteer" link on it's website, which leads to a form to submit that lands in MoonChild's email box (Or Matt A. Tobin's email box, or both). The form could include a place where they list what skills they have. Then there could be a checkbox thing that says "Check all that apply" and "I want to work on a specific aspect of Pale Moon", "I would like Pale Moon devs to assign me work to do that they need done that suits my skills", and maybe some other options. There could be a text box underneath where they can specify what specific aspect they want to work on if they want to do a specific aspect.

Then, if they select that they want to be assigned something specific, they could get an email box asking them to do a specific task, linking them to the relevant code, and asking them to send back revisions that do whatever it is that the devs want done and then says "Email us back to tell us whether you can/will do it and when you can have it done by, plus any questions you may have, or to decline it if you've changed your mind, so we know to assign it to someone else". Maybe a little more politely than that. :) I'm not good at diplomacy. :) When it's done, assign them another task. And so on.

I think for a lot of would-be volunteers, they should aren't very self-directed and have no idea what to do or what devs want done and will accept. If PM offered a specific way for them to volunteer through a form, and then emailed them back a specific task with details on how to complete it, and keeps providing tasks until they ask to stop, that might help a lot. Tasks could be assigned based upon need, specific skills the volunteer lists, what the devs think people can handle based on what they've done in the past, etc..

Obviously, people could still commit patches, and do self-directed work as well. This way of doing things would not be a replacement for the existing way of doing things, but an additional option that would bring more people into the fold and put them where they are most needed.

The volunteer form could even say "We have a special need for x, y, and z skills, so if you have them, be sure to mention them, or refer a friend who does! But we'll try to work with you and give you something to do if you have any skills at all, just list what you have.".

What do you guys think?
Last edited by CharmCityCrab on 2016-03-16, 01:54, edited 3 times in total.

Thrawn

Re: Idea for a new browser product

Unread post by Thrawn » 2016-03-16, 00:08

I might have some of the skills to contribute (though I've worked more with Java than C++), if I found time.

Mostly I'm intimidated by the idea of digging into the Mozilla codebase.

adisib
Lunatic
Lunatic
Posts: 380
Joined: 2015-06-13, 03:34
Location: KY

Re: Idea for a new browser product

Unread post by adisib » 2016-03-16, 01:13

Moonchild wrote:
adisib wrote:What would the new forking base be? Firefox 28?
No, much later. Also, as Tobin explained, it would be a re-base; it would mean we would still be using a hybrid setup with lots of our own developed code from the past 2 milestone ranges, not making this into a clone of Firefox.
If it is "much later", this could mean trying to rip out telemetry (again), rip out Australis, and possibly rip out e10s. I don't know much (if anything) about the code base, so I don't know how easy those are to rip out. But I imagine e10s at least would be much too impossible for this development team to remove if re-basing at a far enough point. Trying to live with e10s will likely make development of Pale Moon much more difficult, and doesn't seem worth it. If Australis turned out to be the same way, would the Pale Moon team try to remove it, or would they do what other forks are doing and have a theme overtop that makes it only Australis on the inside, Cyberfox for example. Taking the Australis coverup as an example, would it then be worth trying to fork something like Cyberfox, rather than Firefox?
CharmCityCrab wrote: So, ultimately, Pale Moon rebranching from a later version of Gecko is a temporary salve.
As long as the web engine is anything other than Webkit/Blink or a close fork, we're swimming against the tide.
Having a monoculture is dangerous, especially with a company like Google in control of it. Supporting that monoculture is not desirable. Not to even mention that the development team likely has no knowledge of the code base with which to develop and rip out junk like in-browser DRM, much of the progress done so far will have to be completely discarded, and we will lose features and customizability that we can't get back. It's my dissatisfaction with Chrome's engine that caused me to switch (back to Firefox and then) to Pale Moon in the first place.

freefrog

Re: Idea for a new browser product

Unread post by freefrog » 2016-03-16, 01:46

If we're going so far as to develop a new product alongside the current Palemoon releases, why not think even further ahead and consider implementing XPCOM/XUL/XBL for Servo? By all accounts thus far, Servo is amazingly performant and looks like the future of browser engines.

It will go into alpha in June[1] so I'd imagine we'd be seeing it in Firefox within the decade. At which point we could end up in the same position as we are now, where so much refactoring has been done to integrate Servo that code becomes increasingly harder to port and Palemoon starts falling behind. Firefox has already begun using Servo components.

Doing this would make [new product] a serious force in the browser scene by not only supporting XUL addons and full themes but by matching Firefox's newfound rendering speed in Servo. With a XPCOM/XUL/XBL implementation, we can adopt Servo when Firefox does and thereby maintain code porting compatibility.

[1]https://groups.google.com/forum/#!topic ... crNW6389g4

Locked