At ASOS, where I work leading the UI Engineering competency, we treat the art of front end web development as a full software engineering discipline and help grow our engineers into the masters of their art as they wish to be. As with any software though we have unique challenges and our own way of going about solving them.
I am often asked what problems we have to solve at ASOS. What are the interesting challenges we face? As a retailer, we are totally focussed on our customer, some would say obsessively so. We pride ourselves on offering a first rate experience from the moment of your first interaction with us until you become a life-long addict of the ASOS brand.
For the majority of our customers, that first interaction is on our website and a huge number of people will make their visits to asos.com from their mobile phone. The explosion of mobile users is simply astonishing and leads to easily our biggest challenge and most interesting problem.
How do we best serve mobile web users?
This is not only a great question for ASOS but also for the web as a whole. I think there are really a few questions wrapped up in this one larger overarching one.
Performance is probably the number one concern. Mobile devices can have slow internet connections, less processing power, limited available memory and small but often very high resolution screens. These three things conspire to create a bigger problem.
It is necessary to be able to serve and render a webpage extremely quickly with very low data usage but also show high resolution images on those devices that support them while not bogging the device down with unnecessary resources.
There are a few approaches to this. We could choose to write a completely different website for our mobile customers and have done so in the past but this has turned out to be a bad idea. For one thing, it is more code to maintain but also it slows down the pace of change and the value we can bring to our customers.
We are exploring various options including of course a fully responsive approach. With the huge product range we offer and the variety of content we deliver, the customer experience is complex but we must always keep it awesome, engaging and fun.
Mobile devices are enjoyable to play around with and incredible tools but they present some huge challenges too.
How to scale to millions of users?
We have experienced huge growth of both visits and purchases from our customers. It is clear we are offering a great product for lots of people. We could choose to sit back, pat ourselves on the back and head to the bar for piña coladas all round. Instead we choose to consider how we can grow and improve even further.
How does a website scale from serving this many visits to serving ten times as many? Yes, we are considering an order of magnitude greater scale. It is a monumental challenge that will impact the very foundation of our technology. Some would say the cloud is the answer and maybe they are right.
Having so many customers is fantastic. I love being able to quote these huge numbers but there is the reality of keeping the lights on and the website working. As web developers it is part of our job and passion to make bigger and better things and I can’t want to see how this one pans out.
How to stay up to date with web technologies?
Staying current and even ahead of the game means having an engineering team that is incredibly efficient, experimental and highly motivated. It means having a business that is open to change and happy to fail fast. We need to continually measure our approach and adapt in order to continue our success.
It is fair to say that here at ASOS we are not trying to be at the very cutting edge of web technologies. Before judging us though, consider whether it is desirable to be at that cutting edge? Instead, we want to be at the cutting edge of engineering processes and engineering approach. Our stated aim is to have a world class engineering team delivering a best of breed customer experience.
There is a truism with code. As soon as you have finished writing it, you will have finally worked out how you should have implemented it!
What’s next for front end web development at ASOS?
This is the biggest question dominating my thinking right now. I believe the best way to start answering this is to have a great team of people who are passionate about our values, culture and technology and who want to be part of the answer to this question.
We already have a great UI Engineering team. It is wonderful that I can look around the room and see so many people I respect, so much experience and skill and an atmosphere of collaboration to rival any team anywhere. Part of what is next for us is to make that team even more awesome, even more capable and even more valuable.