🚀 Product Update: Feed, Stats, and the great Rails purge

Our August Week 5 product update that we share internally with the Crew team, keeping them up to date on the product changes to Unsplash over the past week.

V1 of the Feed

As we promised at the end of last week’s update, we rolled out V1 of the feed to 50% of users on Monday.

V1 is a very simple feed — there’s not much going on in terms of customization, but it lays a lot of the groundwork for customization and our vision for Unsplash going forward.

While we continue gathering data on any behaviour changes, we’ll move onto the next features: following and activities. Here’s a sneak peek at what that might look like, as designed by Kirill Zakharov:

The Great Rails Purge of ‘16

With almost all of the core features of Unsplash now migrated over to React and the API, we were free to delete all of the views, controllers, and specs that we no longer use.

It made for a bunch of very red PRs — with over 6k lines of code deleted:

Charles also migrated our test suite over to Travis to utilize Knapsack, a gem that helps run equally-timed parallel pipelines — pipelines being something we use a lot of (5 to be exact). This, plus the PR of the week 🏆, got our test suite down to 7–9 minutes, which means quicker feedback on code and less time wasted in between commits.


Tim spent part of the week transferring over some of Unsplash’s stats into Periscope, to make them more visible to the team.

The main metric we care about is the one in the top right: Total Time Unsplash-ing (TTU). It’s also the one we report on at the bottom of every update.

We’ll eventually be moving over all of our stats to Periscope, and we’ll likely make a lot of the interesting ones public via our API.

He also setup our experiments dashboard, so that we have better visibility on ongoing experiments (like the feed changes).

With the transition to handling our own stats (instead of relying on Keen), we can start doing some pretty cool things on the product-side — some of which we’re already working on. Keep an eye out for this over the next few months.

  • I made adding to collections optimistic, meaning that the action appears instantaneous to the user, while React handles communicating with the server and any needed retries
  • Kirill experimented with our fonts, trying out Apple’s San Francisco instead of Helvetica (we decided against it), and adjusting our fallback fonts on older platforms
  • Charles built a helpful tool for Annie Spratt to communicate with photographers regarding their stories and being featured
  • Kirill fixed a potential frontend security bug, after an article explaining the exploit went viral
  • We deprecated all category endpoints and the old photo search endpoint in the API

TTU: 4.48M minutes (+11.63% over the same week a month ago)