JSFoo 2014

JavaScript as the centerpiece of a complex web stack

Anshu Verma

@vermaanshu

Scalable front end tech stack for >1.3M+ users and a 400+ person development team.

Submitted Aug 10, 2014

Front end development is a rapidly evolving universe with its landscape changing everyday. Everyday there are new trends, tools, libraries, frameworks and patterns that enable a better, a more beautiful and a faster web. The pace of change is so fast that what works today, is obsolete tomorrow or there is a new and a better way.

In this session, we will use our journey of rewriting a global SaaS offering that generates $200M in annual revenue and serves more than 1.3 million users worldwide to share the following

  • Practices & technology stack that are key to building a large single page web app - why they are important and what went behind choosing them.
  • Patterns that allow to swap technologies seamlessly and enable large scale parallel development.
  • Node.js as the new front end backend

Expect to see some code and cool demos as well in this session.

Outline

Intuit’s flagship product, Quickbooks online, is the no. 1 small business cloud accounting solution that is used by 1.3M+ users worldwide in more than 10 languages. It serves over $1 trillion in commerce where users and accountants from 150 countries depend on our solutions for running their business and be profitable.

A couple of years ago, based on the rapid user growth in Quickbooks, we realized that our existing approach for front end development needs to change. We were getting dogged by questions about performance, an aging user interface and an increasing difficulty faced by developers to build apps. We knew, we needed to change. But, the change was not trivial - to put it in perspective, we were talking about almost 2M lines of existing code that powered our front end. So, while the case for change was clear, the path was not.

After some prototypes where we A/B tested new features with different front end technology stacks, we soon had a winner. The winner was - we will do full front end development with JavaScript and it’s complementing technologies. Period.

The path to new stack was non-trivial though – the bold call to replace almost 2M lines of current code sent shivers down the spine. Today, after a successful rewrite and a complete one year since the full Javascript stack in production to all users, we have not only survived— but we have accelerated our customer growth and our user satisfaction, as measured by the Net Promoter Score.

The following articles published by various experts give a brief indication of how users loved the new interface

  1. http://www.intuitiveaccountant.com/training-center/the-new-qbo---slick–n-speedy
  2. http://www.sleeter.com/blog/2013/08/quickbooks-online-user-interface-update/
  3. http://www.inc.com/john-brandon/tested-new-intuit-quickbooks-online-plus.html

In this session, We will share our experiences during this transformation— what worked well as well as what you should avoid. We will also show you production code so that you can incorporate these techniques into your own SaaS offerings.

Speaker bio

Anshu Verma, Distinguished Architect at Intuit, has a passion for building highly scalable and complex SaaS offerings that are easy to manage. In his role at Intuit, he is focussed on enabling Quickbooks Online to be an open platform via technology transformation in the areas of web, globalization and user contribution systems. He has been instrumental in leading Quickbooks online’s journey to a platform that serves 1.3M+ paying users across 160 countries, supports 46 languages, handles multi-currency accounting for 143 currencies & integrates with numerous 3rd party apps and business partners across the world.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more