Chore: Improve initial page load time #128
Labels
chore
a tedious but necessary task often paying technical debt
discuss
Share your constructive thoughts on how to make progress with this issue
enhancement
New feature or enhancement of existing functionality
help wanted
If you can help make progress with this issue, please comment!
priority-2
Second highest priority, should be worked on as soon as the Priority-1 issues are finished
question
A question needs to be answered before progress can be made on this issue
starter
A beginner-friendly issue that is a good starting point for a new person
T4h
Time Estimate 4 Hours
technical
A technical issue that requires understanding of the code, infrastructure or dependencies
At present, PageSpeed Insights tells us that the performance of the MVP is "100"
https://pagespeed.web.dev/report?url=https%3A%2F%2Fmvp.fly.dev%2F ... π― π€·ββοΈ
1.9 s
Time to Interactive πApparently an App that takes
1.9 s
Time to Interactive scores a 100 on PageSpeed.Maybe compared to some ridiculously slow-to-load news site this is good.
But just to render a list of
items
? it seems incredibly slow to me.What can we do to lower this to
~400ms
on a 3G connection?Can we pre-render and cache the page and differ connecting to the
LiveView
socket? πTodo
Investigate / understand (document!) what are the main causes for "slow" page load time in a
LiveView
App. π πExplore optimising/indexing/caching the
items_with_timers/1
SQL query.https://github.com/dwyl/app-mvp/blob/4e21db158e2d73f54c69cc7dbba6d0c649ffe830/lib/app/item.ex#L113-L119
items
x 10kitems
(100M records)Postgres
perspective to optimise the query / load time.Explore using Caching to speed up the initial page load for new people visiting the MVP,
e.g: https://fullstackphoenix.com/quick_tips/liveview-caching
<|
https://github.com/whitfin/cachexWhat
else
can we do to speed up the initial Time to interactive? πRemember the purpose of the MVP is Learning.
Both our own learning of how to build Apps using
PETAL
π©βπ»and testing our hypothesis that people want to use a UX-focussed tool to maximise their personal effectiveness. β€οΈ β
In our quest to test that hypothesis, we need to minimise the page load time β³
So that the person viewing the MVP for the first time is pleasantly surprised π
and we know we've done everything we can to Never Waste Anyone's TimeTM π
The text was updated successfully, but these errors were encountered: