Every 3-4 weeks, Bionic adds new features to its media planning software. Recently, I asked Corey Johnson at True Media (one of our key media planner clients), “If you had a magic wand and could change anything about Bionic, what would it be?”  I was fully expecting to get yet another list of new features (our clients always have great ideas!).  Instead, Corey gave me a very simple answer that surprised me: “make it faster.”

When Corey said this, I had a flashback to 1986. Remember that movie Top Gun? One of my favorite parts is when Maverick (played by Tom Cruise) says, “I feel the need… the need for speed!”

 

The job of media planning is extremely fast paced and constantly changing. So, it should come as no surprise that media planning software needs to crank out results without delay. Media planning software needs to move “at the speed of thought.”

Focus on Speed

Corey’s feedback prompted a concerted effort to improve the speed and responsiveness certain problem areas of the system. Performance tuning has always been part of every software upgrade.  However, the latest Bionic software upgrade was focused almost exclusively on speed improvements.

Identifying Slow Pages

For starters, we upgraded our performance monitoring to provide better benchmarks.  Until now, we only had a good view of server side performance. We purchased and installed an advanced version of New Relic’s Software Analytics Tools to monitor end to end response times.  This gave us a better view of system response times from a client’s perspective.

page-load-heat-map

With the new monitoring, we identified the problem areas of the system and compiled a “10 most wanted list” of the worst offenders. This was a list of screens that were the slowest to return results.

Diagnosing the Problems

From there, we used performance diagnostic tools to dig into the problem and identify exactly what was causing each of the performance problems.  Is it the database? Is it the server? Is it the API? Is it the payload? Is it the network? Is it the browser? There are many factors that impact system performance in a modern, web-based system.

Accelerating the Software

Finally, we made changes to the software to solve these problems. This involved rewriting database queries and rewriting code on both the server side and client side.

The Results

The enhanced software was rolled out last night. The early results are in… I’m happy to report some very significant speed improvements for screens on our most wanted list. Here are some examples:

Action Before After Savings
View all campaigns for large organization 5.29 0.56 89.41%
Open medium (500+ line) media plan 4.77 3.34 29.98%
Open extra large (3,000+ line) media plan 9.48 5.36 43.46%
Open proposal manager with many proposals 39.77 2.66 93.31%
View complex proposal 4.43 1.65 62.75%

Plus, a “Snappier” Overall Experience

In addition to the page load improvements you see above, you’ll notice an overall acceleration of the user experience.  This is harder to measure because it consists of a lot of small interactions with the system: tabs, clicks, etc.

Bionic is built on a modern “live” platform where the information you enter is saved continuously to the database as soon as you enter it.  You may have noticed the absence of a save button on most screens. Bionic’s approach is similar to Google Docs and Google Sheets – the system is always saving your work.

While this ensures that information is never lost and enables fine-grained version control, it creates an engineering challenge. On any given screen, there may be tens, hundreds, or even thousands of small database interactions.

need-for-speed-in-media-planning-software

In this latest release, we’ve gone through the code behind the media plan spreadsheet with a fine-toothed comb. We identified opportunities to accelerate the user interface and streamlined the software. Although the accumulation of these changes is hard to measure, you will notice a “snappier” user experience when creating your media plans.

More to come…

There is much more to come.  Our goal for page load time is 500 milliseconds (0.5 seconds).  We’ll continue identifying and fixing screens that slow down the media planning process. The overarching goal is media planning at the speed of thought.

We are also in the process of upgrading the servers at our data center. These hardware upgrades will further amplify the performance improvements in the software.

If you see something, say something

Improving the speed of the software will always be a high priority. If you experience any sluggishness, please let us know. If you see something, say something.  And we’ll be sure to fix it for you, just like we did for Corey.