ser

New browser on the block: Flow

2020 is only three weeks old, but there has been a lot of browser news that decreases rendering engine diversity. It’s time for some good news on that front: a new rendering engine, Flow. Below I conduct an interview with Piers Wombwell, Flow’s lead developer.

This year alone, on the negative side Mozilla announced it’s laying off 70 people, most of whom appear to come from the browser side of things, while it turns out that Opera’s main cash cow is now providing loans in Kenya, India, and Nigeria, and it is looking to use 'improved credit scoring' (from browsing data?) for its business practices.

On the positive side, the Chromium-based Edge is here, and it looks good. Still, rendering engine diversity took a hit, as we knew it would ever since the announcement.

So let’s up the diversity a notch by welcoming a new rendering engine to the desktop space. British company Ekioh is working on a the Flow browser, which sports a completely new multi-threaded rendering engine that does not have any relation to WebKit, Gecko, or Blink.

The last new rendering engine to come to the desktop was KHTML back in 2000 in the form of the Konqueror browser. Later Apple adapted KHTML into WebKit. And then Google forked WebKit to become Blink. And ... well, almost everyone browses with a KHTML descendant now. Let’s not forget how it all began.

It is far too early to tell if Flow will have a similar impact, but the news was reason enough for me to conduct an interview with lead developer Piers Wombwell.

PPK: Hi Piers, could you please introduce yourself?

PW: I’m Piers Wombwell, the co-founder of Ekioh, the company behind the Flow browser. I’m also the architect of the project and one of the software engineers on it.

Why did Ekioh decide to create a new browser?

In 2006 we started developing an SVG engine for user interfaces in the set-top box market. No existing browser was full-featured, or was fast enough on the low-powered set-top box chips available at the time. User interface developers wanted HTML, but couldn’t get the performance they needed, especially in animations. SVG seemed better suited to user interfaces as there was no time spent in complex box model layout.

A user interface running on our SVG engine was much faster than any of the HTML browsers at the time and was very popular in this niche market with millions of STBs running it across most continents.

Over the next six or so years, STB chips started to move to multi-core GPUs, at the same as TV resolutions were moving to 4K. HTML was becoming fast enough on set-top boxes. On the other hand, a 4K TV has four times as many pixels as an HD TV, and a multi-core GPU doesn't make each individual core any faster. Thus, a single threaded browser won’t really see any significant speed improvements. That's why we decided to make Flow multi-threaded.

Dabbling with HTML/CSS layout seemed equally fun technically as building an SVG browser, so that’s been the main focus since. It started off being an XHTML/CSS layout engine on top of SVG, but we got carried away and over time moved to full HTML.

But, really, I suppose we did it because it would be fun to do it.

How far along is Flow? Can people download it and use it right now?

Well, it can render and interact with Gmail quite well. It’s pretty much perfect on a few sites we’ve targeted as focuses during development, but it struggles with many others. We only started implementing HTML forms in the last few months in order to log into Gmail.

It’s not yet available for download as I think we need to address the usability of it first. It currently needs a configuration file tailored to your computer, and has no toolbar. You don't want a toolbar for TV interfaces, so we never implemented one.

For which platforms is Flow currently available?

For Mac, Linux, and Android. Plus, of course, for the set-top boxes that are our main market, most of which run Linux. As to Windows, none of us run Windows so its development is untested and lags behind a bit, but I’ve just compiled a version and it seems to work.

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.

Which JavaScript engine do you use?

We chose Spidermonkey in 2006, and as far as I recall it was because of both licensing and a documented embedding API. It was around the time that TiVo were having arguments over the GPL. The paranoia over that also ruled out use of LGPL licensed libraries for a few years.

The core browser code is abstracted away from any Spidermonkey APIs, largely so we could handle upgrades over the years - we can still handle its legacy garbage collection model quite happily.

What are your long-term goals with Flow?

The primary goal is stability, followed by getting more websites rendering perfectly in Flow. They generally fail because of either layout bugs or missing JavaScript APIs in Flow, so we have to solve those. Even for the embedded market, getting as many websites working as possible improves our confidence that a new HTML user interface will function correctly, first time.

Our roadmap is very flexible, usually because of commercial needs, but also we prioritise what’s interesting to a developer at that given time.

You said Flow is multi-threaded. Which tasks exactly are divided among the multiple threads?

HTML and CSS parsing is single-threaded, as is JavaScript (if you ignore WebWorkers). It’s the layout, primarily word wrap of text, that is done in parallel. Several caveats apply, but in general, two paragraphs can be laid out in parallel since they don’t impact each other apart from their vertical position.

