this post was submitted on 13 Aug 2024
127 points (97.7% liked)

Ask Lemmy

26916 readers
1650 users here now

A Fediverse community for open-ended, thought provoking questions

Please don't post about US Politics. If you need to do this, try !politicaldiscussion@lemmy.world


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] hendrik@palaver.p3x.de 128 points 3 months ago* (last edited 3 months ago) (3 children)

Because it's super complicated and a thousand moving parts are involved. You have to parse HTML, draw everything correctly, do JavaScript, Canvases, WASM, Websockets, HTTP 1.0, 1.1, 2.0, SPDY, support 10 different image formats, 5 audio, 5 video formats, allow videoconferencing, write a plug-in system. Handle Bookmarks, History, File downloads, uploads, .... ..... ......

The standards alone are thousands of pages. You gotta read them all, understand them and program everything. Which takes years for a team of developers. And you also want it secure or your users get in all sorts of trouble. A browser is the number 1 way to get malware on your computer. And all these experts take a decent salary. Multiply that (hourly) wage with multiple people and several years and you'll end up with an expensive product.

[–] jeffhykin@lemm.ee 62 points 3 months ago* (last edited 2 months ago)

Don't forget the fully fledged remote desktop thats built in, WebVR (which is being replaced with Web XR), Web Bluetooth, Web USB (aka Web Serial), the API's for notifications, ambient light sensors, an entire transactional database (indexed DB), the language translation API, the Gamepad API (videogame controllers), hardware passkeys (yubikey), speech to text, text-to-speech, webGL, webGPU, webworkers, service workers, an entire suite of cryptography tools, GPS location, battery, vibration, FileSystem API, picture-in-picture API, WebRTC, WebSensors, etc.

And then, on top of all that, building a miniture OS-kernel so that tasks can be sandboxed scheduled/executed and prevent 1 tab from crashing everything or hogging resources.

[–] Max_P@lemmy.max-p.me 21 points 3 months ago (2 children)

And despite all that, if you don't bend over to emulate Chrome's quirks a ton of sites still won't work properly and users won't use your browser because the other one is more "compatible". And you might still have to fake your user agent to be Chrome or Firefox so sites will even give you the fancy HTML instead of giving you the mobile or "limited" version meant for IE and older browsers.

[–] nebulaone@lemmy.world 27 points 3 months ago (4 children)

I hate the fact that the only viable choice is between Chromium, Chromium, Chromium, Chromium, Chromium or Firefox.

[–] stinerman@midwest.social 10 points 3 months ago (3 children)

There is Safari, which uses a different rendering engine, but yeah, there's basically 3 browsers. Chromium, Safari, and Firefox.

I don't use Safari and never have, so I can't speak to its compatibility or quirks for the user or for developers.

[–] Reverendender@sh.itjust.works 4 points 3 months ago

It’s pretty great. Compared with Firefox on both Mac and PC…I like them all.

[–] browse@lemmy.specksick.com 2 points 3 months ago (1 children)

Safari is behind on a ton of features from what i know i would not use safari even if i had the option.

[–] Max_P@lemmy.max-p.me 3 points 3 months ago* (last edited 3 months ago) (2 children)

It's known as the new Internet Explorer in web development circles. And just like IE, it's exclusive to an operating system so you have to figure out a way to get macOS to even test it out. On iOS it's the only browser engine even available, and when the EU stuff finally comes through, it's still an IE situation because defaults and OS integration. You can't ignore iOS for any serious web jobs.

I've been out of web development for a little while now, but the bugs were very IE-esque.

At least they finally just implemented WebPush, at long last.

load more comments (2 replies)
[–] carl_dungeon@lemmy.world 2 points 3 months ago

Safari still has the best power management and speed in most cases. I mainly use safari but swap back and forth with Vivaldi on a daily basis.

[–] AndrewZabar@lemmy.world 4 points 3 months ago (1 children)

There are a decent amount of third party browsers. Many of them, to make things easier, encapsulate a chromium engine, but there is still the entirety of the user interface, options, customizability and additional browsing enhancements that make the experience vastly different and that’s really what most people are looking for. Give some other ones a try now and then, you might surprise yourself and find something that really does just what you want the way you like. It happens.

[–] nebulaone@lemmy.world 7 points 3 months ago (1 children)

Currently using LibreWolf on desktop and Mull on android (both Firefox / gecko based) and I am happy with them :)

[–] AndrewZabar@lemmy.world 3 points 3 months ago* (last edited 3 months ago) (1 children)

Very nice. Across my various devices I use maybe 5 or so browsers for various purposes.

[–] BackOnMyBS@lemmy.autism.place 1 points 3 months ago (1 children)

Which one is the most unusual browser that you use and for what?

[–] AndrewZabar@lemmy.world 2 points 3 months ago (1 children)

