DEV Community

Angel Daniel Munoz Gonzalez
Angel Daniel Munoz Gonzalez

Posted on • Updated on

What do you look for in a browser?

So, What is what you look for in a web browser?
What are the features you want/need?

I kind of want to explore UWP/Electron to create a prototype of a web browser, leveraging the fact that either chromium and chakra are two great capable engines

and I'd like to see if I don'get bored I can do some stuff,
If you are wondering what is this all about you can check the next UWP javascript sample

GitHub logo MicrosoftEdge / JSBrowser

🌲 A web browser built with JavaScript as a Windows app

Logo JavaScript Browser

A web browser built with JavaScript as a Windows app.
http://microsoftedge.github.io/JSBrowser/

badge_windowsstore

JavaScript Browser

This project is a tutorial demonstrating the capabilities of the web platform on Windows 10. The browser is a sample app built around the HTML WebView control, using primarily JavaScript to light up the user interface. Built using Visual Studio 2015, this is a JavaScript Universal Windows Platform (UWP) app.

In addition to JavaScript, HTML and CSS are the other core programming languages used. Some C++ code is also included to enable supplemental features, but is not required to create a simple browser.

Additionally, we’re taking advantage of the new ECMAScript 2015 (ES2015) support in Chakra, the JavaScript engine behind Microsoft Edge and the WebView control. ES2015 allows us to remove much of the scaffolding and boilerplate code, simplifying our implementation significantly. The following ES2015 features were used in the creation of this app: Array.from()

and in the case of Electron you can find many here

but this is a good example also

GitHub logo wexond / browser-base

Modern and feature-rich web browser base based on Electron

Wexond Browser Base

Actions Status Downloads FOSSA Status PayPal Discord

Wexond Base is a modern web browser, built on top of modern web technologies such as Electron and React, that can also be used as a framework to create a custom web browser (see the License section).

Table of Contents:

Motivation

Compiling and editing Chromium directly may be challenging and time consuming, so we decided to build Wexond with modern web technologies. Hence, the development effort and time is greatly reduced. Either way Firefox is based on Web Components and Chrome implements new dialogs in WebUI (which essentially is hosted in WebContents).

Features

  • Wexond Shield - Browse the web without any ads and don't let websites to track you. Thanks to the Wexond Shield powered by Cliqz, websites can load even 8 times faster!
  • Chromium without Google services and low resources usage - Since Wexond uses…




with UWP you can do it either with JavaScript (as shown above) or with C#, VB, C++, in Electron just JavaScript (or [rust, cpp] native modules if you want to be fancy)

please share your features, questions and comments!
in any case, I will report back my experiences on working with such platforms!

Oldest comments (19)

Collapse
 
ben profile image
Ben Halpern

This is probably something I’d be skeptical about. Not to say you shouldn’t do it, but browsers seem like a tough tech to break into.

I’d love a browser that managed resources better and cut off memory hogs.

But in terms of user features that might be more achievable in electron world, I think it would be pretty cool to have a dev-tool-first browser. A browser that made inspection, console, etc. more front and center. I feel like that could be a fun differentiator.

Collapse
 
defiance profile image
Defiance Black • Edited

a dev-tool-first browser

OP! This!

As a power user, I like Vivaldi a lot -- customize everything.

As a developer, I prefer Firefox Quantum -- unmatched dev tools.

I can't immediately think of what a browser could bring to the table to make me install/load a different one... because they all war to be your default, I barely even use Vivaldi anymore.

You'd have to get crafty with real estate, I think. Since the current tools sort of overwrite the content visually, something clever might be done with semi-transparent overlays... perhaps specific extensions along the line of various tests (Mozilla's Observatory, Google's Mobilefriendly, etc).

The ParrotOS of web browsers?

The ParrotOS of web browsers.

This.

Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

I can't immediately think of what a browser could bring to the table to make me install/load a different one... because they all war to be your default, I barely even use Vivaldi anymore.

I agree with you, there was a time I kind of had fierce opinions on browsers but now days, as long as it renders my stuff consistently I'm fine with it.

You'd have to get crafty with real estate
agreed

The ParrotOS of web browsers?
I think that's too much for my skills hahaha but I'll have it in mind