We wrote some technical papers on this process.

Is the word wrap of paragraphs the computationally most expensive part of laying out an HTML page?

Yes. Each letter is a separate rectangle, plus you have word wrap rules for groups of letters. It’s also probably the hardest to achieve, so it's a good place to start. Desktop browsers haven’t touched layout, and have instead concentrated on making whole components run in separate threads.

Is Flexbox one of the caveats you mentioned?

There are multiple passes across the tree, all in parallel. We first calculate, in parallel, essentially the min-content and max-content widths of each paragraph, flexbox or table cell. Once we have those constraints, a relatively quick pass (not in parallel for that one flex box) works out the final widths of each box.

But we can handle multiple flexboxes in parallel, or one flex box and a paragraph outside the flexbox, and so on.

How integral is multi-threading to Flow and its architecture? Could you remove it? Would other browsers be able to copy Flow's multi-threading?

Multithreading can be turned off with a config setting. I suspect it’s always going to be easier to rewrite the layout code with multithreading in mind than rework existing layout algorithms - Mozilla took that approach that with Servo, rather than rework Gecko. The new layout engine could then, in theory, be combined with the rest of an existing browser.

Can you give an example of tricky problems you encountered while creating this browser?

Many sites, Gmail being a good example, were very frustrating as the JavaScript can be so large and obfuscated. It’s almost impossible to tell what they are doing, and much of the debugging was educated guesses as to what it was trying to do. Thankfully, the web platform tests help us make sure we are compatible with other browsers once we figured out the blocking bug or missing feature.

We can’t realistically pass these tests 100% as they test such a huge set of APIs - it would take us years to catch up with other browsers so we can only focus on what is used by priority websites.

And something that was much easier to implement than you thought?

The HTML parser. I first wrote an HTML parser back in 2002, and back then there was no detailed specification of how to handle badly-nested elements. We spent so much time writing test cases to figure out what desktop browsers did in each situation, and trying to behave the same. Ten years later, the detail in the WHAT-WG specification was amazing, and it was perfectly possible to write an HTML parser that is completely compatible with all other browsers.

And a feature you decided not to implement for now?

HTML forms. A TV user interface doesn’t use most, if any, of the features of HTML forms so it was a very low priority. We started adding them because they are needed for general web browsing, but they are not complete.

We haven’t yet implemented WebGL or IndexedDB because they are not used on most of the websites we’ve tried. Obviously Google Maps uses WebGL and Google Docs uses IndexedDB but both have fallbacks. Implementing more features to allow a larger number of websites to work is a priority.

What is Flow's UA string?

For the Mac version, it's the following:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) EkiohFlow/5.7.4.30559 
Flow/5.7.4 (like Gecko Firefox/53.0 rv:53.0)

The strings vary depending on the device, but the "EkiohFlow" and "Flow" strings should always occur.

Why do you emulate Firefox? I assumed it'd be Chrome.

We’ve spent ages on that UA string… I could probably write a blog post about it. Essentially, I copied Chrome. Things mostly worked. Then I hit the Instagram site, which decided to use ES6 features based on the UA string. I changed it to FireFox’s, using the version of SpiderMonkey that we were using (53 in the build you have), and the site worked. Then I added more afterwards (the rc:53) to get us to the more modern Google login box.

The UA string isn’t final at all but its choice is full of compromises.

Ekioh creates browsers for set-top boxes. What is Flow’s main purpose on set-top boxes?

It is used to render the UIs created by the box’s vendors, and not for actually surfing the web. But we don’t always get to see the UIs the vendors create, so being able to render all HTML flawlessly is the goal. That way, UI developers can do as they please.

Does the average set-top box have a browser meant for surfing the web?

Sort-of, but not really. I have a 2012 Sony TV with that functionality, but it was useless then and is useless now. IR has a significant lag, and that makes TV remotes far too painful to control a TV browser with. I don’t recall any modern TV/STBs that let you have open internet, but they probably exist. I can’t imagine anyone seriously using them.

Flow also runs on TVs and embedded devices. Could you give a few examples of embedded browsers? And TV browsers?

Back before we started our SVG engine, there were many HTML 4 browser engines for the TV market, such as ANT Fresco and Galio (which I also worked on), Access’s NetFront, Oregan, Espial and Opera. For the non-TV market, we have replaced Internet Explorer Mobile on a line of Windows CE devices. These days, almost all embedded browsers are based on Blink or WebKit.

