My favourite Net-A-Porter colour is black.
(I like it so much I made a poster)
My favourite Net-A-Porter colour is black.
(I like it so much I made a poster)
Maybe you like something more striking. Red?
Designers like Missoni know how to make beautiful combinations of colours.
I'm a software developer in Net-A-Porter's Catalogue Management team. We worry about classification, filtering and ranking. On this page you're not seeing products filtered by colour, but products ordered by their similarity to a palette.
Net-A-Porter's Spring Summer 2022 marketing campaign, "Go for Bold", centred around a collection of colourful products. The campaign photography (which I love) used dramatic angles, shadows and vivid palettes. Marketing wanted to add a technology element to the project and one idea was to use palettes as a route to finding products.
Ultimately this idea was binned for something else, but Kris and Naz from our Future Strategy and Design team had already discussed how we might do this with Google, who had done something similar with Art Palette. I was too attached to the idea and what Google had done to not build it anyway.
The starting point was to identify a colour palette for every product. I used ColorThief to sample product images and extract the five most dominant colours from each. These colours would define a product's palette.
I needed to score how similar any two palettes were. A colour is a point in 3D space made up of Red, Green and Blue (RGB) coordinates. A Euclidean distance measures how close any two points in that 3D space are. Unfortunately, proximity in RGB is not a good proxy for how our eyes and brains perceive colour similarity. An alternative to RGB is CIELAB which was designed to represent colour in a way that more closely aligns with human perception. Euclidean distances between CIELAB colours do provide a good proxy for perceived colour similarity.
With five CIELAB colours per palette, measuring the distance between any two palettes (ignoring the order of colours) would mean 25 distance calculations. Not practical in a realtime query. For a catalogue the size of Net-A-Porter it would mean executing over a million calculations to find the closest palettes.
This is where I leant heavily on what Google had done with a clever optimisation trick. Offline, Goolge had calculated the distance between every possible palette in the colour space. Those distance values were then used to train a machine learning model to predict how similar any two palettes were. Removing the final layer in that model provided embeddings that represented the palettes in an n-dimensional space. Significantly, that space would locate similar palettes near to each other. These embeddings could be used to measure the distance between palettes directly, replacing 25 calculations with one.
The final step was to create an index of palette embeddings for the catalogue. An index provides a fast way to search for the nearest neighbours of any palette and to the products represented by those palettes. I used Jon Chamber's Vantage Point Tree implementation as an in-memory index.
What makes this fun is that with an index of embeddings and a way of converting a palette to an embedding it's possible to search for products that are the nearest neighbour to any palette. There's no reason a palette needs to come from a product image.
Maybe you want to find products that have a Starry Night palette?
Hello. I'm Darren Shaw, a software developer at Net-A-Porter, which I've occasionally written about.
I also play at being a portrait photographer - but it's just a hobby. I love the photographs of Boo George, Norman Jean Roy, Steven Meisel and especially Peter Lindbergh. I've also written about why I like their pictures. I sometimes do test shoots, so if you're interested in working together please get in touch.
Darren, June 2022.
A set of pictures I made with Eric in 2021. I love working with her.
It’s been a too long since Gemma and I shot together. We made up for it with a day long shoot in the studio and gym. Gemma can do it all, fitness, beauty, hard, soft, natural, serious, and silly. I want to work with her over and over again. Bar one Hasselblad frame, these are all strobe lit and digitally shot.
Hello from the future, Valencia, Spain. The City of Arts and Sciences, built at the end of what was once the river Turia.
One of the hardest working models I know, Sophie and I have shot together many times. For this shoot we did something simple and relaxed, not worrying too much about slow shutter speeds and making the most of some gentle film grain.
Another blurry, grainy shoot with Eric. Another chance for her to work those dimples.
The two of us did this shoot on a rainy Saturday morning in late 2018. My favourite pictures of Eric are always the in-between ones, where she’s laughing or just finished delivering some witty put down. I know the pictures will look great as soon as you start to see those gorgeous dimples showing up.
Gemma is one of the easiest people to shoot with, her natural swagger always comes across in the pictures, but she’s also funny and doesn’t take herself too seriously. This shoot was from 2014 with Rachael Kent doing a perfect job of keeping the makeup low key and letting Gemma (and freckles) shine.
Crowds at Roland Garros for the 2016 French Open.
Vogue Arabia's Gigi Hadid cover was one of Peter Lindbergh's final shoots. Black and white, stripped back, with a simple textured background and defiantly un-retouched, this is a typical, beautiful Lindbergh image.
There’s really only one thing you need to do with an Emma Watson photo - leave her freckles alone. Which is, of course, exactly what Alasdair McLellan and Lynsey Alexander did in this Vogue UK picture.
Anyone could take a beautiful picture of Jennifer Lopez. I love that Camilla Akrans and Harper's Bazaar didn't settle for that.
It's our loss that Beyoncé doesn't do magazine photo shoots any more. In the early 2010s she graced some of the finest fashion stories. Out of all these, it's Alasdair McLellan's cover for The Gentlewoman that I love the most.
I hope Julia Roberts has this picture hanging on her wall. It’s such a joyful, "everything is going to be ok" moment captured by Alexi Lubomirski. Just looking at the image makes me happy.
The pictures I love are stripped back. The simpler the better. I don't like props, themes or elaborate production. All things that Tim Walker is master of. I shouldn't like his Vanity Fair portrait of Emma Watson and yet I love it.
I get butterflies looking at Peter Lindbergh's portrait of Cara Delevingne. Cara's hard to read emotion and the simplicity of the lighting against her pared back makeup make it timeless.
When I play fantasy fashion photographer my model shortlist is Emma Watson, Keira Knightly and Carey Mulligan.
Jake Michaels is a serious photographer with high profile clients and a beautiful portfolio. As a sideline he also goes under the name Joke Michaels, sharing many of his street pictures and changing my mind about humour in photography.
This is the second Boo George shoot with Alessandra Ambrosio that I’ve written about. If I had to pick the perfect fashion picture this would be it.
Steven Meisel has been responsible for many of Vogue Italia's most controversial shoots. His 2007 Make Love Not War shoot was described by the Guardian as "the most nauseatingly tasteless fashion pictures ever”. Controversial and difficult, but ten years on they still stand out.
Zoë Kravitz is having a bit of a moment, she is in every photo shoot. This Stas Komarovski photograph of her is a picture I’ve tried (and failed) to take many times.
There are plenty of London street images, but it’s more unusual to see them from other towns and cities in the UK. Robert Viglasky’s picture of the women in the window was taken in Oxford.
Alessandra Ambrosio has done everything from the Next catalogue, through Victoria’s Secret shows, to high fashion. In this image, Boo George was able to do something different.
Why I love this Rankin series of Heidi Klum pictures that made me want to learn to take portraits.
Net-A-Porter's Spring Summer 2022 marketing campaign, "Go for Bold", centred around a collection of colourful products. Marketing wanted to add a technology element and one idea was to use palettes as a route to finding products. Ultimately this was binned, but I built it anyway.
That Roger Federer does not sweat had become ingrained thinking, the sort of idea we were looking to challenge. Was it real or just a lazy cliche? We had IBM’s Wimbledon match data for all the top players and using Weather Underground we pulled in temperature data for those matches. This let us see the number of matches played by player and temperature.
I work in a division of IBM called Emerging Technology. One of the group's responsibilities is to help clients with innovation. We do this by explaining technology, running workshops and helping prototype new ideas. We're often asked how to be innovative. I don't think we have an answer to this, but we do have lots of experience of what has worked and hasn't worked for us.
Over the last three years I've been responsible for helping the US Masters, Roland Garros and primarily Wimbledon understand how people are engaging with the events on social media. Their requirements have led to a messy combination of stream processing, batch processing and static indexing. I've started to look at how a Kappa architecture might help us produce a cleaner solution.
Predominant colours of most popular user generated Bobbi Brown videos on YouTube.
As an experiment in using the Physical Web I wanted to create a voting system for physical meetings. A meeting would have a current question and attendees could vote with one click. There would be no entering URLs, downloading apps, or scanning QR codes.