Use minified JS/CSS and consider using CDNs to improve ESignLive performance
Wednesday, November 1, 2017 at 07:41amHello,
We are running into performance issues related to the considerable size of the initial load of ESignlive on devices with a weak cellular signal. I did some investigating and found that the typical first load (before cache) is about 4.1MB. I tested this against both apps.esignlive.com and sandbox.esignlive.com. In cases where we have no cache and a weak cell signal this results in load times approaching a minute or more! But I think there are some simple things that could be done to help with this and I wanted to make this post to see what you think.
Use Minified JS and CSS Files
In looking at what items are being downloaded at load I noticed you are using the full versions of many standard/common libraries. I believe you would be able to significantly reduce the network load of your application by swapping these out for the minified versions. Just as an example, I picked a few of the ones I found which are not minified:
additional-methods.js - 42KB
additional-methods.min.js - 19KB
i18next.js - 65KB
i18next.min.js - 34KB
jquery.validate.js - 48KB
jquery.validate.min.js - 23KB
jquery-ui.js - 509KB
jquery-ui.min.js - 248KB
slick.js - 87KB
slick.min.js - 42KB
This is only a very partial list but even just changing these over would lower your network load by 385KB, which would be a nearly 10% improvement in first load performance. There are likely many other JS and CSS files I didn't include here that you should switch to minified versions.
Consider Using a CDN
Another thing you should consider, though this is dependent on your deployment model, would be to load the more common libraries from standard CDNs. This gives two advantages. First of all this would make better use of caching because if a user has been to any other web app that used the same CDN source for a common JS file then when they get to your app they won't be downloading it at all because it would already be cached. Secondly, it allows more parallel downloads from the browser, which, given the sheer number of resources needed for your application, should give a nice boost in performance. Most web browsers limit the number of pipelines they will open to a single site. Since you are loading all of your JS and CSS and images from esignlive.com you are likely running into some sequential download performance bottlenecks. See this helpful StackOverflow for some of the pros and cons of this:
https://stackoverflow.com/questions/3832446/benefits-vs-pitfalls-of-hosting-jquery-locally
Reply to: Use minified JS/CSS and consider using CDNs to improve ESignLive performance
Wednesday, November 1, 2017 at 09:36am