For over 20 years, building a new web browser from scratch has been virtually unprecedented. But there is a reason for a small company called Ekioh.
Based in Cambridge, UK, the company develops a browser called Flow, which, unlike most browsers in recent years, is not based on Google's Chromium or Apple's WebKit open source code. Instead, Flow starts with a blank slate and builds its own rendering engine. The goal is to make web-based apps run smoothly on inexpensive microcomputers such as the Raspberry Pi.
There's a reason companies don't do this anymore. Experts say building a new browser isn't worth the problem if anyone can change what Apple and Google are doing. However, if Flow is successful, you can rethink how you browse the Web and open the door to cheaper gadgets. It at least seems like a goal worth pursuing.
"This is a big task, but if you need something very small and very fast, you usually can't start with one of the other engines," said Stephen Reeder, commercial director at Ekioh. ..
Made From Scratch No More
Even if you're not using Google Chrome, Apple Safari, or Mozilla Firefox, you're almost certainly using the rendering engine of these browsers.
Vivaldi, Brave, Opera and Microsoft Edge all rely on Google's Blink engine and Chromium open source code as the foundation for their desktop and Android browsers. This is because the web is much more complex than it used to be, and the web browsers are associated with more complex software. For example, according to Open Hub, Chromium has over 25 million lines of code and has been contributed by over 8,100 developers.
"We changed this idea that the web is essentially a lot of pages and probably a little interaction and animation ... essentially that the browser becomes the operating system," he said. Said John Allsopp, a veteran web designer and founder of the WebDirections conference.
As a result, most browser makers have stopped building and maintaining their own engines. Microsoft is famous for giving up the EdgeHTML engine a few years ago and switching to an Edge version based on the Chromium and Blink engines in early 2020. Opera did the same in 2013, abandoning the venerable Presto engine and adopting Chromium.
It's Apple that exacerbates the problem, which requires all third-party browsers on iOS to use their own WebKit engine, for ostensibly security reasons. As a general rule, even Mozilla, which develops its own Gecko engine for Firefox, needs to use WebKit on iOS. If one of the world's largest computing platforms is not allowed to use a different browsing engine, it can further discourage developers from creating their own browsing engine.
CodePen co-founder and creator of CSS-Tricks, Chris Coyier, has no clear return on building a competitive browser engine for the lucrative start that large browsers already have. It will be a billion dollar effort. He argued that browser makers could focus on user features such as privacy-focused Brave and highly customized Vivaldi, rather than behind-the-scenes rendering engine improvements.
"It's not a game worth playing," Coyier said in an email. "A better game is how we can improve the [browser] we already have."
New Browser, New Business
So why do you care about Ekio? With Flow, the company has the opportunity to play a completely different game. Instead of using a large browser directly, build your browser around specific uses where the new rendering engine offers clear benefits.
Ekioh's business is to provide web-based applications in embedded systems such as connected TV boxes, smart displays and car dashboards. Ekioh believes that on these types of devices, a feature called multithreaded layout can significantly improve performance, especially animations and effects.
“In a nutshell, what sets Flow apart from other browsers is its performance,” says Stephen Reeder of Ekioh.
As an example, Reeder states that he would consider a button that grows in size and scrolls to display descriptive text. On low power devices, it can be difficult to perform this kind of animation, especially if only a single processing core is doing all the work. Flow's browser simplifies complex animations by allowing applications to utilize multiple processing cores on devices such as the Raspberry Pi.
“You can lay out, resize, and animate the text at the same time, so you get a richer UI,” he says.
In addition, Flow supports a feature called GPU rendering. With this feature, your computer's graphics processor is entirely responsible for drawing the objects on the page. This uses much less memory than letting the computer's main processor do some work, which improves performance on cheaper devices with limited memory.
Other browsing engines can take advantage of multithreading to manipulate browser tabs, and some have begun to mess with GPU rendering, but they aren't designed to throw multiple processor cores into a single web page. Hmm. Reeder says that if you want to do that, you're likely to have to rewrite your code from scratch.
“This is actually a redesign of the core browser engine,” he says. "It's not something you can modify."
Perhaps more importantly, Ekioh's Flow business model avoids the typical pitfalls of the browser business. Instead of trying to expand and monetize its audience around search partners and advertising, it plans to license software to electronics vendors and market it as a cheaper way to build faster, more responsive products. is.
“If you have a product with some form of graphical user interface, you might use HTML,” Reeder mentions the languages that all web pages depend on. "If you create a product with slightly less memory and a slightly slower processor, but you can achieve the same customer experience, that product will be cheaper."
Not for desktop (yet)
Ekioh hopes Flow will appear on real products later this year, but now anyone can try it on the Raspberry Pi. (The company added support for older versions of the current Raspberry Pi 4 last week.)
Still, I don't want to replace Chrome or Firefox. The current version does not support tabs, bookmarks, or extensions and relies on keyboard navigation for basic functions such as forward and back. When I go through the Flow welcome page, I don't even see the address bar.
Reeder says he wants to focus on the core rendering engine before considering whether to add more features for the user. The engine is the only major task, and every time Ekioh tests Flow in a batch of new websites, he finds new features that need to be implemented.
"The conclusion of where this goes may be a desktop browser, but we're not there yet," he says.
Echoes of an Earlier Era
Still, the mere idea of a new rendering engine is exciting for some experts in web browsing space.
Rachel Nabors, a former program manager for Microsoft's Edge browser and author of a book on web animation, said that graphics and animation are a retrofit for browser makers, even with the proliferation of web-based apps. Say it might seem. For her, Flow's multi-threaded layout and GPU rendering are a breath of fresh air.
“Browser development is still very pervasive in browsers as a document reader,” she says. "It's always a bit strange that browser makers are lagging behind in creating high-performance graphics for the web."