Skip to main content

View Post [edit]

Poster: TL7 Date: Oct 5, 2023 5:37am
Forum: opensource Subject: The new search is slow because it entirely relies on JavaScript instead of progressively enhanced HTML to load.

This is some feedback regarding the new search interface introduced in January 2023, replacing search.php . The user interface of the new search feature also has been implemented into collection pages (/details/collection_name).

First of all, thanks for the efforts you have put into developing this sophisticated search feature. Archive.org has a more powerful search engine than most sites and it must have taken lots of work to create it. Thank you.

So here is some feedback regarding the 2023 search update:

Strengths:

  • The new tooltip that shows some details when hovering with the mouse over items can quickly show details without having to open the item page.
  • The blue loading bar at the top provides a modern app-like look.

Weaknesses:

However, the new search feature has some weaknesses that the previous search feature, also known as search.php, did not have.

search.php did show the search query in the page title, which is shown on browser tabs, so opened tabs with searches can be found quicker. The new search feature only shows the generic Archive.org page title without the search query before it.

search.php did not require JavaScript to show the initial results. It only used JavaScript to load more results when scrolling down, when it is actually necessary. This made it possible to load search results fast and to search the archive on browsers in embedded systems that can not be updated, and on virtual machines for nostalgia, which are not able to run the latest JavaScript that the new search feature requires.

On the new search, the browser is forced to process a load of JavaScript before showing any content to the user, whereas search.php immediately delivered useful content.

The new search is unable to run at all without JavaScript. The new search feature not only requires JavaScript, but has a high ECMAscript barrier, meaning it requires fairly recent browsers to work, which can become a barrier when using virtual machines and smart TV browsers that are not updateable. Not even a browser from as recently as 2019 supports it. Even on the very recent browsers that do support it, it loads slower than the HTML-based search.php .

There is nothing about the new search feature that couldn't be made to work with a lower ECMAscript barrier. You don't have to use Custom Elements to prove to us that you know the "newest features JavaScript has to offer". Your users would much more appreciate it if you make it more compatible with older browsers. The new tooltip and the blue loading bar at the top are entirely possible in ES6 (ECMAscript 6), and, dare I say, even ES5.

The previous search feature did enhance progressively (see Progressive enhancement - Wikipedia). It loaded the initial results through static HTML, then loaded more results through AJAX (asynchronous JavaScript and XMLHTTP requests) when scrolling down. The page loaded with HTML and lightweight JavaScript was added on top of it, rather than the entire page depending on JavaScript.
The old search.php and detail pages were not broken, so there was no need to "fix" them. :-)

See also:


This post was modified by TL7 on 2023-10-05 12:37:53

Reply [edit]

Poster: TL7 Date: Nov 14, 2023 3:14pm
Forum: opensource Subject: New search crashes on unstable mobile network reception.

Another inherent weakness of JavaScript apps compared to static HTML-based sites is that if the loading is interrupted due to an unstable mobile network connection, JavaScript apps such as the January 2023 search feature end up showing a blank page, whereas a static HTML-based page at least can show somewhat useful content.

An interruption in connection can be caused, for example, by a train riding through a tunnel or it can occur in densely populated areas where too many people access the mobile network.

Please consider upgrading back to the legacy search feature. Thank you.
This post was modified by TL7 on 2023-11-14 23:14:36