A few questions/comments for the team that is doing this @JensGroth
First off, it looks like the documentation search functionality takes maybe ~4 sec or so to load (…loading) and then works.
Are you loading the entire search index into the browser frontend from the IC? If so, it looks like its taking roughly ~4 sec to load https://smartcontracts.org/lunr-index-1651744625942.json (4.72MB) from the IC. This performance isn’t really improved when I try to fetch it again, is this resource not being cached in boundary nodes?
Also, is it easy fit the entire developer doc site onto a single frontend canister or is this being split across multiple canisters?
Is there a public DFINITY repo where we can view and learn from how DFINITY is architecting their frontend repositories (to learn from, etc.)? This is arguably one of (if not the most) polished looking frontend application on the IC right now.
Relaying answers from @hugolgst since his forum account can’t post quite yet:
Indeed it takes a bit of time to load. The reason is that we decided to go for a client-side search.
Other tools like Algolia are third-parties, so the website would not have been “fully on-chain”
It’s one canister. We just exported the static files from the React application and we use an asset canister to host them.
It therefore behaves exactly like any other application hosted via a CSR frontend deployment tool (e.g. Netlify, GitHub pages)
To be honest, I don’t think we have changed the design of the docs page since fall 2019 (not joking!). I work on sdk and docs page, not on Dfinity.org.
To answer about the docs pages: we redesigned and iterated based on feedback. It’s clear that IC developer experience needs to improve, and the docs are one of the first entry points. The harsh truth is that our docs pages were not yielding the Experience folks should have…. And it was not hosted on the IC. So we decided to keep iterating at it.