Pre-history
This was a very special project for us. When such a big company wants us to build a flagship application for them it is a challenge, believe us.
For a long time CBS Interactive, their well-known subdivision Download.com, had been maintaining an incredible application called TechTracker. TechTracker was tracking updates for users' applications, did it perfectly, but had minimalistic UI.
CBS decided to build a new application called Download App based on TechTracker idea but having new GUI and bunch of new features.
Requirements
It would be a written from scratch desktop application, having minimal memory footprint, handy and easy to use, able to work in background and customizable enough to work silently for long time if users want it to. In fact the app would do what Google or Apple application stores do.
In total:
- Minimal memory footprint.
- Slick and fast UI.
- Integration with the existing infrastructure.
Starting from scratch
As was said above we were asked to build it from scratch. The question was which technology to use.
After thorough consideration and weeks of intensive research we ended up with two options: WPF or HTML5. We chose HTML and Google’s Chromium Embedded Framework and never regretted the decision. WPF was still slow, blurry and memory-greedy.
Technologies evaluation
In the very beginning of the project we made an extensive analysis on existing GUI technologies and frameworks. We compared their strengths, weaknesses, and viability as a long-term solution. In many ways this research deserved to be published separately, even though it is a bit outdated by now.
We examined
native,
hybrid,
.NET/WinForms,
.NET/WPF,
Adobe AIR,
Silverlight and
JavaFX, having in mind technical characteristics, memory footprint, performance, flexibility, touch screens capabilities, and the technology's impact on development lifecycle, maintenance and support.
On the first iteration we chose WPF and hybrid (Chromium Embedded framework), wrote two fully–functional prototypes, evaluated them and then made a choice we have never regretted: Chromium Embedded Framework.
On our test hardware,
HTML5–based prototype started five times faster, and used a tiny fraction the memory of WPF–based one.
Benefits for customer
What is interesting for CBS here? We weren't asking for constant assistance when designing the app.
In contrast to quite many of the outsourced projects we didn't need a constant governance by the project management team. We had understanding what we need to build (CBS had made incredible work making their requirements clear and comprehensive), we got enough domain knowledge, and we were keeping in touch with CBS people all the time we were working on the project.
In Total
The Download App reached
12 million installations and earned warm reviews from users on Download.com:
