Speed is mandatory for any web-based project. Your projects can only perform optimally when the speed aligns with what user experience demands. This is where performance budgeting comes into play. You hear the word budgeting and you start to think in terms of naira and dollars. However, this is not the case. This kind of budgeting requires you to think in seconds and bytes.

What is performance budgeting?

Performance budgeting covers the input of resources which affects the output of services for each element of your software. Discussions around performance budgeting are centred on what is important to the end user and what is extra that will only slow down the performance of the project. Performance budgeting is anchored on user experience.

A budget should come at the planning stage of a project and the projects should be measured against the budget at every stage to ensure strict compliance. The budget sets a limit for different components of the software which the developers are not allowed to exceed. It could be a file size or load time for a project.

The web is growing and web pages are becoming increasingly complex with so many functional capabilities. This means the deployment of different technology. Images, text, style sheets, scripts are put together to serve web pages to the user.

Generally, the top websites now have an average page size of 2 megabytes. Researching and determining the average size of projects similar to yours will help you determine the threshold for your budget. Speed should be your guiding philosophy just as it has been with Google over the years.

A slow is site is no different from a site that is down.

Imagine a scenario where a website is experiencing downtime. This results in lost traffic, lost income, and injured reputation. Did you know that a slow website is almost the same as one experiencing a downtime? When a website takes forever to load, not many people will have the patience to wait. They most likely move to a competitor or to other activities. If you have experienced slow loading, you know how frustrating it can be. Of course, the lags can be overlooked where the value at the end of the wait would be worth it or perceived to be worth it for the end user. However, there is only so much lag anyone can put up with.

Performance budget involves examining each element of your website and value its usefulness against the time it takes to load. It will help determine if such an element will not be better taken down or at least optimised where possible.

Sample Budgeting Limits

Examples of thresholds that define your performance budgeting include:

  • All pages must not be above 800kb
  • Images on a product page must not exceed 1.5mb
  • Homepage must load within 4 seconds over 3G on mobile

While these may be general, you can make specific limits like how much javascript must be contained on a page or how long it must take for a particular element to render.

Should you adjust your budget when adding a new feature or modifying?

Sometimes, features or modifications would exceed your budget. You cannot always throw out all such features in strict adherence to your budget limits. However, optimising the modification to fit within your budget should be your first consideration.

If optimisation of new features and modifications doesn't bring your project within your budget limits, you can consider old elements that may be optimised or outrightly removed. When doing this is impossible or not yielding results, you may then consider increasing the limit of your performance budget, but still bear in mind that the value of your modification or new feature must be worth the wait-time for your users.

Conclusion

A performance budget is necessary for achieving a robust application or website that performs optimally because of the accountability it brings to the process of development. If in doubt, use a performance budget for your next project and compare that project to the previous ones you have worked on without a performance budget.

Cloudwafer provides simple, fast and yet reliable high-performance Cloud, Custom Dedicated, and Enterprise Infrastructure hosting services that ensure optimal performance thereby complimenting your budgeting activities.