Splitting layout

Based on presentation (general-optimization.pdf) on optimization by Ali Khalili during Hackathon V3.0





Dynamic/lazy loading of modules

→ action → select j.s. file . use ES6 require.ensure - Darya Tarasowa - interesting in applying - related to multi-language UI.

Optimise Current libraries

(see webpack visualiser: https://platform.experimental.slidewiki.org/public/js/stats.html) → check npm packages

Server Side Rendering (SSR) Insights

Description of the flow

The page is initially always rendered server-side. This means:

For https://slidewiki.org/deck/82 , this takes about 25.86s and the file is about 5MB large (compressed to 700KB by gzip)
What's included to the file:

Possible improvements

Main Showstoppers:

Options to improve the situation:

Fetchr Insights

--> this needs to be implemented for each slidewiki-platform service and method (if it's useful!)

Further insights from looking into slidewiki-platform:


Improvements for MongoDB queries:

Indexes! Adding indexes to collections, greatly improves the search time for the correct documents but increases memory usage.
See slide 9 in
https://docs.google.com/presentation/d/1-5pBwpmC4nghs8FFf8fpLz1BIgrNbgZBTL40eVXRbQM/edit#slide=id.g110a6bec5f_0_27 for general information about MongoDB and Indexes.

We have to check performance of each service and the database, but Kurts feeling is that other topics (which are already identified as problems) should be done before digging into indexes.

-> SWIK-1609 is the parent ticket and contains basic assistance