Chromium

Share

What is Chromium?

Chromium (chromium.org) is an open source web browser launched by Google that is used as the base for almost all major web browsers in the market today, including Google Chrome1, Microsoft Edge2, Vivaldi3, and Opera—exceptions including Mozilla Firefox4—and many web browsers that are related to search engines for some reason, like DuckDuckGo's, Brave (see: Brave Search), I think Kagi had one as well; and, also, is the basis of Electron, which is used by many applications that are also websites, such as Discord and Spotify, i.e. these applications are basically an entire web browser that only displays a single website.

History

The web is hypermedia transferred through HTTP (hypertext transfer protocol), including webpages that are HTML (hypertext markup language) files. The idea is that the text code in the HTML describes what a webpage should look like, and a web browser is an application capable of displaying the HTML correctly.

This leads to a chicken and egg problem.

Webmasters (owners of websites) can't add HTML code to their webpages that no web browser supports, because then nobody would be able to see what they wanted to show, while web browsers won't support HTML code that no website uses as that would be a waste of time.

Historically, this meant that some web browser would come up with a new cool feature, like the ability to display images inside web pages which until then were only text and hyperlinks, it would get some adoption, then other web browsers would implement their own version of the feature. In many cases, the way these features behaved in different web browser would different slightly, because the implementation would be different. There was a HTML standard, but many things could slip through the standard.

Even if you could find webpages that used the HTML code wrong, fixing those webpages could often be impossible, as the webmaster responsible for them may not even be alive anymore. The web was a growing mess of code and quirks.

Many things that worked in Firefox didn't work in Internet Explorer (also known as "IE"), for example, because Internet Explorer was developed by Microsoft, and Microsoft was busy developing all sorts of other things that weren't web-related, while Mozilla was focused on web-technologies only. Then Chrome appeared, developed by Google, which is a web-related company.

One of the best things Chrome had over other web browsers was its Javascript engine, called "V8." Javascript is what is used to make most webpages interactive, show popups, display all sorts of animations, etc. Any game you see on a website today is made with Javascript. V8 is a very good implementation of Javascript. This means the scripts ran faster on Chrome than in other web browsers, which meant a smoother experience on the web.

You can see that at this point, web browsers were all fundamentally different.

Some features that worked in Firefox and Chrome didn't work on Internet Explorer. Every webmaster hated Internet Explorer because it shipped by default in Windows, and in many corporate environments, users weren't allowed to install a different web browser, so they HAD to use IE despite the fact it didn't support anything, which means that websites with corporate customers had to support IE. If you had the government or banks as your customer, you would have to keep supporting IE for a long time even after it stopped being developed.

Extensions that worked in Firefox didn't work on Chrome. They were completely different formats and APIs.

If there was a security issue in one web browser, every single web browser would have to fix it independently, assuming they all had the same issue.

Now we have Chromium, named after Chrome, because it's essentially Chrome without the Google branding.

Because every web browser is just Chrome nowadays, webmasters do not have to worry about their code only working in one browser. Well, they should test it anyway, because there are still some differences across web browsers, but they won't have as many issues as they had in the past. If there is a security issue in Chrome, it gets fixed in Chromium for everybody.

Most importantly, Microsoft gave up on Internet Explorer and started shipping Microsoft Edge instead, which is based on Chromium, and this let all web developers lead happier lives.

Another cool browser that existed was Opera. That was my favorite browser because it had a lot of features built-in, which Vivaldi has nowadays. Opera was very lightweight. I remember trying to open the HTML spec in other web browsers at the time, and them freezing because its single-page format is just extremely long, so I guess most browsers tried to allocate memory for the entire webpage's height and just couldn't do it in my low-spec PC. However, Opera managed to open it without an issue. That Opera no longer exists.

When web browsers decided to become Chromium clones, they had to be rewritten from scratch to use Chromium's code as basis instead of whatever they were using. Some parts of the code may have been reused, but that would be counterproductive. The major benefit of Chromium is that every web browser is the same under the hood: every web browser uses V8 and Webkit.

Everyone is Making a Web Browser Now

Nowadays, literally everyone can just make a web browser.

DuckDuckGo, a privacy-focused search engine, announced their own privacy-focused web browser

Brave is a web browser, that has its own search engine. I never used the browser.

Kagi, another search engine, announced their own web browser as well.

The reason why all these brands can just say "you know what, I'm going to launch my own web browser!" is because the web browser is already made and it's called Chromium. They don't really need to do anything except configure some defaults and create an icon and name for it. It's like creating your own Linux distro. Linux is already made. You just need to package it into an ISO and you're done.

Recently I downloaded "Pling Store," which, I assumed, would be an app to download themes on Linux. It's actually a website, that lets you download the app, and if you open the app, it's actually just a web browser that can only display the website it came from. It's literally just that: an entire app that is just a web browser to display a single website. It also has a feature to keep track of what themes you downloaded from a custom URL protocol, but it doesn't even integrate with the website inside the app. If you click "install" on the app, or in the website in a normal web browser, you get the same URL. If you have Pling Store installed, it just happens that the app is executed to handle that URL. The point is, it didn't need to be a web browser at all! It could just be a simple GUI.

Cross-platform applications are often entire web browsers because it turns out developing a desktop application with Qt or Lazarus is so incredibly frustrating that it's easier to ship an entire web browser (Electron) instead of programming C++ or Pascal. Nowadays there's also Tauri, which is programmed with Rust, but programming Rusti s also incredibly frustrating, so it's not really better. One common alternative I keep hearing about is to use a game-development library to create your GUI application, e.g. Aseprite originally used Allegro for its GUI. I don't really understand how we reached this point, but I do agree it's much, much, MUCH easier to make a desktop application for Windows using C# than trying to make something that runs on Linux, Mac, Windows, and maybe even Android and iOS as well. Maybe we should just use Java for this.

For the record, an Electron app is easily over 100 megabytes in size. Web browsers can display videos and play music, so they will come with libraries to open video and audio formats even if the application doesn't actually display any videos or plays any sounds. A Qt app needs the Qt library, so it's dozens of megabytes at minimum. A native Windows app written in Pascal is a few megabytes at most.

References

  1. https://blog.chromium.org/2008/10/google-chrome-chromium-and-google.html (accessed 2024-08-29) ↩︎
  2. https://www.microsoft.com/en-us/edge/learning-center/what-is-chromium-how-does-it-enhance-your-browser (accessed 2024-08-04) ↩︎
  3. https://help.vivaldi.com/desktop/privacy/is-vivaldi-open-source/ (accessed 2024-08-30) ↩︎
  4. https://www.mozilla.org/en-US/firefox/faq/ (accessed 2024-08-30) ↩︎

Comments

Leave a Reply

Leave your thoughts! Required fields are marked *