Intuitively it seems to me that the major issue with perceived slowness of large business applications (such as CRM systems) is the absence of any pre-loading / caching of data for the user.
In my experience most users only work on a small subset of data and work on the same or similar records and processes every day, so I'd be interested to have the application learn what subset this is for a particular user or group of users and then do 'pre-emptive' loading to increase the responsiveness of the application and improve the user experience.
If I want to avoid re-inventing the wheel, what are some good resources that deal with strategies on how to achieve this? What are common pitfalls?
https://engineering.linkedin.com/distributed-systems/log-wha...
https://queue.acm.org/detail.cfm?id=3321612