Positively Critical: WebPositive and Haiku | Haiku Project

I want to make it clear that I am not criticizing anyone’s work, on the contrary I emphasize respect for devs and users who support Web+ & HAIKU. Mine is just a pragmatic analysis of what I assume has happened over time.
Being a small group and with few resources, I imagine that developing or even maintaining modern, up-to-date browsers is more or less equivalent to maintaining an entire Operating System.
I do not fully understand the choice made about ten(?) years ago to have an internal (full competitive) web browser, perhaps because in those days the internet and the management of web pages were not complex as today, I don’t know. It seems to me that it was not a completely wise choice, especially having few resources available and observing how much the world is running in this sense. I have had notice that even Firefox Team for a certain moment has had difficulties and had to reinvent itself. But I repeat, I just don’t want to discredit anyone’s work and choices, perhaps in those days it seemed a wise choice which over time proved to be counterproductive.

I knew of a old version of Firefox that was then abandoned because it became obsolete, I don’t know its history well, maybe it was abandoned to convey resources to Web+ or maybe the maintainers stopped supporting HAIKU due to its lack of diffusion (it was Mozilla who kept these builds or private maintainers?) I don’t know, I don’t know anything about this to be honest. I only make assumptions, and indeed if there is someone who knows the story and tells me how it went it would make me happy.

My logic tells me that keeping a mainstream browser (done a good main port) is easier than trying to update an existing browser each time by writing more and new code or continually patching it, especially if resources are limited, but maybe I’m wrong.

You are right, in my opinion the wisest choice would have been not having an internal (complete) web browser and facilitating the development of a mainstream browser, I know that the HAIKU team would not have complete control of that software, but I think it would have been beneficial because HAIKU would have taken off as OS more-or-less-usable as a all day use generic desktop, and this would have speeded up development and debugging by bringing many other people who would have pushed in one way or another (direct or monetary support) to the solidification and maturation of the whole OS.

You all agree with me that not having a browser that runs smoothly without creating annoyances and problems is the biggest wall that prevents the mainstream spread of Haiku.

(I answered only now because the forum prevented me from writing more than a certain number of comments a day being a new user despite having an account where I am registered in 2011 :rofl:)

It’s a problem that would best be solved by driving browsers into obsolescence on all platforms. Google’s Flutter framework on Dart Native doesn’t even use the DOM on a browser because using WebGL is faster and lighter. Also, using WebAssembly is as portable and safe outside the browser as inside. This means that the industry is already starting to realize that browsers are too bloated and the same net result can be achieved without it. It’s reasons like this that I oppose letting an outside browser corporation become our dictator.

3 Likes

this regardless of everything is a good observation

1 Like

Part of the reason I thought this was a good article to write was A) To highlight just why Web+ is so actively developed and why it’s important it continues to be developed and B) Call for more devs. If you know how to code and want to make a huge impact on the project, make some contributions! Getting it to WebKit2 might make the biggest impact for Haiku of anything you can do, as far as I’m aware.

3 Likes

Excuse me, but I disagree. The biggest problems are from my pov:

  • carelessness
  • lazyness
  • no discipline
  • wall of texts
  • linux
  • GNU

So basically everybody who do nothing, while they could make a change.
But I am pragmatic, so I can easily blame everybody.
Also I don’t care about the Web past html4.

I guess my question is… How do we as a community get past the Web Positive development hump? How do we get the work done it that needs to be done? I love WebPositive and we all know that porting something else is just not practical. Also, PulkoMandy is only one man, a very talented man, but still only one. So, what can we do? I mean really do. I have been using Beta 3 for a little less than a week now for some light stuff. It is working very well for me, there are a few minor niggles here and there, but overall it is really in good shape. The biggest thing for me is the web browsing experience. It is much, much better than it has been on Haiku before. But, still not enough for me to be able to commit to really using Haiku regularly. But really, we need a plan. A workable plan. Sorry, I don’t have one myself. :frowning:

1 Like

No one does anything because there are already valid and above all comfortable cheap alternatives.
It is not a beautiful thing, but it is pragmatically reality.
This is why I insist in saying that it takes a minimum of “road already trodden” in order to then facilitate its enlargement (I hope my metaphors are understandable)

We need people to step up and contribute instead of asking more and more from the existing devs. I myself don’t know how to code, but I am specifically teaching myself to be able to contribute. In the meantime I try to help where I can with documentation, website stuff, updating tickets, etc.

2 Likes

Hey! I resemble that remark! :wink:

Seriously though. What’s expected of an operating system these days is too much. We need a lightweight barebones experience and here people are littering it with unreasonable expectations.

Thing is, maintaining Web+ already is the easiest option going forward. There’s already a lot of work done on it and porting another web browser could very easily take an equal or greater amount of time and effort.

Say Web+ development slows down to refocus on porting FF or Chromium, this is what will prolly happen:

  • Web+ starts lagging behind upstream WebKit even more
  • Haiku users encounter even more issues with webpages while porting work is done
  • By the time FF or Chromium is ported over, years would have passed without a remotely viable web browser for Haiku
  • The ported web browser itself may be far behind upstream and Haiku has to play catch-up again

Most of these could all be avoided if there will be people not currently contributing to Web+ who do the porting work. Problem is, they’re hard to come by.

3 Likes

Paying for a contracted developer to work on WebPositive/WebKit Haiku integration would be really money well-spent. There’s no way someone won’t benefit from this.

1 Like

The simplest thing left is finding a motivated developer for the task :wink:

