Many of today’s website is designed around giving a good user experience. This comes at a cost of high-bandwidth. Not everyone in the world will have a good internet connection, how about when you are at sea on a ship or in a developing country such as India or Pakistan.
So what can be done to provide a solution for these low-bandwidth situations? There is no one solution as when architecting a solution it is delicate between features richness, performance and time to market.
Architecture
How can the architecture help with low-bandwidth
- Progressive Enhancement and PWAs (Progressive Web Applications)
- These are Connectivity independent, safe and installable applications
- Universal Javascript is the future
- Adaptive Web Development
- This uses static layouts based on breakpoints which don’t respond once they’re initially loaded.
- Not ideal, but if push comes to shove and you need your app to work on a feature phone, you might need to serve out a different page altogether
- Server-Side Rendering when possible
- Sometimes, you don’t need Single Page Applications. A simple server-rendered static website would do.
- Static sites work across browsers, network conditions, geographies and require little to no Javascript. If you can make do with one, then your work is cut out for you.
Development
- Develop mobile-first – it always helps with perf
- Best Practices – Trim, Bundle, GZIP and Tree Shake your code to make it lean.
Testing
Testing should be done on
- Real devices
- Real networks
Monitoring
- Performance should be constantly monitored, and performance bugs should be seen as at par with others.
- Performance Sprints between regular development cycles