alkemio
alkemio copied to clipboard
Client: Optimize user responsiveness
Description
Optimizing the client load time for faster page loads and better responsiveness
Improving the build setup for the client so that the user has less data to download Allowing code to be downloaded on demand Improving developer productivity via build times
Initiative / goal
User engagement
Hypothesis
Downloading less code will allow the users to see and interact with the platform quicker Slow response times reduce the usage of web platforms
Acceptance criteria and must have scope
- [ ] Evaluate optimizing how the client package is created and how to reduce size by pruning
- [ ] Analyze the startup sequence of the client + what queries are blocking / loading too much data
- [ ] Analyze our usage of Apollo to see if we an load less data
- [ ] Investigate ability to download some of the packages on demand e.g. whiteboard
- [ ] Analyze the compute load on the client
- [ ] Analyze how the responsiveness of the server changes depending on the number of credentials held by a user: 10, 50, 250 creds + page load times
- [ ] ...
Note that there are also tools that help with this kind of analysis, especially re JS packages. It may be that there are some quick wins re packages used in the client (e.g. use a much lighter version of XState, improve usage of webpack etc).
Note: Try the client on a much less powerful device e.g. on an old tablet the application was basically not usable.
Stakeholders
Product
Timeline
Q3 2023