
Flow browser passes the Acid tests - methyl
https://www.ekioh.com/devblog/acid
======
rattray
This actually looks pretty interesting.

They started out as an SVG engine for set-top boxes (embedded devices running
on TV's) since browsers at the time weren't fast/light enough for the
underpowered chips in set-top boxes. Then when the devices got better chips,
they realized perf still wasn't good enough for big 4k screens – and that
multicore rendering could help.

So they've implemented a full HTML/CSS/JS browser from scratch, all to take
advantage of a multicore architecture (today's browsers all render on a single
thread) which has enabled (they claim) greater than 4x better framerate during
web animations than the stable channels of Chrome/Blink and Safari/Webkit. Oh,
and 60% faster layout on a quad-core machine.

They also claim "extremely low memory consumption", which would be quite
appealing to many HN'ers I think, though that may only be true of their HTML
engine and not of the full browser (eg; when using multiple tabs and hungry JS
apps).

~~~
emerongi
Are we stuck with HTML/CSS/JS forever? For today's interactive applications,
those 3 are clearly insufficient. Can't the standards commitees come up with a
new "web language" that actually satisfies the needs of 2020? Or is the goal
to just have everything run on WebAssembly?

Kudos to the author.. but I was hoping it would be a "for real new" browser.

~~~
vbezhenar
Can you elaborate, why is it clearly insufficient? There are myriads of web
applications made with HTML/CSS/JS. So it's clearly sufficient for any kind of
web applications IMO.

There are some weak points for web. One of them is performance, hopefully
it'll be resolved by Webassembly, so you could write performance-sensitive
portions using C++ or Rust. Another one is using hardware and that's resolved
by evolving web standards like WebUSB, WebGPU and so on. I don't think that
replacing HTML, CSS or JS with something different would solve any actual
problem in the web. They are not ideal, but they are good enough and that's
all that matters.

Well, technically you could replace JS with any other language compiling into
JS or Webassembly. Then you could just use one full-screen canvas and draw
anything you want there, so you could use Qt or something like that. That does
not require any new APIs, but I don't think that's the good idea in the long
run.

~~~
filleduchaos
People always jump to criticizing JS, but frankly HTML and CSS are my biggest
pain points whenever I work with them. Any reasonably complicated UI
inevitably turns into a soup of divs. Why would you stick with markup and
styling heavily tailored towards documents for an application platform if you
could start fresh with something else?

To be fair, CSS is making big strides in this regard with Houdini[0]. It's not
yet complete but it's a much better alternative to composing divs and spans in
weird ways to get the look you want.

0\. [https://developer.mozilla.org/en-
US/docs/Web/Houdini](https://developer.mozilla.org/en-US/docs/Web/Houdini)

------
methyl
It also supports full Google Mail [1]. While I don’t think it will ever be
competitive to Chrome or Firefox, it’s super cool to see it’s actually
possible to start a new web browser project and get it to this point.

[1] [https://www.ekioh.com/devblog/full-google-mail-in-a-clean-
ro...](https://www.ekioh.com/devblog/full-google-mail-in-a-clean-room-
browser/)

~~~
iforgotpassword
Yes, this is really surprising. Browsers have in many ways gotten more complex
than operating systems, so creating a new one from scratch seemed off the
table for now. A big player like Microsoft scrapping Edge certainly helped to
strengthen that impression.

It's certainly not as compatible with the modern web as chrome and Firefox but
hey, it's doing much more than I'd have expected.

~~~
cmroanirgo
I like the author's writing style too... This seems to be as much an
exploration as anything:

> _I’ll be the first to admit it’s not perfect yet – some vertical alignment
> is wrong in a few places, Hangouts doesn’t work, and our ‘contenteditable’
> support is minimal. But I don’t think these detract from the achievement –
> as far as I’m aware, no browser engine other than Webkit, Blink and Gecko
> can run full Google Mail, and these have all had over twenty years of
> development work on them._

------
rattray
The author's blog site seems to be down; here's an archive.org link:

[https://web.archive.org/web/20200613124642/https://www.ekioh...](https://web.archive.org/web/20200613124642/https://www.ekioh.com/devblog/acid/)

~~~
rattray
And this is the project's homepage:
[https://web.archive.org/web/20190623202921/https://www.ekioh...](https://web.archive.org/web/20190623202921/https://www.ekioh.com/flow/)

A quirksmode post about the project:
[https://www.quirksmode.org/blog/archives/2020/01/new_browser...](https://www.quirksmode.org/blog/archives/2020/01/new_browser_on.html)

And the project's twitter handle:
[https://twitter.com/flowbrowser](https://twitter.com/flowbrowser)

~~~
giancarlostoro
I wonder if they'll ever open source it, sounds interesting enough.

~~~
rattray
In the quirksmode interview they say they will not open source it, since they
are a small company and don't have the resources.

------
akling
Congratulations to the Flow team! Very nice work.

The world needs more browser engines (dang it Microsoft!), so seeing this
development makes me really happy.

I've just started working on ACID2 compliance in my own engine a few days ago,
and passing all three tests is no small feat :)

------
sillysaurusx
Amusingly, I went to
[http://acid3.acidtests.org/](http://acid3.acidtests.org/) and was surprised
to find that the latest Chrome 83.0.4103.97 (Official Build) (64-bit) on MacOS
10.13.6 apparently _doesn 't_ pass the acid3 test!

[https://i.imgur.com/ZW4BYH2.png](https://i.imgur.com/ZW4BYH2.png)

Now I'm curious to know which 3 features can be ignored by the dominant
browser...

EDIT: Oh my, I suspected it was one of my extensions. Nope. Now I'm getting a
"You should not see this at all" in a fresh Chrome guest:
[https://imgur.com/CrAYhpI](https://imgur.com/CrAYhpI)

I burst out laughing because it was so unexpected. I wonder what's going on.

~~~
sp332
"Acid3, in particular, contains some controversial tests and no longer
reflects the consensus of the Web standards it purports to test, especially
when it comes to issues affecting mobile browsers. The tests remain available
for historical purposes and for use by browser vendors. It would be
inappropriate, however, to use them as part of a certification process,
especially for mobile browsers."

Wikipedia gives this as an example of a standard that changed:
[https://github.com/whatwg/dom/issues/319](https://github.com/whatwg/dom/issues/319)

Edit: there's an updated version at
[http://wpt.live/acid/acid3/test.html](http://wpt.live/acid/acid3/test.html)

~~~
gsnedders
And the updated one is in [https://github.com/web-platform-
tests/wpt/tree/master/acid](https://github.com/web-platform-
tests/wpt/tree/master/acid) for those wanting to look at the history (though
it only includes the ppst-fork history, not the earlier updates).

~~~
gsnedders
To expand a bit more:

> Wikipedia gives this as an example of a standard that changed:
> [https://github.com/whatwg/dom/issues/319](https://github.com/whatwg/dom/issues/319)

That's the reason why tests 23 and 25 fail (both because of the "wrong"
exception being thrown); [https://github.com/web-platform-
tests/wpt/commit/3cbdbaa7ca9...](https://github.com/web-platform-
tests/wpt/commit/3cbdbaa7ca93e3c81b38f2d489eef1e6ea71b6c6) is the Acid3 change
for that.

The other test that fails, test 35, is down to
[https://www.w3.org/Style/CSS/Tracker/issues/317;](https://www.w3.org/Style/CSS/Tracker/issues/317;)
[https://github.com/web-platform-
tests/wpt/commit/e6f63a6e69e...](https://github.com/web-platform-
tests/wpt/commit/e6f63a6e69ea785bbb554c4b9dd107ae2ea7e524) is the Acid3 change
for that.

(The reason they're simply commented out is it follows the precedent set by
Hixie when he was still maintaining Acid3, c.f., [https://github.com/web-
platform-tests/wpt/blob/master/acid/a...](https://github.com/web-platform-
tests/wpt/blob/master/acid/acid3/test.html#L597), plus there are other
feature-specific tests for those features in WPT.)

------
MaxBarraclough
> a new, clean-sheet browser

I don't think that's entirely true. It may have its own HTML/CSS rendering
engine, but apparently [0] it uses SpiderMonkey for JavaScript. Still very
impressive, of course.

[0]
[https://www.quirksmode.org/blog/archives/2020/01/new_browser...](https://www.quirksmode.org/blog/archives/2020/01/new_browser_on.html)

~~~
fl0wenol
I think it's reasonable to not roll your own JS engine when Spidermonkey and
V8 are intended to be integrated in other projects.

~~~
MaxBarraclough
Of course.

------
kekeblom
The web (html/css/javascript) standards have become so wide and complex that
it's very hard to build a browser from scratch. It gets worse by the day, as
more features get added to those standards.

This makes me wonder if you could define a subset of those standards that
would support 90%+ of the use cases, would be simple and efficient to
implement and would be supported by existing browsers. You could then push
this light version of the web as a new base for a future standard.

The problem would of course be that you would have to keep around a different
browser to render old sites. Could still be worth thinking about. Doesn't seem
feasible as a long term strategy to have browsers support thousands of apis
and increasing.

~~~
lazyjones
> _The problem would of course be that you would have to keep around a
> different browser to render old sites._

Not really, you could polyfill the missing features like it's commonly done
with many unimplemented new ones.

I'd prefer starting from scratch, with a completely new, simple language that
can be translated quickly to HTML/CSS/JS. You'd have to remove those
interested in being gatekeepers of the web and sabotaging any efforts to make
browsers simpler from the W3C though.

~~~
c-smile
> simple language

What is conceptually wrong (or complex) with current HTML/CSS ? What would you
change?

------
caiobegotti
From the QuirksMode article linked elsewhere here:

 _Is Flow open source?_

 _It’s not. There’s no current plan for that as we don’t have a large
corporation backing our development._

This doesn't make much sense... why not simply say then "because we don't want
to"?

~~~
saagarjha
It gives a reason why they can't run it as a loss leader.

~~~
VoxPelli
Agree. They could though do a classic dual license with an open version being
some kind of AGPL or similar a strict copyleft license and the closed
proprietary version be one without copyleft restrictions.

------
OptionX
The website seems to be down (the downsides of HN notoriety!) but any browser
nowadays that's not a skin over a chromium base I support.

------
seanwilson
Is ACID3 the most relevant test? It was released in 2008 and had some updates
in 2011:
[https://en.wikipedia.org/wiki/Acid3](https://en.wikipedia.org/wiki/Acid3),
[https://www.webstandards.org/action/acid3/](https://www.webstandards.org/action/acid3/)

Does it check flexbox and grid support for example?

~~~
eternalny1
The author's post has comments about this, apparently the best score on ACID3
is now 97/100 due to spec changes, but there is an updated version of the
test.

[https://web.archive.org/web/20200613124642/https://www.ekioh...](https://web.archive.org/web/20200613124642/https://www.ekioh.com/devblog/acid/)

------
neurostimulant
No downloadable builds? The desktop builds doesn't seem to be available for
general public.

[https://www.ekioh.com/support/](https://www.ekioh.com/support/)

~~~
ssss11
This is what i noticed. Why do i have to contact them to download it? What
licence is it?

------
lukevp
Site seems to be down. I’m glad to see someone working on a new browser.
They’re such huge apps though, I wonder if the Edge/Brave strategy is better
if you’re trying to get compatibility and performance as fast as possible...
it is unfortunate that Chromium is influenced by decision makers at Google. It
would be great if they could spin that off into another company but there’s no
way they ever would. At least with MS there is a potential to fork and have
some accountability, at least on issues that are not mutually beneficial. See
the Microsoft and Google feud where Google withheld all their apps from the
windows phone for evidence of the animosity possible between these 2
companies.

~~~
tannhaeuser
> _I wonder if the Edge /Brave strategy is better if you’re trying to get
> compatibility and performance as fast as possible_

 _Of course_ it's faster than developing a browser from scratch, or working
with a browser startup on integration etc. but that isn't the question. The
question is whether it's even feasible to develop a browser with publicly
available information (HTML 5 specs including SVG and MathML, but which
one/version? tens of CSS specs and growing as we speak [1], hefty ECMAScript
specs, http2+http3/quic, A/V codecs, multiple font formats, etc. etc.). As a
glimpse into browser development, yesterday we learned [2] that even a RegExp
engine for JavaScript poses a challenge, with specs being "fitted to match
reality" eg Chrome behaviour. Honestly, with these results of creating almost
a browser monopoly and driving browser development out of existence (Opera,
MS), and now even Moz beginning to integrate Chrome code, I don't understand
why the clowns at WHATWG and W3C even bother writing specs; they just can't
stop it seems. Never has a standardization effort failed so miserably and went
so totally out of control, and it'll be a huge problem for generations to
come. Talking about almost all human communications (in law, education,
politics, medicine, science, culture, personal docs) being held hostage by an
ad company; even stone age humans had more liberties in cultural expression.

[1]:
[https://webplatform.news/issues/2020-06-04](https://webplatform.news/issues/2020-06-04)

[2]:
[https://news.ycombinator.com/item?id=23487960](https://news.ycombinator.com/item?id=23487960)

Edit: big congrats to the Flow developers!

~~~
Santosh83
More than Google, the bigger culprit here is scope creep. The web should have
been split into multiple interoperating protocols so that each protocol by
itself could be manageable enough for multiple applications and a rich
ecosystem. Instead everything including the kitchen sink is shoe-horned into
the browser so it becomes impossible for anyone except the largest companies
to come up with competitive alternatives and they will slowly stop bothering
and start cartelizing around Chromium, one way or another, because no corp
except for Mozilla solely depends on their browser, so they will all be happy
enough to re-skin Chromium and be done with it. And Mozilla is facing an
increasingly Sisyphean task ahead.

~~~
frutiger
Even the largest companies in the world decided it wasn’t worth it. MSFT has a
1.4T market cap, GOOG (Alphabet) has 964B.

~~~
citruspi
> Even the largest companies in the world decided it wasn’t worth it. MSFT has
> a 1.4T market cap,

To be fair, Apple has (or had on the 10th of June) a market cap of 1.5T and
they maintain Safari and Webkit (which GOOG forked to create Blink).

~~~
soperj
and Webkit was forked from KHTML. blah blah blah.

~~~
citruspi
Sure, but I wasn't suggesting that Webkit is an original work of art - the
discussion wasn't about the history of rendering engines and browsers - it was
about which companies _today_ are willing to maintain their own rendering
engines and browsers instead of just skinning Chromium.

\- Apple has Safari which uses Webkit (which was forked from KHTML as you
noted)

\- Mozilla has Firefox which uses Gecko (originally from Netscape)

\- Google has Chrome which uses Blink (forked from Webkit)

\- Microsoft has Edge which uses Blink

\- Opera has Opera which uses Blink

... The only two major players currently maintaining a non-Chromium and Blink
based browser are Firefox (mentioned by the OP) and Apple (mentioned by
myself).

I was simply trying to provide some additional context about the history of
Chrome, perhaps I should've also included the context about the history of
Safari.

But anyways... blah blah blah

~~~
c-smile
> to maintain their own rendering engines and browsers instead of just
> skinning Chromium.

If just rendering engine (but not a browser) then Sciter will qualify I think
too. And it is not derived from any others.

------
sub7
Needs ublock origin and a cookie auto-delete feature and I will gladly switch.

Used to be that developers would decide between different browsers (or any
other software really) and the rest would follow. Chrome/Edge/Safari bring
built in to devices and being super hard to remove has changed that. All while
not offering a better experience at all.

Big tech needs a couple anti-trust passes real bad.

------
ralmidani
Since JS contributes the most to browsers’ memory usage, and a lot of people
are compiling to JS from a typed language these days, it would be great to
have a browser that makes a clean break and implements, say, a sandboxed
version of Swift.

You could even have Swift DSLs for type-safe markup and styles (I’ve actually
been experimenting with building a Swift -> CSS DSL using simple protocols,
enums, and structs) and, while we’re at it, introduce more sane defaults and
cut some of the cruft that has accumulated over the years (do we really need
HTML colspan attributes and CSS float when we can use a flexbox model?)

------
gorgoiler
A lot to learn from the Acid tests. I made a clean room animated PNG
implementation today. It would have been a lot easier if I had had a piece of
audited software that parsed my output and rated how close it was to the spec,
and on what aspects it deviated. It took an unreasonable amount of time to
notice that the sequence numbers of _fcTL_ and _fdAT_ should increase
_together_ as a series. Something I feel and Acis Test would have been much
faster at noticing.

------
ddevault
Since the website is down, I'll just answer the important question for you:
no, it is not open source.

~~~
elric
Who knows, maybe a bit of HN notoriety can persuade them to change their mind?

~~~
Narretz
This isn't the first time the Flow browser is brought up. It's good to see
they are still developing it, but it looks like their stance on source
availability is pretty rigid.

~~~
gsnedders
Practically, my reading would be they're not opposed to it _if the business
case_ can be made, within acceptable levels of risk.

------
mxschmitt
I get the following: 403 Forbidden Access to this resource on the server is
denied!

------
p0llard
I was under the impression that ACID3 no longer represented the web standards
as documented by W3C, and a fully compliant browser should in fact _fail_
ACID3?

~~~
Semaphor
> A quick note about the score: Acid3 dates back to 2008 and the web platform
> specs have changed over time so a perfect score, using the version hosted on
> acidtests.org, is now only 97/100\. The version hosted on the web platform
> tests site has been updated to match the specs and so, using that, browsers
> should score 100/100.

From the archived blog post

~~~
p0llard
Ah thanks, the page wasn't loading for me when I wrote this.

------
loeg
Amusingly, Chrome doesn't pass ACID3 these days.

~~~
fouc
Apparently 97/100 is a perfect score these days due to some changes made.

------
numpad0
It took me a few second to look up that (｀ﾟдﾟ ) test in my brain...man it’s
been a long time

~~~
amelius
ACID, that's Atomicity, Consistency, Isolation, Durability, right? :)

~~~
ivthreadp110
Abysmal exception handling, Character encoding issues, Incongruity code style,
Delusional developers. (I'm in that last category for sure)... but hmmm...
probably should check myself at that statement.

~~~
dirtnugget
This just made my day

------
cercatrova
How does it deal with DRM? I've read that this is the biggest problem for
browser adoption, that DRM is effectively locked in with Firefox and Chromium
and there won't be licenses issued to other browsers.

~~~
gsnedders
> How does it deal with DRM?

AFAIK, it doesn't try, because their customers don't care.

> there won't be licenses issued to other browsers

That's… not really true. Google certainly are sometimes slow at dealing with
Widevine licensing, but as far as I'm aware that's not a problem unique to the
browser space.

------
XCSme
I am out of the loop when it comes to Flow, but don't other browsers,
especially the new Firefox, do multi-threaded style/layout/paint/composite and
smartly use GPU acceleration?

~~~
VoxPelli
The Servo project is the only one built from scratch to do this a d some of
its parts has been retrofitted to Firefox to enhance some parts there, but to
fully move to multi-threadedness would mean that Firefox would have to do a
complete switch to Servo and I don’t think Servo is ready for that.

------
ilaksh
Except there are many many websites that it just can't load properly.

I think that since web browsers have become operating systems it's just not
feasible to implement a new compatible browser. ACID3 would just be the
beginning, except now it's totally outdated.

That intractability of creating a new browser is why I proposed that we start
over with something much simpler to implement that can actually perform.

First of all, to get to information quickly, the main browsing experience is
markdown.

There is no more JavaScript.

Then media such as images and video are handled separately.

And finally, add some kind of simple Canvas-like or Framebuffer API to web
assembly and have that available for applications.

Set limits on the amount of data per page. Maybe build in some p2p content
distribution.

Something like the above could actually be feasibly implemented by multiple
groups and would solve performance issues.

[https://github.com/runvnc/noscriptweb](https://github.com/runvnc/noscriptweb)

------
app4soft
Linked website just failed to pass "HN effect".[0]

> _503_

> _Service Unavailable_

> _The server is temporarily busy, try again later!_

[0] [http://archive.is/DU69F](http://archive.is/DU69F)

------
dang
See also
[https://news.ycombinator.com/item?id=21658935](https://news.ycombinator.com/item?id=21658935)
from 6 months ago.

------
butz
This should be perfect browser for KaiOS, considering low amount of RAM in
their devices.

------
squarefoot
Does it implement adblocking, or support for external plugins?

As a feature might not be of technical interest, but today's web is absolutely
atrocious to surf without a good set of ad blockers and privacy enhancement
plugins, so that's a feature one day every browser is deemed to implement to
attract users.

~~~
pmarin
I don't use adblocking. Disabling javascript solve all those problems.

------
Ericson2314
How does it compare to Servo?

~~~
gsnedders
Servo fails a bunch of the Acid3 subtests:
[https://wpt.fyi/results/acid/acid3/numbered-
tests.html?label...](https://wpt.fyi/results/acid/acid3/numbered-
tests.html?label=master&product=servo)

------
nojvek
How does one download the flow browser ?

------
warpech
I would totally pay for a web browser

------
barbarbar
I get a page with a HUGE 503.

~~~
donpdonp
[https://web.archive.org/web/20200613124642/https://www.ekioh...](https://web.archive.org/web/20200613124642/https://www.ekioh.com/devblog/acid/)

------
baybal2
> ACID3

Too bad, there are no ACID4, 5, 6...

The web specs were broken for years since ACID3 managed to somehow stabilize
them.

~~~
rebelwebmaster
Web platform tests have overtaken them at this point.

------
asdfasdfeee
This is very impressive

------
pbreit
Is it available?

------
wantguns
the blog is getting hugged to death

