Editor’s note: Alexander Aghassipour is chief product officer and co-founder of Zendesk. Shajith Chacko is lead software engineer at Zendesk. Both contributed to the development of the new Zendesk product.
The Web is a far different place than it was when Zendesk launched six years ago. As more and more people use consumer apps like Twitter and Facebook, enterprise applications need to build an interactive experience that doesn’t look old or slow when compared to the rest of the real-time Web.
As a cloud help-desk software provider, we recognized that our customers’ needs were also changing. A few years ago, web support meant email. Today there’s chat and click-to-talk voice support, and most customers demand instant answers and help. These real-time channels benefit from a more modern application approach than our original HTML application afforded. From the support side, customer support agents might be chatting with one customer while simultaneously updating another customer’s files. Meanwhile, large support teams need to collaborate in real time. The platform can’t slow the pace of work.
From a technical perspective, a single-page Web application is delivered as one page to the browser and typically does not require the page to be reloaded as the user navigates to different parts of the application. This results in faster navigation, more efficient network transfers, and better overall performance for the end user.
- Ember.js is constructed with large applications in mind and fits a larger team and project like Zendesk.
- Ember.js has more conventions and structure, and these established conventions make it easier to bring new developers on board.
- Ember.js is primarily based on dynamic bindings that automatically update the UI when data changes; this allows us to easily describe UI that knows when to update.
- Ember has a vibrant, growing community of very clever people.
Other Technical Considerations
While learning any new skill takes time, we got buy-in from the engineers early on. Convincing our engineering teams to take on this challenge was relatively easy. This transition gives everyone the enviable opportunity to work with modern methodologies and tools. However, there still is a learning curve that must be factored into the project schedule.
Preparing For The Adjustment Period
No matter how fantastic the next-generation application may be, the simple fact is that existing end users have been happily accustomed to doing things a certain way. Getting used to changes to the status quo takes time.
To help ease the transition, we rolled out the new version of Zendesk for new accounts and trials. Existing customers are free to stay with the original Zendesk version for the time being. In addition, we started with a soft launch to a small subset of customers. This was followed by a four-month beta period, which allowed us to see how customers responded to the new design and workflow.
Ripping down an application to rebuild is a risky proposition. However, it’s sometimes the only way to move forward. The journey requires a commitment from all involved – including end users and developers. A major project of this scope won’t happen overnight, but the agility, performance, and real-time nature of the results are well worth the effort.