Utility price comparison website
uSwitch.com has
completed a £1m overhaul of its website infrastructure, deploying
several of the latest web technologies during the 10-month
project.
In February, uSwitch also adopted customer experience management
software, which it is using to improve the conversion of site
visits into sales.
uSwitch provides a free and independent online and phone-based
service, which compares hundreds of up-to-date prices for services
including gas, electricity, telephone, broadband, credit cards and
bank accounts. These prices, which are provided by the supplier
companies and industry regulators, are held by uSwitch in a SQL
Server 2005 database.
The company has developed a set of proprietary price comparison
calculators based on emerging web technologies such as
Ajax interactive web tools,
Microsoft's .net 2.0 and .net 3.0 service
oriented architecture
(SOA) environments.
Richard Stables, chief technology officer at uSwitch.com, said
that embracing new technologies at an early stage and short
development cycles using agile application development processes
were key to ensuring that the website runs smoothly and offers a
good user experience.
Agile processes typically require coders to work on projects for
short periods to produce "iterations", which can be used to gain
user feedback as the development progresses.
"We know at the start of the process the features to include in
the new iteration, which usually lasts two weeks, unless we are
undertaking a major new development, such as a new calculator,"
said Stables.
By working in this way, any IT alterations are in line with the
business requirement, and the development team can ensure that it
is constantly on track, he added.
"Agility is what makes the difference in today's internet
services arena. Business and IT share the vision of where the
company is going, and we have set up our development practices to
respond to business change as dynamically as possible," said
Stables.
At the end of last year, the company used these processes to add
a channel to its website which compares mobile phone tariffs across
a number of suppliers' services.
"We have invested a considerable amount of time and energy in
developing our internal libraries: a set of .net 2.0 assemblies,
page layouts, styles, images and textual information, taking care
of the look and feel of our website, and the customisation required
by our partners, such as different images and different text, for
their co-branded sites," said Stables.
"This initial investment is helping us enormously in launching
new calculators in a relatively short time.
"The mobile telephone channel, which went live before Christmas
2006, required us to develop the code to manage tariff data and the
business rules to calculate best buys. With solid architectural
foundations, we were able to plug this new product into our
existing infrastructure comfortably."
uSwitch's infrastructure
Price comparison website uSwitch.com can support an average of
5,000 user sessions per day, partly due to its scalable IT
infrastructure and partly because it has deployed the latest web
technologies.
Most of its applications are written in Microsoft's .net 2.0 and
the latest .net 3.0 service oriented architecture (SOA)
environments, with SQL Server 2005 as the back end data store.
Richard Stables, chief technology officer at uSwitch.com, said,
"Ajax technologies are already used on the website, but we are now
pushing this technology further, to make our offering more
intuitive and user-friendly.
"With Windows Vista around the corner, we are looking at new
ways of interacting with our customers, such as desktop gadgets and
WPF [Windows Presentation Foundation] applications."
Both of these refer to rich client applications that run in a
browser.
Ajax and Agile software development
Ajax (Asynchronous Javascript and XML) is a programming language
that enables users to build interactive applications for the web.
It is mainly used to create rich applications that run over the web
and offer easy-to-use Windows-like functionality.
Agile software development offers a way to get end-users
involved in building applications. Code for an application being
developed is reviewed by end-users on a regular basis and their
feedback is then incorporated into the next revision of the
application. The aim is to keep coding simple. Applications are
tested frequently and new functionality is delivered on a regular
basis.
Agile contrasts with the traditional waterfall approach to
development, which divides the process of creating new software as
a series of iterative steps. Application development begins at a
high level requirements-gathering stage, and moves steadily
downwards through design, implementation, testing (validation),
integration and maintenance.
Related article: Web 2.0: CIOs want it their way
Related article:
Web 2.0 tools of the trade
Comment on this article:
computer.weekly@rbi.co.uk