Most of our posts have been about fundraising, this will be about how we built Campaign Deputy to be quick to use for campaigns throughout the country. We started with the idea "be better, faster, and don't crash". With that, we set out to build a web application that can be fast, even if you happen to be on a 3G connection. Then we apply that same performance to out outbound features, forms, and page analytics.
We have been using a third party to measure how long it takes to load a page, commonly called RUM, Real User Monitoring. This tracks each time a user loads a page in our application, and records the time, and the time it takes to pull new updates for the page. Overall, more than half of our pages load in under a second. We accomplish this by creating the smallest possible page to load. The average size of a web page is over 3MB, ours is under 1mb down to 1/2mb. If you have ever tried to load a news article on a slow connection the page size matters a lot. After you load our site once, we cache everything and that page load turns into 1/16th of a MB. You likely have a word document larger than that.
Speed and distance also matter, so we have our code throughout the US that helps to load our forms. This allows our PopUp forms to load as fast as the page loads so you can capture all those new donors who go to your campaign page!
Further plans for 2019
First we are launching a new cloud based load balancer for our applications with more support for IPv6. We have redundant sites and connections to our servers, but they can be slow to react to changes. We also launched a status page so you can see in real-time how our system is doing at
status.campaigndeputy.com so we can be transparent out our system health. Also with our launch of our mobile app, you'll start to see more API access for integrations from the technically savvy campaigns out there.