What are your main competitors in the TV and embedded browser markets?

The main competitors to Flow are Blink and WebKit. Most STB providers often do their own port of one of these browsers. WebKit can be optimised for these low-powered devices, but Flow is usually able to out perform other browsers, and in the areas it’s not as fast, we can usually optimise it.

In a strange way, we also compete with ourselves - we offer our own embedded WebKit-based browser that is more feature-complete than Flow. The same developers work on maintaining and improving that.

Thanks for this interview!

You’re welcome.




ser

Probability theory and statistical inference: empirical modelling with observational data / Aris Spanos

Dewey Library - QA273.S6875 2019




ser

Numerical computations: theory and algorithms: Third International Conference, NUMTA 2019, Crotone, Italy, June 15-21, 2019, Revised selected papers. / edited by Yaroslav D. Sergeyev, Dmitri E. Kvasov

Online Resource




ser

Numerical computations: third International Conference, NUMTA 2019, Crotone, Italy, June 15-21, 2019, Revised Selected Papers. / Yaroslav D. Sergeyev, Dmitri E. Kvasov (eds.)

Online Resource




ser

Recent Advances in Mathematics and Technology: Proceedings of the First International Conference on Technology, Engineering, and Mathematics, Kenitra, Morocco, March 26-27, 2018 / edited by Serge Dos Santos, Mostafa Maslouhi, Kasso A. Okoudjou

Online Resource




ser

Time series analysis using SAS Enterprise guide Timina Liu, Shuangzhe Liu, Lei Shi

Online Resource




ser

A first journey through logic / Martin Hils, François Loeser

Dewey Library - QA9.H52445 2019




ser

Company offers free hair care services for Covid fighters, journalists

It has offered 300 free hair care services to frontline professionals, including those who donate above a certain amount to the PM-Cares fund




ser

Letter to BS: Privacy concerns over Aarogya Setu app deserves to be noted

Will it not be wise to constitute a group of independent members from the civil society - software and legal professionals - to audit the app?




ser

Letter to BS: Pharma industry, pharmacists also deserve appreciation

India has the potential to develop an antidote to Covid-19




ser

PUBG Mobile India Series 2020: Prize money, date of tournament and registra...

PUBG Mobile India Series 2020: Prize money, date of tournament and registra...




ser

Updated: Gauhati High Court orders Assam Govt to restore mobile Internet services

The Gauhati High Court has ordered Assam Govt to restore mobile Internet services by 5 PM today. News Agency PTI tweeted about the order. Gauhati HC directs Assam govt to restore mobile internet services by 5pm — Press Trust of India (@PTI_News) December 19, 2019 Another news agency ANI tweeted that mobile internet services will […]

The post Updated: Gauhati High Court orders Assam Govt to restore mobile Internet services appeared first on TIMES OF ASSAM by Times of Assam Bureau.




ser

Yes, Sometimes We Can Serve Both God and Mammon

My congregation's experiment in using market values to grow our mission.







ser

Flexible and luminescent fibers of a 1D Au(I)–thiophenolate coordination polymer and formation of gold nanoparticle-based composite materials for SERS

J. Mater. Chem. C, 2020, Advance Article
DOI: 10.1039/D0TC01706J, Paper
Shefali Vaidya, Oleksandra Veselska, Antonii Zhadan, Marlène Daniel, Gilles Ledoux, Alexandra Fateeva, Takaaki Tsuruoka, Aude Demessence
Formation of flexible, red emissive and highly stable fibers of [Au(SPh)]n that can be calcined to generate gold nanoparticle composite fibers with a SERS effect.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ser

Controllable tuning of Fabry–Perot cavities via laser printing

J. Mater. Chem. C, 2020, Advance Article
DOI: 10.1039/D0TC01662D, Paper
Tao Ding
Facile and controllable tuning of Fabry–Perot cavities is realised via photoablation of polystyrene medium, which generates different colours due to the change of local refractive index.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ser

Tales from the Desert Borderland Lawrence J. Taylor

Online Resource




ser

Artificial intelligence: anthropogenic nature vs. social origin / Elena G. Popkova, Bruno S. Sergi, editors

Online Resource




ser

Agile Enterprise Engineering: smart application of human factors: models, methods, practices, case studies / Sergey V. Zykov, Amitoj Singh

Online Resource




ser

Applying the classification of finite simple groups: a user's guide / Stephen D. Smith

Hayden Library - QA177.S645 2018




ser

