Vivaldi browser and open-source
-
@Priest72 said in Vivaldi browser and open-source:
i just find it odd that google have not taken it upon themselves to make chrome for example as customisable
Google have not done this because there is no threat to their market share. They are too big.
Were chrome smaller and suffering as a result of browsers whose main selling point was customisation, I can guarantee you that more customisation would immediately appear in chrome.
-
@lebaux: I think it's important to point out here that Google has basically successfully positioned Chromium to be the de facto web standard, which means that the only way to make sure a new browser doesn't break web pages is to fork Chromium. Because of this, forking chromium isn't just happily taking from Google, it is following the standard, whether we like it or not. And in addition, anytime someone chooses to fork Chromium, they are reinforcing it as a de-facto standard, giving Google more power.
Also, we do upstream some changes to chromium. Not as much as we'd like to, because their process is rather involved and time consuming and we do not always agree on how things should be done, resulting in some of our attempted contributions being rejected.
As for money, well... yes we need to eat, but we also believe that whatever income we made should be done so in an ethically sound way. That in part means being transparent about our stance on different topics, which is the actual point of this blog post. -
@Catweazle Would not do much good in the USB 2 ports
-
@Chas4 , not much, but an improvement of 10-15% can be decisive, in some cases the performance may even be greater.
-
Great! vivaldi-source_3.1.1929 code is available in https://vivaldi.com/source/
-
@julien_picalausa: Will I find there how to fully access e.g. the tabs api - including the changes you (<- i.e. Vivaldi) needed to make the tab stacks possible?
Especially to which stack a tab belongs, where it is positioned in the stack etc., and can I access the methods / properties in an Extension?
If not, it is as good as if there is no API at all. -
@QuHno Stack & tiling stuff is accessible via the chrome.tabs.Tab.extData API, and can be used by mods and extensions. However, the stack, or "group" as it is referred to, is just a random ID and I don't know of any way to do anything further with it.
-
Personally i would love to see vivaldi going open source, but the reasons on the post sounds reasonable to me, still as a modder i would love to have non obfuscate code of some parts as it'll make easier to add or extend features or even find and help to fix bugs.
Bugs that i'll want to help fixing cause annoy me badly are:
-
The ui sluggishness, the worse time for me is when opening multiple tabs at once (a bookmark folder) the whole browser stop responding to user input during some of the loading time, It's so slow that makes me question if the UI is running on the same thread as the content, the rest of the time is fast enough, but loading content shouldn't block the ui, i know this has been reported and i'm sure it's hard to fix or else it would have been addressed already, yet when i recommend vivaldi the usual complain is the sluggy ui.
-
The User Interface zoom when at a different value than 100% makes some extensions panels have an incorrect size making them impossible to use, a good example is umatrix, but any extensions that doesn't render the panel instantly can have this problem, I managed to workaround some of it using css over the extensions panels but it has to be done per extension basis and was not reliable so i finally decided to keep the scale at 100% till i have time to test if i can trigger a recalculation of the extension panel size using js, or the issue is fixed.
I hope that didn't sound aggressive, what i thought of vivaldi is that, albeit there's still work to be done, vivaldi is close to be perfect for me, and even with those annoyances i still prefer it over any of the alternatives.
As for mods that will be easier to do with non obfuscated source:
-
Presenting tab groups as tree tabs on the tab bar (when positioned on the side) pretty much like how the window view shows them. i thing this feature will make easier to work with tab groups.
As i said It's like what the window panel does so with non-obfuscated code we could just reuse parts of the code to port that feature to the tab bar. -
Clickable elements of URL but "extended", in fact i did some work on this just before the native feature was added on the snapshots (feature that is now temporary disabled) the idea was to do something similar to the location bar enhancer extension for pre-quantum firefox, for those who doesn't know it here's an article, i hope this doesn't count as spam:
https://www.ghacks.net/2012/01/25/ui-enhancer-improves-firefoxs-address-bar-functionality/
The advantages of that extensions are:
-
- clicking on any element of the url, not limited to left click but also ctrl/alt and middle mouse button so you can open the cropped url in a new tab or window, and the ability to click the last element to refresh the page.
-
- Scrolling on an element let you go to visited siblings or on pages that have a patter similar to "?page=2" it will let you increase/decrease the number when scrolling over the last element. (i rarely used the scroll feature but maybe someone like it).
-
- easy to customize with css and let you highlight certain url parts like queries (there's a masking mod on the forums that can do something similar).
https://forum.vivaldi.net/topic/37609/mask-for-the-address-bar?lang=en-US&page=1
- easy to customize with css and let you highlight certain url parts like queries (there's a masking mod on the forums that can do something similar).
I've decided to wait and see how the native feature will look like before developing this further as it may be sufficient, currently it looks like this but has almost none of the extra features.
https://i.imgur.com/fP7yB1X.pngIf someone want to work on any of those features feel free to do it, I've limited time right now so i don't know how much time it will take me to finish any of those mods.
And for the vivaldi team, thank you for crating such a great browser!
-
-
@julien_picalausa said:
@quhno: Technically, you can figure out our internal API by reading the published code. The .json files under /extensions/schema describe the full API. If you can make sense of C++, then the implementation is under /extensions/api. In general, the json files are supposed to use descriptions to explain what everything is doing. If there is something there that you can't understand, then it's probably something we should fix.
So that others don't have to download and sift through several Gb of files, I have put all of the API documentation here: https://lonmcgregor.github.io/VivaldiModdersAPI/OfficialApi/accessKeys.html
I notice that some of types lack descriptions, but they are mostly self explanatory. I think I had done this previously, but knowing where to look in the official documents is helpful.
-
@julien_picalausa
This is what I was talking about when I said:I haven’t had a look at it yet, but it’s from a big part coz it’s big (well this can’t be solved) and gets outdated with every release. Why not publish it (still talking about the back-end code) as a git (or whatever VCS) repo?
As written here (
"size": 2087690
), it’s only ~2 GB even though it’s from 1.0, while the per-version packs are now nearly 1.5 GB each. -
@LonM That's really impressive from your part.
But those are not Open APIs, nor are they accessible through extensions.Vivaldi need those.
-
@Cqoicebordel The API is open enough for mods. But you are right - I would love if extensions could access them.
Two of my more useful mods, the sessions panel & sessions autosave could easily be implemented through an extensions API instead of a mod, and it would be less prone to bugs.
-
@julien_picalausa said in Vivaldi browser and open-source:
And in addition, anytime someone chooses to fork Chromium, they are reinforcing it as a de-facto standard, giving Google more power.
... and Adobe, and Microsoft and all the others which contribute to the standard, making it a strong standard.
The only thing it is missing to become a real Standard (with a capital S) is a Standard Body that can set what must be in and what is free to change.
As it is now, when "The Chromium Authors" decide to deprecate things, functionality in which e.g. extension developers have literally put in 1000s of hours are declared to NULL, or additional portions of the web cannot be displayed properly anymore, or not at all. This way we lose more and more information that might still be valuable. That makes me sad.
Not all old information is there to be forgotten.
-
@QuHno said in Vivaldi browser and open-source:
"The Chromium Authors" decide to deprecate things, functionality in which e.g. extension developers have literally put in 1000s of hours are declared to NULL, or additional portions of the web cannot be displayed properly anymore, or not at all.
Funny thing that was what firefox did with xul/xpcom and even sdk extensions.
-
@Sdar Yes and that more or less killed the poor fox..sad to see mozilla slowly destroy the fox over the years..a great browser wrecked by a lousy company.
-
@LonM And it would allow a lot more users to use them…
Modding is a PITA. Installing an extension is a breeze. -
don't care in the slightest; open source / close source, whatever. for me what makes a excellent product are the features and how you treat users data.
plus how the company treat their employees is also very important. are they beating you daily? to get the work done? -
@ultravio1et , so Jon said, Vivaldi is a cooperative
-
I know especially in the linux community free and open source software is the gospel according to stallman and i can understand that ,but sometimes open source software does not cut the mustard and closed source works better.
I have read the original blog here about vivaldi and being closed source and the reasons seem sound and of course as a developer you would not wish to have your own work copied and forked etc.
My impression of the open source communtity is that they want everything done for them and for free.. -
@Priest72 said in Vivaldi browser and open-source:
My impression of the open source communtity is that they want everything done for them and for free..
From my own personal stance (as a sometimes contributor to the open source community), I very much disagree with this.
Not "done for me": Open source allows people to modify software for themselves, if they put in the work. It is in no way a demand that someone do work for you.
Not "for free": Open source contributors should be compensated for work they do.