2024 · 3D rendering
Linear recently launched a new homepage to showcase the product and the care that the team puts into crafting it. I was able to contribute a small part to this page by creating two renders of our product's interface. Below is a walkthrough of some of my thought process and unscientific methods while creating them.
The Magic Team (website + brand) at Linear had been exploring various visual styles for graphic assets on the homepage and were drawn to a skewed perspective style incorporating depth and glass-like materials. Edgar worked some magic in Figma for many of the small assets you see on the page, but the team was also interested in exploring some 3D interface representations using physically based materials and lighting, similar to a render of the Linear app icon I previously created.
When it comes to the visual aspects of design, the framework I believe in is applying taste and collaboration to extensive iteration. For me, this often manifests as a cyclical process of analyzing my work, figuring out what parts could be improved, tweaking a value slightly, and comparing the new version to the old.
To get started, I created a scene to experiment with materials and lighting. Here is the first render I produced, with annotations of what was working and what wasn't, both from my analysis and feedback. This early iteration was more about the overall feel than anything scientific.
Creating this first test render was primarily about giving myself and the team the confidence that the "let's render some assets in 3D" idea could actually amount to something. After gaining confidence in the idea and hearing some promising initial impressions, I wanted to focus on honing in on a style that could act as a foundation.
Going back to the framework I outlined earlier—apply taste and collaboration to iteration—this point in my experiments more or less marked one full cycle. The mindset you need however for the framework to be successful, is a willingness to just keep iterating, being critical, and making adjustments to improve your work. The above render was a start, but it didn't quite fit in with Edgar's existing graphics and wasn't up to my personal standards.
Credit: Edgar Ambartsoumian
To streamline my cycles and be able to quickly understand how adjustments I made affected the render, I created a scene with fewer moving pieces, similar to setting up a minimal reproducible example when debugging code.
My goal with the 50ms scene was to experiment with elements like the light reflections off the background surface, the roughness of the glass texture, and the atmospheric lighting (and also to collaborate with Maya on bringing elements into a live canvas via Three.js. Maybe something you'll see from Linear in the future?).
We ended up not using this scene in the final homepage, but I learned how to capture elements of the aesthetic we were after:
With these new notes on what was working and what wasn't, I started reworking the shaders on the Roadmap scene, and started explorations on a new Issues scene annotated below.
Again, a lot of my iterations here were "guess and check" where I'd make mental annotations like the ones you see above, start tweaking values, and comparing the output to the previous version.
For example, the third issue in the board view above was looking much too dark to my eye. It should be darker given it's lower to the surface and not as primary, but I learned that adjusting the lightness value of the glass material I was using for it was creating something closer to black glass, rather than a more translucent look.
Instead, by lowering the alpha (transparency) of the material, I could fade the issue into the background more, and decrease the shadow it cast. Then it was just a matter of trying a bunch of different alpha values and seeing which one I liked the best.
The tools I use are simply a means to an end. If you're a Blender / 3D expert, you might be thinking "adjusting the alpha of a shader isn't physically accurate" or "using an IOR of 1.17 for glass is incorrect." Or even "this could be a lot simpler in After Effects." When my goal is to create an image artifact that can be used on our website, I was happy to make physically inacurate adjustments or turn to a tool that I knew how to use effectively to get the job done.
I won't go into the technical details of every adjustment I made, but my process looked very similar across the whole scene:
It's details like these that might not directly negatively impact landing page metrics, but they do collectively add to the impression of the quality of a product and the care that goes into creating it. Even if only 0.1% notice these imperfections, I—and I'm guessing the rest of the Linear team would agree—can't sleep well knowing they're there.
I eventually wound up reworking a lot of the meshes to make them sharper and more true to our product's interface and doing the depth of field bluring in Photoshop have finer control over the focus of the image.
Flattening the meshes out a bit proved to be the real key to give the renders more of a subtle feel that worked better in the context of the page. It brought them more in line stylistically with the other spot illustrations and I felt they better represented our product.
To see the rest of the fantastic work and care the Linear team (shoutout to Paco, Julian, and Edgar) put into crafting the new page, head to http://linear.app/homepage.
Thanks to Julius for encouraging me to write this up and offering feedback on earlier drafts.