Hacker News new | ask | show | jobs
by ezdiy 3437 days ago
I'm posting this from chropera as we speak, and I used presto for a decade before that.

While your points are spot on, there's one thing about Presto - performance, or more specifically resource usage. Modern layouting engines are simply not careful, because apparently all their devs have 32GB RAM and 8 cores, so users have to as well.

The problem is the argument "people generally don't have 50 tabs open, so why bother". Well, it bothers people who could comfortably do so in presto, it's not just nostalgia goggles.

As for vivaldi, I really tried to like it, putting up with its numerous subtle bugs. Then I deobfuscated its source code one day and realized if it ever becomes stable, it will be the day when a large scale nodejs project managed to do so. For some reason (cheap labor?) they decided Java or Typescript isn't the route.

1 comments

The reasons why Presto coped with less memory are complex and not really down to carefulness (there's plenty of resources put into memory consumption in both Blink and EdgeHTML), but reasons of architectural decisions that led to comparatively poor performance (JS-heavy stuff especially!) and site compatibility bugs (using different types for things that are web observable, especially), and some that led to comparative instability (heck, Chrome esp. has UI lagginess with large numbers of tabs due to IPC, but gains stability and the ability for multiple tabs to be doing stuff at once as a result).

Vivaldi is mostly formed of ex-Opera employees (esp. early, long-term ones!), and I expect they're getting comparable salaries to when they left Opera, at least (i.e., a bit below market average for the cities they're in). Why are they using JS? I can't really tell, beyond a desire to use web-technology as much as possible; I'd totally agree TypeScript or Flow would be better!

> using different types for things that are web observable, especially

Can you be more specific?

> has UI lagginess with large numbers of tabs due to IPC

The IPC lock contention is part of the issue (as well as tab per process model), but those can be all worked around (sorta, well, chromium got rid of no-sandbox ifdefs a year ago...).

> Vivaldi is mostly formed of ex-Opera employees

Morten Stenshorn, Dave Rune, Rafal Chlodnicki, Sigbjorn Finne - more than half of names in there! - are the names signed under layout engine and ES engine in the leaked tree. Same people you can find on https://operasoftware.github.io/upstreamtools/

How many people I could track down who worked on opera 12 and now vivaldi? None.

I'm willing to counter-speculate: Whatever made original presto great was not because of their cofounder and CEO, but the people who actually wrote the code.

> Can you be more specific?

Sure: often using shorts where other browsers used ints, using floats where others used doubles, or even using ints where others used doubles (back when much of that code was written, Presto was far more concerned about performance on devices without FPUs than other browsers). All of this could easily be observed through layout and scripting, and much of it led to many of the hardest to tackle site compatibility bugs that were ultimately never fully fixed (and most never had any fix shipped). `z-index` was a pain point, as was the use of ints for all percentages in CSS.

> How many people I could track down who worked on opera 12 and now vivaldi? None.

Almost all those who are listed at https://vivaldi.com/team/ worked on either Presto-based Opera Desktop or Presto itself (which were, post Presto being a thing, distinct teams). Heck, Yngve was literally the first person aside from their founders to work on Opera, and owned the much of the network code in Presto till near the end; Petter I think was the only other person to have worked for over 20 years at Opera, having worked on the Desktop browser for the majority (all?) of the time.

If my memory is correct, the names in the source-tree were module owners and module QA, which amounts to a fraction of the number of people involved (esp. historically: those who had moved on to other things or whatever you're unlikely to find by name in the source tree). At any given point there was maybe a quarter of the current team with names anywhere in the source tree… and that's only considering Presto. Desktop had an even smaller ratio, as far as I'm aware.

If you looked in the ES engine, I'm pretty sure my name should be there as the module QA (though I'm not sure this will be true at the point desktop 12.1x forked). So, uh, I might know the people involved and know their employment history… Very few people from the old Core department (that worked on Presto) remain at Opera, maybe 20% at absolute most, and AFAIK mostly left voluntarily.

As for those you listed, half of them joined relatively late on, and not that long before the move to WebKit (announced Feb 2013). And Dave Rune isn't a person, I presume you're potentially mixing Dave Vest and Rune Lillesveen?