Twitter Improving Performance By Removing Hashbangs

Posted May 30, 2012

Two years ago, Twitter had massively redesigned their website. The entire website was designed in JavaScript. To speed up their load time, Twitter is now going to use less JavaScript on their website. Now some pages are being rendered in the cloud and then being served. Twitter plans to do this for more sections of the website. Twitter pages will now be loaded in simple HTML with only some JavaScript code for their interactive features. Since most of the content and layout will be processed in the cloud, little will be left for the browser to load.

“On top of the rendered pages, we asynchronously bootstrap a new modular JavaScript application to provide the fully-featured interactive experience our users expect,” said Twitter. “This new framework will help us rapidly develop new Twitter features, take advantage of new browser technology, and ultimately provide the best experience to as many people as possible.”


“The first thing that you might notice is that permalink URLs are now simpler: they no longer use the hashbang (#!). While hashbang-style URLs have a handful of limitations, our primary reason for this change is to improve initial page-load performance,” said Twitter.

The single tweet permalink pages will use the new framework. They will have a full URL rather than a dynamic hashbang URL. Previously Twitter would serve a generic HTML page containing JavaScript that figures out what it needs to display and where to grab it from. Then it requests the necessary resources and renders the content.

Twitter said that the new pages will load in a fifth of the time that it takes with the old framework.