Eh, I don’t really think any are particularly unusual. Although I have tried some over the years.

I use Firefox on all my PCs which are all various distros of Linux, as well as Chromium for some things. I have a few sites setup as their own webapps using Electron, so essentially also chromium. I just installed Vivaldi recently to try for some things I need to test, haven’t started using it yet. I also try out different ones now and then.

Safari on my iOS devices as well as Aloha, OperaGX, occasionally Firefox but their iOS implementation is really sad. Some others now and then, but that’s mainly it at the moment. There were some I stopped using for one reason or another. Long ago I used Brave for a little while until I read about their agreements with some ad companies so that’s out. I really like Phoenix browser except it’s got some issues. Osiris, Puma, Dolphin, ugh so many that come and go if I need something temporarily.

[–] BackOnMyBS@lemmy.autism.place 1 points 3 months ago (1 children)

What are you rating them on? How do you know you've found one you like?

load more comments (1 replies)
[–] Teils13 3 points 3 months ago (1 children)

There is also Gnome Web (ex Epyphany), a browser that also uses the Webkit engine (as far as i know it's the only 'clone' of Safari cause of this). It's made for Linux (and Unix in general), though i heard somewhere they will make a windows version too. So we can broaden the choice to Chromium, Firefox or Safari.

[–] nebulaone@lemmy.world 2 points 3 months ago

Oh right, I forgot. And KDE has the Falkon browser.

load more comments (1 replies)
[–] hendrik@palaver.p3x.de 9 points 3 months ago (1 children)

Heheh, we're in the same situation as 15 years ago when I learned webdevelopment and had to handle lots of Internet Explorer quirks. And there were many. And IE was the dominant browser. Now it's a different one but a similar situation. I think it got substantially better, though.

[–] Fubarberry@sopuli.xyz 5 points 3 months ago

Yeah, every browser being chrome sucks, but it's also so much better than being forced to focus any website development around IE compatibility.

[–] nebulaone@lemmy.world 20 points 3 months ago (1 children)
[–] hendrik@palaver.p3x.de 18 points 3 months ago

You're welcome. I think people underestimate what's inside of a browser. I mean that piece of software does lots of things. And you can pretty much do most things with just some online services inside of the browser. Do office work, watch TV, do image editing, play games... Sure it needs some web application but also lots of interfaces that need to be provided by the browser.

[–] z3rOR0ne@lemmy.ml 47 points 3 months ago* (last edited 3 months ago) (1 children)

Browsers are literally the best attempt at the everything app.

There's already been a lot of good answers on this. But a goody oldie article on making a browser is covered in Matt Brubeck's 2014 article, Let's Build A Browser Engine.

If you want to see one of the most minimal source code for a terminal based browser that is still in use today, I recommend downloading the source code for the Links Browser. Note that this site is very old and doesn't even use https. But the source code can still be had here.

Browser software is super interesting, but there's a lot even for a bare minimum setup like Links, so that's more or less why most people don't develop new ones from scratch anymore. Though there are a few exceptions like Servo, and Surf but they are pretty buggy tbh. Hope that helps and sparks your interest.

EDIT: Also of interest is Tali Garsiel's article, How Browsers Work. This is probably one of the best in depth articles on the subject.

[–] barinzaya@lemm.ee 3 points 3 months ago* (last edited 3 months ago) (1 children)

Surf is just a wrapper around WebKit, which is developed by Apple and used in Safari. Surf isn't a from-scratch browser implementation.

load more comments (1 replies)
[–] savvywolf@pawb.social 41 points 3 months ago (2 children)

Not only do you have to support an insane amount of standards, you need to do it fast. Firefox and Chromium are optimized so much for speed, and nobody will use your web browser if it's slow or uses up tons of ram.

[–] altima_neo@lemmy.zip 21 points 3 months ago (1 children)

Or has no support for any addons

[–] ripcord@lemmy.world 10 points 3 months ago

Chrome is in its way to that!

[–] BackOnMyBS@lemmy.autism.place 7 points 3 months ago (3 children)

uses up tons of ram

In my experience, Chrome is a RAM hog. I use FF. Are other browsers even worse with RAM use than Chrome?

[–] UndercoverUlrikHD@programming.dev 7 points 3 months ago (5 children)

It's the websites that requires all the memory, the browser can't magically take less memory than what a website demands.

[–] Teils13 3 points 3 months ago

Well, they actually can, but it is not magic, it might not work everywhere, but it indeed involves going against website demands. There is reader view in firefox (that parses a page and gives text and images), there's ublock-origin that alone blocks so much adds and tracking that webpages load faster, there is ''i dont care about cookies'' (that automatically selects the cookie options on your chosen option), etc, stuff that could be implemented in the browser as options for the user just like privacy settings.

load more comments (4 replies)
[–] savvywolf@pawb.social 5 points 3 months ago

I imagine the Chromium devs have put a lot of work into reducing memory usage. Work that'll have to be replicated by whichever small team is working on this hypothetical browser.

[–] Ephera@lemmy.ml 4 points 3 months ago

What other browsers? The Firefox forks as well as Safari and those using WebKit aren't worse, but the rest are just rebranded Chromes.

[–] 9point6@lemmy.world 36 points 3 months ago (1 children)

They're basically as complex as operating systems these days.

You need to implement several huge standards in order to get relatively simple modern sites to load

[–] Zangoose@lemmy.world 26 points 3 months ago* (last edited 3 months ago) (2 children)

Fun fact: chromium has about 1.5 million more lines of code than the Linux kernel (about 32mil vs about 30.5mil), not including whitespace/docs/etc.

[–] SkyeStarfall@lemmy.blahaj.zone 4 points 3 months ago

It is however also worth noting that lines of code is a not great metric for complexity

But yes, as a casual comparison it's interesting

[–] bitfucker@programming.dev 3 points 3 months ago

IIRC, even KDE and their whole suite of apps are dwarfed by the LOC count of browser (forgot if it is firefox or chromium)

[–] april@lemmy.world 30 points 3 months ago (1 children)

Over the years browsers have accumulated too many features. If it was just plain HTML and CSS rendering it wouldn't be so bad.

I agree with others who have said that browsers are basically operating systems now.

[–] argarath@lemmy.world 8 points 3 months ago

The fact that I can go to one website and have a pretty much parity perfect and functioning photoshop for free, go to another and play online multiplayer games and then just go to a social webpage, forums and so much more in the same place is mind blowing when you think of how different these things are and how it all works flawlessly in the same program

[–] fubarx@lemmy.ml 28 points 3 months ago

https://caniuse.com/

Just try to match a bare minimum of features.

[–] RobotZap10000@feddit.nl 17 points 3 months ago

You can take a quick look at the W3C standard. Primarily at the page length.

[–] HobbitFoot@thelemmy.club 11 points 3 months ago

Because you don't make money on making one, you make money on how it alters the view on how people see the Internet.

Under Microsoft, the Internet was made janky enough to encourage more than the basic web use require third party plug-ins that didn't always work or a computer program running in Windows.

Under Google, the Internet is more standardized across platforms, but Google can shape how the Internet works for it's own profit.

[–] r3df0x@7.62x54r.ru 7 points 3 months ago

There are a lot of things that they have to do, and they have to do them right with extremely little tolerance for error.

The Web has become the de facto method of accessing the internet for almost everything. Most people think of it as the internet.

A lot of people do critical stuff through web browsers, so if something on a website breaks because of the browser, it's a huge problem.

[–] YurkshireLad@lemmy.ca 6 points 3 months ago (3 children)

If only non-animated content could be rendered using something other than HTML/CSS.

I mean, most web content such as news or blogs are static text plus images. We could use a much simpler format with a really low entry point for more competition.

We can use apps for the complicated and dynamic content. I’m really generalizing but it’s out of frustration from how shitty the web has become and how it’s controlled by so few mega corporations.

[–] sxan@midwest.social 5 points 3 months ago (1 children)

It's been tried.

Lots of people do use gemini, but I think it's past the point where, if were ever going to catch on, it would have.

Personally, I think it's mostly OK, but went too far with simplifying the gmi spec; it's too simple. And some things that need to be possible for success, aren't, and never can be. I think it's too flawed to have ever caught on.

[–] Teils13 1 points 3 months ago* (last edited 3 months ago) (1 children)

Wish at least Lemmy and Mastodon (the whole fediverse) were possible to see in Gemini browsers at least (i'm using Lagrange in case anyone wants to try), we are already immune to the technical and commercial obstacles of mainstream web, and are just text and image.

[–] sxan@midwest.social 3 points 3 months ago

That's exactly what I mean. The FediVerse in general can work fine without JavaScript, CSS, or any cruft, but Gemini is even too simple for that to be an enjoyable experience. IMO.

[–] calcopiritus@lemmy.world 5 points 3 months ago

There are other formats. For example markdown is widely used in the web. It's biggest problem is the lack of standardization though.

[–] Zorsith@lemmy.blahaj.zone 3 points 3 months ago

The obscene amount of copyright protection BS and ads and tracking probably doesn't help. The average website, in my eyes, is massively bloated and over engineered for the content they actually deliver.

[–] udon@lemmy.world 3 points 3 months ago

Many reasons on many levels. One of them: Browser developers and the companies behind them benefit from a system where we have basically 2 options that reliably work. They have a stronger interest in keeping this expensive, rather than making it easy and cheap. So making sure other people can also develop a different browser is not on the agenda of anyone relevant.

load more comments
view more: next ›