Also, I feel like inspiration from the early web browsers should be taken. Tim Berners-Lee's book "Weaving the Web" fascinated me and I think that we can learn from both the current and the oldest designs of browsers.
When a link is opened in a new tab, that tab should keep the history of the tab it was opened from.
There used to be a Firefox extension for that, but that now doesn't work anymore because of changes in Firefox. Chrome closed a feature request for that with WONTFIX (https://code.google.com/p/chromium/issues/detail?id=1639).
EDIT: Oh, and also a simple user-friendly way to block autoplay of all audio and video elements. Maybe a "quiet mode" switch or something like that.
The reason why I originally switched from Firefox to Chrome was because Chrome was minimalistic and very, very fast - a chrome for the web.
Now I'm seeing Chrome become bloated, and slow. On top of this, it's now trying very hard to identify me by asking me to sign in with my Google account.
I want my next browser to make me forget that I'm using a browser in the first place, and also to not care about my identity.
Why not Opera? The new Opera is Chromium with what I think is a better design[1] that respects your OS[2]. You don't have to sign in to sync, but you can if you want. It's not open, but they're not an ad company. And finally, it's said to be faster than Chrome.
[1] I prefer Firefox so I use the FxOpera theme
[2] Well, it tries its best on Linux (unlike Chrome), but it's near perfect on Windows and Mac OS
Personally I don't use Opera because it doesn't let you customize mouse gestures. They consider it too geeky a feature :) http://i.imgur.com/fDSjYZq.png
Yes, because it manipulates the system in some way beyond copying the app to app, it's often hard to deinstall without traces, hard to keep two versions side by side etc.
So if the pain of the installer is larger than the added benefit of using Opera vs. Chrome, then yes.
Sounds like you might want to give Firefox a try again then – it’s much better now than in the 4.x days. Or if you’re on a Mac Safari is pretty slim (although slightly lagging in JS abilities).
Google Chrome is pretty close. Some extra things I'd like:
* Fully open source, with clear and open licensing.
* Extensions with a permissions system that works at multiple levels of granularity. So I should be able to trust an extension but deny it some specific things (without breaking it.)
* A headless mode, with python/ruby/other bindings, so I can use it as an automation library.
1. I totally agree with the open source part. Although I use a closed source OS often in everyday life (OS X, so at least it's a *nix) I'm a big fan of Linux (which I use on the side, and way before Windows) although personally I like the MIT and BSD type licenses over the (L)GPL
2. Granularity is a great thing to have as well. Extensions could maybe be broken into multiple sections, so you could have a- Permission to inject into page 2- permission to access saved passwords c- permission to access local files etc etc etc, and then you could set its local file root or what sites it can run in.
3. A headless browser sounds pretty great but with the nonstandard essence of web design I wonder how one would use it usefully in automation.
In answer to 3 - ideally in a way similar to http://www.nightmarejs.org/, well worth looking into if you've never played with a headless browser before
Its development should be managed by a group who are not concerned with generating money from advertising/tracking or any other privacy reducing endeavors. A group who put user privacy and security at the forefront of every decision made.
I agree. There should be three main aspects of a web browser's development team's plan.
1. Stability and Features
The browser should be stable and free of major bugs, reasonable feature requests should be fulfilled when fairly trivial or found to be important. Programmers should be knowledgable in the language the browser is in. Personally I'd write it in C++/wxWidgets, using Blink as the engine since that's the most popular and compatible renderer it seems.
2. Privacy and Security.
The user's ability to control their information should be key, and it should be kept locally unless the user explicitly chooses to send it off.
3. Customizability
The user should be able to make changes to how the browser operates through extensions, userscripts, userstyles, etc.
In chrome, you can make a shortcut for a profile by providing a flag --profile-directory="YourProfileName"
It will be created if it doesn't exist and you can even set it to point to a TEMP folder for throwaways.
Ah, didn't realize that. Thinking about it, I've only used this 'hack' to have two different gmail accounts open at the same time (one in normal, one in incognito).
See the history as a tree, not as a list, so branch points can be preserved and you can navigate back over everywhere you've already been.
A detailed development roadmap.
Privileged browser Apps and Extensions working on mobile. C'mon, it's 2015! ( no PhoneGap required )
An automation API.
The same really committed team who optimized V8.
Source on GitHub ( not necessarily all of it mind, some can be privileged access, tho a place to post issues that is no more code.google or crbugs, just, why? ).
A dev roadmap is just a general program requirement. Not specific to web browsers but good.
And you're right about mobile and extensions. There's no need to restrict when you don't have to! For a web browser on iOS, sadly you have to use Apple's engine but that's workable with js injection for extensions. And of course on Android there's no problem. I like that iOS is opening a little (I have an iPhone) but I wish it was more open like android, that way jail breaking would not be required for a lot of features. The one good thing now is that they're letting you side load apps from source with Xcode 7 without paying, but it's some michigas to go through. Mobile platforms are weird.
This may be not exactly what you are looking for but there is a session management tool for firefox. It allows you to save/restore the tabs (and their history) of a session.
For automation API you probably want a way to record actions and replay them like Excel macros? If you look for scriptable automation for Chrome then http://phantomjs.org/ might be a step in that direction.
For an automation API, would the RemoteDebug APIs³ work, or perhaps the command-line⁴ API for Firefox? See node-firefox⁵ for an example of using the RemoteDebug API to automate some functions in Firefox.
What makes you perceive the V8 team as more committed than other teams?
You can use your GitHub login to sign in to Mozilla's Bugzilla⁶, is that not enough of an integration for you?
I watched a couple of video presentations V8 did about optimization. It was really coherent. And their skills were really advanced. Also, visceral experience of the speed and stability of Chrome.
Also visceral experience deving Chrome apps and extensions ( man, I love their clear APIs ) versus doing the same in Moz with XUL ( omg, die ).
Browsers are as much about branding as anything, and I'm never going to come to the Mozilla camp. I don't believe a browser works to be a political cause, nor do I believe Mozilla is anything like the narrative they have about it. I mean what the hell is the committee of the Mozilla foundation doing? Wasting time with meetings about the grandiose purpose as a "movement", instead of making a better browser.
They pretend they're so "righteous" and yet all that pedantic dogmatic nitpicking and differentiating themselves is actually costing a lot of efficiency, which doesn't work for people who browse or for people who code.
Aside from that, I like the way Chrome does JS, and I don't like the way Moz does. Custom Elements, c'mon!
The masses have voted anyway. Chrome FTW.
Your answer was clear, it just seems we're on different sides of the browser divide. I wonder why there's so much loyalty? The browser is such an important piece of software.
I book mark often. Unless you have rigid discipline your bookmarks will end up as a huge confusing list. Current bookmark managers feel like an afterthough. <tinfoil>Google don't want you to use bookmarks. They want you to search so they can mine data and serve ads</tinfoil>.
I'd pay money for a book mark manager that could organise my list of about 2,000 bookmarks. That software could have a "bulk bookmark import" feature so that users can share some set of bookmarks. "Here is my list of best pages about $ANIME_SERIES".
A bookmark manager that looked a bit like Pinterest, and that has options to locally save some content, is something I'd pay money for.
It's hard for large browsers to improve bookmarks because people use them in such varied ways. Changing bookmarks to work more like Pinterest may work well for you, but it may completely break someone else's workflow.
One solution would be to let you install third-party bookmark managers which would replace the built-in bookmark UI. That seems even more ripe for abuse than features like custom toolbars, though, which are already heavily abused in current browsers.
As such a heavy user of bookmarks that I pay cash money for a 3rd party bookmark manager: literally any improvements would be great. The built-in bookmark managers of browsers - especially mobile ones - are incredibly anemic.
EDIT: The bookmark manager I pay for is called Linkman - http://www.outertech.com/en/bookmark-manager. I first bought it around 10 years ago and still use an old version, so unfortunately I'm neither up-to-date with its present capabilities nor the current landscape of 3rd party bookmark managers.
Using Firefox and bookmarking heavily with giving tags to my bookmarks. I would like to have a bookmark simple search language that allows me to combine the tags and narrow down the results, for example:
give me all bookmarks that are tagged "tools" AND "unix" AND "visualization" AND (NOT HAVING "monitoring")
There is an add-on called "tagsieve" that I used heavily, it had a nice visual possibility to filter the bookmarks with a tag cloud - though it didn't have a search language. But throughout the years often it was not compatible with new Firefox version (just see that it is installable again).
should be simple and easy to navigate, understand what i might do.
Even if i open many tabs shouldnt freeze or crash, Thats one of the most important thing i care about, Mostly firefox does that, keeps crashing if you open many tabs.
Would be great if allows to sync with mobile, like if i enjoy a website and display right away on my mobile, instead of using extension it should the out of the box. We are living on a mobile world now.
A browser where the security updates aren't married to "interface enhancements".
Just give me the security updates for the version I have, because I don't want your designer's latest idea of what a browser should look like, and unwanted new features forced down my throat with the security updates.
Choice about what new features to install - much like Windows updates, would be nice.
At the very least provide ways to keep things working and looking exactly how they are at the moment. Needing an add-on to bring back the status bar in Firefox is a joke.
Such as, make it easier for people to visit self-signed certificate websites, instead of the disaster that it is now.
Ive had friends not able to get by the "error warning" pages to see the photos on my self-hosted and self-signed encryption on my own site.
Id rather have everybody being able to MITM my self-hosted site, than only government agencies (because why would I pay for a ceritiface when any NSA compliant CA can then MITM that same "secure" connection, its false advertising on behalf of browsers, that somehow a CA signed certificate is worth more than self signed).
Scalable tab management.
Being able to (name) group them without restrictions and being natively implemented on the browser without separate screens etc.
Modularity.
I would like to see a browser that is designed as an engine, meaning that no UI/UX, or 'browsing' features are included. Much like a raw linux kernel in philosophy.
I would like this ideal browser to have interoperability with various JS engines, HTML and CSS renderers, as well as the standardized specifications for the underlying network protocols. It should be 'safe' by being written in languages where safety can be guaranteed ( with the exception of human error of course ).
In essence, if an open source core for a browser existed, maybe we could all work together and build the ideal browser.
"Ideal" isn't one thing. Allowing for personal customizations while following closely the standards make the base for implementing many "ideal flavors" of browsing experience.
Mozilla made a language in order to build their new browser engine, servo [1].
That language is Rust [2].
The reasoning was that we have been relying for too long on systems languages where memory safety [3] related bugs have caused a lot of exploits [C, C++].
In big codebases, like the browsers tend to be, bugs have many places to hide, and such bugs are very hard to spot. You can't rely on contributors being extra careful continuously, because everyone makes mistakes. So by using a programming language with a garbage collector or memory safety guarantees, like Rust, and enforcing extreme modularity, critical bugs are much easier to be spotted.
Yeah, it provides all the features of a browser without the UI for them. You embed the WKWebView (not WKView, I mistyped) in your browser app and call methods on it to load URLs, go back and forward, and so on.
I'm having a really hard time working out whether or not I agree with this idea. On the one hand my inner developer loves the idea. The notion that everything is a module, with well documented and robust APIs for communication between modules, is perfect. The browser could be all things to all people. But on the other hand there would be absolutely no additional value for a typical user. 99% of people (generalising, don't know the real number, but it's high) do no customisation to their browser. They don't even know they can.
A modular browser would only benefit developers, and we can already cope with delving deep in to the internals of many browsers if necessary. So is there really any point in a modular browser? Who would it be for?
Allow me to present an analogy between operating systems and browsers.
You can install Arch/Debian Linux or Ubuntu, and there is no collision there. You build your OS the way you want it or you run an automated installation and soon you are doing work, browsing, watching movies, etc.
My point is that if Debian wasn't what it is, you wouldn't have Ubuntu which offers additional value to a typical user, and be stuck with Windows forever. Choice is of value.
Do you want to be stuck with Firefox, Chrome etc. knowing how hard they adapt to real needs and ignore bug fixing in favor of new features?
A browser is not your 'typical' application. Browsers are in my opinion true virtual machines and should be treated as such.
I like the OS analogy, and it highlights the potential benefits well, but we also need to consider the downside.
It would load a huge amount of complexity on web developers. Rather than 5 browsers with a couple of versions of each, you'd need to start testing against a vast matrix of renderers, CSS engines, JS engines, chrome (as in browser chrome, not Chrome) plugins, etc, with versions of each and every one.
Testing software on Linux is hard enough that the economics mean an overwhelming majority of software manufacturers don't bother, or they do but they only support a very limited range of versions, or they release unsupported software that it's up to you to get working. That's definitely not something I believe we want to do for the web.
Well fortunately in the web we have already got standards committees. As long as those standards are supported there should be no problem.
Unfortunately current mainstream browsers don't comply with the standards to the fullest, although I admit compliance is orders of magnitude better than years ago.
Aren't Chrome only apps and web sites harming the web?
I agree with testing Linux software completely. It's maddening how much the notion of testing is ignored.
Well it's a win-win situation, build the ideal browser, then you have already built the "ideal" OS ;)
MOBILE: when I zoom a page the browser should treat this the same as if I change the window size on a desktop browser, and reflow the text. Mobile browsing is a really lousy horrible experience because there are some conflicting philosophies.
No. It should actually limit horizontal reflow width inside element to screen width. That way you can always read a passage of text by using only vertical scrolling.
In other words, a block element's internal flow width should be restricted to screen width, so that a row of inline elements inside that block can never be wider than screen width.
In other words, text columns should flow at screen width.
Just doing what desktop browsers do would squish the text in a very narrow space. Not desirable.
For me, this is the single most important feature in a mobile (phone) browser.
Apart from customizability, security and decoupling of UI changes from API/perf/security fixes:
- Option to stop all audio/video in all tabs
- Lazy session restore
- Reliable "save for offline viewing"
- Decoupling of "read later" from bookmarks and a separate interface for both
Going wild:
- Automagic unloading, archiving and clustering of opened tabs, perhaps with an auto-extraction of TL;DR from long articles
I very often open lots of pages (from HN etc.) but have no time to read them all at the time of opening. They linger as background tabs until the background tabs count is so big so I have to close them all and probably never come back.
Would be cool if the browser was able to somehow unload and archive unused tabs (to free some memory), and perhaps automatically group them into several categories: say, "angularjs", "bash", "youtube", "news" etc. and provide a good interface to return to them later.
However due to sheer amount of links I follow, my problem might be unsolvable :)
Zotero [0], with browser connector (extension), or alternatively a bookmarklet.
Originally intended as a research tool to manage sources, hence the added benefit of being able to export collections as BibTeX.
- mouse gestures and switching between tabs with right-click + mouse wheel up/down or something similarly effortless
- tab stacking,
- and last but not least: if you want to make money off me, instead of sneakily tracing where I go and what I do and partnering with Google, ask me for it on first start and maybe with a discreet "donate/subscribe" button on the start page / speed dial.
Opera Unite would be a killer app with support for CloudFlare, so the pages would remain online when our computers were off, and auto sync of everything when the computer comes back online.
Also, with something like wordpress with themes and all the other silly things that made wordpress popular.
Chromium developer tools are very good, and the smartphone preview functionality is killer, but for really obscure JavaScript issues only the Dragonfly error messages made sense. They were clear an to the point every single time.
I remember the JavaScript that ran in Kestrel bug free, would run everywhere bug free.
Now, about mouse gestures and switching between tabs with right -click + mouse wheel, you can do that just now with Vivaldi. It only needs synchronization and supporting extension icons to replace Chrome in my computers.
Yeah, I use Vivaldi as my tertiary browser (or rather sometimes Vivaldi, sometimes Pale Moon, sometimes SeaMonkey) and I'm keeping close eye on it. It's still running on top of Google's code though, isn't it? :/
As for Dragonfly, it has "Resources". Chromium developer tools have "Sources", but I can't even tell if those things from Dragonfly's Resources are there. Mobile preview isn't very important for me as I use these tools for analysis and data extraction instead of actually developing, heh.
Anyway, a lot of the features that are critical for me are still missing and even if that was just the image properties windows, I won't uninstall O12. But Vivaldi is also missing (from those things I listed) other than Dragonfly also loading feedback, proper config (though it has vivaldi:flags, which seems to have extended from the last time I was there), structured history, the window bar doesn't say the page title, downloads are basic, ... all maybe tiny details to some, but they're huge quality of life improvements for me daily.
Cookieplux[1] is a plugin I made for Firefox, It is still waiting for approval from Moziall. But I have released the source.
So you can build it yourself.
Less memory consumption is often at odds with less processor usage. For example, a browser can consume a lot less memory if it doesn't cache decoded images, etc. But then the engine needs to decode same images over and over again.
From a previous HN post - I want a browser standard for an easily optimised subset of html technologies. To conform to this standard, pages would be restricted in the ways they can manipulate the DOM, have a simpler DOM, use only a small fraction of CSS properties, and not use some JS features e.g. eval, delete.
We can use the asm.js model for opting in. Browsers that support it run the pages super fast, other browsers run them just as fast as usual.
A browser engine supporting just this standard would be considerably smaller, more embeddable, and a nicer base for current webkit based apps (e.g. spotify, steam, or atom). It might also help apps that want to use something like webviews for embedding content but need to be careful with memory / performance.
249 comments
[ 3.9 ms ] story [ 299 ms ] threadMyself included.
It's basically impossible not to these days.
I'd consider it professionally irresonsible to let a non-technical user loose on the web without a good ad blocker. It's just too dangerous out there.
There used to be a Firefox extension for that, but that now doesn't work anymore because of changes in Firefox. Chrome closed a feature request for that with WONTFIX (https://code.google.com/p/chromium/issues/detail?id=1639).
EDIT: Oh, and also a simple user-friendly way to block autoplay of all audio and video elements. Maybe a "quiet mode" switch or something like that.
Now I'm seeing Chrome become bloated, and slow. On top of this, it's now trying very hard to identify me by asking me to sign in with my Google account.
I want my next browser to make me forget that I'm using a browser in the first place, and also to not care about my identity.
[1] I prefer Firefox so I use the FxOpera theme
[2] Well, it tries its best on Linux (unlike Chrome), but it's near perfect on Windows and Mac OS
I got bad news for you
But still, I don't think they track searches and history like Chrome.
Many programs do that, even Apple ones: iLife, Microsoft Office, Adobe Creative Suite, etc.
So if the pain of the installer is larger than the added benefit of using Opera vs. Chrome, then yes.
* Fully open source, with clear and open licensing.
* Extensions with a permissions system that works at multiple levels of granularity. So I should be able to trust an extension but deny it some specific things (without breaking it.)
* A headless mode, with python/ruby/other bindings, so I can use it as an automation library.
2. Granularity is a great thing to have as well. Extensions could maybe be broken into multiple sections, so you could have a- Permission to inject into page 2- permission to access saved passwords c- permission to access local files etc etc etc, and then you could set its local file root or what sites it can run in.
3. A headless browser sounds pretty great but with the nonstandard essence of web design I wonder how one would use it usefully in automation.
1. Stability and Features
The browser should be stable and free of major bugs, reasonable feature requests should be fulfilled when fairly trivial or found to be important. Programmers should be knowledgable in the language the browser is in. Personally I'd write it in C++/wxWidgets, using Blink as the engine since that's the most popular and compatible renderer it seems.
2. Privacy and Security.
The user's ability to control their information should be key, and it should be kept locally unless the user explicitly chooses to send it off.
3. Customizability
The user should be able to make changes to how the browser operates through extensions, userscripts, userstyles, etc.
And firefox's extensibility is great as usual, but its bloat and the new UI and the ads on the tab pages disillusioned me
1. http://firstglitch.com/cookieplux/cookieplux-firfox-plugin-f...
Feel free to try it out.
https://addons.mozilla.org/en-us/firefox/addon/multifox/
https://chrome.google.com/webstore/detail/multilogin/nccllfn...
A detailed development roadmap.
Privileged browser Apps and Extensions working on mobile. C'mon, it's 2015! ( no PhoneGap required )
An automation API.
The same really committed team who optimized V8.
Source on GitHub ( not necessarily all of it mind, some can be privileged access, tho a place to post issues that is no more code.google or crbugs, just, why? ).
A dev roadmap is just a general program requirement. Not specific to web browsers but good.
And you're right about mobile and extensions. There's no need to restrict when you don't have to! For a web browser on iOS, sadly you have to use Apple's engine but that's workable with js injection for extensions. And of course on Android there's no problem. I like that iOS is opening a little (I have an iPhone) but I wish it was more open like android, that way jail breaking would not be required for a lot of features. The one good thing now is that they're letting you side load apps from source with Xcode 7 without paying, but it's some michigas to go through. Mobile platforms are weird.
Contributions are very welcome :)
https://addons.mozilla.org/de/firefox/addon/session-manager/...
A roadmap like this?: https://wiki.mozilla.org/Platform/Roadmap Curious why you want one though?
For an automation API, would the RemoteDebug APIs³ work, or perhaps the command-line⁴ API for Firefox? See node-firefox⁵ for an example of using the RemoteDebug API to automate some functions in Firefox.
What makes you perceive the V8 team as more committed than other teams?
You can use your GitHub login to sign in to Mozilla's Bugzilla⁶, is that not enough of an integration for you?
1: https://addons.mozilla.org/en-us/firefox/addon/fromwheretowh...
2: https://addons.mozilla.org/en-us/firefox/addon/session-histo...
3: https://kenneth.io/blog/2015/03/12/remotedebug-one-year-late...
4: https://developer.mozilla.org/en-US/docs/Mozilla/Command_Lin...
5: https://github.com/mozilla/node-firefox
6: https://bugzilla.mozilla.org/
Also visceral experience deving Chrome apps and extensions ( man, I love their clear APIs ) versus doing the same in Moz with XUL ( omg, die ).
Browsers are as much about branding as anything, and I'm never going to come to the Mozilla camp. I don't believe a browser works to be a political cause, nor do I believe Mozilla is anything like the narrative they have about it. I mean what the hell is the committee of the Mozilla foundation doing? Wasting time with meetings about the grandiose purpose as a "movement", instead of making a better browser.
They pretend they're so "righteous" and yet all that pedantic dogmatic nitpicking and differentiating themselves is actually costing a lot of efficiency, which doesn't work for people who browse or for people who code.
Aside from that, I like the way Chrome does JS, and I don't like the way Moz does. Custom Elements, c'mon!
The masses have voted anyway. Chrome FTW.
Your answer was clear, it just seems we're on different sides of the browser divide. I wonder why there's so much loyalty? The browser is such an important piece of software.
I'd pay money for a book mark manager that could organise my list of about 2,000 bookmarks. That software could have a "bulk bookmark import" feature so that users can share some set of bookmarks. "Here is my list of best pages about $ANIME_SERIES".
A bookmark manager that looked a bit like Pinterest, and that has options to locally save some content, is something I'd pay money for.
One solution would be to let you install third-party bookmark managers which would replace the built-in bookmark UI. That seems even more ripe for abuse than features like custom toolbars, though, which are already heavily abused in current browsers.
EDIT: The bookmark manager I pay for is called Linkman - http://www.outertech.com/en/bookmark-manager. I first bought it around 10 years ago and still use an old version, so unfortunately I'm neither up-to-date with its present capabilities nor the current landscape of 3rd party bookmark managers.
give me all bookmarks that are tagged "tools" AND "unix" AND "visualization" AND (NOT HAVING "monitoring")
There is an add-on called "tagsieve" that I used heavily, it had a nice visual possibility to filter the bookmarks with a tag cloud - though it didn't have a search language. But throughout the years often it was not compatible with new Firefox version (just see that it is installable again).
Even if i open many tabs shouldnt freeze or crash, Thats one of the most important thing i care about, Mostly firefox does that, keeps crashing if you open many tabs.
Would be great if allows to sync with mobile, like if i enjoy a website and display right away on my mobile, instead of using extension it should the out of the box. We are living on a mobile world now.
Just give me the security updates for the version I have, because I don't want your designer's latest idea of what a browser should look like, and unwanted new features forced down my throat with the security updates.
Choice about what new features to install - much like Windows updates, would be nice.
At the very least provide ways to keep things working and looking exactly how they are at the moment. Needing an add-on to bring back the status bar in Firefox is a joke.
Such as, make it easier for people to visit self-signed certificate websites, instead of the disaster that it is now.
Ive had friends not able to get by the "error warning" pages to see the photos on my self-hosted and self-signed encryption on my own site.
Id rather have everybody being able to MITM my self-hosted site, than only government agencies (because why would I pay for a ceritiface when any NSA compliant CA can then MITM that same "secure" connection, its false advertising on behalf of browsers, that somehow a CA signed certificate is worth more than self signed).
Textareas that don't suck.
"Ideal" isn't one thing. Allowing for personal customizations while following closely the standards make the base for implementing many "ideal flavors" of browsing experience.
I do realize an ideal browser is different for everybody, but I wanted to know what many different people thought was interesting
In big codebases, like the browsers tend to be, bugs have many places to hide, and such bugs are very hard to spot. You can't rely on contributors being extra careful continuously, because everyone makes mistakes. So by using a programming language with a garbage collector or memory safety guarantees, like Rust, and enforcing extreme modularity, critical bugs are much easier to be spotted.
[1] https://github.com/servo/servo [2] https://www.rust-lang.org/ [3] https://en.wikipedia.org/wiki/Memory_safety
The "ideal" core I was talking about should be able to use WebKit as a rendering engine.
It seems like WebKit's WKWebView (or WebKitWebView on gtk, or ewk_view on efl) is pretty much what you're asking for.
Edit: WKView should be WKWebView, sorry
A modular browser would only benefit developers, and we can already cope with delving deep in to the internals of many browsers if necessary. So is there really any point in a modular browser? Who would it be for?
You can install Arch/Debian Linux or Ubuntu, and there is no collision there. You build your OS the way you want it or you run an automated installation and soon you are doing work, browsing, watching movies, etc.
My point is that if Debian wasn't what it is, you wouldn't have Ubuntu which offers additional value to a typical user, and be stuck with Windows forever. Choice is of value.
Do you want to be stuck with Firefox, Chrome etc. knowing how hard they adapt to real needs and ignore bug fixing in favor of new features?
A browser is not your 'typical' application. Browsers are in my opinion true virtual machines and should be treated as such.
Choice also has costs.
I like the OS analogy, and it highlights the potential benefits well, but we also need to consider the downside.
It would load a huge amount of complexity on web developers. Rather than 5 browsers with a couple of versions of each, you'd need to start testing against a vast matrix of renderers, CSS engines, JS engines, chrome (as in browser chrome, not Chrome) plugins, etc, with versions of each and every one.
Testing software on Linux is hard enough that the economics mean an overwhelming majority of software manufacturers don't bother, or they do but they only support a very limited range of versions, or they release unsupported software that it's up to you to get working. That's definitely not something I believe we want to do for the web.
Unfortunately current mainstream browsers don't comply with the standards to the fullest, although I admit compliance is orders of magnitude better than years ago.
Aren't Chrome only apps and web sites harming the web?
I agree with testing Linux software completely. It's maddening how much the notion of testing is ignored.
Well it's a win-win situation, build the ideal browser, then you have already built the "ideal" OS ;)
Plugins would be great (I love vimperator) but speed and efficienty is the real deal here.
(And yes, I've tried all the Chrome alternatives and they are not as good)
In other words, a block element's internal flow width should be restricted to screen width, so that a row of inline elements inside that block can never be wider than screen width.
In other words, text columns should flow at screen width.
Just doing what desktop browsers do would squish the text in a very narrow space. Not desirable.
For me, this is the single most important feature in a mobile (phone) browser.
- Option to stop all audio/video in all tabs
- Lazy session restore
- Reliable "save for offline viewing"
- Decoupling of "read later" from bookmarks and a separate interface for both
Going wild:
- Automagic unloading, archiving and clustering of opened tabs, perhaps with an auto-extraction of TL;DR from long articles
I very often open lots of pages (from HN etc.) but have no time to read them all at the time of opening. They linger as background tabs until the background tabs count is so big so I have to close them all and probably never come back.
Would be cool if the browser was able to somehow unload and archive unused tabs (to free some memory), and perhaps automatically group them into several categories: say, "angularjs", "bash", "youtube", "news" etc. and provide a good interface to return to them later.
However due to sheer amount of links I follow, my problem might be unsolvable :)
"Save for offline" is quite good on Opera for Android
[0]: https://www.zotero.org
- Obvious things like encryption support, tabs, full cookie options, (customizable) "smart" address bar, speed dial, history, favourites, optional synchronization, extension support, spell check...
- heavily customizable UI,
- plenty of other customization through settings or Opera's neatly done opera:config,
- easily togglable (is that a word?) side panel with M2-style lightweight E-mail client, notes, history, page info, and whatnot,
- detailed page loading (speed, domains, amount of transferred data) and file download information (what, where from/to, when, how much),
- in-built "plugin-on-demand" and noscript,
- Dragonfly (I just can't seem to get used to Chromium's developer tools),
- easy image properties ( http://puu.sh/jEqjh/ab197d996e.png ),
- mouse gestures and switching between tabs with right-click + mouse wheel up/down or something similarly effortless
- tab stacking,
- and last but not least: if you want to make money off me, instead of sneakily tracing where I go and what I do and partnering with Google, ask me for it on first start and maybe with a discreet "donate/subscribe" button on the start page / speed dial.
...
Things that would be just nice:
- tab sandboxing
- their own rendering engine
- Unite
- One process per browser, not tab
- "reading mode" as seen on WP IE
...
I guess I want more of a browsing bundle, heh.
Also, with something like wordpress with themes and all the other silly things that made wordpress popular.
I remember the JavaScript that ran in Kestrel bug free, would run everywhere bug free.
Now, about mouse gestures and switching between tabs with right -click + mouse wheel, you can do that just now with Vivaldi. It only needs synchronization and supporting extension icons to replace Chrome in my computers.
As for Dragonfly, it has "Resources". Chromium developer tools have "Sources", but I can't even tell if those things from Dragonfly's Resources are there. Mobile preview isn't very important for me as I use these tools for analysis and data extraction instead of actually developing, heh.
Anyway, a lot of the features that are critical for me are still missing and even if that was just the image properties windows, I won't uninstall O12. But Vivaldi is also missing (from those things I listed) other than Dragonfly also loading feedback, proper config (though it has vivaldi:flags, which seems to have extended from the last time I was there), structured history, the window bar doesn't say the page title, downloads are basic, ... all maybe tiny details to some, but they're huge quality of life improvements for me daily.
Cookieplux[1] is a plugin I made for Firefox, It is still waiting for approval from Moziall. But I have released the source. So you can build it yourself.
[1] http://firstglitch.com/cookieplux/cookieplux-firfox-plugin-f...
Firefox was built on that ideology. Until it became the same monster that it was supposed to replace. The same thing is happening to chrome.
We can use the asm.js model for opting in. Browsers that support it run the pages super fast, other browsers run them just as fast as usual.
A browser engine supporting just this standard would be considerably smaller, more embeddable, and a nicer base for current webkit based apps (e.g. spotify, steam, or atom). It might also help apps that want to use something like webviews for embedding content but need to be careful with memory / performance.