I’m having a bit of fun experimenting with FlexSearch which provides search capabilities much like Solr & ElasticSearch but runs entirely in the browser. There’s also a short InfoQ piece about it too. It looks like you can migrate your index to the server when it gets too big for the browser, which is nice to have as a Plan B.

One of the impressive things about the FlexSearch project is how they have really focused on performance as compared to other JavaScript search options that are available. For example, check out the index size comparisons:

I’m mostly interested in trying to keep the index client-side to reduce the infrastructure costs of app deployment. If an app can be deployed as a static site with one less dependent service that’s great. But relocating the index to the browser also could allow the app to circulate off the HTTP web, on thumb drives, Dat sites, etc.

After spending the last few decades developing for the web I never thought I would be focusing so much on off-web circulation. off-web is increasingly important as having your data, and being able to share it in particular social settings, are prioritized.

It’s not so much a concern of a decentralized or distributed web, as it is a disconnected web. That there is value in not having a globally addressed namespace. This is an idea I’ve been slow to appreciate. It’s also one of the things that keeps me coming back to Scuttlebutt.