So, who has Sam worked with?
(Swipe left to find out)
I worked on Chorus from 2012 until 2022, though the real development didn't get going until 2014.
We shipped 35 releases and 4 major versions.
It's a large chunk of my working life, of which I'm very proud—Chorus is a great product, used by many of the world's top creative teams.
Rather than give you a deep dive into all its features, I thought I would go over some of the nice little bits of polish I added, and why I'm still pleased I did.
I guess it seems old-hat now, but Chorus was right at the forefront of drag & drop uploads. Eight years on, we still do it better than most.
We really went all-out to try to get our web app to feel like a desktop app.
You can drop hundreds of images and folders at once. Then navigate around and keep working as they upload, so anyone viewing the same folder from another browser will see the progress. We even use chunked uploads, so we can resume if anything goes wrong.
It's a little thing, I know, but it always annoys me when you have to find some special UI to upload an avatar, so I made all avatars drop-on-able.
That little popup has a pin on it, so you can keep it open and find an image in your site. The Images in Chorus are all drag-&-droppable.
To add a user to a space, you pick up their avatar and drop it into a role. More than that, you can pick as many avatars as you want and add them all together — we added multi-select to every list.
Chorus had many little features that people used without realising it—working cursor keys, shift-select and command-select to select multiple things at once.
In a time when most DAMs had static, stripy, lists of files, I wanted something properly visual like the Finder on a Mac, but with giant image thumbnails. Making it work like a Mac was a no-brainer — why teach everyone some other way of doing things when you could simply drag things in and out of folders and double-click to open them?
We did have stripy lists of files, too. But they also worked just like a Mac.
I really wanted smooth zoom & pan, and standard keyboard shortcuts, in Chorus. Whenever a UI was managing files we made it work like a Mac, whenever we were previewing files, we made it behave like AdobeCC, in particular Bridge and Photoshop. That way, if a creative user uses their muscle-memory, the right thing will happen before they realised what they've done.
Another interesting choice I made was to make pan and zoom carry over from one image to the next. This meant that you could zoom into a detail in one image, and then use the cursor keys to flick back and forward between similar images in a photoshoot. Great for checking small details.
When we created this cropper, croppers were dashed regions you drew on an image. I always hated those, they were fiddly and inaccurate. I wanted something properly WYSIWYG. Again, the world agreed and now this kind of cropper is standard. Ours is still one of the best, I think.
It was a surprisingly controversial decision (at the time), but when we came to add overlays to the cropper, it was clear that it had been the right way to go.
Wherever possible, I wanted Chorus to visually describe what is going on rather than list it. Desktop stacks were an idea that had been floating about the HCI/UI world for a long time. CSS could now do rotations and shadows, so I went all-in on them.
Under the hood, our file-sharing system and our 'spaces' system were conceptually the same thing. So, it was natural to use similar drag & drop UIs for them. This UI made it straightforward to share files with multiple users, each with different permissions.
Square Polaroid-style images look great in screenshots. But for photographers, it's important to be able to see photos in landscape and portrait. I'd been playing around with ways to zoom large numbers of images in real-time and, after multiple tries, we made it work reliably in all browsers. It may have been a mistake to hide such a cool little feature away in a menu like this, but I didn't want those kinds of controls cluttering up the main interface.
In a UI with an editor and previous/next buttons, it's vital to be able to see when you have unsaved changes. This UI makes it very hard to miss them, without them becoming too dominant.
We tried whatever we could to make it less painful to edit large numbers of images in one session. This UI is completely usable without the mouse. It also has several keyboard shortcuts, including ones for save-and-next.
I didn't like the way most PDF viewers worked. I wanted something simple that made it easy to scroll and zoom far in, as many of our users would be checking fine details rather than reading long documents. Plus, I wanted smooth mouse-scrolling, drag-to-pan, and a key modifier for zoom-on-scroll.
Other DAMs had difficulty showing multipage PDFs, let alone multipage PDFs where every page could be a different shape or size. But this is important to creative work, so I made the team do it (sorry, James).
Being that I laid out the first CSS for Chorus, I made sure that the view zoom keys worked to change the size of the UI. I only used SVGs for the UI (again, very unusual at the time) so we could zoom right in without the UI breaking. This was great for people with long-sightedness, people with small laptops, and people like me who had to check all the SVG artwork. It’s only a coincidence that I have all three.
It became apparent that many of our customers used folder-names to organise their files, rather than metadata. Chorus's metadata was best-in-class, but it was unreasonable to expect large media organisations to tag their giant libraries when we could simply search their folder-names.
Getting this to work was straightforward. Getting this to work fast wasn't. Chris persevered and, after many stabs at it, we had real-time drop-downs on sites with thousands of folders. Which delighted ITV.
Here are some of the advanced features we added to Chorus in V3 & V4 to help creative teams bring their review and approval cycles down from days to minutes.
Comments, annotations, tasks, derivatives, revisions, desktop-syncing allow teams to share, review, check, leave notes, approve and ultimately—use—each other's work. A detailed activity log helps everyone keep track of the project’s progress.
Hopefully, you will be able to see the level of thought, detail, and polish we applied to the UI.
We chose to build annotations on top of the chat feature rather than have two separate systems. Annotations are a conversation, after all. It turned out to be an inspired design choice as, once we added Slack integration to chat, we also had Slack integration with annotations. We had already built the activity log into chat too so that you could see a combined history of changes and comments together. One timeline for each file and each project worked well.
We also added multipage annotations to PDF files (and other multipage documents).
Chorus stores every revision of a file, so we had to consider what would happen when you revise a file that has been annotated. We decided to give each revision a new annotation 'board'. This way you keep a full history of annotations and changes. If you click on an annotation in the chat, it will automatically open the right board and highlight the annotation.
Video annotations took annotations into the 4th dimension. We added the ability to leave an annotation on any timestamp of a video. While you could click on one and be taken to the still frame, we also added the ability to watch them live. To make sure they weren't just a blip, we had to display each annotation for several frames before and after the annotated timestamp.
We added the ability to save cropped, resized and reformatted assets back into the DAM. Rather than render them as new files and store the data, we chose to save them as a derivative — a recipe for how to make the files on-the-fly when needed. This meant that derivates wouldn't use any quota. As derivatives were made as-and-when needed, it also meant that you could make a change to the original file and all its derivatives would update too. It also made it effortless to create and distribute low res versions of your files—If you would rather not share the hi-res version of the file, make a low-res derivative and share that instead.
Revisions give a team the confidence to work fast and break things, knowing that there is always a backup. Once we introduced Project Sync, revisions meant that we could keep every edit and a way to go back if a change wasn't approved. Once we introduced annotations, revisions meant that every note could be attached to the correct revision and no notes needed to be deleted to sync the annotations with the latest edit.
One of my early mantras was that the DAM industry had to become like Dropbox faster than Dropbox became a DAM.
Chorus was always envisioned as having a desktop syncer, and many early decisions were made assuming that a syncer was coming. As a product leader, I was acutely aware that any small design decision could make a syncer impossible to add without breaking things. I still have no idea why we ever allowed two files in the same folder with the same name—madness!
The real magic of Project Sync is in syncing shared folders and working together—live. Here I'm editing a file in Sketch and saving it into a synced folder.
Mégane and I gave a phenomenal demo showing how you can link files into an Adobe Indesign document and sync them all in one project folder. Seeing everything update in realtime is magical!
I, personally, built the original UI prototype of Project Sync using Electron, while on a caravanning holiday in Scotland (it's wonderful how productive you can be without working internet or phone)
Chorus's license expiry management system is a complex feature that I designed, primarily, for one important customer with millions of images to manage.
It solves the problem of how to keep track of licensed things within images and videos — like music, models, logos, tattoos, animals, locations, as well as the rights of the photographers and videographers.
Building on top of existing systems allowed us to offer richer experiences and complete the work faster than if we had built it from scratch.
Note: I'm deliberately using the American spelling of license. 😊
There are loads more to this feature than I’ve been able to show here. For instance—
• Licenses can be applied using drag & drop to hundreds of files at once. Every license can show an editable collection of every file it is applied to.
• If a video is made up of video clips, music and images, you can apply the licenses to those files and then apply those files—and their licenses—onto the final asset. The system will work it all out.
• You can use a ‘proxy’ file to represent the final published asset and manage the published date from there. Our customer takes a screenshot of the social media post for this purpose.
• Licenses can have custom metadata and share it with the files they are applied to.
• There are expiry reports that show whch licenses are about to expire. We even email out PDFs every Monday morning.
He / him, or they
10+ yrs product & design leadership • Hired & managed diverse agile teams • Hands-on in all areas • Led 8-month project with Apple Inc. • Shipped 35 releases; 4 major versions
Product, design, UX, icon design, • games, prototyping • Microsoft, NYPD, Lloyds Bank, HSBC, • Aviva, EasyJet. • Prototyping for Kinect, Windows • Phone, Surface 2, for Microsoft
Working with GTA / Lemmings team • Product strategy, world design, game design, • UX design, prototyping, casual games. • 3D platform development, UX technology. • Team leadership, hiring, team building, • mentoring.
Previously: Zeus Technology • Green Cathedral • BBC Online • Brand • Glasgow University.
Very Experienced • Broad skillset • Creative thinker • Customer-focused • Data-driven • Team-builder • Self-motivated • Always learning
SAAS & mobile Apps • Joined-up vision • Discovery, product roadmaps • Measuring KPIs; watching MRRs • User-centric, systems design • User profiles, metrics, testing • UX, UI, prototypes, iteration
Agile, Scrum & Kanban • Certified Scrum Master • Estimation, tracking, projection • Good communicator • Strict chair of meetings • Experienced at hiring • Supportive team leader • Builds diverse teams • Not a micromanager • Loves a good graph
Writing Children's novels • Designing Games • Creating a replacement for Facebook • Drawing rude cartoons and trying to get them into Private Eye (one so far)…
Playing music • Songwriting • Cooking • Gigs • Swimming • Drawing cartoons (mostly rude) • Cycling • I own a banjo • Sorry