Technology

At Bloomberg We’ve Made Brisket. And It Can Make Anything.

March 24, 2015

Brisket™ is Bloomberg’s new single-page application framework for building powerful web apps fast.

There are several other great isomorphic JavaScript frameworks out there now, but Brisket offers the best perceived speed, the greatest code freedom, and the strongest search engine optimization. It delivers HTML from the server and, at the same time, behaves like a single-page application in the browser.

We’ve been hard at work deploying Brisket to power three of the best and fastest sites on the web — BloombergView.com, BloombergPolitics.com, and BloombergBusiness.com. Now, to strengthen our commitment to the open-source community, we’ve made it available on GitHub.

We did this because we believe in the platform and what it can do. We’re excited about what we might build on it next, and just as excited to see what others will do with it.

Why did we need to make Brisket in the first place?

Speed

A good way to look at perceived speed is to compare a traditional site like Wikipedia.org with a single-page application (SPA) like Pandora. By perceived speed we mean how fast a web page becomes useful to you, so you can read an article, scroll to more content, or navigate to another page.

With Wikipedia, when you click on links, your browser loads a completely new page from the server. When you do the same in Pandora, the page updates only the portions that need to change to show you new content. Traditional websites load the first page quickly but are relatively slow as you click between pages. SPAs are usually slow to start up on the first page load but are much faster when you’re clicking around.

Brisket applications offer the best of both worlds. The first page loads quickly, and you can click around fast once it’s loaded.

Code Freedom

Brisket lets you build applications at breakneck speed. We built BloombergView.com, BloombergPolitics.com, and BloombergBusiness.com in about three months apiece. For the scope of those three sites, that is extremely fast.

Using Brisket drove huge gains in productivity for our developers. They didn’t need to think about the environment in which the code was running, and could focus instead on the application logic.

SEO

At first we thought we’d build a single-page application to give our users a snappier experience as they navigated between pages. But as we built it we discovered that SPAs were really bad for search engine optimization (SEO). They couldn’t execute JavaScript as they were crawled.

So how did we build a fast single-page application and still keep our SEO power? We just stood on the shoulders of a few giants.

We looked in the open-source community to see what tools had already been built that could solve the problem, and found Rendr by Airbnb. We created a prototype of BloombergView.com using Rendr that let us build a single-page application without losing SEO.

Bloomberg Being Bloomberg

Rendr removed a big roadblock for us, but it didn’t meet all our needs. So, in keeping with our startup roots, we set out to build an SPA all our own.

Our first iterations of Brisket were far from ready for production. Every day we asked ourselves: Why are we doing this?

But with patience and persistence, in just three months, we built a framework that solved our SPA/SEO problem and powered BloombergView. We continued working on the framework, refining it to the point where we were proud of the results and excited to release our product to the community.

Next!

While releasing Brisket has given us a great sense of accomplishment, we will continue to improve it.

Our hope is that developers will give Brisket a try, provide feedback and let us know about the great products they build — and, please, any stumbling blocks.

More to come.

This is the first in a series of blog posts that will cover exciting technologies built by Bloomberg’s Consumer Web Team.