Collapse
 
rhymes profile image
rhymes

Something like Firefox Developer Edition? mozilla.org/en-US/firefox/developer/

I've never tried though I use regular Firefox (beta channel) every day

Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

This is probably something I’d be skeptical about. Not to say you shouldn’t do it, but browsers seem like a tough tech to break into.

Don't worry I'm a bit skeptical too but I want to see if I'm able to do something with it, when it comes to browsers I'm that guy that just need it to render the stuff, that's why I wanted opinions.

dev-tool-first browser. A browser that made inspection, console, etc. more front and center.

Now that seems an interesting thing, I'll try to see what can be archivable here

Collapse
 
jasman7799 profile image
Jarod Smith

Netscape?

Collapse
 
tux0r profile image
tux0r

What are the features you want/need?

I want a proper implementation of whatever the current HTML standard is and a button to turn off JavaScript for the current site. That's pretty much it. I stopped caring for customizability as most browsers decided that thy won't let me anymore...

Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

Hahaha, well that's up to the browser vendors sadly, my skills are not in that level

Collapse
 
d1p profile image
Debashis Dip
  • Lightweight
  • Support for latest HTML5, CSS3, Js features
  • Privacy focused
  • Syncing with most of the platform
  • Decent dev tools (Chromium one is fine 😍 )
Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

thank you, I just have a question

Syncing with most of the platform

what do you mean by this?

Collapse
 
d1p profile image
Debashis Dip • Edited

Currently, I am using 3 devices with different os (macos, windows, android) as my primary way to access the internet.
It's really important that the browser at least syncs the bookmarks & passwords with those different devices.

Thread Thread
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

Ah indeed, this is a must have for many, I get it

Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

In the case of Dev Tools
for UWP it seems there could be an interesting option in the future

docs.microsoft.com/en-us/microsoft...

however there might be hidden support for this since the new edge tools preview can indeed debug webviews inside an UWP App (
there is a edge tools dev protocol that is similar to the chrome dev tools protocol, but it is an early preview)

In the case of electron
There is quite a lot of stuff in there

github.com/ChromeDevTools/awesome-...

I'll keep you posted!

Collapse
 
erebos-manannan profile image
Erebos Manannán

I'll be echoing Ben Halpern's concerns, and adding that overall if you want to build a browser you don't want to be that far from the rendering system as e.g. Electron puts you.

What I'd actually want from a good browser is:

  • More control, especially for security critical matters: Which JavaScript features are available? For example WebGL should be disabled by default. So should media autoplay. Creating IFrame elements should be restricted, and various security issues that can be blocked by reasonable developers should be by default blocked by the browser (Cookies without same-site settings, etc.)
  • Support for the extensions I need, and I use quite a few (LastPass/Dashlane, Google Translate, Privacy Badger, uBlock Origin, HTTPS Everywhere, Better Twitch TV just to name the main ones I won't use a browser without). This is probably the toughest one for any new browser to match.
  • Speed. This applies to everything, JS speed, network speed, rendering speed, just responding to my requests for actions. Even Chrome fails me with this regularly making me wait a few seconds before responding.
  • Not wasting resources massively, especially CPU and GPU - RAM is cheaper to upgrade and I've got plenty

Good luck if you're intent on giving it a go.

Collapse
 
erebos-manannan profile image
Erebos Manannán

Btw, Brave has some cool ideas. It basically just fails me on the extensions, so can't actually use it.

brave.com/

Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez • Edited

This was one of the examples I first thought, but it seems they have moved away from electron based tech

Thread Thread
 
erebos-manannan profile image
Erebos Manannán

Well, as far as I know - and I could be wrong - electron really doesn't give you a lot of control over what's actually going on inside the browser. It simply gives you a way to interact with browser based applications and a more of a behind the scenes application with access to your filesystem and other things normal applications tend to need.

Thread Thread
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

Yes that's the usual case, it uwp for example you are able to control the web view navigation as well as things that doesn't happen inside it, screenshot as an example, I believe this to be true in electron as well

Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

Yeah I do understand resource usage and the security issues, I was actually just looking for the user features feedback, but I guess I did ask the wrong question since I'm not going to use other than electron/uwp as a base, so perhaps I need to update the post to clarify that