Die Entführung aus dem Serail / Mozart ; a co-production between Glyndebourne, François Roussillon et Associés and ZDF in collaboration with ARTE ; with the participation of NRK and Mezzo

Browsery DVD M877 ent d




ser

Serenade for Haiti / producers, Owsley Brown, Anne Flatté, Christy McGill ; director, Owsley Brown

Browsery DVD F1916.S47 2016




ser

[ASAP] Direct Observation of Micelle Fragmentation via In Situ Liquid-Phase Transmission Electron Microscopy

ACS Macro Letters
DOI: 10.1021/acsmacrolett.0c00273




ser

VI. miserere seu psalmus quinquagesimus sexies, ... seu Stabat Mater ... in lucem editus & à 4. Vocibus ordinariis, 2. Violinis ac Organo obligatis, Viola, 2. Clarinis, 3. Tromponis ac Violoncello ad libitum ... Joannis Antonii Kobrich, ... opus

Autor: Kobrich, Johann Anton, 1714-1791 [Komponist]
Erschienen 1753
BSB-Signatur 4 Mus.pr. 44441

URN: urn:nbn:de:bvb:12-bsb11148801-5
URL: http://reader.digitale-sammlungen.de/de/fs1/object/display/bsb11148801_00001.html/






ser

Visualization of materials using the confocal laser scanning microscopy technique

Chem. Soc. Rev., 2020, 49,2408-2425
DOI: 10.1039/C8CS00061A, Review Article
Xu Teng, Feng Li, Chao Lu
This review summarizes the recent applications of confocal laser scanning microscopy in materials science.
The content of this RSS Feed (c) The Royal Society of Chemistry




ser

Near-infrared laser driven white light continuum generation: materials, photophysical behaviours and applications

Chem. Soc. Rev., 2020, Advance Article
DOI: 10.1039/C9CS00646J, Review Article
Jianhong Wu, Guojun Zheng, Xiaofeng Liu, Jianrong Qiu
The current understanding, applications and future perspectives on near-infrared laser driven white light continuum generation in different materials are reviewed.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




ser

Paul Kelly : the essays / edited by David Leser




ser

Manipur Speaker’s Tribunal reserves verdict

Manipur Speaker’s Tribunal reserves verdict




ser

Rabindra Jayanti observed

Rabindra Jayanti observed




ser

Webinar Series: Preaching Through Disruption

How ideas and encouragement to adapt your craft, care for your soul, and shepherd your people during this challenging season.




ser

Anti-aging drugs: from basic research to clinical practice / edited by Alexander M. Vaiserman

Online Resource




ser

Drug delivery approaches and nanosystems / editors, Raj K. Keservani, Anil K. Sharma, Rajesh K. Kesharwani

Online Resource




ser

Oral anticoagulation therapy: cases and clinical correlation / Kathryn Kiser, editor

Online Resource




ser

Cellular and molecular toxicology of nanoparticles / Quaiser Saquib, Mohammad Faisal, Abdulaziz A. Al-Khedhairy, Abdulrahman A. Alatar, editors

Online Resource




ser

Drug interactions in infectious diseases: antimicrobial drug interactions / Manjunath P. Pai, Jennifer J. Kiser, Paul O. Gubbins, Keith A. Rodvold, editors

Online Resource




ser

Drug interactions in infectious diseases: mechanisms and models of drug interactions / Manjunath P. Pai, Jennifer J. Kiser, Paul O. Gubbins, Keith A. Rodvold, editors

Online Resource




ser

The drug development paradigm in oncology: proceedings of a workshop / Amanda Wagner Gee, Erin Balogh, Margie Patlak, and Sharyl J. Nass, rapporteurs ; National Cancer Policy Forum, Board on Health Care Services, Health and Medicine Division, the National

Online Resource




ser

Nervous system drug delivery: principles and practice / edited by Russell R. Lonser, Malisa Sarntinoranont, Krystof Bankiewicz

Online Resource




ser

The role of NIH in drug development innovation and its impact on patient access: proceedings of a workshop / Francis K. Amankwah, Alexandra Andrada, Sharyl J. Nass, and Theresa Wizemann, rapporteurs ; Board on Health Care Services ; Board on Health Scienc

Online Resource




ser

‘Miedo de ser enfermera’: Los trabajadores de la salud están bajo ataque

Estigmatizados como focos de contagio en algunos países, los trabajadores de la salud han sido agredidos, maltratados y marginados.




ser

Global Bat Populations Need Research and Conservation Action

