Crank up the volume on that Pixies album: Time to exercise your Raspberry Pi with an... alternative browser

The Register dips another toe in the Flow


While browser-makers squabble over standards, privacy and exactly what their User-Agent string should say, Ekioh's clean-room browser, Flow, has continued to quietly advance.

The Register last looked at Flow over Christmas 2020 and we came away impressed with the work in progress, not least its speed and the lack of data slurpage. There were, however, problems, one of which was that Google's web applications were not entirely happy.

In a lengthy blog post Ekioh's CEO, Piers Wombwell, explained the hoops that need to be jumped through in order to persuade Google Docs to run acceptably. While a canvas-based approach is inbound, getting the current incarnation up and running necessitated some head-scratching from the Flow team and demanded fixes. Sure – Google Docs seemed to load OK, although there was no word-wrap. But could you type into it? Nope.

The combined joy and pain of clean room development is trying to work out what a web page is asking of a browser. In this case, explained Wombwell, "Like Google Mail, Google Docs almost entirely consists of obfuscated JavaScript, some of it common between the two."

flow on the raspberry Pi-400 (running Raspberry Pi OS)

Click to enlarge

He added: "Its HTML structure is quite simple, though it uses hidden iframes for various purposes (one for key input and another for calculating word widths, amongst others)."

All fun and games, which resulted in more than 30 issues that needed fixing before Wombwell declared: "While still not quite perfect, it is definitely very usable."

El Reg takes it for a spin

The browser is certainly very snappy on a Raspberry Pi-400. Perhaps more so than Chromium (although it lacks the fripperies of the Google browser.)

"The canvas version," Wombwell told us, "is currently read-only (in all browsers) so we can't interact with it to test properly, but I imagine it'll be pretty simple to fix any bugs that crop up."

We found Flow swift when it came to testing Google's properties on our Pi-400 (running Raspberry Pi OS). In fact, it chewed through pretty much everything we threw at it, although it does remain a work in progress for the time being.

Despite the improvements in compatibility (this piece was written using Google Docs in Flow) some users might find the rough and ready nature of the browser alarming. Sure, the start page gives an opportunity to enter a URL, but a knowledge of the keyboard shortcuts to jump backwards, forwards and refresh remains a must. Other options lurk within the command line to up the performance on the Pi.

Flow was made available for other Raspberry Pi computers earlier this year, although the different GPU used on Pis earlier than the Raspberry Pi 4 or 400 (the earlier GPU only supports OpenGL ES 2.0, while 4 and 400 support 3.0) has made this an exercise in trying out Flow's wider OpenGL ES API support. We imagine getting it working on older Pis will also be handy for Ekioh's business in set top boxes, which don't have the latest GPU hardware.

"None of these [Pi Zero, Pi 1 and Pi 3] are really fast enough for open internet browsing," Ekioh's post observed, "but for bespoke content they are fine."

The team has also made progress with YouTube and shunted playback into a separate thread to stop any JavaScript from making things jerky. It's still 360p playback, however, "presumably because they don't want to serve out 4K video streams unnecessarily," observed Wombwell.

Our first attempt to view a YouTube video froze our Pi-400 so solidly that impatience called for a yank of the power lead. Updating Raspberry Pi OS cured the issue, although Wombwell observed that support was "not finished enough."

Coming up

As well as a Pi build, one is on the way for Linux. "Windows doesn't currently compile," remarked Wombwell. "We're working from home and no one has a Windows computer at home."

As before, there is no data collection on the cards for Flow, although it does identify itself as Firefox 65 in its user agent string. The reason, explained Wombwell, is "so that sites (like Google) give us modern pages. With a simpler user agent they tend to give out HTML 4 content with less JavaScript."

If you have a Raspberry Pi to hand, we recommend firing up Flow. As Wombwell would be the first to say, it is not in a completed state and nor is it likely a replacement for one's daily driver. That said, and provided one understands that this is an unfinished and unpolished product, it remains an intriguing alternative to much of the mainstream. Not complete but getting closer to "good enough." ®

Similar topics


Other stories you might like

Biting the hand that feeds IT © 1998–2021