1 Like

IIRC there was talk about getting @waddlesplash to work on Web+ as part of the contract work that is yet to be formally announced.

1 Like

There is that … but for the ultimate rosetta stone. The thing is, it still conveys its core meaning in plain sight - but I can understand why the play may misdirect tone.

The browser is getting regular updates. What makes you think it’s stuck?

As I have already said, the engine is based on WebKit which is provided by Apple. Therefore, modern web technologies are not at all a problem. We just need to compile their code. That would be the same with any other engine.

About Firefox: there was a port of Firefox 2 a long time ago. It was working ok at the time (a bit slow, there were quirks in the UI, but it was usable). Then Firefox 3 came. The Mozilla team had changed so much things internally, replacing their drawing code with Cairo. We started porting Cairo. By the time we were done, they had already replaced Cairo with Skia. We didn’t even start poritng Skia. Which was a good choice, because they later also stopped using that.

If you wanted to start a Firefox port now, your first problem will probably be improving our support for Rust and porting some libraries they use?

Anyway, WebPositive is not taking a lot of resources. It’s largely… me, and not even full time since I have a lot of other projects. With two or three other persons contributing some patches and fixing some issues. I don’t think that prevents anyone else from working on other solutions.

So, if someone wants to port Firefox or Chromium, that’s great! Get the sourcecode for one of them and start hacking, and see how far you can get! I don’t see how the existence of WebPositive prevents any of this. On the contrary, WebPositive and WebKit so far have forced us to review and improve many other parts of the OS (ranging from performance improvements in app_server, to many POSIX compatibility improvements, to fixes in the kernel for SSE2 support), and that will surely help in porting other engines too.

15 Likes

That´s the key point in this discussion imho. It´s amazing how none of the people that want FF or Chromium ports so badly have actually started out in trying to do so (at least not in public).

I even offered to pay 100 USD if somebody can get the build system of Firefox actually start to compile the first source file. It is OK if it fails. AFAIR @waddlesplash wanted also throw some money onto this.

AFAIK nobody did it before. (I tried but failed, but it doesn’t mean it is impossible, i am simpyl not good with programming.)

2 Likes

This is certainly a better explanation, it sheds more light on how things really are, thanks for that.
My theses came from the fact that, to be honest, from time to time that I start HAIKU to see some news, I find myself almost always encountering the same limitations in web browsers, for years that has been the case, and therefore obviously, being from outside without a true knowledge of the facts I try to elaborate some possible hypothesis on the reasons why this happens.
Even today, looking at reality in the face, I observe and there are rendering problems (the flikering of some elements while scrolling the pages), then there are some web pages that do not load at all, try to browse mainstream sites such as youtube or facebook it’s hell, besides the video management problem which is probably due to the lack of gpu drivers, they are difficult to manage. But the thing that is most unbearable of all is the slowness of loading web pages, this just can’t be explained to me, whether there is a wifi connection, whether it is via a network cable, whether it is on more performing machines or much less performing machines, I have always found myself with the same type of problem, and I wonder why this happens, even my older smartphones are better performing in loading web pages, if indeed the comparison is made between any browser on Linux or Windows with a browser on HAIKU, the difference in the loading times of a web page is huge, and therefore I wonder why this happens? I don’t think the reason is the lack of functionality, the problem must lie elsewhere, because it happened to notice the similar slowness even with OTTER. What makes browsers on other operating systems so performing while on HAIKU it is not possible to obtain certain performances? Excluding Firefox and Chromium which are engineered to obtain the maximum possible performance, I noticed that even less advanced browsers are still much more performing.

Mine are generic user questions as you have well noticed, I can be included in that sample of people, who have always been passionate and intrigued by a certain kind of more exotic OS, who have an average technical knowledge but not to the point of have knowledge as a developer, who has always seen HAIKU in all its beauty as an OS with so much potential, who hoped (for over a decade now) to be able to one day make a daily use of this OS, but in the end always found forced to throw in the towel because of this large bottleneck that prevents it from generic everyday desktop use.

Probably the main cause for slow loading is the lack of any kind of disk cache in the browser. In modern websites, that means several megabytes of javascript code is downloaded again and again, every time you click a link. Where on other browsers it is downloaded once, put in a cache, and reused after that.

This is one of the many things that are probably not so hard to implement, but yet no one has done it.

GPU acceleration should not be needed. MediaPlayer can play the same videos just fine. The situation would be better if fullscreen support was implemented in our WebKit port, since that would allow a bit more direct rendering (as I mentionned earlier in the thread, the current code is a horrible and inefficient hack that I have done in about half a day).

Everything is like this: there are many places in the web browser (and in other places in Haiku) where someone working for a few days could achieve major improvements. Personally I think that would be much efficient use of the developer time than starting to port another browser yet again. No one has put a lot of effort in any of this, I think, since the last time I worked full time on WebKit as a paid developer back in 2014. Since then I have done only the minimum level of keeping our sources up to date and fixing the most obvious bugs (and not even all of these).

6 Likes

Yes! these are the kind of answers that illuminate a lot about how things really are.
These answers help a lot those like me who do not have in-depth technical knowledge and therefore it is almost impossible to deduce the true causes of certain problems.
But who knows, by coming to light what should be technically evolved we are entering the right direction, and someone who has the skills could enter the right discussion and collaborate. Thanks again!

edit:

a new question arises, since modern browsers eat up a lot of ram memory, could it be that they also use some sort of ram cache?