New Paper from Bat Conservation International Scientists Underscores the Need for Expanded Research and Data Collection to Better Protect Bat Species 




ser

Disney Conservation Fund Helps Bat Conservation International Support Wildlife and the Environment

Press Release:

Disney Conservation Fund Helps Bat Conservation International Support Wildlife and the Environment

[Austin, Texas, November 26, 2019] – Bat Conservation International (BCI) has been awarded a grant by the Disney Conservation Fund (DCF) to stop the rapid population decline of the endangered Mexican long-nosed bat in northern Mexico. As part of this work, BCI’s bi-national team of experts will lead a series of community-based conservation activities aimed at identifying, protecting, and restoring agave habitat – the key food source for this nectar feeding bat. By harnessing community support, this large-scale initiative will help save the Mexican long-nosed bat by establishing robust ‘nectar corridors’ that the bats can use during their annual migration from Central Mexico to the southwestern U.S.

The fund has been supporting local efforts around the world aimed at saving wildlife, inspiring action and protecting the planet with nearly $86 million distributed to nonprofit organizations since 1995.

Dr. Jon Flanders, Director, BCI’s Endangered Species Intervention Project explains the importance of this work: “This initiative builds on the success of previous work aimed at protecting important cave roosts for this endangered species of bat. Focusing our efforts on protecting and restoring agave habitat in northern Mexico marks a significant step in our conservation efforts to save this species from extinction, none of which would have been possible without the ongoing support of the Disney Conservation Fund.”

DCF grant recipients are selected based on their efforts to implement comprehensive community wildlife conservation programs, stabilize and increase populations of at-risk animals and engage communities in conservation in critical ecosystems around the world.

For information on Disney’s commitment to conserve nature and a complete list of grant recipients, visit www.disney.com/conservation.

About Bat Conservation International

The mission of Bat Conservation International is to conserve the world’s bats and their ecosystems to ensure a healthy planet. For more information visit batcon.org.

Media Contact: Javier Folgar
Bat Conservation International
Tel: 512.327.9721 ext. 410
Email: jfolgar@batcon.org

###




ser

Applied Concepts in Fractured Reservoirs


 

A much-needed, precise and practical treatment of a key topic in the energy industry and beyond, Applied Concepts in Fractured Reservoirs is an invaluable reference for those in both industry and academia

Authored by renowned experts in the field, this book covers the understanding, evaluation, and effects of fractures in reservoirs. It offers a comprehensive yet practical discussion and description of natural fractures, their origins, characteristics



Read More...




ser

On Ignored Users Spoken Language

I think I've talked already few times about this problems but I don't see anything happening ... actually, it's getting worst and worst.

Who Is Directly Affected And Is Wasting Money

  • Companies paying for Online Advertisement
  • Companies selling online
  • Companies providing online services

Who Is Responsible

  • every service that is addressing users through their current IP address, without asking permission, and assuming if you travel to any country in this world you automatically speak that country language
  • every service that completely ignores Accept-Language on the server side, and navigator.language on the client side
This is an extract from the Accept-Language used for locale setting post directly from W3C website:
For a first contact, using the Accept-Language value to infer regional settings may be a good starting point, but be sure to allow them to change the language as needed and specify their cultural settings more exactly if necessary. Store the results in a database or a cookie for later visits.
...
By the way
Using the Accept-Language header is also a good starting point for determining the language of the user, rather than the locale ...
Accordingly, instead using users IP location to define their language, I'd rather prefer them to use my daily language of choice, which comes most likely from the fact that my entire Operating System speaks English, as example, so PLEASE, give me English content whenever I am!

It feels so straightforward simple thing, right? Wondering who is doing it right?

Nobody Is Doing It Right

I am in Germany these days, and suddenly I don't understand anything. I cannot even be "victim" of Ads, I'm rather disturbed by them.

Google

Before even asking to use my detailed location provided through the browser, if I type google.com in the URL bar I'm redirected to google.de. Why does that happen? Simple, they know by my IP I am in Germany ^_^.
If I choose the English language and I search for O2 DSL, imagining I'd like to sign for a contract, or need some help, this is the result:
Full Article


ser

How to serve Images on Web

Because even if you think you're doing right, many others are not. Here the catch: just use <img srcset> attribute to improve the experience in your own site, don't do the same mistake others are doing! Read the full post about it




ser

Wildlife tourism, environmental learning and ethical encounters: ecological and conservation aspects / edited by Ismar Borges de Lima, Ronda J. Green

Online Resource