On Sat, 14 Apr 2018, at 4:40 PM, Alexandre Rafalovitch wrote:

As you know, I'm responsible for the current UI. The aims in building this version of the UI were to keep the visuals entirely the same, whilst reducing the size and complexity of the underlying JavaScript (we reduced it by about 50% in terms of LoC). The bulk of the work in its implementation was in terms of understanding the intent of the existing code. Reproducing it in new code was a smaller task by comparison. I hope this will pay off in any future rewrite.

At the time, the JavaScript landscape was changing fast. It was clear that anything we produced would only be valid for a number of years. It seems we have now reached that limit.

I have recently taught myself basic ReactJS. It is clearly a powerful beast. The two major distinguishing factors from the current UI are its componentised nature (which means you don't build pages, you build re-usable components) and that it uses a transpiled language.

To rebuild the current UI in React, we would need to decompose the HTML pages into components, and migrate behaviour into those components.

Using a transpiled language (and all the tools that support that, e.g. webpack) would give us a more compact, and modern, UI.

However, the HTML is growing old. It isn't properly responsive, and it doesn't use idioms that people have come to expect from a UI (e.g. no hamburgers).

In theory, I would support a rewrite of the visuals - it would make Solr seem more modern. However, I do not underestimate the amount of work involved.