# DESIGN DOC ➡️ (deprecated)
Proposal
WN Post
Strategy
In order to offer a pleasing user experience, we strive to keep data in NewDot as up to date as possible at any given time. We have implemented solutions for keeping active user’s up to date in real time (namely sending updates in realtime using Pusher). Next we should aim to update inactive users to improve their experience when re-opening the app while offline or on a slow connection.
Problem
A growing pain for NewDot is its routinely stale data when first opening the app. Eg:
- Opening the Chats screen and seeing an out of date list
- Opening a chat and not seeing the latest messages
After a moment (or several depending on your connection), the app finishes syncing data that was missed and flickers as it finally displays the latest data. This delay can be particularly frustrating as you may know that you’re missing something new (eg: something from a notification).
Solution
iOS and Android grant us some ability to run tasks while the app is in the background so let’s fully utilize it! We can implement background refresh and use it to periodically sync updates we have missed. While this won’t completely eliminate stale data, this should noticeably improve the “freshness” of the app when you open it.
We can dig further on what specifically we should sync, but at a minimum lets use background refresh to sync high level data on chats and messages so that you can catch up with conversations more quickly.
Tasks
# DESIGN DOC ➡️(deprecated)Proposal
WN Post
Strategy
In order to offer a pleasing user experience, we strive to keep data in NewDot as up to date as possible at any given time. We have implemented solutions for keeping active user’s up to date in real time (namely sending updates in realtime using Pusher). Next we should aim to update inactive users to improve their experience when re-opening the app while offline or on a slow connection.
Problem
A growing pain for NewDot is its routinely stale data when first opening the app. Eg:
After a moment (or several depending on your connection), the app finishes syncing data that was missed and flickers as it finally displays the latest data. This delay can be particularly frustrating as you may know that you’re missing something new (eg: something from a notification).
Solution
iOS and Android grant us some ability to run tasks while the app is in the background so let’s fully utilize it! We can implement background refresh and use it to periodically sync updates we have missed. While this won’t completely eliminate stale data, this should noticeably improve the “freshness” of the app when you open it.
We can dig further on what specifically we should sync, but at a minimum lets use background refresh to sync high level data on chats and messages so that you can catch up with conversations more quickly.
Tasks
#whatsnextstrategy@expensify.comand paste in the Proposalstrategy@expensify.com(continue the same email chain as before) with the link to your Design Docstategy@expensify.comagain with links to the doc and pre-design conversation in SlackDesignDocReviewlabel to get the High-level of proposed solution section reviewedDesignDocReviewlabel to this issuestrategy@expensify.comone last time to let them know the Design Doc is moving into the implementation phasestrategy@expensify.comonce everything has been implemented and do a Project Wrap-Up retrospective that provides: