Hi everyone! We’ve not been shy about the fact we’re working on a new layout feature akin to Figma’s “Auto Layout”, XD and Framer’s “Stacks”, and Penpot’s “Flex Layout”. Earlier this summer we’ve put out a call for feedback here in the forum, and we’ve been hard at work at it since.
Today, I want to give you a sneak peek at this upcoming feature.
We don’t do this often, and I want to make very clear this is an incomplete and non-polished development build, with rough UI, missing features, experiments that may not ship, etc.
That out of the way, sound on as I’ll walk you through it:
The keen-eyed among you may have noticed the lack of a wrapping control. Most likely wrapping won’t be available at launch, but we hope to bring it in a future update. The same may be true for things like negative gaps, aspect ratios, and more advanced customizations. As I said in our call for feedback, we won’t be doing everything, and it’ll take time to go all the way. This is the start.
As you can tell, we’ll be calling it stack layout / stacks. We think stack is a nice short word that works well in writing/speaking, and describes the layout arrangement well (other tools agree).
However, there won’t be a beta this year. Explaining why requires us to take a deeper look at what building this feature really entails, but also includes a teaser at what’s coming next.
So, let’s get into it.
The layout aspect of stacks — that is, placing and sizing the layers automatically based on the settings you chose, as you change settings, edit and delete layers, or add new ones — is just one piece of the puzzle. The central piece, no doubt, but layout isn’t enough on its own.
You often also want control over the container itself, namely its style and sizing. Our two main container primitives — groups and artboards — are very restrictive about those aspects: groups are auto-sized and style their contents, artboards are fix-sized and can only have one solid fill. Neither works for stacks, but we don’t want to make a new, more capable stack-only container.
Making a new stack container type would be too narrow in purpose, which is a poor investment of our limited resources, puts people in a bind (“I want this container to have a background, but I don’t want it to be a stack”), and creates new problems we have to solve (e.g. what happens if you remove layout from a stack with a fixed size and a background?).
So we need a more capable container, which stacks should then complement with layout, and that’s exactly what we’re going to do. We’re going to take artboards from what they are now — root-level containers with limited styling — and evolve them into nestable containers with full styling and layout support, which you may know as “frames” in other tools. We see them as the primitive for interface work in Sketch going forward, on their own or with stack layout applied.
You may have already seen some results of this work in the v102 beta, which introduces styling for artboards (and symbol sources). But the work runs much deeper than styling, as we need to consider hierarchy, selection, parenting, constraints, prototyping, and more.
This evolution of artboards is why there won’t be a beta now, but I hope you can see it’s for good reason. It’s not a trivial effort, but we think now is the time to do it, and it’s what it takes to bring you a great stack layout feature, rather than a half-assed version built on unsuitable foundations.
We‘ve got lots to do, and I’m super excited about what all of this means for doing interface work in Sketch. As always, I’ll be happy to answer questions and hear your feedback.