<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
  <id>https://www.sketch.com/blog/feed.xml</id>
  <title>Sketch Blog</title>
  <subtitle>Updates, articles and insights from the Sketch team.</subtitle>
  <link href="https://www.sketch.com/blog/feed.xml" rel="self" />
  <link href="https://www.sketch.com" rel="alternate" />
  <icon>https://www.sketch.com/images/metadata/preview-square.jpg</icon>
  <updated>2026-04-24T13:37:26+00:00</updated>
  <rights>© 2026 Sketch B.V.</rights>
  <author>
    <name>Sketch Team</name>
    <email>mail@sketch.com</email>
    <uri>https://www.sketch.com</uri>
  </author>
  
<entry>
    <id>https://www.sketch.com/blog/sharing-design-work-with-previews/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/sharing-design-work-with-previews/"/>
    <title><![CDATA[Keep control when sharing design work with clients and teams]]></title>
    <summary><![CDATA[Learn how you can use previews and integrations to share design work with focus and control — from client reviews to day-to-day team collaboration.]]></summary><published>2026-02-20T08:00:00+00:00</published>
    <updated>2026-02-20T08:00:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2026-02/header-agency.png?width=600&amp;token=7qFXlTz4iejSThzxmPqM5n_XX0e3X0YJBPzlPv7dplg&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Ale Cubero</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2026-02/header-agency.png?width=1200&amp;token=511pIMlvr39bvoMv5uepGQBYy_ba4r6MM_sV1t0u9l0&amp;expires=1777041455" alt="Sharing design work with clients using previews in Sketch" width="1200" height="675">
      <p class="large">As an agency, you’re constantly juggling client reviews, team feedback, and projects with lots of moving parts. Sharing design work can get messy fast — some people need the full picture, others a tight, curated view. And when most conversations happen in Slack or Notion, it’s easy to lose context.</p>

<p class="large">In this post, we look at how <a href="https://www.sketch.com/changelog/previews/">previews in Sketch</a> can help you stay in control when sharing design work — without oversharing or losing context.</p>

<h2 id="keep-the-review-focused">Keep the review focused</h2>

<p>When you share too much, feedback can drift quickly. Too often, that starts with exporting files, sending attachments, and losing track of which version is actually being reviewed. That’s why deciding <em>what</em> to share is often just as important as the design itself.</p>

<p><a href="/docs/sharing-and-collaborating/sharing-and-viewing-documents/previews/">Previews</a> make this easier. They let you share a specific slice of your document — a few pages, a prototype flow, or a single route — without sharing everything. It’s a cleaner way to guide the conversation — keep early explorations private and share only what’s relevant to each person.</p>

<div class="text-callout text-callout--purple">
  <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="text-callout__icon"><g fill="none" fill-rule="evenodd" transform="translate(2.353 2.353)"><circle cx="7.647" cy="7.647" r="7.647" fill="#000" fill-opacity=".2"></circle><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.176" d="M6.471 7.647h1.176v3.529"></path><path stroke="#000" stroke-linecap="round" stroke-width="1.176" d="M6.471 11.176h2.353"></path><circle cx="7.647" cy="4.118" r="1.176" fill="#000"></circle></g></svg>


  <div class="text-callout__text">
<p>Add a password or set an expiration date when access needs to be limited or temporary.</p>
</div>

</div>


  <iframe src="https://space-sktch.video-dns.com/FwoIxOXox3/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<hr>

<h2 id="share-work-without-onboarding-everyone">Share work without onboarding everyone</h2>

<p>Most clients don’t want to create an account just to review a proposal. And they shouldn’t have to. Previews let anyone open a link in their browser — no Sketch account, no onboarding, nothing to install.</p>

<p>Your Workspace stays limited to the people who actually work in it. Share a single link instead of zipped files or email attachments, and keep control even if it gets forwarded — so stakeholders see only what they need, and nothing more.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2026-02/2-sharing-link.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=DzUDJD7yQ-TFRiCV0aqrtoBxYvFkDXnOIm5TTVkRwwg&amp;expires=1777041455" alt="Sharing a link to a preview" width="1200">    </div>  </div>
</div>

<hr>

<h2 id="go-deeper-when-you-need-to">Go deeper when you need to</h2>

<p>Sometimes, of course, you do need to open the door a little wider — and staying in control means deciding <em>when</em> to do that. Developer handoff, QA reviews, or internal discussions often require more than just looking.</p>

<p>Previews let you decide that too. When you set one up, you can choose whether people can <a href="/docs/developer-handoff/inspect/">inspect the design or export assets</a> — ideal for engineers or anyone who needs the finer details. Developers also get a clear layer list, making it easier to understand structure, jump to specific layers, and pull what they need without digging around.</p>

<p>You can also <a href="/docs/sharing-and-collaborating/commenting/">allow commenting</a> for anyone with a Sketch account, so feedback stays tied to a specific version — without giving access to the full document.</p>


  <iframe src="https://space-sktch.video-dns.com/kcxKoZ8AWG/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>And for admins, there’s now a clear overview of everything that’s been shared across a Workspace. All previews appear in a dedicated settings page, where they can be reviewed or removed in one click. It keeps things tidy — no outdated links floating around or feedback landing on the wrong version.</p>

<div class="text-callout text-callout--purple">
  <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="text-callout__icon"><g fill="none" fill-rule="evenodd" transform="translate(2.353 2.353)"><circle cx="7.647" cy="7.647" r="7.647" fill="#000" fill-opacity=".2"></circle><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.176" d="M6.471 7.647h1.176v3.529"></path><path stroke="#000" stroke-linecap="round" stroke-width="1.176" d="M6.471 11.176h2.353"></path><circle cx="7.647" cy="4.118" r="1.176" fill="#000"></circle></g></svg>


  <div class="text-callout__text">
<p>You can invite <a href="/docs/developer-handoff/">as many developers as you need</a> to inspect designs in your Workspace for free.</p>
</div>

</div>

<hr>

<h2 id="share-designs-with-context-wherever-the-conversation-happens">Share designs with context, wherever the conversation happens</h2>

<p>Most conversations around a design don’t happen in just one place. Some feedback lands directly in the document, and plenty of day-to-day discussion happens in Slack — often in quick threads between meetings. Those conversations move fast, and without context, they quickly lose clarity.</p>

<p><a href="/docs/sharing-and-collaborating/integrations/">Our Slack integration</a> helps with that. Paste a link to a page, frame, prototype, or preview, and Slack shows a snapshot and a bit of context. Everyone gets a head start before they even open it.</p>


  <iframe src="https://space-sktch.video-dns.com/gWF6xk9eFI/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>The same idea applies outside Slack. When you paste a preview link into tools that <a href="/docs/sharing-and-collaborating/sharing-and-viewing-documents/previews/#embedding-previews">support oEmbed</a> — like Notion or Miro — it shows up as an interactive preview inline. Clients and teammates can explore the work directly — zooming in, switching between light and dark mode — instead of relying on static screenshots.</p>

<hr>

<h2 id="setting-up-a-preview">Setting up a preview</h2>

<p>Setting up a preview is easy. In the web app, open the <strong>Share</strong> menu and choose <strong>Create a Preview</strong>.</p>

<p>From there, give it a name, add things like a password or expiration date, and choose whether people can inspect or export assets. Pick the pages or prototypes you want to include, click <strong>Create Preview</strong>, and share the link.</p>


  <iframe src="https://space-sktch.video-dns.com/CEMhhGkB8g/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<hr>

<p><a href="/docs/sharing-and-collaborating/sharing-and-viewing-documents/previews/">Check out our docs on previews</a> and <a href="/docs/sharing-and-collaborating/integrations/">integrations</a> to get up and running. If you’ve already tried them, let us know what you think in our <a href="https://discord.gg/ascPpfDSSV">community</a>.</p>


          <ul>
            <li><a href="https://www.sketch.com/docs/sharing-and-collaborating/sharing-and-viewing-documents/previews/">Learn more about previews</a></li><li><a href="https://www.sketch.com/try/">Try Sketch for free</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/mcp-server-use-cases/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/mcp-server-use-cases/"/>
    <title><![CDATA[Five ways we’ve been using our MCP server]]></title>
    <summary><![CDATA[We shipped our MCP server last year. Here are five simple but useful ways we’ve been using it to speed up our design workflows.]]></summary><published>2026-02-05T08:00:00+00:00</published>
    <updated>2026-02-05T08:15:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2026-02/mcp-uses.png?width=600&amp;token=MZQa2P07iWosMv1iDRpKQOUNQpL7IMBVqoiqwThKwo8&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Freddie Harrison</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2026-02/mcp-uses.png?width=1200&amp;token=1hW-AVpJrxY9izFngvGccPjzvZDTpMfUm8nHfaPEeB0&amp;expires=1777041455" alt="A stylized pattern illustration of MCP and Sketch logos" width="1200" height="675">
      <p class="large">Back in October 2025, we shipped our MCP server and created a whole new way to use Sketch. Tedious tasks that previously took hours are now ones you can automate and run in the background, while you focus on creativity.</p>

<p>If you don’t already know, MCP (Model Context Protocol) servers let AI clients like Claude Code, Cursor, or Codex interact directly with your Sketch documents. You have full control over what documents you let your AI client access, and the MCP server itself runs locally on your Mac.</p>

<p>Here are five ways we’ve been using the MCP server internally at Sketch. We’ve included prompts we’ve tried for you to copy and adapt for your own use cases.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    We’re Claude Code fans here — so that’s what our examples use and what we’ve tested with — but you can use any MCP-compatible client.


  </div>
</div>

<hr>

<h2 id="1-fast-darklight-theme-swaps">1. Fast dark/light theme swaps</h2>

<p>If you’ve built a set of dark and light <a href="/docs/symbols-and-styles/symbols/">Symbols</a>, you can build out your UI using one set, then have Claude Code rebuild the same screen using the other set. This saves hours of manual Symbol swapping and means your designs stay consistent across theme variants.</p>

<p>Better still, with our MCP server’s <code>get_selection_as_image</code> tool, you can have Claude Code check its own work against your original UI. This means you get verification built right into the process, reducing errors and saving you from manually comparing every layer.</p>


  <iframe src="https://space-sktch.video-dns.com/5mKWhBVhum/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Here’s a prompt you can adapt:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Duplicate the selected frame in Sketch and place it next to the original. In the duplicated frame, swap all symbols for their dark mode equivalents. Preserve any text overrides from the original frame. Also, update the frame's fill color to use the dark color variable. Use get_selection_as_image to validate the results.
</code></pre></div></div>

<p>If you’re working with Symbols that use light/dark theme overrides instead of separate variants, you can adjust the prompt to switch overrides rather than swapping entire Symbols.</p>

<hr>

<h2 id="2-adding-realism-to-ui-mockups">2. Adding realism to UI mockups</h2>

<p>If you’re mocking up a UI, you know how important it is to work with realistic data instead of Lorem Ipsum and generic placeholders. With the MCP server, you can have Claude Code swap placeholder text across your designs with something more realistic.</p>

<p>This works especially well if you’ve got Symbols with <a href="/docs/symbols-and-styles/overrides/">text overrides</a>. Instead of manually typing “John Smith” and “john.smith@example.com” into dozens of layers, you can have Claude Code handle it.</p>


  <iframe src="https://space-sktch.video-dns.com/9KriuDacQt/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>If you’ve already got the text you need — whether that’s in a text-based format like JSON or Markdown, or even in a screenshot — Claude Code can use that in your designs. Or it can just generate content for you based on context.</p>

<p>Here’s a simple prompt to get started:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>For the selected frame in the Sketch document, replace the placeholder text in the "Album title", "Artist name" and "Song title" text layers with realistic but fictional content. Keep the artist name consistent throughout.
</code></pre></div></div>

<p>This makes mockups more convincing for clients and stakeholders, and it’s far faster than entering information manually. If you have repeating Symbols like cards or list items, bulk updating text overrides becomes trivial.</p>

<p>For specific use cases like e-commerce products, SaaS dashboards, or social media feeds, you can ask Claude Code to generate contextual content that fits your industry. You can also ask it to stress test your designs by generating text of different lengths.</p>

<hr>

<h2 id="3-instant-document-organization">3. Instant document organization</h2>

<p>Whether you’re building out an icon set or a particularly large Library, keeping things organized is tedious but necessary. With the MCP server, you can automate a lot of that organization and keep your documents tidy with minimal effort.</p>

<p>This goes way beyond just aligning things in a neat grid. You can have Claude Code order layers by name, rename them using consistent conventions, apply colors, and even <a href="/docs/symbols-and-styles/symbols/#creating-a-symbol">create Symbols</a> — all in one go.</p>


  <iframe src="https://space-sktch.video-dns.com/zp4PNj2rrx/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Here’s an example prompt that handles multiple steps at once:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Help me organize this Sketch document by doing the following in order:
1. Organize all the graphics into a grid with 24px spacing
2. Recolor the shape inside each graphic to #000
4. Rename each graphic with the format "icon/current-name"
</code></pre></div></div>

<p>You can easily simplify this prompt to just handle grid alignment with custom spacing, or rename and sort without creating Symbols. You can also apply different color variables based on categories, or organize layers by grouping similar items together instead of alphabetically. If you’re working with UI layouts, you can also have Claude Code set up <a href="/blog/stacks/">Stack layouts</a> to make your designs more flexible and responsive.</p>

<hr>

<h2 id="4-finding-the-right-colors">4. Finding the right colors</h2>

<p>So far we’ve been talking about existing projects, but if you’re starting something new and aren’t confident with color theory, you can throw Claude Code an image and ask it to create a complementary color palette based on it.</p>

<p>Once you’ve got your colors, you can have Claude Code turn them into <a href="/docs/symbols-and-styles/color-variables/">color variables</a>, or even expand on that palette to give you more flexibility with shades, tints, and accent colors.</p>


  <iframe src="https://space-sktch.video-dns.com/qos2046KyO/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Here’s a prompt that combines creating a color palette and turning it into variables:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Analyze the selected image in the Sketch document and create a color palette with 5-7 colors based on it. Create color variables for each color in the Sketch document, arrange them horizontally below the image, name each color variable with the format "palette-[color-name]" (e.g., "palette-ocean-blue", "palette-sunset-orange") and add their names as text layers below each color swatch.
</code></pre></div></div>

<p>You could also extract colors from your logo, or build a complete brand palette that includes semantic colors for success, warning, and error states. For existing websites, you can analyze them to recreate their color systems as variables in Sketch.</p>

<hr>

<h2 id="5-recreating-existing-websites-in-sketch">5. Recreating existing websites in Sketch</h2>

<p>Or what about the opposite of a fresh project? Maybe you have an existing website but no up-to-date design files. Point Claude Code at the website’s repo and ask it to build out all the relevant styles, and even entire pages, in Sketch for you.</p>

<p>This is particularly useful for creating design documentation for legacy projects. You can extract colors, typography, and spacing systems directly from the codebase.</p>


  <iframe src="https://space-sktch.video-dns.com/z8CauBlP8k/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Let’s start with the foundation — text styles:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Look at the CSS files in this repository. Identify all the text styles (headings, body, captions, etc.) and recreate them as Text Styles in the open Sketch document. Name them based on their HTML tags and variants (e.g., "h1-hero", "body-large", "caption-small"). Create examples of each text style on the canvas. Verify that each text style is created and an example exists, remove any duplicates.
</code></pre></div></div>

<p>Once you’ve got your <a href="/docs/symbols-and-styles/text-and-layer-styles/text-styles/">Text Styles</a> set up, you can move onto creating color variables. From there, you can recreate elements like navigation bars, cards, or buttons as Symbols. You can even build entire page layouts as <a href="/blog/frames/">Frames</a> with those extracted elements and styles.</p>

<p>Again, you can have Claude Code check its own work and use our MCP server’s <code>get_selection_as_image</code> tool to create images of what’s in Sketch and compare that against the live site. This helps quickly fix any spacing, sizing, or styling differences.</p>

<hr>

<h2 id="tips-for-making-the-most-of-the-mcp-server">Tips for making the most of the MCP server</h2>

<p>Like many frontier technologies, all of the examples above came from trial, error, and tweaking our prompts until we get things working as we expect them to.</p>

<p>Here are a few things we’ve learned along the way while using the MCP server that will help you get the best results:</p>

<h3 id="be-specific-with-your-prompts">Be specific with your prompts</h3>
<p>Mention exact Symbol names, Library names, layer names, and file paths rather than saying “the button Symbol” or “that Library.” If you have multiple Sketch documents open, specify the document name you want to work with.</p>

<h3 id="use-get_selection_as_image-for-verification">Use get_selection_as_image for verification</h3>
<p>Have Claude Code check its own work by capturing images and comparing them to your original or a reference. This catches errors early.</p>

<h3 id="break-complex-tasks-into-steps">Break complex tasks into steps</h3>
<p>Instead of one giant prompt, chain together smaller, focused requests as separate steps. This makes it easier to catch issues and iterate.</p>

<h3 id="start-simple-and-build-up">Start simple and build up</h3>
<p>Get comfortable with basic tasks before trying complex multi-step workflows. You can always build up to more sophisticated prompts once you know what works.</p>

<h3 id="selection-matters">Selection matters</h3>
<p>If you’re working on a specific part of a design, along with mentioning layer/frame names, selecting those specific layers before prompting helps Claude Code focus on what matters.</p>

<h3 id="check-the-work">Check the work</h3>
<p>The MCP server is great for repetitive tasks like swapping dozens of Symbols and organizing documents, but you’ll still want to check things over before you hand files over to a colleague or share work with a client.</p>

<h3 id="adapt-your-prompts">Adapt your prompts</h3>
<p>We’ve shared some straightforward examples here, but your mileage may vary depending on the AI client you use and the complexity of your design documents. Try and prompt your AI client to correct mistakes, then ask it how your original prompt could have accounted for those errors.</p>

<hr>

<p>If you want to get set up with our MCP server, <a href="/docs/mcp-server/">we’ve got docs to get you started</a>. There you’ll find instructions for setting up our MCP server with Claude Code, Cursor, Codex, and more.</p>

<p>Already using our MCP server to do fun stuff? We’d love to hear what you’re building with it.</p>


          <ul>
            <li><a href="https://www.sketch.com/docs/mcp-server/">Read the MCP server docs</a></li><li><a href="https://www.sketch.com/try/">Start a free Sketch trial</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/9-reasons-to-choose-sketch-in-2026/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/9-reasons-to-choose-sketch-in-2026/"/>
    <title><![CDATA[9 reasons to choose Sketch in 2026]]></title>
    <summary><![CDATA[Looking for a new design tool this year? Here’s what we’ve been shipping at Sketch — and why it might be exactly what you need.]]></summary><published>2026-01-26T08:00:00+00:00</published>
    <updated>2026-01-26T08:30:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2026-01/2026-sketch.png?width=600&amp;token=bXN5Ebp1az9-_1nvCdHAgUZE0HNUrtqRSpN6NmQkAYE&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Freddie Harrison</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2026-01/2026-sketch.png?width=1200&amp;token=6Gvy0DL2GnU2w23OAJ5NsqmoEVuUWn4x4MCzxtZmD1w&amp;expires=1777041455" alt="A stylized montage showing various Sketch features including collaboration comments, online/offline mode toggle, workspace folder organization, document window controls, corner style settings, Claude Code MCP integration, and link sharing tools" width="1200" height="675">
      <p class="large">It’s 2026, and if you’re thinking of switching up your design tool, we figured it was a good moment to reintroduce ourselves.</p>

<p class="large">Maybe you’re discovering us for the first time, or you’re revisiting for the first time in a while. Either way, there’s a lot to talk about. Here’s what we’ve got to offer, and what we’ve added in the past year.</p>

<hr>

<h2 id="1-an-editor-for-designers-by-designers">1. An editor for designers, by designers</h2>

<p>Last year, we gave our editor <a href="/blog/a-tour-of-copenhagen/">a major redesign</a> — the biggest since 2020 — making it feel right at home on macOS Tahoe. This redesign was far more than a fresh coat of paint, though, it was an opportunity to improve areas of the app that we all use everyday.</p>


  <iframe src="https://space-sktch.video-dns.com/f94JxU4erG/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>From the completely new Inspector with its moveable panels, to smaller additions like focus mode in the layer list, we’ve put a lot of care and attention into making this a great space for designers to do their best work.</p>

<h2 id="2-all-the-features-youd-expect">2. All the features you’d expect…</h2>

<p>In 2025, we added a whole host of features that you’d rightly expect from a modern design tool. <a href="/changelog/athens/">Stacks and frames</a> make Sketch an even better home for UI design. <a href="/changelog/barcelona/">Progressive blur and one-click fade effects</a> give you even bigger toolkit to add polish to your work. And that’s just the start.</p>


  <iframe src="https://space-sktch.video-dns.com/xJIO2OgMBn/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>We’re only just scratching the surface here and there’s a lot more we could talk about. You’ll find every single feature in Sketch over at <a href="/features/">sketch.com/features</a> — take a look, we’ve probably got what you’re looking for.</p>

<h2 id="3-and-some-you-didnt-expect">3. …and some you didn’t expect</h2>

<p>We’re a small team of designers and makers who use our own product every day. That comes with a lot of advantages, one of them being that we occasionally build features that people didn’t necessarily know they needed… until they tried them.</p>


  <iframe src="https://space-sktch.video-dns.com/zSE4UZvNti/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>A <a href="/docs/interface-and-settings/the-mac-app-interface/">minimap</a> to quickly navigate large documents. A <a href="/docs/interface-and-settings/the-mac-app-interface/the-command-bar/">command bar</a> to find any tool or action in a few keystrokes. <a href="/docs/symbols-and-styles/styling/corners/#choosing-corner-styles">Automatic concentric corners</a> that take all the effort out of calculating corner radii. These wound up being some of the most popular features we shipped in recent years.</p>

<h2 id="4-the-freedom-to-work-how-you-want">4. The freedom to work how you want</h2>

<p>Want to collaborate in real-time with other designers? Sure! Need to work completely offline with local files? You can do that with Sketch, too. The choice is completely yours.</p>


  <iframe src="https://space-sktch.video-dns.com/2JWn2cPWP7/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>We started life as a standalone Mac app, so naturally we support a full offline workflow and the ability to store your documents wherever you like. But we also have everything you need to collaborate with the rest of your team, in the same document (more on this later).</p>

<h2 id="5-connect-your-favorite-ai-client">5. Connect your favorite AI client</h2>

<p>Late last year, we added a <a href="/docs/mcp-server/">local MCP server</a> to Sketch, giving you the option to connect Claude, Codex, or any other MCP-compatible AI tool to your designs. You can ask questions about your designs, generate code from them, and so much more.</p>


  <iframe src="https://space-sktch.video-dns.com/DiGVkO7ydH/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Our MCP server is local only and off by default. You have full control over which AI clients connect to it and what documents they can access.</p>

<h2 id="6-share-anything-with-a-link">6. Share anything with a link</h2>

<p>Want to show someone without Sketch your work? Just <a href="/docs/sharing-and-collaborating/sharing-and-viewing-documents/sharing-a-document/">copy a link and share it</a> with them. They can view your designs in any web browser. You can choose to share an entire document, a specific page or prototype, or even an individual frame.</p>


  <iframe src="https://space-sktch.video-dns.com/di5pb6dZ3B/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>You can choose whether documents you link to are public (so anyone with the right link can view them) or private (so only people you specify can see what you share).</p>

<h2 id="7-free-viewing-commenting-and-developer-tools">7. Free viewing, commenting, and developer tools</h2>

<p>Anyone can view your shared documents, leave comments, test prototypes, and inspect designs — completely free. Better still, if someone already pays for Sketch and you invite them to collaborate on your document, we don’t charge for them either.</p>


  <iframe src="https://space-sktch.video-dns.com/RTSg0Y28Hx/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Developer seats in Sketch don’t cost anything. Our <a href="/docs/developer-handoff/">free handoff tools</a> work in any web browser. Devs can grab values, check measurements and even export assets — all at no cost.</p>

<h2 id="8-a-workspace-for-you-and-your-team">8. A Workspace for you and your team</h2>

<p>With a <a href="/docs/sharing-and-collaborating/using-your-workspace/">Sketch Workspace</a>, you can store and organize all your work however it makes sense to your team. You can nest folders as much as you like to create a structure that fits how you work.</p>


  <iframe src="https://space-sktch.video-dns.com/Am7UePIc1I/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Need higher security? We offer BYOK encryption and private cloud instances for teams in environments and workplaces with strict security requirements.</p>

<h2 id="9-your-first-30-days-are-on-us">9. Your first 30 days are on us</h2>

<p>The best way to know if Sketch is the tool for you? Use it on a real project and see how it feels. You can <a href="/try/">start a 30-day trial of Sketch</a> right now — no credit card required — and try every feature for yourself, for free.</p>

<p>If you need any help along the way, <a href="/support/">just let us know</a>. We’re a small, independent team, entirely funded by people like you who purchase our product. We’d love to hear from you.</p>


          <ul>
            <li><a href="https://www.sketch.com/try/">Start a free trial</a></li><li><a href="https://www.sketch.com/docs/mcp-server/">Learn about the MCP server</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/sketch-in-2025/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/sketch-in-2025/"/>
    <title><![CDATA[Everything we shipped at Sketch in 2025]]></title>
    <summary><![CDATA[From Stacks and Frames, to Glass effects and a complete macOS Tahoe redesign — here’s everything we shipped at Sketch in 2025.]]></summary><published>2025-12-16T08:00:00+00:00</published>
    <updated>2025-12-16T08:45:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2025-12/eoy-2025-2.png?width=600&amp;token=DIYDfErB5SnJc_yEkW5QgFoLMI3895ZX2ac4g3li4HY&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Freddie Harrison</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2025-12/eoy-2025-2.png?width=1200&amp;token=qa3r1KHMwr6eaPRrbjep9MC4IQRdrU3Rg-xEMZclJ-A&amp;expires=1777041455" alt="A stylized montage of illustrations, depicting the features Sketch released in 2025" width="1200" height="675">
      <p class="large">2025 has seen us make some of the biggest changes to Sketch in its history. We shipped three major releases — Athens, Barcelona and Copenhagen — all packed with features and improvements you’ve been requesting.</p>

<p class="large">From an entirely new layout system and new container types, to an MCP server, a complete redesign, and more — there’s a lot to cover. Let’s dive in.</p>

<h2 id="a-new-foundation-with-stacks-and-frames">A new foundation with Stacks and Frames</h2>

<p>Our first release of 2025, <a href="/changelog/athens/">Athens</a>, was the largest update we’ve ever shipped. At its heart was something many of you had been requesting for a long time — stacks.</p>

<p>Stack layout (stacks for short) is an entirely new layout tool, and our take on auto layout. It’s more flexible than our previous Smart Layout feature, and much more predictable.</p>

<p>With <a href="/blog/stacks/">stacks</a>, you can create anything from buttons that grow or shrink to fit their labels, to nested layouts that adapt to their container or content. You can control padding, alignment, distribution, and styling in a stack. You can also choose if its items fill available space, align differently, or ignore the layout altogether.</p>


  <iframe src="https://space-sktch.video-dns.com/wmLdMYJG22/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>But stacks were only half the story. We also introduced <a href="/blog/frames/">frames and graphics</a> — two new container types that replace Artboards and are much better suited for modern UI design. You can nest frames, style them with multiple properties (no more background layers!), and give them a stack layout. Graphics are ideal for icons and illustrations.</p>

<h2 id="a-more-capable-command-bar">A more capable Command Bar</h2>

<p>Our Athens update also brought <a href="/blog/command-bar-athens/">components to the Command Bar</a>. You can now press <kbd>S</kbd> to quickly find and insert any component type. You can also swap components with <span class="no-wrap"><kbd>⌥</kbd><kbd>⌘</kbd><kbd>R</kbd>.</span> No more digging through deeply nested menus.</p>


  <iframe src="https://space-sktch.video-dns.com/X2AAB8oZiM/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>On top of this, we brought some of the capabilities of the Command Bar to the Inspector. The components swapping popovers now have a similar look and feel, as well as the Command Bar’s handy keyboard navigation and shortcuts.</p>

<p>We truly believe the Command Bar is an essential part of Sketch now, and we hope these additions are a decent statement of intent. We have plenty more plans for it in 2026 and beyond.</p>

<h2 id="designing-for-glass">Designing for glass</h2>

<p>When Apple announced iOS 26, macOS 26 and Liquid Glass, we knew you’d need the right tools to design for it. A couple of weeks later, we had a beta out for <a href="/changelog/barcelona/">our Barcelona release</a> with a new <a href="/docs/symbols-and-styles/styling/effects/glass/">glass effect</a>.</p>


  <iframe src="https://space-sktch.video-dns.com/wPbEradwHV/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>We built our glass effect from scratch to be as accurate as possible, giving anyone redesigning their apps for iOS and macOS 26 a head start before the official release arrived.</p>

<p>Our Barcelona update also introduced <a href="/docs/symbols-and-styles/styling/effects/layer-and-background/">progressive blurs</a> — linear and radial blur options with adjustable stops. Just like gradients, you can move those stops freely on the Canvas and adjust them in the Inspector.</p>

<p>We also added a <a href="/docs/designing/layer-basics/layer-opacity/#progressive-alpha">new fade effect</a>. It gives you instant, gradient-based transparency without the extra steps of setting up an alpha mask. Just like progressive blurs, you can adjust a fade’s stops on the Canvas to get things looking just right.</p>

<p>Finally, we introduced concentric corners (or “Auto” corner style) to automatically align and calculate a layer’s corners based on proximity to its nearest container. In other words, visually harmonious nested corners are now effortless.</p>

<h2 id="a-complete-redesign-for-macos-tahoe">A complete redesign for macOS Tahoe</h2>

<p>With macOS Tahoe, we knew we had to redesign Sketch. <a href="/changelog/copenhagen/">Copenhagen</a>, our third and final major update of 2025, delivers exactly that. It’s our biggest update to Sketch’s UI since 2020.</p>


  <iframe src="https://space-sktch.video-dns.com/QbPVq5B3mv/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Our goal with Copenhagen wasn’t just to give Sketch a fresh coat of paint — it also had to improve how you work. With that, it’s full of details that help your workflow.</p>

<p>The layer list has a new focus mode that shows only the layers you’ve selected and their relevant context. Combined with the Minimap, it makes navigating and working with those exceptionally busy documents much easier.</p>

<p>The Inspector meanwhile is not just a redesign, but a complete rewrite that we started much earlier in the year. It introduces floating panels for color and color variable selection, numeric fields you can drag to scrub without focusing, and alternate functions when you hold <kbd>⌥</kbd>.</p>

<p>There are a lot of other details about Copenhagen’s design to cover — far too many for this end of year post. Check out <a href="/blog/a-tour-of-copenhagen/">our guided tour post</a> if you want to know more about them.</p>

<p>Copenhagen also brings a feature many of you requested the moment we shipped Stacks: the option to wrap their contents. We wanted to take this a step further, so we built this for both horizontal and vertical stacks. The latter gives you some unexpectedly handy flexibility in column-based layouts.</p>

<p>We’ve also added <a href="/docs/designing/images/#removing-an-image-background">one-click background removal</a> for images. It works for people and objects — and because we use Apple’s on-device machine learning, your images never leave your Mac or get sent to any third party.</p>

<h2 id="a-better-way-to-organize-your-work">A better way to organize your work</h2>

<p>If you’re storing and sharing your documents in a Sketch Workspace, you’ll know that historically, organization has been pretty straightforward. You could create Projects, and beneath them, Collections. With our Copenhagen release, we made things far more flexible.</p>

<p>Projects and Collections are now simply called <a href="/docs/getting-started/folders/">folders</a> — and unlike before, you can nest them infinitely, just like you would with folders on your Mac.</p>


  <iframe src="https://space-sktch.video-dns.com/qqYp3IW7vz/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>With folders, you’ve now got the flexibility to organize your Workspace in any way that makes sense to you — by client, project, stage of completion, a combination of all three, or any other grouping you like.</p>

<h2 id="sketch-meet-ai">Sketch, meet AI</h2>

<p>We shared <a href="/blog/sketch-and-ai/">our thoughts on Sketch and AI</a> over a year ago now, but it might as well be a decade ago with the pace of innovation we’re seeing in this space.</p>

<p>A lot of what we said then still holds true now. We still believe strongly in privacy, that you should own your designs, and that AI models shouldn’t be trained on anyone’s work without their permission.</p>

<p>That said, we also believe in choice, so this year we brought an <a href="/changelog/mcp/">MCP server</a> to Sketch. With it, you can give AI clients direct access to any Sketch documents you choose. It opens a whole new world of possibilities — from exploring designs, to generating new assets, and beyond.</p>

<p>Importantly, this approach helps us stay true to what we believe in. Our MCP server is local-only and cannot be accessed remotely. It’s also off by default, and you have full control over when and how AI clients connect to it.</p>

<h2 id="and-so-much-more">…and so much more</h2>

<p>Beyond the headline features, we’ve shipped over 100 improvements this year, from text override styling with Markdown syntax, to custom Canvas colors, and more. We’ve also fixed over 100 bugs, and made opening documents in the Mac app up to 5x faster.</p>

<p>Naturally, as we’ve introduced new features like stacks and frames in the Mac app, we’ve made sure that the developer handoff tools in the web app reflect them. We now represent the box model in the web inspector and include a better CSS preview. Better still, all of this is still free for developers you invite as viewers in your Workspace.</p>

<p>We’ve given our plugins API a few significant updates this year. It supports every new feature, is more reliable and easier to work with.</p>

<p>Finally, for teams with the strict privacy and security requirements, we’ve introduced <a href="/pricing/">a new Private Cloud offering</a>. With it, you get all the benefits of our collaboration tools, but in an entirely isolated AWS environment. You can even choose a hosting region and use Bring Your Own Key (BYOK) encryption.</p>

<hr>

<p>Thank you so much for your support and feedback this year — as an independent company, our funding comes directly from customers who pay for our product, and we don’t take that for granted. A special thanks to everyone in the <a href="https://discord.gg/ascPpfDSSV">community</a> for sharing ideas, reporting issues, and giving us invaluable input during every beta.</p>

<p>We’re already hard at work on our first new features of 2026 and we can’t wait to share them with you.</p>


          <ul>
            <li><a href="https://www.sketch.com/downloads/mac/">Get Sketch</a></li><li><a href="https://www.sketch.com/changelog/">See everything we’ve shipped</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/a-tour-of-copenhagen/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/a-tour-of-copenhagen/"/>
    <title><![CDATA[A guided tour of Copenhagen]]></title>
    <summary><![CDATA[Our Copenhagen release features an all-new design for macOS Tahoe — here’s how we’ve balanced a fresh look with functionality.]]></summary><published>2025-11-19T06:00:00+00:00</published>
    <updated>2025-11-19T07:00:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2025-11/copenhagen-header%402x.png?width=600&amp;token=XRxNS7gBeZPU-ctlNKLopzRMpDh8FJyEN0MMHdjA1Q0&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Freddie Harrison</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2025-11/copenhagen-header%402x.png?width=1200&amp;token=pHZh0uVwJaCRfFA2eFLosatKnDsXCKBz73ayGRhULH4&amp;expires=1777041455" alt="A guided tour of Copenhagen" width="1200" height="675">
      <p>Our latest update — <a href="https://www.sketch.com/changelog/copenhagen/">Copenhagen</a> — features a major redesign of Sketch’s UI. Redesigns like this don’t happen often. In fact, our last one was in 2020, when Apple launched macOS Big Sur.</p>

<p>Just like Big Sur, macOS Tahoe has brought about a whole new design language and — for teams like ours making pro tools — a whole new approach to consider for our UI.</p>

<p>With this redesign, our goal wasn’t just to help Sketch feel at home on macOS Tahoe, but also to improve functionality. Let’s dive into the details of how we’ve found that balance.</p>

<h2 id="to-tahoe-or-not-tahoe">To Tahoe or not Tahoe</h2>

<p>Once Apple’s WWDC keynote wrapped up, we immediately dived into their excellent sessions and resources to figure out what we’d adopt, adapt, or go custom with, for our redesign.</p>

<p>Early on in the process, we prototyped various approaches to the sidebar and Inspector, including floating options (the new default in Tahoe) and glass materials. Ultimately, we went custom here, with fixed sidebars that felt less distracting in the context of a canvas-based design tool.</p>


  <iframe src="https://space-sktch.video-dns.com/13qXlxw79c/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>Another area we went custom with was document tabs. Having them run along the top of the window didn’t work well with the toolbar and ultimately felt too boxy and imposing. Instead, they now live in the sidebar, and are just as functional.</p>

<p>You can double-click a document tab to rename it, hover over it and click the X to close it, drag it out to create another window, or even drag into another window. You can choose between document windows and tabs in Sketch’s settings. The new default is tabs.</p>


  <iframe src="https://space-sktch.video-dns.com/8jzdCMcmAT/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>We can’t talk about macOS Tahoe without mentioning Liquid Glass. As well as shipping our own glass effect soon after WWDC, we’ve adopted Liquid Glass in subtle ways in Copenhagen. You’ll find it in the toolbar, minimap and notifications at the bottom of the Canvas.</p>

<p>Speaking of glass, we’ve given our app icon a refresh with a subtle glass treatment too. And as a good citizen of the platform, it supports clear and tinted options via your macOS settings.</p>

<hr>

<h2 id="a-more-focused-layer-list">A more focused layer list</h2>

<p>Below the new document tabs in the sidebar, we’ve given the layer list a revamp. As well as cleaning things up, we’re introducing a new feature to help with busy documents — focus mode.</p>

<p>Focus mode filters the layer list to show you only the layers you’ve selected, their parent container(s) and any siblings. In other words, you’ll see the layer you’re working with and their relevant context. If you select anything top-level (i.e. on the Canvas), you’ll see every layer in the layer list.</p>

<p>Focus mode is on by default, but you can toggle it using the button next to the search field at the bottom of the sidebar — or via the Command Bar.</p>


  <iframe src="https://space-sktch.video-dns.com/OetHqEQqca/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>Elsewhere in the layer list, we’ve added path lines to make it easier to see how layers, groups and containers relate to each other. We’ve also tweaked how navigating to a layer works. If you hover a layer and hold <kbd>⌥</kbd>, then click the <img src="/images/icons/mac/monochrome/17x17/circle.arrow.right.button.svg" alt="circle.arrow.right.button" width="1200"> icon that appears, we’ll take you to that layer on the Canvas.</p>


  <iframe src="https://space-sktch.video-dns.com/MsaxIvsAwL/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<hr>

<h2 id="a-context-aware-toolbar">A context-aware toolbar</h2>

<p>With Copenhagen, we’ve introduced a new context-aware toolbar. It adapts to give you the most appropriate options based on your current selection and tool you’re using.</p>

<p>In our early explorations for the redesign, it became clear that the old, customizable toolbar didn’t fit well within macOS Tahoe and the other changes we were making within Sketch.</p>


  <iframe src="https://space-sktch.video-dns.com/ZuRy5oFDvS/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>More than that, there are now other ways to quickly access any tool you need. You can bring up the Command bar by pressing <kbd>S</kbd> and type to search for any tool. It’s fast and you can normally get what you need in just a few keystrokes. It also prioritizes the results you commonly select.</p>

<p>As well as the Command Bar, there are shortcuts for almost any tool you need, and we’ve spent time making them more visible in tooltips and menus across Sketch.</p>

<hr>

<h2 id="an-all-new-inspector">An all-new Inspector</h2>

<p>A lot of our redesign began once WWDC had come to a close, but one area that started long before that was the Inspector. In fact, we’d been working on a complete rewrite since the beginning of 2025.</p>

<p>All that groundwork in the rewrite laid solid foundations that made the redesign much faster and easier. With that, this is where we’ve made some of the biggest improvements.</p>

<h3 id="panels-over-popovers">Panels over popovers</h3>

<p>One of the first things you’ll notice when you work with the new Inspector is that most of the old popovers are now separate panels.</p>

<p>These new panels have a lot of advantages. You can move them freely around the window to bring them closer to your work. They also stay open if you change your selection and they’re still applicable, making similar changes across multiple layers more convenient.</p>

<p>Prototyping tools now live in their own panel instead of an Inspector tab, so you can continue designing while building your prototype. Similarly, by moving rotate copies to a panel, you no longer have to choose how many copies to create before you can adjust their position.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2025-11/prototyping-panel.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=5f8Z-qPLiz6FpFw7M9II8r_MCZXBo20pmjgohM-Y5eo&amp;expires=1777041455" alt="An image showing the new detached prototyping panel in Sketch." width="1200">    </div>  </div>
</div>

<p>We’ve got a few leftover popovers to move to panels (specifically, swapping Symbols/styles) and we’ll be bringing those over in a future update.</p>

<h3 id="a-more-capable-color-panel">A more capable color panel</h3>

<p>One new panel that deserves a special mention here is the color panel. We’ve made lots of improvements here to address the feedback we’ve received on choosing colors over the years.</p>

<p>First, Color Variables get their own section in this panel. Many design workflows now don’t require you to pick a custom color, but instead choose a Color Variable from a Library, so it makes sense to give Color Variables a more worthy home.</p>


  <iframe src="https://space-sktch.video-dns.com/s59yZWrWzg/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>You can open the Color panel on the Color Variables tab by holding <kbd>⌥</kbd> as you click on any color well. In the Color Variables tab, you can start typing to search for a Color Variable, and use arrow keys and enter to select it.</p>

<p>You’ll find blend mode options at the bottom of the Color panel, making it clearer and easier to apply blend modes to specific colors. It’s also easier to switch between RGB, HSB and HSL values via the overflow (<img src="/images/icons/mac/monochrome/17x17/dots.3.horizontal.svg" alt="dots.3.horizontal" width="1200">) menu.</p>

<p>Gradient presets also get their own view, you can access this when you choose between linear, radial, and angular gradients.  It’s also easier to choose between a custom color or color variable when you edit a gradient stop.</p>

<h3 id="better-custom-controls">Better, custom controls</h3>

<p>During our Inspector rewrite, we built a whole host of custom controls. With these, we could include a lot of small, but useful details that add up to an overall better experience.</p>

<p>You can scrub any numeric field without focusing it by dragging on its icon. Focusing a text field will now automatically select its contents, since most of the time you’ll want to replace it. Double-clicking on any slider control will reset it to its “natural” value. You can also click on any label next to a toggle switch to toggle it.</p>


  <iframe src="https://space-sktch.video-dns.com/IUKPs9Ompb/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>Finally, we’ve added lots of alternate functionality to controls when you hold <kbd>⌥</kbd>. We already mentioned quickly accessing Color Variables, but you can also hold <kbd>⌥</kbd> to change the flip horizontal/vertical controls to rotate 90º left and right, or quickly remove fills and borders by clicking where their visibility toggles were.</p>


  <iframe src="https://space-sktch.video-dns.com/mJf9z5EdVS/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="an-upgrade-for-overrides">An upgrade for overrides</h3>

<p>The final area of the Inspector to highlight is Symbol overrides. We’ve spent some time here making the experience of working with overrides more friendly.</p>

<p>Symbol previews are bigger, Color Variables have more room so you can see their name in full, and for Symbols with more than 15 overrides, we split them by Component type.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2025-11/inspector-overrides.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=6x60XlrCX7VxozH1LIMrPr0WL_ewm-IjjpGXY4Q4K68&amp;expires=1777041455" alt="An image showing the new UI for Symbol overrides in Sketch’s Inspector." width="1200">    </div>  </div>
</div>

<hr>

<h2 id="a-whole-lot-of-polish">A whole lot of polish</h2>

<p>Beyond the major areas of the app, there’s a lot of polish that we’ve taken the time to add. Focusing on these smaller details has always mattered to us in any update, and this redesign was no exception.</p>

<p>We created a new set of icons (over 700 of them) — you’ll find them everywhere from menus, to the Inspector, and beyond. In the document tabs, for example, they show you instantly whether a document is saved, edited, stored locally, in a Workspace, a Library, or template.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2025-11/tabs-icons.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=VvKMUGdsZzL_xxw7GamvCDNB8NxtvVUPnOJXiMaqbDE&amp;expires=1777041455" alt="An image showing the new icons for document types in Sketch." width="1200">    </div>  </div>
</div>

<p>We’ve cleaned up many of the menus, adding shortcuts and icons wherever we could. The contextual menus in particular we’ve completely reorganized, they have more actions, logical submenus, and show shortcuts.</p>

<p>On the Canvas, we’ve redesigned handles, overlays and cursors. We’ve rebuilt every sheet to feel at home on macOS Tahoe. And, importantly, we’ve made sure that this release looks good, with some subtle differences, on earlier macOS versions as well.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2025-11/canvas-handles.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=5CcKea8PVLKL_cTSFuDepRMo2yT1KqdmAOrtW-_XBOI&amp;expires=1777041455" alt="An image showing the new Canvas overlays and handles in Sketch." width="1200">    </div>  </div>
</div>

<p>Finally, we added a long-requested feature — the option to copy individual page and frame links to share and view in the web app.</p>


  <iframe src="https://space-sktch.video-dns.com/wwjCm9yb4O/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<hr>

<p>We’ve been testing this redesign internally for months now, and had some invaluable feedback over the past few weeks from beta testers, too. Like any redesign, changes can take a moment to get used to, but we feel confident in the fact that they quickly feel natural.</p>

<p>What’s even more exciting is how this sets us up for the future, especially with the work we’ve done on the Inspector. For now, we’ll be iterating and improving on smaller details, but we’re excited to build on what we’ve done here in 2026.</p>

<p>You can get Copenhagen right now by opening the Mac app and following the update prompts, or by downloading it. <a href="https://www.sketch.com/changelog/copenhagen/">Check out the release notes</a> to see what else is new beyond the redesign.</p>


          <ul>
            <li><a href="https://www.sketch.com/changelog/copenhagen/">See everything new in Copenhagen</a></li><li><a href="sketch://update">Open the Mac app to update</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/obscura-studio/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/obscura-studio/"/>
    <title><![CDATA[How Ben McCarthy is bringing Obscura’s vision to photo editing ]]></title>
    <summary><![CDATA[We spoke with Obscura Studio’s creator, Ben McCarthy, to learn how their new app strips photo editing down to the essentials — and why thoughtful design sometimes means doing less.]]></summary><published>2025-09-01T09:46:00+00:00</published>
    <updated>2025-09-01T11:01:00+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/obscura-studio-header.jpg?width=600&amp;token=2qczjThlN3coi0pK-ropAqYEoku_MK7X_qTHTbLXHiA&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Ale Cubero</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/obscura-studio-header.jpg?width=1200&amp;token=Xgvgs2Vi5Ad-PO3wJ_BupNgoKL4qlSXOR4RvbjHzZEY&amp;expires=1777041455" alt="App icon and screenshots from Obscura Studio showing some if its editing tools, including color curves, metadata, and simple sliders across several iPhone screens." width="1200" height="675">
      <p>For over a decade, <a href="https://benricemccarthy.com">Ben McCarthy</a> has been building iOS apps — including their much-loved camera app <a href="https://apps.apple.com/app/obscura-pro-camera/id1579306989?l=en-GB">Obscura</a>. Their latest release, <a href="https://apps.apple.com/us/app/obscura-studio/id6744744794?l=en-GB">Obscura Studio</a>, takes that same sharp attention to detail and channels it into a focused, standalone editor. It’s fast, minimal, elegant — and built entirely in Sketch.</p>

<p><br>
We caught up with Ben to hear about the path that led to Studio, the challenges of designing for tiny spaces, and what ten years of indie app development teaches you about knowing when to build, when to simplify, and when to start fresh.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/obscura-editing-orange.jpg?width=1920&amp;quality=95&amp;sharpen=1&amp;token=Dc-mOVRD_ulf32iEfvvotTPRO11HWZvSN4BYjpjH7bw&amp;expires=1777041455" alt="Three iPhones showing Obscura Studio’s editing interface on a photo of oranges — including filter previews, sliders for exposure and contrast, and color adjustments." width="1200">    </div>  </div>
</div>

<h3 id="could-you-describe-obscura-studio-and-what-motivated-you-to-start-working-on-it--and-also-why-you-built-it-as-a-separate-app-from-obscura">Could you describe Obscura Studio and what motivated you to start working on it — and also why you built it as a separate app from Obscura?</h3>

<p>Last year, Apple introduced the Lock Screen Camera extension, allowing for third party camera apps to be launched from the lock screen without having to authenticate (with FaceID, TouchID, or your passcode) making it much faster and more convenient to use Obscura. It’s an amazing feature that I’m tremendously grateful for, but due to the security requirements, it completely upended how things like preferences and the photo library integration have to be handled.</p>

<p>So I’ve been working on rewriting Obscura and doing my best to break it into separate components to make running in the Lock Screen extension more streamlined. I also wanted to revamp how Obscura’s filters are created, so I built myself a small app that would let me tweak the filters with a GUI (Graphical User Interface) rather than editing them in code. I then realised that I’d created the foundations of a photo editor and I could integrate that with the photo library component of the Obscura rewrite to have more or less a complete product.</p>

<p>The plan was (still is?) to integrate this new editor into Obscura, but I also realised that it would make sense as its own standalone app. On the Mac, I can just ship Obscura Studio without the confusion of marketing a camera app with no camera. And on the iPhone and iPad, it can be really convenient to just jump straight into editing without having to launch the camera first.</p>


  <iframe src="https://space-sktch.video-dns.com/Epkzq5PApk/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<h3 id="one-of-the-things-that-stood-out-to-me-while-using-studio-was-its-simplicity-how-did-you-approach-the-interface-design-was-there-a-part-of-the-ui-or-interaction-design-that-was-especially-tricky-to-get-right">One of the things that stood out to me while using Studio was its simplicity. How did you approach the interface design? Was there a part of the UI or interaction design that was especially tricky to get right?</h3>

<p>All the apps I build are to scratch my own itch. Either there’s no app that solves the problem I have, or I’m not quite happy with how other apps handle it. That naturally leads to simpler interfaces — because I’m designing for how I want things to work. If something frustrates me, I assume it frustrates other people, too.</p>

<p>The main challenge was just getting the editing interface to fit in the little space you have underneath a photo. I’ve had quite a bit of experience with fitting Obscura’s camera controls into a similar layout, but Obscura Studio also has to deal with scrolling views and tabs, which adds to the complexity, especially when it comes to gesture handling.</p>

<h3 id="whats-something-in-obscura-studio-that-most-people-might-not-notice-but-you-spent-a-lot-of-time-refining">What’s something in Obscura Studio that most people might not notice, but you spent a lot of time refining?</h3>

<p>Maybe the most complicated aspect of the app is how it stores and restores edits. Obscura Studio maintains its own record of the edits you’ve made for each photo, but also saves those edits to the system photo library when you save a photo. So the app has to seamlessly switch between the edits stored in the photo library and the active edits managed by Obscura Studio. Getting that to work smoothly and quickly, especially as you scroll through the gallery took a lot of work to get right.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/obscura-onboarding-flow.jpg?width=1920&amp;quality=95&amp;sharpen=1&amp;token=_gKPAbfZ8bDGf83kvJUs2glAkFwi0eqtAruY4WvBb8E&amp;expires=1777041455" alt="A design file showing Obscura Studio’s onboarding flow, with multiple screens explaining core features using minimal UI and sample photos." width="1200">    </div>  </div>
</div>

<h3 id="has-building-tools-like-obscura-changed-how-you-approach-photography-or-product-design-more-broadly">Has building tools like Obscura changed how you approach photography or product design more broadly?</h3>

<p>When I first got into photography, I spent a lot more time sitting at my desk playing with photos in Photoshop, clone-stamping away telephone wires and just putting way too much time into individual photos. As photography has become increasingly mobile, and just sharing something quickly is more common. So if I can make an image look at least a little nicer in 30 seconds, that’s so much better than spending a week telling myself I’ll get around to editing a batch of photos in Lightroom on my desktop, and inevitably forgetting.</p>

<h3 id="could-you-share-some-advice-to-someone-starting-out-in-product-design-today">Could you share some advice to someone starting out in product design today?</h3>

<p>I think one thing that can be intimidating is the feeling that every good idea has already been built. And in so many cases, that’s true, but just because an app exists to solve a problem, doesn’t mean it’s the best it can possibly be. Maybe it takes too many taps to do something, because the feature you find most useful is an afterthought to the developer, or maybe you just don’t like the colours they used. Don’t be afraid of competition, it means you’re all onto something good.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/obscura-grid-gallery.jpg?width=1920&amp;quality=95&amp;sharpen=1&amp;token=sdErp6SHWX5sDJECzHI9CEhVfj6M8E_bgHL9OdZVrAg&amp;expires=1777041455" alt="A Sketch file showing the layout of Obscura Studio’s photo grid and gallery view on mobile, with UI elements and color thumbnails." width="1200">    </div>  </div>
</div>

<h3 id="obscura-turns-10-this-year--congrats-how-has-your-approach-to-designing-products-evolved-over-time-and-how-has-working-across-different-kinds-of-apps-shaped-the-way-you-think-about-product-design">Obscura turns 10 this year — congrats! How has your approach to designing products evolved over time? And how has working across different kinds of apps shaped the way you think about product design?</h3>

<p>In some ways my approach has evolved very little. Since I started making apps I’ve been designing in Sketch and building in Xcode, and while they’ve certainly evolved quite a bit over the last decade, the overall workflow is very much the same.</p>

<p>I think I’ve gotten a better sense over time of when to rely on system components which are convenient and the user is already familiar with them versus custom controls that let you tweak the behaviours exactly how you want them. Obscura Studio uses custom sliders, because I wanted the user to be able to tap the slider track to nudge the values up or down, or double tap the thumb to reset the value to zero, but otherwise are hard to distinguish from Apple’s sliders.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/obscura-10-mark.jpg?width=1920&amp;quality=95&amp;sharpen=1&amp;token=sGxSOc62LMvOuaoS8u4TPtLjtr6C2LaT2khsbfzxwPo&amp;expires=1777041455" alt="A Sketch file showing early explorations for Obscura’s 10-year mark, combining the number ‘10’ with variations of the app’s circular icon." width="1200">    </div>  </div>
</div>

<p>Across all the apps I’ve built, and the apps I’ve consulted on for others, the common goal is just working out what’s most important to the user and how can you make that easy and intuitive. Whether it’s a camera app, an app for cross-posting, or a Pokédex, I ask what controls or information does the user need access to fastest, and then I start to build the app around that.</p>

<h3 id="are-there-any-other-sketch-features-youve-found-especially-helpful-in-your-day-to-day-beyond-what-you-shared-with-us-before-in-our-callsheet-interview">Are there any other Sketch features you’ve found especially helpful in your day-to-day, beyond what you shared with us before in our <a href="/blog/callsheet/">Callsheet interview</a>?</h3>

<p>What I love most about Sketch is that I can iterate on designs about as fast as I can think. I don’t think I’m a very sophisticated user of all the features, as long as I can get ideas out without any fuss I’m very happy. That said, I’m really liking the improvements to how groups handle resizing in the recent updates, it feels much more intuitive. And the quick updates to Apple’s UI libraries are always appreciated.</p>

<h3 id="so-to-wrap-things-up--wed-love-to-know-whats-next-anything-you-can-share-with-us">So, to wrap things up — we’d love to know what’s next. Anything you can share with us?</h3>

<p>I’ve got a few things I’m keen to do soon. The iPad and Mac version of Obscura Studio is high on that list, as is finishing Obscura’s rewrite so that the two apps can be better integrated. A crop tool also needs to happen sooner than later. Beyond those, I don’t have anything major planned, I just need to keep iterating and polishing.</p>

<hr>

<p>Want to try Obscura Studio for yourself? You can <a href="https://apps.apple.com/us/app/obscura-studio/id6744744794?l=en-GB">download the app from the App Store</a>. And if you’ve created something you’re proud of using Sketch, post it in our <a href="https://discord.gg/ascPpfDSSV">community</a> — we’d love to see it.</p>


          <ul>
            <li><a href="https://benricemccarthy.ghost.io/introducing-obscura-studio/">Read more about the making of Obscura </a></li><li><a href="https://www.sketch.com/blog/made-with-sketch/"> Discover more #MadeWithSketch stories</a></li><li><a href="https://www.sketch.com/downloads/mac/">Download Sketch and start designing</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/command-bar-athens/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/command-bar-athens/"/>
    <title><![CDATA[A new chapter for the Command Bar]]></title>
    <summary><![CDATA[Insert and replace Components, browse better previews, move through Libraries faster — and much more. Learn how it all came together and how to make the most of the Command Bar.]]></summary><published>2025-05-27T03:00:00+00:00</published>
    <updated>2025-05-27T04:30:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/athens/command-bar-header.jpg?width=600&amp;token=WCZkicsCMWjH2PyBsuMq7uDG_KEXluqJPCvt_cgZhoo&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Alasdair Baxter</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-header.jpg?width=1200&amp;token=LP_ensWrgXY4EjtMRlAE_mKPli2gdGIOE-UrBYwPlGw&amp;expires=1777041455" alt="The Command Bar being opened by pressing the Y key. A 4 by 2 grid of Symbols appears, and the user uses the arrow keys to select the bottom right Symbol (a list of stations for an internet radio app). They press return, and the Symbol appears on the canvas. They then use the mouse to position the Symbol inside the frame of an iPhone." width="1200" height="675">
      <p class="large">In our <a href="http://skt.ch/athens">Athens release</a>, we’ve built upon what we introduced in version 100 with the Command Bar, and added the option to insert <em>and</em> replace Components straight from the Command Bar. And for when you’d prefer something smaller and contextual, we took the best of the Command Bar and rethought it for a new popover made for the Inspector. And of course, we packed plenty more: better previews, a quicker way to navigate Libraries and groups, and more.</p>

<p>Let’s take a look at what’s new, how it improves upon the previous workflows, and how it all came to be.</p>

<h2 id="building-on-a-tested-foundation">Building on a tested foundation</h2>

<p><a href="/blog/version-100/">In version 100</a>, we introduced the Command Bar: a fast, keyboard-first way to surface all the things you can do in Sketch. We audited over 300 existing actions to add icons, colour-coding, and other things needed to make them shine in the Command Bar. We wrote a custom search algorithm so you only need to type parts of an action’s name, an abbreviation, or even just part of its menu path to find it. We also made it learn — entirely locally — from your habits to put the actions <em>you</em> use the most right at the top.</p>

<p>However, we always knew it was just its first chapter. We’d long felt we wanted an interface for inserting Components that made navigating libraries quicker and easier, gave us much more useful previews, <em>and</em> would also work for replacing Components.</p>

<h2 id="bringing-components-to-the-command-bar">Bringing Components to the Command Bar</h2>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-1c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=nnGIYSmqpJ2yK4MB9PhD9UL3kzs5l36IPSTV0rQawDs&amp;expires=1777041455" alt="The Command Bar showing a list of new actions: Symbols, Text Styles, Layer Styles, Color Variables, Frame Templates, Graphic Templates, and Replace Component. Replace Component is disabled." width="1200">    </div>  </div>
</div>

<p>You can now <a href="/docs/interface-and-settings/the-mac-app-interface/the-command-bar/">insert and replace every kind of Component</a> from the Command Bar. Taking over from the old Insert Window, and the menus in the toolbar and Inspector, the Command Bar has a new springboard with actions for picking Components. You can also search for these actions, or use the items in the menu bar.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Quickly insert Symbols by pressing <kbd>Y</kbd>, and Text Styles with <kbd>⌃</kbd><kbd>T</kbd>.


  </div>
</div>

<p>Each of these actions take you into what we call a Command Bar <em>mode</em>. Up until now, the Command Bar had only one mode: actions mode (which is still the default). But now, it has a new one for each Component. I’ll get to the details of each in a moment, but essentially, each one gives you a dedicated interface designed for picking a specific kind of Component. To show you what I mean, let’s take a look at the new Symbols mode.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-2c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=586kpCAbJW_zvKNtGWnKFAjIqGQr69v-6_OvHDRCXhY&amp;expires=1777041455" alt="The Command Bar in Symbols mode showing a 4 by 2 grid of miscellaneous Symbols." width="1200">    </div>  </div>
</div>

<p>Looks pretty different to actions, huh? There’s a lot to look at here, so let’s go on a little trek amongst this new interface, and see what’s what. You can always tell when you’re in a different mode by the little purple token to the left of the search field. To exit a mode you can click it, or press the <kbd>⌫</kbd> key twice with an empty search field.</p>

<h3 id="a-quicker-path-to-finding-libraries-and-groups">A quicker path to finding Libraries and groups</h3>

<p>While each Component mode has an interface dedicated to their Component type, they all share one other important similarity: the path bar at the top. One of the biggest challenges we faced with bringing Components to the Command Bar was navigating Libraries and groups. We had a lot less space to work with, and we wanted to make something that was quicker and less frustrating than the old Insert Window, and Insert menus.</p>


  <iframe src="https://space-sktch.video-dns.com/9uEXpLQZ0o/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>The first item in the path bar tells you which Library you’re in (or if you’re looking at everything). You can click it to pick a different Library, or press <kbd>⌘</kbd><kbd>F</kbd>. With your hands still on the keyboard use the arrow keys to navigate to a different Library, or to a group therein, then press <kbd>⏎</kbd>. To go back to viewing everything in the Library press <kbd>⌥</kbd><kbd>⌘</kbd><kbd>▲</kbd>, or press <kbd>⌘</kbd><kbd>▲</kbd> to navigate to the parent of the group you’re in. To navigate to a sibling or subgroup of the current group press <kbd>⌘</kbd><kbd>▼</kbd> — this will open the menu for the last item in the path bar, and you can use the arrow keys to pick a new group.</p>

<p>To insert any Component, use the arrow keys to select it, and then press <kbd>⏎</kbd>. While we’re talking selection: even if you have a Component selected, like with actions, you can just start typing to refine your search. If you press <kbd>▲</kbd> while at the top you can also select everything in the search field to start a new query.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Tip: Press <kbd>Y</kbd>, do a quick search, and then press <kbd>⏎</kbd> to have a Symbol on the canvas in no time.


  </div>
</div>

<p>The Command Bar is smart about remembering where you left off. So even as you’re flying around the canvas, opening and closing the Command Bar, it’ll remember which group you were in, and which Component you had selected. This makes inserting the same Component, or multiple Components from the same group really easy.</p>

<p>We know that’s a lot of shortcuts to get your head around, but once they become second nature we hope you’ll agree that it makes using the new Component modes very snappy. However, if you prefer to use the mouse, you can click any of the path items to open their menu of sibling (and therefore also sub-) groups, or <kbd>⌘</kbd>-click an item to jump right to that group. You can also double-click a Component, or drag it out straight onto the canvas.</p>

<h3 id="proper-previews">Proper previews</h3>

<p>In many cases the Component previews in the old Insert Window, and especially in the Inspector menus weren’t the most helpful. They were either too small, wasted too much space, or didn’t show enough metadata. With the Command Bar we rethought each Component preview to show as much information as possible, and give you the best idea of what a Component will look like before you pick it.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-4c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=RhWfJ4rE6pWIlrza0xREgxaTxL9XeWPfmlShump9_pY&amp;expires=1777041455" alt="The Command Bar in Symbols mode with a search term of ‘tab’ entered. Only 6 components are in the 4 by 2 grid, and any occurrences of the word ‘tab’ in those Symbols’ names or paths are highlighted yellow." width="1200">    </div>  </div>
</div>

<p><strong>The Symbols grid</strong> is more space efficient allowing you to see an extra column of Symbols compared to the same space in the Insert Window. In fact we liked it so much we’re also using it for <a href="/docs/interface-and-settings/the-mac-app-interface/the-canvas/">Frame Templates</a>, and Graphic Templates.</p>


  <iframe src="https://space-sktch.video-dns.com/fTGW3RqOKz/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>You can also now set light or dark backgrounds for Symbol previews. This one in particular was bothering us for a while, and probably you, too. If you had a Symbol that was predominantly light with a transparent background you’d get a preview with a light background that made the Symbol impossible to see (and vice versa in dark mode). In Components mode you can now choose whether a Symbol has a light background, a dark background, or sticks with the app’s appearance.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-6c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=w7lBBOPoipwS7QNxFrQWJpe6RNWiLUSA9lZoka3lN30&amp;expires=1777041455" alt="A comparison between the old Insert Window and the new Command Bar for Text Styles. In the Insert Window, previews are small and compressed, with truncated font and size labels. In the Command Bar, previews are larger, more readable, and show full font, size, alignment, and group path details." width="1200">    </div>  </div>
</div>

<p>We redesigned <strong>Text Style previews</strong> to provide more room for preview text using the style’s font size (up to a sensible limit). This makes them a much more accurate representation of how text with that style will look. We also include more metadata, and give it more room so it’s less likely to get truncated. Each preview is aligned for easy scanning, and we indicate alignment (if included in the style) with the other metadata.</p>


  <iframe src="https://space-sktch.video-dns.com/qQGiO1WqZi/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p><strong>Layer Styles, and Color Variables</strong> share a similar, dense, two-column grid that makes much better use of the available space compared to the Insert Window. Where previously you’d see six Color Variables in the Insert Window you can now see ten in the Command Bar, and for Layer Styles you can now see twelve.</p>

<h2 id="replacing-components-using-the-command-bar">Replacing Components using the Command Bar</h2>

<p>Of all the workflows we examined in this project, this is the one we’ve improved the most, and the one we’re most excited about.</p>

<p>To replace Components before Athens, you could only use the Inspector menus where you’d have to dig through submenus, and risk losing your place with one wrong move. We’d been wanting to replace (pun intended) this interface for a while now, and with the Command Bar we think we’ve built something much better.</p>


  <iframe src="https://space-sktch.video-dns.com/kYraZBdWch/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>To replace a Component you only need to remember a single shortcut <kbd>⌥</kbd><kbd>⌘</kbd><kbd>R</kbd> or search for the “Replace Component” action. Both open the Command Bar, and take you straight to the Library or group the current Component belongs to, ready for you to pick a replacement.</p>

<p>By organising your Components into groups — like icons of a certain size — you can have related ones appear when you want to swap one for another. We’ve found this to be particularly helpful for replacing nested Symbols like an icon, or for swapping one button variant for another.</p>

<p>When replacing Symbols, there are a couple of extra controls at the end of the path bar:</p>

<ul>
  <li>
<strong>For top-level Symbols,</strong> you’ll see a button that lets you choose whether or not the replacement should use the size of the current Symbol, or use its own size. If you were used to the “Swap at Original Size” option in the old Inspector menus, this is that, but with a clearer name: “Preserve current dimensions”.</li>
  <li>
<strong>For nested Symbols,</strong> you’ll instead see a toggle that lets you hide the nested Symbol rather than replace it. Likewise, if you were fond of using the “Hide Layer” option in the Inspector menus this is its replacement.</li>
</ul>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Use <kbd>⌘</kbd><kbd>P</kbd> to toggle “Preserve current dimensions” for Symbols, and <kbd>⇧</kbd><kbd>⌘</kbd><kbd>H</kbd> to hide nested Symbols.


  </div>
</div>

<h2 id="replacing-components-in-the-inspector">Replacing Components in the Inspector</h2>

<p>I’ll let you into a little secret: our first crack at updating the Inspector used the Command Bar for picking Components. However, once we used it, and as we heard from folks using the beta, we realised this wasn’t ideal. When using the Inspector we wanted something that kept us in our current context even if that meant smaller previews.</p>

<blockquote>
  <p>When using the Inspector we wanted something that kept us in our current context even if that meant smaller previews.</p>
</blockquote>

<p>This led us to rethink (again) how we replace Components in the Inspector. What we created was a <a href="/docs/symbols-and-styles/replacing/">brand new popover</a> that takes the best of the Command Bar modes, and shrinks them down into an interface designed for the Inspector — the best of both worlds.</p>

<h3 id="familiar-but-different">Familiar, but different</h3>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-9c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=2y5DdeB005nWgCcbIXQ7rsnkqceyWCx5Z6ExTYaM4Ng&amp;expires=1777041455" alt="A mockup of an iOS internet radio app with a selected Symbol. A popover shows options to replace a nested Symbol, including a search field and a list of Symbols. At the top are buttons for command, size selection (‘24×24’), and visibility toggle." width="1200">    </div>  </div>
</div>

<p>To open the new popover just click any of the usual Inspector buttons. With less space to work with we couldn’t just take the same elements from the Command Bar, and squish them. The path bar, for example, just wouldn’t work. So instead we made a nifty popup button that serves a similar role.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    You can also now <kbd>⌥</kbd>-click colour overrides for Symbols to replace them with a Color Variable.


  </div>
</div>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-10c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=v2iCsxPlKXeOgS7vIdjdCX7mHRcPA34JyommYIGa3P0&amp;expires=1777041455" alt="The Component replace popover is open, with the Library picker menu layered on top. The menu shows the selected group’s ancestry above and available Libraries below. The ‘From this Document’ submenu is open, with a subgroup item highlighted." width="1200">    </div>  </div>
</div>

<p>You can navigate to a different Library or group by clicking the Library picker button at the top of the popover. Other Libraries are always at the bottom, and towards the top you’ll find the parent groups (and Library) of whichever group you have selected. You can clear any group or Library filter by clicking the ×, or by pressing <kbd>⌃</kbd><kbd>⌥</kbd><kbd>⌘</kbd><kbd>▲</kbd>. Like the Command Bar, the popover automatically opens in the current Component’s group — so if the replacement you want is in that group you don’t need to go anywhere else.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Tip: Aside from <kbd>⌘</kbd><kbd>▼</kbd>, <em>all</em> the shortcuts from the Command Bar work in the popover too — so you can still jump to a new group really quickly with <kbd>⌘</kbd><kbd>F</kbd> and the arrow keys.


  </div>
</div>

<p>When you find the replacement you want just click it once; or use the arrow keys to select it, and press <kbd>⏎</kbd>. One thing you won’t find in the popover are any animations. We wanted everything about it to feel fast, and once you try it we think you’ll agree: replacing Components this way just feels <em>zippy</em>.</p>

<h3 id="honey-i-shrunk-the-previews">Honey, I shrunk the previews</h3>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-11c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=qYuu6AMHb6p-BY-3YTr3DYEGhMPjJn2KTP9T16sDl98&amp;expires=1777041455" alt="The Component replace popover open showing Symbols. Each Symbol is a row with a small preview to the left, and its name to the right. The current Symbol shows ‘current’ under its name." width="1200">    </div>  </div>
</div>

<p>Unlike the Command Bar, every Component is displayed as a list to save space. However, that doesn’t mean we scrimped on previews or metadata.</p>

<p><strong>Symbols, Layer Styles, Frame Templates, and Graphic Templates</strong> now have larger, easier to see previews. Perhaps the biggest improvement is that Symbols will also use the background you’ve set for them — no more white Symbols on fuzzy, light menu backgrounds.</p>

<p>When you’re replacing Symbols, the button to the right of the Library picker changes depending on context just like the Command Bar. For top-level Symbols it’ll be the preserve current dimensions toggle, and for nested Symbols it’ll be a toggle to hide or show it.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-12c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=7OxgBdbzDhNZXsu_PuT_2juQhAGMxP1RyR_9pPTAUCM&amp;expires=1777041455" alt="The Component replace popover open showing Color Variables. Each Color Variable is a row with a small preview to the left, and its name, hex code, and opacity vertically stacked to the right. The current Color Variable shows ‘current’ under its name." width="1200">    </div>  </div>
</div>

<p><strong>Color Variables</strong> get the new preview style from the Command Bar, and the same hex and opacity metadata, too.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/command-bar-post-13c.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=PCEZaVi8rGQ770wO810SK76pfjVE9DxyiNFV2cHwG5s&amp;expires=1777041455" alt="The Component replace popover open showing Text Styles. Each Text Style is a row with a small ‘Aa’-style preview to the left, and its name, font, size, and alignment to the right." width="1200">    </div>  </div>
</div>

<p><strong>Text Style</strong> previews were by far the most difficult to shrink down for the popover. We explored several designs — including using the full width for the text preview — but we found they made scanning the list too difficult. We landed on a balance where the previews still give you a sense of the style, while also leaving room for all the same metadata as the Command Bar.</p>

<h3 id="bigger-previews-are-always-just-a-click-away">Bigger previews are always just a click away</h3>

<p>The popover previews pack in a lot of detail, but they’re small by design. If you need bigger previews you can always click the button to the left of the Library picker, or press <kbd>⌥</kbd><kbd>⌘</kbd><kbd>R</kbd>. This’ll take you to the same place in the Command Bar, and keep your search term. You can also jump straight to the Command Bar by <kbd>⌥</kbd>-clicking the Inspector button. If you’d rather not hold <kbd>⌥</kbd> every time, we have a new preference to control exactly that: “Use the Command Bar for Replacing Components”. Holding <kbd>⌥</kbd> will always do the opposite of how you set this preference.</p>

<h2 id="the-next-chapter-for-the-command-bar">The next chapter for the Command Bar</h2>

<p>As you can see, the Command Bar isn’t standing still. Our goal is to improve how you use Sketch every day, and adding Components to it brings us one step closer to that.</p>

<p>This is just the second chapter for the Command Bar. If you’ve already tried Athens you might’ve noticed that our logo is now in the toolbar, and clicking it opens up the Command Bar. There’s a good reason for that, but that’s a story for another time. 🤫</p>

<hr>

<p>Thanks for reading all this way. If you have any questions or feedback — or just want to share how you’re getting on with Athens — we’d love to hear from you in our <a href="https://discord.gg/ascPpfDSSV">community</a>. And a big thank you to everyone who tried the beta and shared their thoughts. We can’t wait to see what you make with Athens.</p>


          <ul>
            <li><a href="http://skt.ch/athens">Find out what’s new in Athens</a></li><li><a href="https://youtu.be/x6ssDRyySEg">Watch the Command Bar walkthrough</a></li><li><a href="https://www.sketch.com/docs/interface-and-settings/the-mac-app-interface/the-command-bar/">Read the docs</a></li><li><a href="sketch://update">Open the Mac app to update</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/frames/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/frames/"/>
    <title><![CDATA[Frames and Graphics: A not-so-short guide]]></title>
    <summary><![CDATA[With our Athens release, we’ve introduced two new containers — Frames and Graphics. Together they represent a big change (and improvement) to workflows in Sketch. There’s a lot to cover here, so grab a coffee, and we’ll take you on a thorough tour of it all.]]></summary><published>2025-05-27T02:00:00+00:00</published>
    <updated>2025-05-27T03:45:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/athens/frames-header.jpg?width=600&amp;token=mCiTMzWI1A58ZNgCgKCOOGYJtg2UyuGOb3YXLrFQjp8&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Paulo Pereira</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/athens/frames-header.jpg?width=1200&amp;token=YHJZUlo24rGtSuhQE0uxwdINMXQPomkl1RG5faGSqpk&amp;expires=1777041455" alt="A cursor selecting a frame and a graphic and adding them to a container frame. The cursor then rounds the container’s frame corners." width="1200" height="675">
      <p class="large">With <a href="http://skt.ch/athens">our Athens release</a>, we’ve replaced Artboards with two new containers — Frames and Graphics. Together with <a href="https://skt.ch/stacks">Stacks</a>, they represent the biggest shift to designers’ workflow in Sketch in years. Internally, we’ve taken to saying that Sketch “feels like a new app”.</p>

<p>So — what are frames? How are they different from artboards? What are graphics? Where does this leave groups? What happens to your documents and workflow?</p>

<p>We’ll get to all of this, but let’s start with the problem we wanted to solve.</p>

<h2 id="why-did-we-build-frames-and-graphics">Why did we build Frames and Graphics?</h2>

<p>Picture this: you’re designing a user profile card for a web app.</p>

<ol>
  <li>You draw a background rectangle, add text and buttons, then group them. You add an icon, then move the card but the icon is left behind — it was on top of the group but not inside.</li>
  <li>You fix that in the layer list, then resize the card, but everything stretches. So you undo, then pin and fix size every layer in the card, and check that it resizes properly.</li>
  <li>Later on, you <kbd>⌘</kbd>-click on the card and move it, but only the background rectangle moves. So you undo, hit Esc to select the card, and move it.</li>
</ol>

<p>I could go on, but you get it. It’s a lot of tripwires. Maybe you learned to avoid them, or just accepted them — even still, it’s tedious at best, and frustrating at worst. This isn’t always the case, though. If you were designing an icon, those same behaviors would actually feel natural.</p>

<p>The key challenge is that <strong>interface work</strong> and <strong>graphical work</strong> are really quite different in their mechanics. Sketch has historically favored graphical work — that’s why designing a simple profile card requires so much intentionality.</p>

<p>The rectangles-and-groups workflow wasn’t great for interface work, and it didn’t play well with stacks. But we didn’t want to flip things entirely and make graphical work feel like an afterthought. We wanted both interface and graphical work to have proper, purpose-built support. Our solution was to give each its own container:</p>

<ul>
  <li>
<strong>Frame:</strong> a container for interface design and layout work.</li>
  <li>
<strong>Graphic:</strong> a container for icon, illustration, and other graphical work.</li>
</ul>

<hr>

<h2 id="frames-101">Frames 101</h2>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-1-b.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=Xhcue8t7ZNi6e2xmO63FGAwHtte_gxFZ9xt5a6iBKnw&amp;expires=1777041455" alt="Multiple examples of frames showing nesting, selection outlines, styles, blur effects, and size settings. Also shows a UI layout with a photo card and an open Inspector panel." width="1200">    </div>  </div>
</div>

<p>Frames have a few important qualities:</p>

<ol>
  <li>
<strong>They’re nestable.</strong> They may contain and be contained by other layers.</li>
  <li>
<strong>They support styling.</strong> Fills, borders, rounded corners, shadows, it’s all there.</li>
  <li>
<strong>They reparent layers.</strong> Adding or moving something onto the frame nests it in the frame.</li>
  <li>
<strong>They define their size.</strong> Typically a fixed size, but can also fit contents with <a href="https://skt.ch/stacks">stack layout</a>.</li>
</ol>

<p>If you’re familiar with Sketch, you can think of frames as a natural evolution of artboards<strong>.</strong> In fact, artboards no longer exist. When you open an existing document in Athens, your artboards and symbol sources are now frames.</p>

<h3 id="how-to-create-a-frame">How to create a frame</h3>

<p>Press <kbd>F</kbd>, use the Insert menu or toolbar button to use the Frame tool, then:</p>

<ul>
  <li>Draw a frame with whatever size you want</li>
  <li>Pick a template in the Inspector to insert as a top-level frame</li>
  <li>Or click on the canvas to insert a frame the same size as the last one you interacted with.</li>
</ul>

<p>You can also wrap your selection in a new frame with <kbd>⌘</kbd><kbd>F</kbd>.</p>

<p>We call frames you place directly on the canvas <em>top-level frames</em>. Frames you draw within other frames are called <em>nested frames</em>. Top-level frames display their name on the canvas, and a single-click selects their contents.</p>


  <iframe src="https://space-sktch.video-dns.com/qefIXQfzAv/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>Frames have an explicit size (width and height), and don’t automatically size to fit their contents. You can use Size to Fit <kbd>⇧</kbd><kbd>⌘</kbd><kbd>F</kbd>, but your frame won’t automatically resize as its contents change. You can set stacks (frames with <a href="https://skt.ch/stack-layout">stack layout</a> applied) to always fit their contents.</p>

<p>You can position layers partly, or even fully, outside the frame’s bounds. A frame’s “Clip content” property controls whether out-of-bounds content is visible or not. Having content out of bounds can like this <a href="/blog/frames#frames-and-prototyping">can be useful in prototyping</a>.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-3.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=4pTLXeSe2SxxiXFeci3D2kKsUb_AP153v2DnFU9-axw&amp;expires=1777041455" alt="Two frames showing the difference between ‘clip content’ disabled (left) and enabled (right). The right frame hides content that extends beyond its bounds." width="1200">    </div>  </div>
</div>

<h3 id="how-to-style-frames">How to style frames</h3>

<p>You can style frames much like shapes, with opacity, corners, fills, borders, shadows. You can also give them a blur and tint. You can also apply <a href="/docs/symbols-and-styles/text-and-layer-styles/layer-styles/">Layer Styles</a>.</p>

<p>Frames may get a default style depending on how you make them:</p>

<ul>
  <li>Inserting a top-level frame gives it a white fill.</li>
  <li>Inserting a nested frame gives it a blue fill — this alternates between two shades, so multiple nested frames contrast.</li>
  <li>Wrapping your selection in a frame <kbd>⌘</kbd><kbd>F</kbd> will give it no styles.</li>
</ul>

<p>Frames on the canvas always reflect their styles. If a top-level frame only appears white if it has a white fill — if it has no fill, its background is transparent.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-4.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=piCFWriaug3_H4n8faHFxrX0SvWQauGEQpBPoNuS8EA&amp;expires=1777041455" alt="Three frames showing nesting levels: a top-level frame, a nested frame inside it, and another nested frame selected within the second one" width="1200">    </div>  </div>
</div>

<p>Sometimes, you’ll want a top-level frame to have a fill so you can better see its contents, but the fill isn’t part of your design. In this case, disabling “Include fills as content” in the Inspector means it won’t show up in exports, prototypes, or instances (if it’s a symbol).</p>

<p>Finally, there’s some nuance to how shadows work: if a frame has a single shadow, and no fills, borders, or blur, the shadow applies to its contents (like groups). Otherwise, the shadow applies to the frame itself.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-5.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=n6ZZhYLpuCPqJIXWwjSH6x7eMPLbKPHPLUN3Mq9Lnx0&amp;expires=1777041455" alt="An image of two frames with different fill and shadow settings. The top has a white fill and shadow, the bottom has only a shadow, making it more visible behind the inner layers." width="1200">    </div>  </div>
</div>

<h3 id="frames-layers-and-parenting">Frames, layers, and parenting</h3>

<p>As you work with frames, you’ll notice a few things:</p>

<ul>
  <li>When you draw a frame around existing layers, they become children of that new frame.</li>
  <li>When you insert a new layer, it becomes a child of the closest frame that surrounds it.</li>
  <li>When you drag a layer around, its parent frame changes.</li>
</ul>

<p>You don’t even need to learn these rules because we’ve made it visual. When you select a layer, we highlight its parent frame with a dashed border. When you create or move layers, we highlight their new parent frame with a solid border.</p>


  <iframe src="https://space-sktch.video-dns.com/7ndluJYAZY/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>Parenting aims to keep the visual hierarchy on the canvas in sync with the hierarchy in the layer list. By aiming to have the two match automatically, you don’t have to fiddle so much with the layer list, nor keep an up-to-date mental model of your layer hierarchy.</p>

<p>In practice, if an element looks to be inside another on the canvas, it should be inside it in the layer tree — so when you move it, everything within it (and only within it) moves too.</p>

<p>In cases where you don’t want Sketch to automatically parent a layer for you, you can press the Space bar to skip reparenting. Or, you can adjust the hierarchy in the layer list.</p>

<h3 id="selecting-frames-and-their-contents">Selecting frames and their contents</h3>

<p>You can select a frame by clicking anywhere within its bounds, including in empty space, even (unlike groups) if it doesn’t have visible styles. If a top-level frame has contents, clicking within its bounds will select that content. Holding <kbd>⌘</kbd> and clicking will select any frame directly.</p>

<p>To quickly select contents within a frame, press <kbd>X</kbd>, then click-and-drag to draw a marquee selection. This selects any layers within it, at any level, but not the frame itself. You can also hold <kbd>X</kbd> as you click-and-drag.</p>


  <iframe src="https://space-sktch.video-dns.com/8OJsVLLGsO/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>If you’ve selected a frame (or any other container), you can press Enter to select all its children. Select All <kbd>⌘</kbd><kbd>A</kbd> selects all other layers in the same container as the layer you’ve selected — or all top-level layers on the page if you haven’t selected anything. These actions are also in the Select menu when you right-click a layer on the canvas.</p>

<h2 id="working-within-frames">Working within frames</h2>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-8.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=NhR75qpWNfnxgz4aPK_WTXifmJZ2HygBQxYoYpZgpNA&amp;expires=1777041455" alt="A nested frame with fixed width and height settings, aligned to the top-left of its parent. Resizing controls are shown in the inspector." width="1200">    </div>  </div>
</div>

<p>Aside from being the container for stack layout, what makes a frame purpose-built for interface design is how you work with its contents. Add a layer to a frame and you’ll notice two things:</p>

<ul>
  <li>Drop-down menus for Width and Height in the Inspector.</li>
  <li>Next to them, a rectangular control with an A surrounded by four T-shaped lines; and on the canvas, dashed lines from your selection to a dashed box around the parent frame.</li>
</ul>

<p>These elements control <em>sizing</em> and <em>pinning</em>— two vital ingredients for layout work in frames. We’ve made some very important changes here that affect all layers in Sketch.</p>

<h3 id="sizing-options-for-frame-contents">Sizing options for frame contents</h3>

<p>Sizing controls how a layer’s size responds to its parent’s size, or the layer’s own contents. We’ve long had ways to control a layer’s size, but we’ve made some big improvements here.</p>

<h4 id="sizing-is-standardized-and-prominent">Sizing is standardized and prominent</h4>

<p>A layer’s width and height can be either Fixed, Fit, Fill, or Relative, depending on the context:</p>

<ul>
  <li>
<strong>Fixed:</strong> the layer’s size is absolute, and won’t proportionally adjust when you resize its parent. It may still resize if you pin it to its parent on both ends — <a href="/blog/frames#pinning-frames-contents">more on this below</a>.</li>
  <li>
<strong>Fit:</strong> the layer’s size will always fit its contents. Available for stacks and text.</li>
  <li>
<strong>Fill:</strong> the layer’s size will fill its parent. Available to layers inside stacks.</li>
  <li>
<strong>Relative:</strong> the layer’s size is relative to its parent. When its parent resizes, it will too.</li>
</ul>

<p>This combines the two different properties we had: the Fix Size control in the Resizing panel, and the text-only Auto Width / Auto Height / Fixed Size segmented control in the Text panel.</p>

<h4 id="fixed-is-the-default-sizing-option">Fixed is the default sizing option</h4>

<p>Every new layer will have a Fixed Width and Height, except for text layers you create by clicking or pasting — those default to Fit.</p>

<p>When you resize a frame, layers with default sizing settings (Fixed or Fit) won’t proportionally resize with it. This is a better starting point for interface work.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-9.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=oQDbKdGWsxq3s6hjoR_FGrq0oRPRF8i70b2lU8CGcWI&amp;expires=1777041455" alt="Dropdown menu showing four resizing options for frames: fixed, fit, fill, and relative. Fixed is currently selected." width="1200">    </div>  </div>
</div>

<p>We’ve built some other conveniences to work with sizing:</p>

<ul>
  <li>When hovering or dragging an edge/corner of a layer, we show Fit or Fill for the layer’s width and height next to the cursor. Fixed and Relative dimensions just show their size.</li>
  <li>Directly resizing a Fit sized layer changes it to Fixed on the resized axis(es).</li>
  <li>Double-click an edge/corner of a frame, graphic, or text layer to resize to fit its contents. This also changes the layer’s sizing to Fit, if it supports it. You can also do this via <kbd>⇧</kbd><kbd>⌘</kbd><kbd>F</kbd>, the Inspector, the Layer menu, or the <a href="/docs/interface-and-settings/the-mac-app-interface/the-command-bar/">Command Bar</a>.</li>
  <li>On layers in stacks, which support Fill, you can <kbd>⌥</kbd>-double-click an edge/corner to set it to Fill.</li>
</ul>

<h3 id="pinning-frame-contents">Pinning frame contents</h3>

<p>Pinning controls how a layer’s position responds to its parent’s size, as well as the layer’s own size. This only applies to frames that aren’t stacks, where pinning is out of the picture.</p>

<p>Like sizing, we’ve long had a pinning system, but made some big improvements to it.</p>

<h4 id="by-default-layers-have-top-left-pins">By default, layers have top-left pins</h4>

<p>When you create a new layer, it gets top and left pins by default. So, when you resize a frame, its contents (with default pins) aren’t repositioned, but stay put on the top-left. Along with fixed size, this is a better starting point for interface work.</p>

<h4 id="auto-pin-can-speed-things-up">Auto Pin can speed things up</h4>

<p>When making a fluid design, you don’t want all layers to be pinned to the top-left. You’ll more likely pin layers to the edges they’re closest to, which is tedious to do manually. For this, we’ve added Auto Pin. It automatically applies pins for you, taking into account the layer’s sizing and position relative to its parent container.</p>

<p>To use Auto Pin, click the <strong>[A]</strong> button at the center of the pinning control in the Inspector, or press <kbd>⇧</kbd><kbd>A</kbd>. Small markers around the button indicate which pins Auto Pin will apply, giving you a helpful preview.</p>


  <iframe src="https://space-sktch.video-dns.com/lndG0tX7yV/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>In the frame section header, you’ll find a button to auto pin a frame’s entire contents at once. Hovering the button shows an on-canvas preview of which pins apply. You can also find this as “Auto Pin Contents” in the menu or Command Bar, or via the shortcut <kbd>⌥</kbd><kbd>⇧</kbd><kbd>A</kbd>.</p>

<h4 id="pins-work-beyond-resizing">Pins work beyond resizing</h4>

<p>Pins don’t just apply when resizing a layer’s parent. When you edit a layer’s width or height, resize it with arrow keys, swap symbols, and <a href="/blog/frames#coordinates-rulers-guides-and-paste">use different paste actions</a>, we’ll respect where your layer is pinned, so your design remains laid out as you have it.</p>

<p><br><br><br></p>

<p>Finally, we’ve added some more conveniences to pinning:</p>

<ul>
  <li>When you align a layer to an edge or center of its container (e.g. Align Right or Align Vertically), we’ll adjust the pins accordingly.</li>
  <li>There are options to quickly set all, none, or default pins for a layer when you right-click the Inspector’s pinning controls, via the <strong>Layer &gt; Pin</strong> menu, or the Command Bar.</li>
  <li>If you have a layer pinned to one edge, <kbd>⌥</kbd>-clicking the opposite edge in the pinning controls switches the pin instead of adding both. If neither side is pinned, <kbd>⌥</kbd>-click pins both; if both are pinned, <kbd>⌥</kbd>-click removes them.</li>
  <li>To temporarily hide the dashed lines indicating pins and parent container, hold Space (Space-drag to pan also hides the highlights).</li>
</ul>

<h3 id="how-sizing-and-pinning-work-together">How sizing and pinning work together</h3>

<p>When you resize any frame (including top-level frames), it adjusts its contents based on their pinning and sizing settings. This might affect contents within those contents, and so on.</p>

<p>With the default sizing and pinning settings (fixed/fit size, top-left pinned), not a lot happens; the frame resizes, but everything in it maintains its size and position, relative to the top-left.</p>

<p>However, with the right pinning and sizing settings, you can have your designs fluidly adapt:</p>

<ul>
  <li>Fixed or fit layers pinned to one end keep their size and stay put there</li>
  <li>Layers pinned to both ends adjust their size to maintain their distance to the edges</li>
  <li>Unpinned layers adjust their position proportionally (you’ll want this on centered layers)</li>
  <li>Relative size layers proportionally resize with the frame.</li>
</ul>


  <iframe src="https://space-sktch.video-dns.com/hmp41SSk4h/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>Sometimes you want to resize your frame but have nothing inside it change, and we’ve built a few ways to do that. You can:</p>

<ul>
  <li>Hold <kbd>⌘</kbd> when resizing the frame with your cursor</li>
  <li>Use <kbd>⌥</kbd><kbd>⌘</kbd>-arrows to resize by your nudge amount (add <kbd>⇧</kbd> for a bigger nudge)</li>
  <li>Press <kbd>⌘</kbd><kbd>⏎</kbd> to enter edit mode on a frame. You can also double-click the frame’s background, press Edit in the toolbar, or <strong>Layer &gt; Edit</strong>. From here, you can resize it, or use the arrow keys to move a frame’s bounds in relation to its contents.</li>
</ul>

<p>Using Size to Fit on a frame will also leave its contents as-is, fitting the frame around them.</p>


  <iframe src="https://space-sktch.video-dns.com/MxxDvqjqbq/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="frames-and-prototyping">Frames and prototyping</h3>

<p>Given frames have a fixed size, this makes them perfect containers to scroll in. You can <a href="/docs/prototyping/creating-scrolling-effects">enable scrolling for any frame</a> — both top-level and nested frames — via the Inspector’s Prototype tab, the Prototype menu, or the Command Bar.</p>

<p>For scrolling to work, the frame’s contents must extend beyond its bounds, otherwise there’s nothing to reach by scrolling. You can use the “Clip content” checkbox to show or hide out-of-bounds content on the canvas — but that doesn’t affect the scrolling behavior.</p>


  <iframe src="https://space-sktch.video-dns.com/yEx72rspTt/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>With top-level frames, having lots of content out of bounds can be hard to work with, so you can define their scroll viewport (the area you’ll scroll in when you play your prototype). There are two choices:</p>

<ul>
  <li>
<strong>Frame:</strong> the default option, covered above. The frame bounds define the scroll viewport size, and any out-of-bounds content scrolls within it.</li>
  <li>
<strong>Custom:</strong> you can set a width and height for the scroll viewport, or use a template’s size, and then make your frame taller or wider to define how far it scrolls. This is how scrolling artboards worked.</li>
</ul>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-14.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=EFlNcoRvKDJTZXgCGPW5L8LXJTS4nlQGiKUtB7jELkg&amp;expires=1777041455" alt="Comparison of scroll behavior using frame and custom viewports. The left pair shows the full scrollable content visible in a frame-based viewport, while the right pair shows a limited scroll area defined by a custom viewport." width="1200">    </div>  </div>
</div>

<p>We’ve removed the option to make scrolling groups. Existing ones will continue to work, but you won’t be able to make new ones, and we encourage you to convert these to frames.</p>

<h3 id="coordinates-rulers-guides-and-paste">Coordinates, rulers, guides and paste</h3>

<p>There are a few more things we’ve done to make working with frames feel great.</p>

<h4 id="layers-x-and-y-coordinates-are-relative-to-their-frame">Layers’ X and Y coordinates are relative to their frame</h4>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-15.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=A0p0jJYfsoRpQe-yuuBEooy-ufj7v5IGr2SV73C1SqY&amp;expires=1777041455" alt="A nested frame with fixed width and height positioned at the bottom of its parent. Inspector settings show coordinates, size, and alignment controls." width="1200">    </div>  </div>
</div>

<p>For example: a layer you place 8px away from the top-left corner of its parent frame will show X:8 and Y:8 in the Inspector, even if that parent frame is nested many levels deep. Groups don’t affect this, so the coordinates of a layer within a group are still relative to the frame.</p>

<h4 id="paste-on-containers-pastes-inside-them">Paste on containers pastes inside them</h4>

<p>If you have a container selected (frame, graphic, group) the standard Paste action <kbd>⌘</kbd><kbd>V</kbd> will place layers inside the container — which is a change for groups. To paste as a sibling of the container, you can Paste Over <kbd>⇧</kbd><kbd>⌘</kbd><kbd>V</kbd>, or select its parent then Paste inside it.</p>

<h4 id="paste-respects-pinned-edges">Paste respects pinned edges</h4>


  <iframe src="https://space-sktch.video-dns.com/43edAQ9Ahy/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>When you cut/copy a layer and paste it elsewhere, we preserve how it was laid out originally. For example, copying a layer pinned 20px from the right edge of its frame and pasting it in another container, places it 20px away from the right edge. If this isn’t possible (because you’re copying from a large frame to a much smaller one, for example), we’ll place it at the center.</p>

<p>We’ve also added Paste and Replace <kbd>⇧</kbd><kbd>⌘</kbd><kbd>R</kbd>, which replaces a layer you’ve selected with what you’re pasting. In this case, we preserve the pins and position of the original layer you’re replacing.</p>

<h4 id="frames-define-ruler-origin-and-own-their-guides">Frames define ruler origin and ‘own’ their guides</h4>

<p>We’ve covered how frames and graphics define the coordinate origin for their contents, and the same is true for the origin of rulers, which is the top-left corner of any frame you select.</p>

<p>If you select a layer and place a guide, it’s ‘owned’ by its containing frame. If you select a frame and want to place a guide <em>inside</em> it, just be sure to select something in it first.</p>

<p>Since each frame contains its own guides, moving a frame brings any guides it owns with it. When you select a layer, you’ll see the guides of its containing frame, plus the guides of all its ancestor frames up the layer tree.</p>

<p>Grids work similarly: each frame has its own grids that you can independently control.</p>

<hr>

<h2 id="what-are-graphics">What are graphics?</h2>

<p>Graphics share many qualities of frames: they’re nestable, support styling, reparent layers, and have their own size. You create them in a similar way (just press <kbd>G</kbd>) and selection works exactly the same.</p>

<p>At surface level, their differences will seem small:</p>

<ul>
  <li>Their selection handles are circular, not square.</li>
  <li>Top-level graphics don’t export their white fill by default.</li>
</ul>

<p>The real difference — and graphics’ entire raison d’être — is what happens with their contents.</p>

<h3 id="how-graphics-work">How graphics work</h3>

<p>As a reminder, here’s how <strong>Frames</strong> handle their contents:</p>

<ul>
  <li>Frame contents have visible layout properties (sizing and pinning).</li>
  <li>Frames resize their contents based on sizing and pinning properties.</li>
  <li>Frames support Stack Layout and Smart Layout (legacy).</li>
</ul>

<p>The story is pretty different with <strong>Graphics</strong>:</p>

<ul>
  <li>Graphics don’t have visible <strong>layout properties</strong> (only text has sizing options).</li>
  <li>Graphics <strong>resize their contents proportionally</strong> (and so do their groups).</li>
  <li>Graphics don’t support Stack or Smart Layout.</li>
</ul>


  <iframe src="https://space-sktch.video-dns.com/UKyLbWQddP/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>In other words, Graphics deliberately invert the qualities that make frames great for interface and layout work. There are no layout properties at play, no pin highlights on the canvas, a tighter Inspector with more room for styles, and no-frills proportional resizing. The result is a purpose-built container for icons, illustrations, and other graphical work.</p>

<h3 id="how-to-use-graphics">How to use graphics</h3>

<p>So, where may you find yourself using graphics?</p>

<ul>
  <li>
<strong>Design icons and illustrations in isolation.</strong> Press G, and you’ll find graphic-specific templates in the Inspector with common sizes for icons and more, or just draw a graphic.</li>
  <li>
<strong>Use them as symbols.</strong> Indeed, graphics can be symbols. Place them in frames or anywhere else. Instances will also proportionally resize, which is great if you use scalable icons.</li>
  <li>
<strong>Design in-situ.</strong> You may prefer to design a new icon right where it’ll be used in a UI element. Graphics are nestable, so you can draw one inside a frame, then design your icon there.</li>
</ul>

<p>We care a lot about icon design and illustration, so it was important for us to create a workflow where it can flourish. That said, you may feel like some things are missing, like having graphics scale, not just proportionally resize; or browsing graphic symbols separately. We feel the same! We’re not making any concrete promises here, but we do consider this release to be the very beginning of the graphics story.</p>

<hr>

<h2 id="what-about-groups">What about groups?</h2>

<p>After reading so much about frames and graphics, you may be wondering: “What’s the point of <em>groups</em> now?”. It’s a fair question, but yes — groups still have a role to play in Sketch.</p>

<p>First, let’s look at how groups behave within our new containers.</p>

<h3 id="how-groups-work-with-frames-and-graphics">How groups work with frames and graphics</h3>

<p>Previously, groups would adjust their contents based on resizing constraints — the default was for them to be off, so contents would resize proportionally, unless you’d set things otherwise. With Athens, frames and graphics set these rules — and groups simply follow them:</p>

<ul>
  <li>Frames have sizing and pinning, so groups adjust contents based on those settings.</li>
  <li>Graphics resize proportionally, so groups resize contents proportionally too.</li>
</ul>

<h3 id="how-to-use-groups">How to use groups</h3>

<p>So, what are groups useful for? This answer differs for frames and graphics.</p>

<p>In graphics, groups continue to be just as useful in designing icons, illustrations and more. They combine related elements together, so you can move them at once, and resize them as a whole.</p>

<p>In frames, you’ll likely use groups a lot less, but they can still be helpful. If you want to keep some layers together in a container that doesn’t have its own style or size, and isn’t a stack, then groups are a great choice.</p>

<p>For example, if you have a few bits of text within a frame that you want to nudge together. In this case, if you group those text layers and then need to nudge one a couple of pixels down, you won’t have to adjust the group to stop it clipping because groups don’t impose their own size.</p>

<hr>

<h2 id="a-new-design-workflow">A new design workflow</h2>

<p>Frames and graphics will be a major upgrade to your design workflow. While we’ve kept long-time habits in mind — our own designers would’ve complained otherwise — there’s a need for some adaptation. To help you in that process, I’ll:</p>

<ol>
  <li>Explain what happens when you open existing documents</li>
  <li>Highlight changes to watch out for, even in existing documents</li>
  <li>Give you some tips to adopt a frames-and-graphics workflow.</li>
</ol>

<h3 id="opening-existing-documents-with-athens">Opening existing documents with Athens</h3>

<p>When you open an existing document, a few things happen:</p>

<ul>
  <li>
<strong>Artboards become frames:</strong>
    <ul>
      <li>Their <strong>properties</strong> may change: they get a white fill if they had no background color, and vertical scrolling (with their original template as a custom scroll viewport) if they scrolled.</li>
      <li>Their <strong>child layers</strong> may change: they get Fixed sizing (except if auto-sized text) and top-left pins, so they don’t unexpectedly stretch or reposition when you resize the frame.</li>
    </ul>
  </li>
  <li>
<strong>Layers adopt the new sizing properties:</strong>
    <ul>
      <li>
<strong>Artboards:</strong> Now frames, get Fixed width and height.</li>
      <li>
<strong>Text:</strong> Fit sizing replaces “auto”. Non-auto sizes follow the rules below.</li>
      <li>
<strong>Other layers:</strong> Get Fixed or Relative width/height based on their Fix Size constraint — if it was enabled for an axis, that axis is Fixed; if disabled, it’s Relative.</li>
    </ul>
  </li>
</ul>

<p>Everything else remains as-is: groups are still groups, pins remain unchanged, and so on. We didn’t want to massively upend your documents, and think it’s best if you remain in control of upgrading them to a frames-and-graphics workflow.</p>

<p><strong>Note:</strong> from the initial Athens release up until the <a href="/changelog/2025-1-3">2025.1.3 update</a>, when converting artboards in existing documents to frames, their child layers kept their original sizing and pinning properties, which could cause unwanted changes when resizing the frame.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-18.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=j0Vq5yR__us85VjwmRLWm2yVkRVpPZfTuOT7t36ogDI&amp;expires=1777041455" alt="Notification bar with the message ‘There are groups in this document that could be upgraded to frames,’ followed by arrow and close buttons." width="1200">    </div>  </div>
</div>

<p>When you open an old document, you may see a suggestion to Convert Groups to Frames. This walks you through groups that we think could benefit from becoming frames — you can convert them individually, skip them, or convert all. If it’s not the right time, dismiss it, and it won’t show up again in that document. You can find this feature at any time in the File menu.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-19.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=pic9ImSF6aphSsQ-mSzVmLPmwF6Zd6TRf6QYbcl_Zrc&amp;expires=1777041455" alt="Popup window titled ‘Convert Matching Groups to Frames,’ showing navigation controls to browse nine groups, with options to convert individually or convert all at once." width="1200">    </div>  </div>
</div>

<p>You can also change any group to a frame or graphic via the group section header, <strong>Arrange &gt; Container</strong> menu, or Command Bar.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/frames-post-20.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=oNVylmUlwDduB-jkwTUA8HKcDOYxoBBzyuiFFZAzpzw&amp;expires=1777041455" alt="Dropdown menu showing options to convert a group into a frame or graphic. The frame option is highlighted, and the current selection is group." width="1200">    </div>  </div>
</div>

<h3 id="new-ways-old-documents">New ways, old documents</h3>

<p>There are some notable changes to working with existing layers in pre-Athens documents:</p>

<ul>
  <li>
<strong>Resizing top-level frames adjusts their contents.</strong> Previously, this was an opt-in property. If the frame’s contents have relative sizing or aren’t pinned — which is likely for frames containing layers created before Athens — resizing the frame will proportionally adjust their size or position. So, set all the frame’s children to fixed size and pin (or auto-pin) them. Or hold <kbd>⌘</kbd> to resize the frame without adjusting its contents.</li>
  <li>
<strong>Detaching symbols gives you a frame.</strong> Previously, this would give you a group.</li>
  <li>
<strong>The <kbd>⌘</kbd> modifier changed.</strong> It now resizes a container without adjusting its contents. To rotate a layer on the canvas, hover just outside its bounds until the rotate cursor appears. To ignore snapping when resizing or moving a layer on the canvas, hold <kbd>⌃</kbd>.</li>
  <li>
<strong>Multiple shortcuts changed.</strong> Searching layers is now <kbd>⌥</kbd><kbd>⌘</kbd><kbd>F</kbd>, since <kbd>⌘</kbd><kbd>F</kbd> wraps layers in a frame. Toggling fills is now <kbd>⇧</kbd><kbd>F</kbd>, since<kbd>F</kbd> activates the Frame tool. <a href="http://skt.ch/athens">See all changes in the changelog</a>.</li>
</ul>

<h3 id="embracing-a-whole-new-workflow">Embracing a whole new workflow</h3>

<p>Hopefully frames and graphics should make sense to you, but old habits die hard. With such a big shift in workflow, it’s normal to take a little time to adapt. Here are our best tips to help with this:</p>

<ol>
  <li>
<strong>Know your types.</strong> Frames for interface and layout work. Graphics for icons, illustrations, and other graphical work. Groups for further layer organization.</li>
  <li>
<strong>Press F to draw UI.</strong> Pressing <kbd>R</kbd> may be the hardest habit to break, but has the biggest payoff. Embracing frames for interface work makes your life easier, without all those pesky tripwires.</li>
  <li>
<strong>Let Auto Pin do it.</strong> Fixed size being the default, pins are what you’ll tweak the most if doing freeform layout — and Auto Pin saves you a lot of time. Get used to <kbd>⇧</kbd><kbd>A</kbd>, you’ll appreciate it.</li>
  <li>
<strong>Stacks, stacks, stacks.</strong> We didn’t cover it here, but stacks are a layout powerhouse: buttons, menus, navigation, lists, whole screens… they do it all. <a href="https://skt.ch/stacks">Go read about it</a>. You’ll hit <kbd>⌘</kbd><kbd>L</kbd> a lot.</li>
</ol>

<hr>

<p>We hope you agree this release makes Sketch feel like “a whole new app”. Start using frames and graphics, and you’ll soon wonder how designing in Sketch worked any other way.</p>

<p>We’re excited to see what you create with Frames, Graphics, and Stacks, so give Athens a spin and <a href="https://discord.gg/ascPpfDSSV">let us know how it’s shaping your workflow</a> — your feedback drives what we build next.</p>


          <ul>
            <li><a href="https://youtu.be/_nBw61Ha9qI">Watch our Frames and Graphics walkthrough guide</a></li><li><a href="http://skt.ch/athens">Find out what’s new in Athens</a></li><li><a href="https://www.sketch.com/docs/designing/frames/">Explore the Frames and Graphics docs</a></li><li><a href="sketch://update">Open the Mac app to update</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/stacks/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/stacks/"/>
    <title><![CDATA[Rethinking layout in Sketch with Stacks]]></title>
    <summary><![CDATA[Stacks are a new way to build flexible, adaptable layouts in Sketch. From buttons to complex UI, they’ll have a huge impact on how you work in Sketch. In this post, design lead Chris Downer shows us what they are — and why they matter.]]></summary><published>2025-05-27T01:00:00+00:00</published>
    <updated>2025-05-27T03:00:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/athens/stacks-header.png?width=600&amp;token=66dgAmOtxfXjVUtbf2fFnIJ6BD3sf6e5dyR7c3la-fA&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Chris Downer</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/athens/stacks-header.png?width=1200&amp;token=sInqUySTVDr37fr8yWROU57bcyCkJmpPCnOo8IPI_DA&amp;expires=1777041455" alt="A gif showing a set of UI cards adjusting their layout in Sketch, showcasing Stacks in action." width="1200" height="675">
      <p class="large">In <a href="http://skt.ch/athens">our Athens release</a>, we’ve shipped a much-requested and long-awaited feature — Stack Layout (AKA Stacks). In short, with Stacks, you can create UI elements that shrink or grow in size, or adjust the size and spacing of their content depending on their context. You can also nest stacks within stacks to create really powerful and dynamic layouts. If you’re familiar with auto layout in Figma or stacks in Framer, this is our take on it.</p>


  <iframe src="https://space-sktch.video-dns.com/xs1EslYrpA/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h2 id="from-smart-layout-to-stacks">From Smart Layout to Stacks</h2>

<p>There’s a lot to talk about with Stacks. Why now? How did we build them? What do they offer designers? I’ll try and answer the why and what questions in this post. We’ll save a longer, more detailed post on how we built them for some other time. For now, let’s start at the beginning and look at how Stacks came about.</p>

<p>Picture this: you’re adjusting the height of a UI element in your design, and then you need to manually select and move everything underneath it to correct the distance between layers. When you’re updating and iterating designs countless times, this work of dragging rectangles around is hugely tedious, and extremely inefficient.</p>

<p>Designers expect their tools to work with them, not against them, and this is exactly what we wanted to solve when <a href="/blog/smart-layout-a-new-welcome-window-and-projects-on-the-mac-and-cloud-whats-new-in-sketch/">we released Smart Layout in 2019</a>. Our main focus then was simplicity. Layers in a group with Smart Layout would respect the exact positions you set, and only adapt if you resized, inserted or removed layers.</p>

<p>Smart Layout was received well at the time, but had its limitations. In wanting to make Smart Layout as simple as possible, we ultimately didn’t build it with the level of control people wanted and needed. This gave it a certain degree of unpredictability.</p>

<p>With stacks in Swift, flexbox in CSS, and similar approaches to these systems in other design tools, we naturally got more requests for better layout tools in Sketch. We had pushed Smart Layout as far as it could go, and it was time to build something new.</p>

<p>That something new became Stacks and, along with it, a new type of container in Sketch: Frames. This new container type was an essential step in building Stacks. Frames are neither a group or Artboard. They’re far more flexible and, crucially, can have either a <em>fixed</em> size, or be dynamic and <em>fit</em> their contents. <a href="/blog/frames/">We’ve got another blog post on Frames</a> that’s worth reading.</p>

<h2 id="designing-with-stacks">Designing with Stacks</h2>

<p>So, how do you use Stacks, and what are the best practices?</p>

<p>First of all, there is no right or wrong way to design with stacks. You might create a stack before you add any content, or you might create a stack around something you’ve already designed. With the latter, when you add a stack to an existing design, we apply the most relevant stack layout properties you might need, based on how your layers are arranged on the canvas.</p>

<p>The most basic example of stacks is a button that shrinks or grows based on its content. Just draw a rectangle, and add a text layer on top of it. Select both layers and press <kbd>⌘</kbd><kbd>L</kbd>. That’s it! As I mentioned above, we apply the most logical layout settings automatically. You’ll also notice that the rectangle you drew has disappeared and its style properties are now part of the stack itself.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/stacks-button.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=9rU4VyBbZyWnr94z5QEb4ZJX6vdUZLZkBfH8sMR92MU&amp;expires=1777041455" alt="Gradient-styled Get Started button in Sketch with an arrow icon on the right, built using a horizontal stack layout" width="1200">    </div>  </div>
</div>

<p>Once you’ve made your button, you can adjust things like padding and alignment in the Inspector, or click and drag to set padding visually on the Canvas. If you drag and drop an icon into your button, it’ll become part of the stack. Everything will adjust dynamically because the stack’s width has been set to fit to the size of its contents (the total of the layer + gap values + padding).</p>

<img src="https://cdn.sketch.com/assets/blog/athens/stacks-button-adding-icon.gif" alt="Animated example of a button being built in Sketch using Stacks. The button resizes dynamically as a text label is added, and then updates automatically when an icon is dragged into the stack." width="1200">

<p>Items inside a stack flow in either a horizontal or vertical direction. You cannot freely position layers in stacks like you can anywhere else in Sketch, at least not by default. Naturally, you can’t have both horizontal and vertical layouts in the same stack, but you can nest a vertical stack within a horizontal one (or vice versa).</p>

<p>In this more complex example, we have a  modal dialog which uses a combination of horizontal and vertical stacks, nested into a vertical stack whose height will change depending on the text length.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/stacks-modal.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=TKYeSYHpNkXO4htm7fIX9al2_cKm2FwxjJOz1-aZRp0&amp;expires=1777041455" alt="A modal dialog in Sketch showing a layered structure with title, description, checkbox, and buttons. The left panel displays the nested stack hierarchy, highlighting how the layout is organized." width="1200">    </div>  </div>
</div>

<p>Inside this stack we have the title and description inside a vertical stack. The checkbox and label are in a horizontal stack. There’s another horizontal stack containing the two buttons (that are horizontal stacks themselves!), all contained in a vertical stack, aligned to the center, with a consistent padding applied around the contents.</p>

<p>If you’re wondering about that close button, it’s also inside the stack, but with the <em>Ignore stack layout</em> property enabled (you’ll find it in the Inspector). This allows us to place it freely in the top-right corner without affecting other layers. This, along with the option to override alignment on a per-layer basis (select a layer, then click on the alignment controls at the top of the Inspector), gives you a useful safety net when you need to make exceptions within a stack.</p>

<h2 id="a-better-way-to-design">A better way to design</h2>

<p>I don’t think it’s hyperbole to suggest that using stacks will make you a better designer. If you’re unfamiliar with them, it can take a little while to understand — that’s okay. But there is a point where it will just click and it completely shapes how you think about your designs.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/athens/stacks-x-ray.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=fbSD6tY6yLTc81N92IPNZlGGaLh-GwMKdrmMBU3oO4M&amp;expires=1777041455" alt="Illustration of a complex layout using nested horizontal and vertical stacks in Sketch. Arrows and labels show the flow direction of elements and spacing between items." width="1200">    </div>  </div>
</div>

<p>Stacks force you to be intentional with spacing and alignment, and reduce the number of inconsistencies that can happen when designing freeform. They also save you time so you can iterate faster, explore alternate layouts and future-proof your design if it needs to be updated.</p>

<p>On top of this, they’ll change the way you think about layout, bringing things closer to how designs are actually implemented and improving handoff with developers. Speaking of which, we’ve of course reflected stacks within our own handoff tools in the web app.</p>

<hr>

<p>I hope this brief overview shows off the power and possibilities of Stacks, which are available today in the latest version of Sketch. Please check out the documentation for a detailed overview of stacks with explanations of all the new settings.</p>

<p>As always, we’d love to hear your feedback over on our <a href="https://discord.gg/ascPpfDSSV">community</a>.</p>


          <ul>
            <li><a href="https://www.sketch.com/blog/command-bar-athens/">See what’s new in the Command Bar</a></li><li><a href="https://www.sketch.com/changelog/athens/">Discover everything new in Athens</a></li><li><a href="https://www.sketch.com/docs/designing/stack-layout/">Explore the Stacks docs</a></li><li><a href="sketch://update">Open the Mac app to update </a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/sketch-in-2024/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/sketch-in-2024/"/>
    <title><![CDATA[Our favorite features from 2024 — and what’s next]]></title>
    <summary><![CDATA[Join us as we highlight our favorite features from 2024 and take a look at what’s coming in the new year.]]></summary><published>2024-12-17T08:17:00+00:00</published>
    <updated>2024-12-17T10:32:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2024-12/sketch-in-2024%402x.jpg?width=600&amp;token=pT5dbSVx0MYlqs5QAugNN_HoGRZw2fc_CgX7rzMLxB8&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Ale Cubero</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2024-12/sketch-in-2024%402x.jpg?width=1200&amp;token=uH8I5xDYbNWkXitzVabPBtcwJhbS7_ZA0uQXesvYsg4&amp;expires=1777041455" alt="An animation showing a carrousel of features shipped in 2024." width="1200" height="675">
      <p class="large">As we get close to the end of the year, we’re reflecting on some of the features we’ve shipped in 2024 — and what’s to come in 2025. This year has been truly special for us, we’ve been able to work and ship long-awaited updates, while laying the groundwork for what’s next. There’s plenty to cover, so let’s jump right in!</p>

<h2 id="new-tools-to-make-your-prototypes-shine">New tools to make your prototypes shine</h2>

<p>This year we focused on something many of you had been asking for: improving our prototyping experience. Thanks to our new prototype player, which we launched earlier in the year, we’ve finally been able to ship tools that significantly improve how you create and share prototypes in Sketch.</p>

<p>In our latest release, we shared <a href="/docs/prototyping/animating/">Smart Animate</a> — a new way to add animations to your prototypes and make them more realistic. Smart Animate automatically animates changes in the position, size, rotation and shape of layers with matching names and includes duration and easing controls to help you make interactions feel exactly like you want them to. And because a picture is worth a thousand words, <a href="/blog/smart-animate/">we’ve put together a few examples</a> so you can discover different ways Smart Animate can work for you.</p>


  <iframe src="https://space-sktch.video-dns.com/Y2qKkzaW6R/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Earlier in the year, we added <a href="/docs/prototyping/customizing-layer-visibility/">hover and press interactions</a> alongside the classic tap/click, giving you even more ways to trigger your overlays. We also made it possible to show or hide specific layers, groups or Symbols with <a href="/docs/prototyping/customizing-layer-visibility/">custom layer visibility</a> and added the option to <a href="/docs/prototyping/customizing-layer-visibility/">toggle a layer’s visibility on click</a> in prototypes — great for things like checkboxes or toggle switches.</p>

<p>We also added <a href="/docs/prototyping/creating-scrolling-effects/#creating-scroll-areas">scroll areas</a> within Artboards, so you can make your prototypes scroll in any direction — a game-changer for things like rows or maps.</p>


  <iframe src="https://space-sktch.video-dns.com/HerHlfuoLc/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>And when it comes to sharing prototypes, we’ve also worked on a few improvements to help keep feedback more focused and organized. You can now <a href="/docs/prototyping/sharing-prototypes/#how-to-share-prototypes">share a client-friendly view</a> without toolbars and navigation, and <a href="/docs/prototyping/sharing-prototypes/#commenting-on-prototypes">add or read comments directly</a> on prototypes, keeping everything in one place and making it even easier to action or discuss feedback.</p>

<h2 id="supporting-your-workflow-with-command-bar-and-minimap">Supporting your workflow with Command Bar and Minimap</h2>

<p>Alongside prototyping updates, this year we shipped two new features to make your workflow faster and more efficient: <a href="/docs/interface-and-settings/the-mac-app-interface/">Command Bar</a> and a <a href="/docs/interface-and-settings/the-mac-app-interface/">Minimap</a>. The Command Bar gives you a quick way to find and run any action in Sketch by pressing <kbd>⌘</kbd><kbd>K</kbd> — this includes any action you’d normally find in the menu bar or activate with a shortcut (including any that come from plugins). Plus, it learns your preferences over time and prioritizes results accordingly, making it even more convenient.</p>

<blockquote class="quote--small">
  <div class="quote__content">
    <p>The Command Bar began as a pet project started outside of our normal project time. Sketch has tons of functionality, and we wanted a way to more quickly surface all those actions. We had a proof of concept working in a couple of weeks, and then over time we polished it into what you see today. I and others in the team have always had a soft spot for Mac launcher apps, or for Mac apps that include good in-app “command bars,” so bringing the Command Bar to Sketch was a special project for us.</p>

    <footer>— Alasdair Baxter, Mac Developer</footer>

  </div>
</blockquote>


  <iframe src="https://space-sktch.video-dns.com/W5bYDM6NrC/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>The Minimap, which also started as a side project, gives you an overview of your Canvas, making it easier to visualize large documents, navigate them and always know where you are in the design. It’s a simple way to see your whole Canvas at a glance and quickly jump to specific parts of the design.</p>

<h2 id="a-web-app-ui-refresh-and-a-better-handoff-experience">A web app UI refresh and a better handoff experience</h2>

<p>Over on the web app, we focused on making the experience better through a big UI redesign. Our goal has been to put the design in the center, reduce noise and make navigating the web app feel less overwhelming. We’ve redesigned the sidebar to give the full Canvas view more space, improved the notifications view to help you stay up to date with your Workspace documents, and simplified the information hierarchy — <a href="/changelog/web-app-ui/">among many other details</a>.</p>


  <iframe src="https://space-sktch.video-dns.com/2rER5YLDmw/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<blockquote class="quote--small">
  <div class="quote__content">
    <p>The effort to update the web app’s UI started as a quick exercise to match the web app design with the Mac app and the marketing site. However, it quickly evolved into an opportunity to rethink the overall experience including long-pending ideas and improvements while keeping an experimental mindset.</p>

    <footer>— <a href="https://ramses.work/">Ramsés, Product Designer</a>
</footer>

  </div>
</blockquote>

<p>We also put some focus back on the handoff experience, making it easier for developers to grab what they need. You no longer need to set up exports in the Mac app first — <a href="/docs/developer-handoff/#exporting-individual-assets">developers can now easily grab any layer</a>, in any format, right away. We’ve also <a href="/docs/developer-handoff/#design-token-exports">expanded Design Token exports</a> to include Text and Layer Styles, making it even easier to download your design tokens or share them via link. To wrap it all up, inspecting a design now happens in full Canvas view, which gives developers all the context to understand how things work in the design.</p>


  <iframe src="https://space-sktch.video-dns.com/R7dNBA45gi/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<blockquote>
  <div class="quote__content">
    <p>Working on Design Token exports has been a personal highlight for me. It’s not a flashy, headline-grabbing feature that screams, “Look at this big launch!” but it is genuinely useful and a time saver. Before this improvement, syncing colors between our design system and the TypeScript codebase was a manual, tedious process that would lead to oversights and delays. We realized we could improve this pain point and come up with a solution that would both improve our internal workflow and help customers at the same time.</p>

    <footer>— <a href="https://ramses.work/">Inês Carvalho, Front-end developer</a>
</footer>

  </div>
</blockquote>

<h2 id="and-thats-not-all">And that’s not all…</h2>

<p>These are just some of the highlights we’ve shipped this year, but there’s plenty more we’ve worked on. You can now <a href="/changelog/foresight-tidy/">use Foresight when tidying your layers</a>, <a href="/changelog/101#better-pdf-exports">choose which Artboards to export as PDFs</a>, <a href="/changelog/101#color-variables-in-gradients">use Color Variables in gradients</a>, <a href="/docs/libraries/renaming-and-replacing-libraries/">easily swap Libraries</a> or <a href="/support/general/system-requirements/multiple-languages/">use Sketch in Spanish</a>. And if you’re part of our Business plan, we’ve introduced the option to <a href="/docs/getting-started/folders/#archiving-projects">archive projects</a> and <a href="/docs/sharing-and-collaborating/document-permissions/#creating-and-managing-permissions-groups-business-plan">assign pre-made groups</a> to better manage document access. Take a look at <a href="/changelog/">sketch.com/updates</a> for the complete list or if you’re into the nitty gritty, check the <a href="/releases/mac">Mac app release notes</a>.</p>

<hr>

<h2 id="sketch-in-2025-whats-next">Sketch in 2025: what’s next</h2>

<p>Looking ahead at the new year, there’s plenty to be excited about. While we can’t share all the details just yet, here’s what we <em>can</em> say about our next big release of the year.</p>

<p>Starting with one of the most requested features: <strong>we’re bringing an auto layout/flexbox-like feature to Sketch</strong>. <a href="https://discord.gg/ascPpfDSSV">Head over to our community</a> to watch product manager, Paulo Pereira, run you through how things are shaping up. As part of this project, we’re evolving Artboards to be more flexible and help you do more with fewer layers. Artboards will soon be nestable containers with full styling and layout support — among plenty of other improvements to layer styling.</p>

<p>We’re also making Command Bar even better, adding new actions and making it possible to insert and replace Components straight away — and much more. And one last thing before we wrap up, we’re working on nestable Projects, along with the option to archive individual documents, to help you keep your Workspace even more organized.</p>

<p>Take a look at <a href="/roadmap">sketch.com/roadmap</a> to view everything we’re exploring and working on right now.</p>

<hr>

<p>Once again, thank you for being by our side for another year. This year we released version 100, a milestone we couldn’t have reached without your support. We feel so proud and honored that you choose Sketch to make your projects come to life. And a special shoutout to everyone over on the <a href="https://discord.gg/ascPpfDSSV">community</a> giving feedback and cheering us along the way. Here’s to another year together!</p>


          <ul>
            <li><a href="https://www.sketch.com/downloads/mac/">Download Sketch</a></li><li><a href="https://www.sketch.com/changelog/">See every feature we’ve shipped</a></li><li><a href="https://discord.gg/ascPpfDSSV">Join the conversation</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/tinted-app-icons/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/tinted-app-icons/"/>
    <title><![CDATA[Oh no, I need to design a tinted iOS 18 app icon]]></title>
    <summary><![CDATA[Tinted app icons in iOS 18 were met with plenty of concerns over visual hierarchy and brand identity. Here are a few tricks we used to make ours look good and feel right at home.]]></summary><published>2024-11-11T09:00:00+00:00</published>
    <updated>2024-11-11T11:30:00+00:00</updated>
    <category term="learn-design"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2024-11/tinted-app-icons-header.png?width=600&amp;token=3BF3EnXpnlUy2-2TyAoGY6ewUBpNt5YYhjJX5UUChOc&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Marcelo Marfil</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2024-11/tinted-app-icons-header.png?width=1200&amp;token=1QcYwHOe-bmjhxG0nolrPBGayFaWe6XDjdakq6PyJzo&amp;expires=1777041455" alt="Four tinted iOS app icons sit in the dock at the bottom of an iPhone, the letters on the icons spell out the words oh no" width="1200" height="675">
      <p class="large">In June 2024, Apple announced some much-anticipated options to further customize Home Screens. From placing app icons anywhere and personalizing Control Center, to setting up dark …and tinted app icons. Yeah. You know. I feel it too.</p>

<p>I’m not here to mourn, though. Instead, I want to share a few tips I learned while crafting a tinted variant for our <a href="https://apps.apple.com/app/sketch-view-and-mirror/id1609224699" target="_blank">iOS app</a>. I barely see anyone else mentioning or making use of these: alternate brand marks and alpha gradients (done the right way).</p>

<p>I believe that if you take these two tips into consideration, they’ll make your tinted icons look better on Apple’s platforms.</p>

<h2 id="reworking-our-app-icon-for-ios-18">Reworking our app icon for iOS 18</h2>

<p>Most app icons today are made out of a simple and a single flat glyph (Facebook, Instagram, Slack, and YouTube, for example). Whether that’s a good thing or not is another blog post! Either way, these icons should (mostly) look fine in light, dark or tinted environments.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-11/third-party-icons%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=eNrSUpWfscSqvhe9wvMVuuY7ceUf_v899zRPz7i7c-s&amp;expires=1777041455" alt="Light, dark, and tinted iOS app icons for Facebook, Instagram, Slack and YouTube" width="1200">    </div>  </div>
</div>

<p>Unfortunately for us, this wasn’t our case. We care so deeply about our shiny and colorful yellow diamond that, since we first released our iOS app, its icon had to fully embody its beautiful macOS counterpart — showcasing its depth and elegance.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-11/sketch-mac-ios%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=o8XwlTrUsmqJrrZDx0z_dtYoxZx5eP2QU3f4bWm6VwA&amp;expires=1777041455" alt="The Sketch Mac and iOS app icons, side by side" width="1200">    </div>  </div>
</div>

<p>Our choices to make a deeper, richer iOS app icon became our dilemma. Complex icons simply don’t translate easily into tinted icons. We don’t get anything for free here, so it was time to make some necessary adjustments.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-11/bad-icon-versions%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=-iz1NHdrrwwrB9PzlmDuILYEzyUkxsTouCkRG89ZBkg&amp;expires=1777041455" alt="Three Sketch icons that don’t look particular good" width="1200">    </div>  </div>
</div>

<h2 id="alternative-brand-marks-save-the-day">Alternative brand marks save the day</h2>

<p>Alternate brand marks are not a new concept. In fact, if you look in any established brand’s brand guidelines, you’ll find them. Adapting logos for different applications based on factors like background color or material is a standard practice in brand design.</p>

<p>Now, with this new level of customization that both iOS and iPadOS offer, why should we treat app icons any different? An app icon should get the same treatment as a brand’s logo, with the context it’s used in dictating the rules.</p>

<p>With our app icon, it became clear that going the extra mile was not only necessary, but essential. The lack of clarity and contrast was problematic, and that pushed us to come up with an alternative.</p>


  <iframe src="https://space-sktch.video-dns.com/IHWJSNlnQH/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Our solution was to rely on a glyph-based shape. One that, on one hand is very different from what you’re familiar with, but still very much Sketch. That’s no accident. In fact, you’ll have seen us use this in marketing applications and emails already. This was good, but we weren’t quite done yet.</p>

<h2 id="matching-the-design-language-of-stock-ios-app-icons">Matching the design language of stock iOS app icons</h2>

<p>Remember I said most single-glyph icons should <em>mostly</em> look fine? Well, they should, but sadly many I’ve seen so far do not.</p>

<p>A common oversight I noticed is people rely on automatic conversion way too much. What Xcode seems to do with the provided image is to isolate your glyph so it can be tinted, but it can’t do magic — and the result can be a bit tragic and inconsistent.</p>

<p>If you look at Apple’s stock app icons, you’ll notice there’s a clear difference between light, dark and tinted icons. While most light mode glyphs are made of a flat color, dark and tinted icons make use of gradients and opacity.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-11/first-party-icons%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=hLbeYchqlvtFY9cfhXcYd3IdKu_9QjbsKLmGxLOBDWU&amp;expires=1777041455" alt="Apple’s phone, mail, weather and settings app icons with their dark and tinted variants" width="1200">    </div>  </div>
</div>

<p>For what it’s worth, Apple does mention this in their <a href="https://developer.apple.com/design/human-interface-guidelines/app-icons#iOS-iPadOS" target="_blank">recommended practices</a> — but I don’t think many developers and designers have picked up on it. If you provide a flat color glyph, you get a tinted icon that doesn’t fit very well within the ecosystem.</p>

<p>In their documentation they suggest a grayscale image — and that should do the trick — but I personally found that using a gradient, from 100% to 60% of opacity worked best because when I grouped the shape and <a href="https://www.sketch.com/docs/symbols-and-styles/styling/tints/#applying-a-tint" target="_blank">applied a Tint</a> in Sketch, I was able to try out levels of opacity that worked for us when picking the most difficult colors.</p>

<p>Just a footnote here: You don’t <em>need</em> to use gradients, some icons like Home and Watch are good examples of other ways you can make use of depth through plain shapes but at different opacities, but no matter what you do, always try to add depth to your icon in both dark and tinted versions.</p>

<h2 id="putting-it-all-together">Putting it all together</h2>

<p>I’m sure even after these tips we will still have mixed feelings about tinted app icons, but I hope at least, with these tips, you can create one that not only complies with iOS and iPadOS 18 standards, but also effectively represents your brand and enhances user experience as best as it can.</p>

<p>Without further ado, let’s take a look at Sketch’s new app icons. We hope you like them as much as we do!</p>


  <iframe src="https://space-sktch.video-dns.com/Gdkn33wVFY/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>








          <ul>
            <li><a href="https://apps.apple.com/app/sketch-view-and-mirror/id1609224699">Download Sketch for iOS on the App Store</a></li><li><a href="https://www.sketch.com/docs/symbols-and-styles/styling/tints/#applying-a-tint">Learn how to tint your icons in Sketch</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/an-in-depth-look-at-prototyping-in-sketch/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/an-in-depth-look-at-prototyping-in-sketch/"/>
    <title><![CDATA[Prototyping in Sketch: Everything you need to know]]></title>
    <summary><![CDATA[Learn how to create realistic prototypes with a variety of tools, like Overlays or scroll areas, add movement with Smart Animate and preview them in our iOS app]]></summary><published>2024-09-30T08:54:00+00:00</published>
    <updated>2024-09-30T11:39:00+00:00</updated>
    <category term="learn-design"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2024-04-header-prototyping.png?width=600&amp;token=TzE_diVGM1FxWJgGeotcuvGMUykYVMFnXvwfyuoUuKg&amp;expires=1777041455" width="600"/>
    
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2024-04-header-prototyping.png?width=1200&amp;token=Yc1yMUJ-NZoLZtMo-x867DY3SkP9O8akVc8u3wMB_l0&amp;expires=1777041455" alt="" width="1200" height="675">
      <p class="large">We’ve covered all the basics in our guide to <a href="/blog/prototyping-guide/" target="_blank">getting started with prototyping</a>, but here we’re taking things a step further! Today, we’ll learn how to turn your static frames into interactive prototypes, bring them to life with <a href="/blog/overlays-benefits/" target="_blank">Overlays</a>, add movement with Smart Animate and preview them without ever leaving Sketch. We’ll also show you how to test your prototypes in context on an <a href="/blog/iphone-app/" target="_blank">iOS device</a>, so you can get a feel for how it’ll work in the wild.</p>

<p class="large">Let’s get prototyping!</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Not familiar with prototyping? Get started in <a href="/blog/what-is-a-prototype/">this post</a>.


  </div>
</div>

<h2 id="getting-started">Getting started</h2>

<p>To start prototyping in Sketch you’re going to need some frames. In this case, it’s easier to work with <a href="/docs/symbols-and-styles/templates/" target="_blank">frame templates</a> instead of custom-drawn ones. That’s because templates help the Prototype player understand the proper dimensions of your viewport — which will come in handy when working with more complex prototypes. But more on that <a href="/blog/an-in-depth-look-at-prototyping-in-sketch/#how-to-create-scrolling-prototypes" target="_blank">later</a>!</p>

<p>You’ll find a whole host of built-in Apple and Android device templates you can use to get started. Just press <kbd>F</kbd> and select them from the dropdown in the Inspector.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Check out our <a href="/s/9f020cf4-1d9a-4f17-a87a-42d86162e57b" target="_blank">interactive tutorial</a> to put into practice everything we cover in this post.


  </div>
</div>

<h2 id="how-to-add-interactions">How to add Interactions</h2>

<p>Once you’re ready, it’s time to start linking them. An Interaction or <a href="/docs/prototyping/adding-links/" target="_blank">Link</a> connects a layer to the frame you want to transition to — also known as the <a href="/docs/prototyping/adding-links/#editing-links" target="_blank">Тarget</a>. That way, if you click, hover or press on that layer while previewing your prototype, it’ll take you to the destination frame.</p>

<p>You can link frames by using any of the frames or layers within them. To create an Interaction, select the frame or layer and press <kbd>W</kbd>. You can also head to the <strong>Prototype</strong> tab in the Inspector and click on <strong>Create an Interaction.</strong> Now, you’ll see an unplaced link attached to your cursor, and you’ll notice we’ll highlight any linkable frames or layers on hover. All that’s left to do is click the frame you want to link to, and done!</p>


  <iframe src="https://space-sktch.video-dns.com/eFOADhVeG3/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>To remove an Interaction, click on the Trash icon or select the layer and choose <strong>Prototyping &gt; Remove Links from Selection</strong> from the menu.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    <strong>Pro tip:</strong> Not a fan of teal? You can change the color of your Interactions and Hotspots in the Canvas tab in Settings.


  </div>
</div>

<h2 id="custom-layer-visibility">Custom Layer Visibility</h2>

<p>When setting your interactions, you can choose to selectively show and hide layers, groups, and Symbols when a user interacts with them in the prototype. There’s also a third option where you can toggle between showing and hiding every time someone clicks or taps it — perfect when designing switches or different states for icons.</p>

<p>You’ll find these options in the Prototype tab in the Inspector. Select a layer, a group or a Symbol and select <strong>Custom</strong> in the Layer Visibility panel. Then, in the Action options, choose whether you want to show, hide or toggle the element. If you choose to show or hide your layer, select what interaction will trigger the action in the <strong>Trigger On</strong> menu.</p>


  <iframe src="https://space-sktch.video-dns.com/qR1QzLHaBR/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h2 id="customizing-your-interactions">Customizing your interactions</h2>

<p>You can use the <strong>Target</strong> dropdown in the Interaction section to select a different frame to link to — including “Previous Frame”, which will always take you back to the last frame you were looking at. This is super useful if you’re creating a prototype where a single frame is accessible from multiple other frames, like a screen with a back button.</p>

<p>A key part of making your prototypes more realistic is defining how interactions should feel. You’ll find several options to choose from in the <strong>Animation</strong> options in the Inspector, but you can also opt for no animation.</p>


  <iframe src="https://space-sktch.video-dns.com/ruYqg76L9e/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="bringing-movement-to-your-prototypes-with-smart-animate">Bringing movement to your prototypes with Smart Animate</h3>

<p>Smart Animate looks for changes in the position, size, rotation or shape of layers with matching names and animates them. You can use Smart Animate in multiple scenarios, such as giving a sense of progress or moving a navigation menu into view. If you need some inspiration, check out our guide to learn <a href="/blog/smart-animate/#using-smart-animate-for-progressive-disclosure">four ways you can use Smart Animate in your prototypes</a>.</p>


  <iframe src="https://space-sktch.video-dns.com/Bb6oIbTtPr/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>To set up Smart Animate, make sure the layers you want to animate have the same name across multiple frames. Press <kbd>W</kbd> to create an interaction from one frame to another (your interaction can start from a layer, Hotspot or an entire frame), then choose <strong>Smart Animate</strong> as the Animation type in the Prototype tab of the Inspector. You can then customize the duration and easing settings to the timing of your animations and make interactions work just like you want.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    <a href="/docs/prototyping/animating/#types-of-animation">Check out the docs</a> for more details on animating your prototypes and the different easing options.


  </div>
</div>

<h2 id="hotspots-what-they-are-and-when-to-use-them">Hotspots: what they are and when to use them</h2>

<p>In some cases, you may want the clickable area of an interaction to be bigger or smaller than the layers on the Canvas. This is where <a href="/docs/prototyping/adding-hotspots/" target="_blank">Hotspots</a> come in — a dedicated interaction layer that can be sized and positioned freely</p>

<p>Hotspots allow you to draw a target over any part of your design and link it to a frame. You can add a Hotspot via the Insert menu, or press <kbd>I</kbd> to start drawing one right on the Canvas (make sure you don’t have a layer selected).</p>

<p>You can also convert an Interaction to a Hotspot by selecting a layer with an Interaction and clicking the “Create Hotspot” icon <img src="/images/icons/mac/toolbar/24x24/insert.link.prototype.svg" alt="insert.link.prototype" width="1200"> in the Inspector — handy if you’ve already connected up a bunch of frames but decide you need to change the hit area later.</p>


  <iframe src="https://space-sktch.video-dns.com/xdPDsi2ZwU/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Hotspots are extra useful because you can place them inside Symbols where you can then override the Target destination. This way, you can reuse a Symbol but change the Target destination each time. You can also use this behavior to hide a Hotspot by choosing “None” under “Hotspot” in the Overrides panel.</p>

<h2 id="how-to-add-dynamism-with-overlays">How to add dynamism with Overlays</h2>

<p>You can create menus, modals, messages and many other UI elements using <a href="/docs/prototyping/overlays/" target="_blank">Overlays</a>, a special type of frame.</p>

<p>To turn an existing frame into an Overlay, select it, head to the <strong>Prototype</strong> tab of the Inspector and toggle the frame type from <strong>Screen</strong> to <strong>Overlay.</strong> You can also create a link to any type of layer that’s smaller than the parent frame — we’ll create an frame around it and set it as an Overlay for you.</p>

<p>You can stack multiple Overlays, have them replace each other, and set animations for each of them. If you want to learn more about Overlays, check out our <a href="/blog/everything-about-overlays/" target="_blank">comprehensive guide</a> — or view our <a href="/docs/prototyping/overlays/" target="_blank">documentation</a>.</p>


  <iframe src="https://space-sktch.video-dns.com/8TI8bD4E2s/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<h3 id="how-to-trigger-overlays-on-hover-press-and-toggle">How to trigger Overlays on hover, press, and toggle</h3>

<p>By default, Overlays appear when you tap/click on the trigger layer, but you can change the <a href="/docs/prototyping/customizing-layer-visibility/" target="_blank">type of interaction</a> to hover or press as well, depending on what you need.</p>

<ul>
  <li>Hover is great when you’re prototyping tooltips or dropdown menus, for example.</li>
  <li>Press triggers are great when you need additional information appearing only while pressing and holding the element — for example, when you want to mimic the action of holding an image’s thumbnail to preview it larger.</li>
  <li>Lastly, with the toggle option you can show or hide an overlay whenever you tap/click on it — handy when designing pop up menus, for example.</li>
</ul>

<p>You’ll find all these options in the Prototyping tab in the Inspector once you’ve created an interaction. In the video below, we run through everything step by step so you can practice along.</p>


  <iframe src="https://space-sktch.video-dns.com/6FEYFbYsfx/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<h2 id="setting-start-points">Setting Start Points</h2>

<p><a href="/docs/prototyping/using-starting-points/#setting-a-start-point" target="_blank">Start Points</a> are markers that let you specify which frame your prototype should start playing from. To set a Start Point, Control-click on the frame and select <strong>Set as Start Point</strong> from the menu. You’ll know it worked when you see a <img src="/images/icons/mac/monochrome/11x11/flag.filled.svg" alt="flag.filled" width="1200"> icon appear next to the frame’s name.</p>

<p>Usually you’ll want to set a Start Point at the beginning of a flow. However, setting multiple Start Points can be really useful — for example, if you’re building complex prototypes with many frames, or if you only want someone to view a particular part of your prototype.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    <strong>Note:</strong> For every Start Point you set, Sketch will generate a new prototype in the web app.


  </div>
</div>

<h2 id="creating-scrolling-areas-and-prototypes">Creating scrolling areas and prototypes</h2>

<p>You can create both scrolling prototypes or make specific areas in your frame scroll in any direction you want — this is great for things like cards or interactive maps.</p>

<h3 id="creating-scrolling-prototypes">Creating scrolling prototypes</h3>

<p>There’s only one golden rule for creating <a href="/docs/prototyping/creating-scrolling-effects/" target="_blank">scrolling prototypes</a> in Sketch: make sure you use a Template. If you’re using custom-drawn frames, they may appear zoomed out to fit the height of the viewport rather than scrolling the way you expect them to. That’s because Sketch needs a preset ‘screen size’ to understand when your content is spilling beyond its confines.</p>

<p>Once you have your Template placed on the Canvas, all you have to do is change the height of the frame. Now, whenever you preview the prototype, you’ll get that slick scrolling effect.</p>

<p>And if you want your layer to remain static in your prototype preview, even when you scroll through the rest of the content, you can check the <strong>Fix position when scrolling</strong> box in the Prototype tab.</p>


  <iframe src="https://space-sktch.video-dns.com/WpDblIF5cc/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="creating-scroll-areas">Creating scroll areas</h3>

<p><a href="/docs/prototyping/creating-scrolling-effects/" target="_blank">Scroll areas</a> are great when you want to make a specific part of your design scrollable, like a map or a row of cards. You can make elements inside these areas scroll in any direction you want. To make an area scrollable, simply select the elements you want to scroll, head to the Prototype tab in the Inspector and hit <strong>Make Scrollable</strong>. Sketch will automatically recognize the direction and make your area scroll vertically, horizontally or both. Then, use the orange handles to adjust the scroll areas to show exactly what you want.</p>

<p>We recommend using scroll areas along with Symbols, this will make it easier to edit content inside scroll areas. Check out the video below for a detailed walkthrough on how to do this.</p>


  <iframe src="https://space-sktch.video-dns.com/zSf52VfsLv/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<h2 id="preview-your-prototypes-in-sketch">Preview your prototypes in Sketch</h2>

<p>Once you’ve created a prototype, the next step is previewing it to see if your flows work and your transitions make sense. You can preview your prototypes directly in the <strong>Mac app</strong>, the <a href="/c/" target="_blank"><strong>web app</strong></a> — where you can share your prototypes with clients and colleagues — or on your iOS devices, using our <a href="https://apps.apple.com/app/sketch-view-and-mirror/id1609224699" target="_blank" rel="noopener noreferrer"><strong>iOS app</strong></a>.</p>

<p>To play back your prototypes in the Mac app, click the Preview button in the toolbar to open the Preview window. Your prototype will begin at the currently selected frame, unless you set a Start Point elsewhere. At the top of the Preview window, you’ll see a back button that will take you to the previous frame. You can navigate to a specific frame by selecting it from the dropdown menu at the top of the window. <a href="/docs/prototyping/previewing-prototypes/">Check out our docs</a> to learn more on how to preview your prototypes on the web app and iPhone app.</p>


  <iframe src="https://space-sktch.video-dns.com/wP5GZG1CdX/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<div class="blog-tip">
  
  <div class="blog-tip__content">
    <strong>Tap targets:</strong> When you click or tap, these indicators will appear in the Preview window wherever you’ve added Interactions and hotspot layers.


  </div>
</div>

<h2 id="share-your-prototypes">Share your prototypes</h2>

<p>You can share your prototypes on the <a href="/c/" target="_blank">web app</a> where anyone with the link can view and play them — from any browser or device. All you have to do is set a Start Point and save your document, and we’ll generate that prototype preview for you in the web app. You’ll find your prototypes under <strong>Views</strong> in the web app’s Document Details.</p>

<p>To share a prototype from the web app, open the prototype and click the <strong>Copy Link</strong> icon on the upper right side of the toolbar. From here you can also toggle the checkboxes to hide Hotspots and hints, and/or the toolbar and navigation — great when sharing with clients so they can fully focus on the prototype. You can also share prototypes directly from the Preview in the Mac app. Hit the Share button, choose whether you want to hide or show Hotspot hints and navigation items.</p>


  <iframe src="https://space-sktch.video-dns.com/fB88yeVQ5w/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>You can also enable <a href="/docs/prototyping/sharing-prototypes/#commenting-on-prototypes" target="_blank">comments</a> to let viewers leave feedback directly within the prototype player — perfect for collaborating with colleagues or getting feedback from clients right away. To find more share options, click on the <strong>⋯</strong> in the top nav bar.</p>

<h2 id="test-your-ios-designs-in-context">Test your iOS designs in context</h2>

<p>If you’re working on mobile interfaces, there’s no better way to test them than on the devices you’re designing them for. With the <a href="https://apps.apple.com/en/app/sketch-view-and-mirror/id1609224699" target="_blank" rel="noopener noreferrer">iOS app</a>, you can simply preview your prototypes as you would in the web app. When you tap to view one, you can interact with it by tapping on tap targets to transition to another frame. Once you’re ready to exit, tap and hold for a few seconds.</p>

<video title="Video of Joseph prototyping on iPad" muted="" playsinline="" controls="" width="100%" poster="https://cdn.sketch.com/assets/blog/ipad-prototyping.jpg" height="auto"><source src="https://cdn.sketch.com/assets/blog/ipad-prototyping.mp4" type="video/mp4"></source></video>

<hr>

<p>And there you have it! Hope you’re excited to get started on your next prototyping project. And if you need any or have feedback for us, you’ll find us in our <a href="https://discord.gg/ascPpfDSSV" target="_blank">community</a>.</p>


          <ul>
            <li><a href="https://www.sketch.com/s/9f020cf4-1d9a-4f17-a87a-42d86162e57b">Check out our prototyping tutorial</a></li><li><a href="sketch://">Ready to start prototyping? To the Mac app!</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/sketch-and-ai/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/sketch-and-ai/"/>
    <title><![CDATA[Sketch and AI]]></title>
    <summary><![CDATA[We’ve been thinking a lot about what AI means for Sketch for some time now. Here’s how we might use it, how we will never use it, and what guides our thinking.]]></summary><published>2024-09-30T06:00:00+00:00</published>
    <updated>2024-09-30T09:00:00+00:00</updated>
    <category term="inside-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2024-09/sketch-and-ai%402x.jpg?width=600&amp;token=h01y8LNjb68ZD_xKumEz3Kw1DiwpGK9lDtyh19nNgXg&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Emanuel Sá</name>
    </author>
<author>
      <name>Pieter Omvlee</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2024-09/sketch-and-ai%402x.jpg?width=1200&amp;token=aEgfW5PbCWO_4V9kRdqCJV5DCiocI09uEPuqIQRS2Eo&amp;expires=1777041455" alt="" width="1200" height="675">
      <p class="large">AI has been a talking point in our industry (and in our team) for some time, especially in the last few months. We’ve been thinking a lot about what it means for us, and today we’re sharing our take with you. Here’s how we might use it, how we will never use it, and what guides our thinking.</p>

<p>Our mission at Sketch has always been to create great tools for designers. So when we consider all the possible use cases for AI in Sketch, that’s the first thing we think of — how can this be great <em>for</em> designers?</p>

<p>We’re not ready to make a move with AI just yet — for reasons that will become clear. However, we wanted to share the principles that will guide our approach when that time comes. Let’s talk about them!</p>

<hr>

<h2 id="ai-might-be-in-our-future-but-it-wont-be-generating-designs">AI might be in our future, but it won’t be generating designs</h2>

<p>Everything we do starts with a respect for design as a practice. After all, as designers ourselves, we started by making tools for our own needs. It should be no surprise that we don’t want to adopt or build generative AI that creates designs.</p>

<p>With that said, we do see an opportunity for AI to aid designers in their daily workflows. We’ve all lost time to tasks like renaming layers, organizing files, isolating images, or finding that one specific Symbol deep in a large Library. Any steps we take would be in this direction.</p>

<h2 id="you-should-own-your-work--that-will-never-change-with-us">You should own your work — that will never change with us</h2>

<p>We feel strongly that AI should not exploit the work of you or anyone else. We will never consider it in Sketch. Not now, not tomorrow, not ever. Training an AI on your designs, for the benefit of everyone else, is not for us. Not even in an opt-out or opt-in scenario.</p>

<p>If we ever do see a use case that would require training an AI model on designs, our stance is clear: we would only ever do it on your device, privately, for your benefit only. More than that, you would be in full control of what happens. Right now, this is not practical nor possible, and we’re fine to wait until it is.</p>

<p>How about using third-party models? We can be clear here as well. We will not use them unless they can prove they have permission from their data sources and disclose them transparently. To our knowledge, such an ethical model does not exist yet — and, once again, we’re comfortable with waiting until it does.</p>

<p><a href="/about-us/">Our approach to your data</a> has been this way from the very beginning. You can work locally and privately. You can take your files anywhere. We don’t track what you do in your documents. No-one can view your designs (not even us) unless you let them. Why should AI be any different?</p>

<hr>

<p>Right now, we feel that AI has not matured enough from an ethical perspective for us to adopt. That said, we remain excited to see how it will evolve and how it can one day be a part of Sketch.</p>

<p>We hope it’s clear that these decisions are guided by values that matter to us — prioritizing your work as a designer, your privacy, and your ownership of data. If we can’t do things in a way that aligns with our principles and values, we’d rather not do them at all.</p>

<p>One thing we do know, is that as AI evolves, we’ll be talking to you about it. We’ve already had some great discussions on the subject <a href="https://discord.gg/ascPpfDSSV">in our community</a>, and we’d encourage you to continue sharing your ideas there. We’re listening!</p>

<p>Yours,</p>

<img src="https://sktch.b-cdn.net/assets/blog/signature%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=MWQXao12nyGeSixOrKCIUXY5GYlrSOhG_qvK8iNUlIM&amp;expires=1777041455" alt="Emanuel Sá &amp; Pieter Omvlee" width="1200">

<p><strong>Emanuel Sá &amp; Pieter Omvlee</strong><br>
Co-founders, Sketch</p>


          <ul>
            
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/smart-animate/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/smart-animate/"/>
    <title><![CDATA[Add movement to your prototypes with Smart Animate — now in Sketch]]></title>
    <summary><![CDATA[Here’s how to bring life to your designs with our latest prototyping update.]]></summary><published>2024-09-18T06:00:00+00:00</published>
    <updated>2024-09-18T09:15:00+00:00</updated>
    <category term="whats-new"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2024-09/smart-animate-header%402x.png?width=600&amp;token=MnL1FWCjJCGSsQJCqS4PRrij6FIQC25W-fskRRmhTvQ&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Freddie Harrison</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2024-09/smart-animate-header%402x.png?width=1200&amp;token=3B7OSnEoCHFIppjAWIGGPpweVaObGT3BCHRpfPxWJf8&amp;expires=1777041455" alt="An animated image showing various examples of Smart Animate in Sketch" width="1200" height="675">
      <p class="large">We’ve made some big improvements to Prototyping in Sketch lately, and we’ve listened carefully to your feedback — including requests for animation. With <a href="/releases/mac/#version-101">our latest update</a>, we’re introducing Smart Animate — the easiest way to bring movement to your ideas.</p>

<p>Rather than give you a step-by-step guide to using Smart Animate, we thought we’d share a few practical examples of how it could work for you. Each one includes a Sketch document to download or duplicate to your Workspace, so you can take a peek behind the curtain and see how we’ve made things work.</p>

<p>But before we dive into those examples, let’s run through the basics.</p>

<h2 id="what-is-smart-animate">What is Smart Animate?</h2>

<p>Smart Animate looks for layers with the same name on multiple Artboards and animates their changes as you transition between them. If you’ve ever used Magic Move in Keynote, you’ll feel right at home here!</p>


  <iframe src="https://space-sktch.video-dns.com/Xwbwig0xO6/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>To set up Smart Animate, make sure that any layers with changes you want to animate have the same name across multiple Artboards. When you link from a layer or Artboard to another, select Smart Animate as the Animation type under the Prototype tab in the Inspector. You can also set a duration and easing type to customize how things move.</p>

<p>Our goal with Prototyping is always to keep things simple and fast. But animation is one of those areas that could easily be an app in its own right (indeed, there are plenty of good ones out there already). With Smart Animate, we’ve struck a balance between giving you more options and helping you iterate on ideas quickly.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Tip: For a more detailed guide on how to use Smart Layout, <a href="/docs/prototyping/animating/">check out the docs</a>.


  </div>
</div>

<p>With the basics out of the way, let’s look at some different approaches to using Smart Animate in your prototypes.</p>

<hr>

<h2 id="using-smart-animate-to-indicate-progress">Using Smart Animate to indicate progress</h2>

<p>From spinners to skeletons, there are plenty of ways to use animation to give a sense of progress. In this example, we’re using a Touch ID-style fingerprint to help users understand that their biometric data is being checked when they sign in to their banking app.</p>


  <iframe src="https://space-sktch.video-dns.com/Y2qKkzaW6R/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>In this example, we’re able to vary the speed at which different parts of the fingerprint ‘fill up’ because the length of each segment differs, while the overall timing stays the same.</p>

<p>To achieve this effect, we need to make good use of masks, as well as groups and rotation of separate circles to fill up most of the segments. It’s definitely worth <a href="/s/6ecf483f-1001-4bbb-8117-d1a8d1e868bd">exploring the demo document</a> if you want to see exactly how it’s done. You’ll also be able to see how we achieved the expanding glow — a neat combination of layer size, border opacity, and layer opacity.</p>

<h2 id="using-smart-animate-for-progressive-disclosure">Using Smart Animate for progressive disclosure</h2>

<p>When you’re dealing with a lot of information in your designs, it can make sense to hide some of it at first, and only show it when a user makes a conscious choice to see more. In this music player, we’re introducing more details about an album (track listing, genre, etc.) that aren’t necessary to show in the Library view.</p>


  <iframe src="https://space-sktch.video-dns.com/9e6PBvvo2R/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Here, we’re using layer position and opacity to control the direction that different elements animate into view. We’ve also added a close icon that uses a ‘Previous Artboard’ target to play the animation sequence in reverse and close the modal.</p>

<p>Take a look at <a href="/s/141e9d51-f1c9-49fc-af94-43eaa6ec3408">the demo document</a> to get a better idea of how this one works — especially how we’ve used layer position to control the movement of each element.</p>

<h2 id="using-smart-animate-to-add-polish">Using Smart Animate to add polish</h2>

<p>This one is a little harder to explain! Sometimes, that sense of ‘polish’ in your work can come down to the tiniest of details done really well. In this example, we’ve put together an onboarding sequence for a vinyl player companion app. As you navigate through the onboard screens, the illustrations move and change to visualize the playback process.</p>


  <iframe src="https://space-sktch.video-dns.com/70fKgx3BXZ/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>If you open <a href="/s/8d8dc798-1b3a-4f81-9e2e-3accf863c0c6">the demo document</a>, you’ll see we’re leaning heavily on layer position to move elements on and off screen as you progress through the onboarding steps. A handy tip for this is to use the arrow keys on your keyboard to nudge elements out of your Artboard, rather than clicking and dragging. This stops them from being ‘re-parented’ automatically to a different Artboard or the Canvas.</p>

<p>Finally, to achieve the spinning record effect, we’re setting a very high rotation value for the vinyl’s label and color layers — this way they rotate multiple times during the final transition.</p>

<h2 id="using-smart-animate-in-navigation">Using Smart animate in navigation</h2>

<p>Of all the use cases for Smart Animate, this one is a pretty common one. In this example, we’re recreating a classic macOS sidebar, complete with collapsible items. If you’ve been following along with the other examples, you’ll have a good idea of how we’ve made most of this work, but you may also notice we gave the sidebar button a neat hover state.</p>


  <iframe src="https://space-sktch.video-dns.com/2eMO7byth9/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Like many of the other examples in this post, you’ll see by opening the <a href="/s/c5434740-f534-4054-b144-8f18662dc520">demo document</a> that we’re playing with layer position here. There’s also a little rotation going on with the chevron to disclose the child items in the sidebar. It’s all fairly straightforward, but the end result is that we can now mimic macOS-style UI animations in Sketch!</p>

<hr>

<p>Smart Animate is one of those features you can learn by having fun and experimenting with, so we’d encourage you to do just that. Whether you want to add some basic movement, or do something more advanced, Smart Animate makes it possible, but more importantly, accessible.</p>

<p>As ever, we’d love to know what you think of Smart Animate — we’re over <a href="https://discord.gg/ascPpfDSSV">in our community</a> if you have questions, suggestions, or simply want to share something you’ve made with it.</p>


          <ul>
            <li><a href="https://www.sketch.com/docs/prototyping/animating/">Check out the Smart Animate documentation</a></li><li><a href="https://www.sketch.com/s/14aaefc0-567e-4176-87f1-9623c29d36f5">Get every example in a single Sketch document</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/gentler-streak/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/gentler-streak/"/>
    <title><![CDATA[How Gentler Streak brings kindness to fitness ]]></title>
    <summary><![CDATA[We spoke with the team behind Gentler Streak to learn more about their vision for a friendlier, more inclusive fitness tracker, the role of data, and what it takes to maintain simplicity in design.]]></summary><published>2024-09-11T09:23:00+00:00</published>
    <updated>2024-09-11T12:53:00+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/gentler-header-1%402x.png?width=600&amp;token=Pt-9ziC6lVekyfp56Fh3NNKX5DOoVlMd0KZNT96I0vo&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Ale Cubero</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/gentler-header-1%402x.png?width=1200&amp;token=nU3BbGRsbOKx2xv8t0rL8tnKmYrFSrUg6Lsk1M5AZzg&amp;expires=1777041455" alt="" width="1200" height="675">
      <p class="large">Gentler Streak is reshaping the way we approach fitness tracking with a focus on self-compassion and personalization. With their iOS and Apple Watch apps they encourage people to listen to their bodies while still achieving their goals.</p>

<p class="large">We chatted to Gentler Streak’s Apple Design Awards winners Katarina Lotrič and Andrej Mihelič about their mission, unique design philosophy, and use of empathy to drive the app’s design.</p>

<hr>

<h2 id="could-you-tell-us-a-little-bit-about-gentler-streak-the-motivation-and-team-behind-it">Could you tell us a little bit about Gentler Streak, the motivation and team behind it?</h2>

<p>Katarina: Gentler Streak is an inclusive health and fitness tracker designed to promote a sustainable approach to an active lifestyle. Our mission is to make the benefits of regular exercise accessible to everyone. By providing personalized guidance tailored to support individual capabilities and wellbeing, Gentler Streak ensures that users of all fitness levels and backgrounds feel welcomed and supported in their fitness journey.</p>

<p>The app emerged from our own struggles with burnout due to improper activity levels: one of us was overtraining while preparing for a triathlon, and the other faced a lack of exercise due to an injury, which led to psychological burnout. This made us realize the importance of being active while understanding the right amount of activity for each person.</p>

<p>We started looking for an app that guided individuals in creating a sustainable habit while appealing to us in terms of user experience. We couldn’t find anything. Most apps focus on constant improvement, setting records, and unrealistic challenges. We felt unrepresented by existing health and fitness apps and couldn’t find anything to help us stay active in a way that supported our long-term health — so we decided to create one ourselves.</p>

<p>The four co-founders: <a href="https://www.linkedin.com/in/andrejmihelic/" target="_blank" rel="noopener noreferrer">Andrej Mihelič</a> (Product Owner, UI/UX Designer), <a href="https://www.linkedin.com/in/jasnakrmelj/" target="_blank" rel="noopener noreferrer">Jasna Krmelj</a> (CTO), <a href="https://www.linkedin.com/in/luka-ore%C5%A1nik-085485143/">Luka Orešnik</a> (Senior Developer), and I, <a href="https://www.linkedin.com/in/katarina-lotri%C4%8D-98a7a414a/" target="_blank" rel="noopener noreferrer">Katarina Lotrič</a> (CEO), are all diverse in our skill set and complement each other well. We’re also no newbies, we all have over a decade of experience in the iOS ecosystem, which made it a bit easier to start this story off.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/product-overview%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=KWVn-geXhl4H3AQcHsRacvdG4U1UDf9WkdZd_4zdAAw&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<h2 id="could-you-tell-us-more-about-gentler-streaks-approach-to-design-do-you-have-any-specific-principles-youve-defined-and-stick-to">Could you tell us more about Gentler Streak’s approach to design? Do you have any specific principles you’ve defined and stick to?</h2>

<p>Katarina: We want the app to be as accessible as possible, and user experience plays a key role in that. We try to stick with practices that are common and validated. We hope that users naturally know what to do when they open the app, and what a certain action does. For us, the design also plays an essential role in making you feel good and welcomed — that’s why there are illustrations, transitions, and animations. It’s all about creating a “soft” environment, something that feels pleasant and is frictionless to use. Whenever we’re developing a new feature, our goal is to always make it as intuitive as possible. Every now and then, we throw in some cute surprises to also add that little spark to the app.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/approach-design%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=yt3z6Ed4tVbB_3iqdBXesdMxHWY-e5y3rbhVL8tr1R4&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<h2 id="on-your-website-you-mention-gentler-streak-is-a-workout-and-fitness-tracker-for-humans-could-you-tell-us-a-little-bit-more-what-elements-in-the-design-bring-that-human-element">On your website, you mention Gentler Streak is a ‘Workout and Fitness Tracker for Humans’ Could you tell us a little bit more what elements in the design bring that ‘human’ element?</h2>

<p>Katarina: Similar to what I was saying above, we felt the majority of the apps target fitness geeks, hardcore gym lovers, people who take their exercise seriously. We made the app for everyday people, like ourselves. With everything we do, we hope the end result is that you feel included.</p>

<blockquote>
  <p>We made the app for everyday people, like ourselves. With everything we do, we hope the end result is that you feel included.</p>
</blockquote>

<p>Usually, fitness apps look quite “cold”, their design focused on presenting stats, not so much on creating a certain atmosphere. With us, you can look at the stats, but we also translate those stats into words: digesting your data and presenting it as your daily fitness status and the state of your current wellbeing. It’s something anyone can understand, even with zero knowledge of health and fitness. It’s everyday language: no one is excluded, anyone can participate. We use illustration in various parts of the app, to help support that messaging and the feel-good vibe. Also, as the guidance is highly personalized, those individual activity goals are achievable, which gives extra motivation.</p>

<h2 id="how-did-the-first-designs-for-gentler-streak-come-together-what-were-some-of-the-initial-challenges-you-had-to-navigate">How did the first designs for Gentler Streak come together? What were some of the initial challenges you had to navigate?</h2>

<p>Katarina: The main challenge we found was how to present tons of numbers in a simple way that everyone could understand without deep health and fitness knowledge. It’s easy to put various numbers like training load, training strain balance, and all sorts of activity stats on the screen, but this was something everyone else was doing and we felt it had to be done better, differently, if we want to address a new crowd. The whole app is made with this in mind: presenting things in a way everyday people can understand and take action from.</p>

<blockquote>
  <p>The main challenge we found was how to present tons of numbers in a simple way that everyone could understand without deep health and fitness knowledge.</p>
</blockquote>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/first-designs%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=0sae0kNBFxB_RkrJFloljIW_uu7RqiRcSO9ngQy_EGk&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<h2 id="how-do-you-maintain-consistency-throughout-the-overall-experience-and-design-across-the-iphone-and-apple-watch">How do you maintain consistency throughout the overall experience and design across the iPhone and Apple Watch?</h2>

<p>Andrej: Our philosophy is to design an app where you feel at home from the first time you open it. To achieve that, you have to understand the graphical human user interface of the operating system you’re developing for. Some designers feel they have to leave an obvious mark on their designs, and often, those iOS apps might look cool and funky but have poor UX, leading to a long learning curve for users. The result often being deleting the app.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/yorhart%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=If1RzQ016yqN21HXxiVJfdM8C9DqvZzLXjMTfKR1m_c&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<p>To create Yorhart, we worked with <a href="https://sorenselleslagh.com/" target="_blank" rel="noopener noreferrer">Sören Selleslagh</a>, a brilliant guy who is always such a joy to work with! We wanted something that resonated with everyone, regardless of age, gender, race, or body shape. In the app, everything revolves around your heart data, so Sören started exploring in that direction, and there you go. Yorhart’s name (try saying it out loud) came spontaneously: it made sense as the whole upper part of the Streak tab (illustration and daily status) is essentially a love letter from your heart. :)</p>

<h2 id="could-you-share-with-us-whats-the-the-role-of-data-in-gentlers-app-and-your-stand-around-privacy">Could you share with us what’s the the role of data in Gentler’s app and your stand around privacy??</h2>

<p>Katarina: Your health and workout data are an essential part of Gentler Streak, as everything stands upon it. We strive to personalize the experience as much as possible within the capabilities of the Apple Watch. So, wearing your Apple Watch at night and tracking workouts  feeds us information that then allows us to guide you as best as possible. Without your health and fitness data, the app is useless. And without readings of your vitals (like sleep duration or oxygen saturation), the app’s guidance is less precise. Night data is especially valuable, as there is less outside noise to interfere with us. For women, we also take the menstrual cycle into consideration, as it plays a big role in our day-to-day readiness. I am super excited to deepen this feature towards the end of this year!</p>

<p>Our own privacy is important to us, and we uphold that principle in the way we operate — we respect our users’ privacy just like we respect our own. The app deals with sensitive data, and we don’t want to have it on our hands—it would be an unnecessary liability. Everything in Gentler Streak happens on your device: the app reads from HealthKit and also writes the logged data there, without sending it anywhere.</p>

<h2 id="is-there-a-particular-feature-that-surprised-you-for-being-an-unexpected-hit-with-users-or-one-you-feel-more-people-should-know-about">Is there a particular feature that surprised you for being an unexpected hit with users? Or one you feel more people should know about?</h2>

<p>Katarina: People seem most pleased with how the app adapts to their fitness level and motivates them in a way that feels attainable. Users really appreciate the smaller features, such as the post-workout notifications. I’m always surprised by how much people love custom icons, complications, and widgets — I think we need to create even more of them, haha.</p>

<p>On the stuff I feel people should know more about, on the Apple Watch tracker, the readiness bar (the green stripe with an orange heart) shows you <em>in real-time</em> how much buffer you have left to stay within healthy activity levels while you work out. I think that’s pretty slick. Another useful feature, which I’m surprised a lot of people still don’t know about, is the option to set your status to sick, injured, or on a break when life happens. If I could say something to each user it would be something in the lines of: ‘tap the hell out of this app’ — you never know what’s hidden behind those buttons 😄.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/role-copy%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=MF14wLWbw9s3PJV0Vl92YH1CZxloMoQeapyaUsE9qgM&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<h2 id="was-the-apple-design-award-something-you-were-set-on-from-the-early-days-or-did-it-just-come-as-part-of-gentler-streaks-development">Was the Apple Design Award something you were set on from the early days, or did it just come as part of Gentler Streak’s development?</h2>

<p>Katarina: Our main goal was to create an app that similar-minded people would recognize as an answer to their needs, and make it part of their self-care routine. Being bootstrapped meant we had no choice but to make it happen: none of us wanted to go job hunting. Since we were all seniors with complementary backgrounds and had an experience with creating an ADA product before (Luka and I co-founded <a href="https://www.lakecoloring.com/" target="_blank" rel="noopener noreferrer">Lake Coloring</a>, which won an ADA in 2017), we believed we had what it took to create an app that would be worthy of getting featured on the App Store. With no marketing budget, getting on there is essential. It’s also a nod towards your product being relevant.</p>

<p>In the same year we launched Gentler Streak (2022), we were shocked to learn we had won an App Store Award (Apple Watch App of the Year), and that changed everything for us. Winning an Apple Design Award this June, especially for social impact, is an incredible honor. It’s even more meaningful because you can’t apply for these awards; the process is entirely internal on Apple’s side. Seeing Gentler Streak validated by both our users and the industry’s top authority is kind of hard to put into words. Knowing how it all started and how much work, love, and thought we put into it, it feels amazing to see it being recognized in this way. Amazing is a word that is so overused, but here…it’s the right choice of words.</p>

<h2 id="could-you-tell-us-a-little-bit-more-about-the-role-of-copy-in-gentler-streak-and-how-it-fits-into-the-overall-design">Could you tell us a little bit more about the role of copy in Gentler Streak and how it fits into the overall design?</h2>

<p>Katarina: The copy in the app is just as crucial as the design as they work hand in hand. With the design, we aim to create a soft, cozy, warm, homey atmosphere. Same applies to the copy. We wanted it to be supportive but not cheesy, motivating but not fake-hyped, for it to be sort of light-hearted, to not take itself too seriously, if that makes sense? All of that, while staying professional and bringing correct information across. We aimed for it to have character, but not as much that it would own the app. So, you’re always walking that fine line, trying to make it just right. Sometimes we miss though!</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/monthly-recap%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=5hoHHpD6gdZ8F6xu_gYXBoJT3IPHRHo-ZBChTRZE3_0&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<h2 id="can-you-describe-the-process-and-challenges-of-localizing-the-app">Can you describe the process and challenges of localizing the app?</h2>

<p>Katarina: Currently, our app is available in ten languages but the first two languages we introduced were Spanish and Brazilian Portuguese, thanks to a couple of dedicated superfans. As the project grew, doing translations that way became overwhelming, and at that point we could afford to work with an agency. We wanted to ensure that the translations were more than just literal — how the copy sounds and makes people feel is crucial. So for each language, we always put together local beta groups ranging from 15 to 20 users. We test it with these groups for about a month, gathering feedback and making adjustments until we feel confident it’s ready for release.</p>

<p>Initially, the challenge was primarily our team size and managing translations on our own. However, working with the agency and having dedicated beta groups for testing significantly eased the process. Localizing for the Asian markets presented unique challenges, particularly with unfamiliar typefaces and character sets. We relied heavily on our translators and beta testers to ensure that our goals were met and that the translations resonated with users. I think the biggest challenge may still be ahead of us if we decide to do Arabic language translation.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/localisation%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=e2GXBp5zYOvc_oGxjxGsDZkxLZ3vmLil8Z06Zg4RvbY&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<h2 id="how-has-sketch-helped-you-in-the-process-of-designing-gentler-streak-are-there-any-specific-sketch-features-that-have-been-particularly-useful">How has Sketch helped you in the process of designing Gentler Streak? Are there any specific Sketch features that have been particularly useful?</h2>

<p>Andrej: I’ve been a Sketch user since version 1.0. I love the simplicity of Sketch’s UI and its robustness. The complete Gentler’s GUI is made in Sketch and using components and making our own is what makes designing a pleasure and also saves tons of time. Also, features like the Color Variables, pre-made libraries or simple things like showing distance between components and other mini yet effective perks make designing UI in Sketch a pleasant experience. You guys are introducing new features with such a fast pace I don’t even know them all.</p>

<blockquote>
  <p>Sketch’s iPhone and iPad apps are a must for us. I often put an iPhone in front of me with the Sketch app open so I can design on my Mac and see how things look directly on a smaller screen. Syncing between Mac and iPhone works great so I can see changes immediately which also speeds up the process.</p>
</blockquote>

<p>And there are also two apps that are a must for us: Sketch’s iPhone and iPad apps. I often put an iPhone in front of me with the Sketch app open so I can design on my Mac and see how things look directly on a smaller screen. Designing things on a big screen is one thing, but seeing this on an iPhone or iPad is something else. Syncing between Mac and iPhone works great so I can see changes immediately which also speeds up the process. In the past I had to export screens, save them to Photos and open them on the iPhone.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/process-design%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=QPuD8TrdTMj5anw0YIHKdXH6OXoA7UazMLL9nEztq9o&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<h2 id="whats-next-for-gentler-streak-are-there-any-upcoming-features-or-news-that-youre-excited-about">What’s next for Gentler Streak? Are there any upcoming features or news that you’re excited about?</h2>

<p>Katarina: Oh, great things are coming! Our ultimate goal is for Gentler Streak to become a complete, one-stop health and fitness hub. We’ve just turned our workout summaries into a complete workout journal (custom titles, notes, adding photos…), added the iOS 18 perks, and we also have a new heavy feature in testing - sleep. This will be a huge update, which is part of our broader focus on well-being. It will provide you with much more detailed information about your sleep quality, and its effect on your daily well-being and help you improve your sleep hygiene.</p>

<p>By saying all that, our northern star is simplicity. If you’re not interested in detailed data, you won’t be overwhelmed — everything will remain straightforward and easily accessible as it is now. This simplicity is a core, unchangeable value of the app. However, for those who do want to dive deeper into the data, they will be able to.</p>

<hr>

<p>Ready to give Gentler Streak a try? You can download the app <strong><a href="https://apps.apple.com/us/app/gentler-streak-fitness-tracker/id1576857102" target="_blank" rel="noopener noreferrer">from the App Store</a>.</strong> And if you’ve created something in Sketch that you love, share it with us in our <a href="https://discord.gg/ascPpfDSSV" target="_blank" rel="noopener noreferrer">community</a> — we’d love to see it.</p>


          <ul>
            <li><a href="https://skt.ch/tl4">Listen to Katarina and Andrej’s Talking Layers interview</a></li><li><a href="https://www.sketch.com/blog/made-with-sketch/">Discover more stories</a></li><li><a href="https://apps.apple.com/us/app/gentler-streak-fitness-tracker/id1576857102">Download Gentler Streak on the App Store</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/darkroom/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/darkroom/"/>
    <title><![CDATA[How Darkroom is building the next-generation of mobile first photography tools]]></title>
    <summary><![CDATA[Co-founder Jasper Hauser walks us through the evolution of the award-winning app Darkroom, discussing how they maintain cross-platform consistency, integrate AI to improve the user experience, and much more.]]></summary><published>2024-08-07T12:31:00+00:00</published>
    <updated>2024-08-07T16:16:00+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/darkroom-header.png?width=600&amp;token=pY3wKzvF9C_WkEG6DHhuQpad2rCxZWLF7Kz-5G9ECoI&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Ale Cubero</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/darkroom-header.png?width=1200&amp;token=ZJDCjFoz-VBD1LBgPgPtojeUN4Y0j0mEqOhKnoWEU3Q&amp;expires=1777041455" alt="" width="1200" height="675">
      <p><a href="https://darkroom.co/" target="_blank" rel="nofollow noreferrer">Darkroom</a>, an app developed by a team of former Facebook colleagues and experienced app developers, is bringing both amateur and pro users an intuitive editing experience — expanding from iPhone to iPad, Mac, and now Vision Pro. We had the chance to sit down with <a href="https://x.com/jasperhauser" target="_blank" rel="nofollow noreferrer">Jasper Hauser</a>, three-time Apple Design Award winner, co-founder and product designer at Darkroom, to explore the app’s journey, the design philosophy behind it, and how they use Sketch to bring their ideas to life.</p>

<hr>

<h2 id="can-you-tell-us-about-the-team-and-inspiration-behind-darkroom">Can you tell us about the team and inspiration behind Darkroom?</h2>

<p>Darkroom was a vision from my co-founder <a href="https://x.com/jtaby" target="_blank" rel="nofollow noreferrer">Majd</a>. As former colleagues and close friends from our days at Facebook, Majdʼs passion for mobile photo editing sparked the initial idea. He began building Darkroom for the iPhone, designing the app with a split interface: the top half for viewing photos, particularly with Instagram in mind, and the bottom half for accessing powerful editing tools. This setup made it easy for users to create their own presets effortlessly. Today, we’re a small team of four core members: Majd, Joe, Jeff, and myself. Over the years, we’ve had additional full and part-time contributors, and many others have lent their talents to the project in different ways.</p>

<p>Since its launch in 2015, Darkroom has seen several key developments: expanding from iPhone to iPad in 2018, making our debut on the Mac in 2020, and introducing advanced masking tools in 2022. Our dedication to quality and user experience has been recognized with an Apple Design Award, and from those early days to now, our goal has always been to empower users to bring their creative visions to life in the easiest and most efficient way.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/darkroom-2%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=64DzLAvfp4kLusGFZueLryu6a6eg_5RVz6O2RHP4dx0&amp;expires=1777041455" alt="An image showing the Darkroom iPad app" width="1200">    </div>  </div>
</div>

<h2 id="how-did-the-first-designs-for-darkroom-come-together">How did the first designs for Darkroom come together?</h2>

<p>The very first designs were prototype iPhone builds created by Majd. From the start, his idea was to make an intuitive and efficient mobile workflow by counting the taps needed to edit a photo — and to provide tools like curves and color on mobile (for the first time) so people could create preset looks that were hard or impossible to do before.</p>

<p>From my perspective, the real “breakthrough” so to speak, was the editing interface layout. Majd had come up with a simple but unique layout where there was space for a square photo at the top and the rest of the space below for tools. Remember the good old square Instagram and tiny iPhone 5 days? This setup allowed for great ergonomics and the ability to navigate and basically edit with just your thumb. Swiping was also used to dismiss the photo and navigate to previous and next shots.</p>

<p>All I really did in those early days was applaud and confirm his intuition that this was a solid approach. Once I officially joined as product designer in 2016, I started contributing more: optimizing workflows, making them even more intuitive and easy to use, growing the business, and expanding to other platforms.</p>

<h2 id="could-you-tell-us-about-darkroomʼs-approach-to-design">Could you tell us about Darkroomʼs approach to design?</h2>

<p>One of the key aspects of mine and Majdʼs approach to design is the strong overlap in our understanding and skills in design, photography, and engineering. Even though Majd is my technical co-founder, heʼs equally a design thinker and partner. We work closely on product and interaction design and expect everybody on the team to be able to have loosely held strong opinions on these subjects. I often lead market research, create design mockups, and build prototypes to facilitate discussions and implementation planning. We do our homework before kicking off, iterate several times, and I keep detailed notes to track our progress. Additionally, I create prototypes with video walkthroughs to showcase workflows and use cases, which helps generate valuable feedback from the team.</p>

<blockquote>
  <p>Once we have a clear understanding of the scope, phasing, and challenges, we prefer to start building sooner rather than later.</p>
</blockquote>

<p>Once we have a clear understanding of the scope, phasing, and challenges, we prefer to start building sooner rather than later. This helps us uncover real-world implementation complexities and address any remaining questions about the product and design. To us, the second half of designing a product happens when we start building it. During this phase, we conduct detailed product reviews, discuss ideas freely, and iterate while having the product in hand. We invest a lot of time in moving from prototype to feature-complete, continuously refining and improving along the way. For larger features, we also tend to invite some outside opinions to weigh in on what we are building.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/darkroom-3%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=pohkpr9CfVbb5SrSq5eUHH4u9Vj9SQf68t490UBWZY8&amp;expires=1777041455" alt="An image showing a close up of the transform tool" width="1200">    </div>  </div>
</div>

<h2 id="was-the-ada-something-you-were-set-on-from-the-early-days-or-did-it-just-come-as-part-of-darkroomʼs-evolution">Was the ADA something you were set on from the early days or did it just come as part of Darkroomʼs evolution?</h2>

<p>Winning the ADA wasnʼt on my radar, especially since Iʼd already experienced the joy of winning Apple Design Awards with my previous ventures at Made by Sofa, <a href="https://www.versionsapp.com/" target="_blank" rel="nofollow noreferrer">Versions</a> and <a href="http://www.checkoutapp.com/" target="_blank" rel="nofollow noreferrer">Checkout</a>. However, seeing Majdʼs enthusiasm and our teamʼs dedication, winning the ADA became a major testament to our commitment to excellence.</p>

<h2 id="having-been-in-the-industry-for-over-nine-years-are-there-any-insights-you-could-share-on-how-darkroom-has-managed-to-thrive-over-the-years">Having been in the industry for over nine years, are there any insights you could share on how Darkroom has managed to thrive over the years?</h2>

<p>Iʼve learnt that listening to users and prioritizing their needs is unsurprisingly impactful :) Darkroomʼs success is built on this principle: constantly iterating based on feedback to create a great user experience. Staying ahead in tech means continually evolving, and with Darkroom weʼve embraced new platforms, technologies, and trends, ensuring we remain relevant while maintaining our core simplicity.</p>

<blockquote>
  <p>Whether itʼs performance, stability, or user support, maintaining high standards has built trust and reliability.</p>

</blockquote>

<p>Weʼve never compromised on quality. Whether itʼs performance, stability, or user support, maintaining high standards has built trust and reliability. Perseverance has also been key — not giving up in the face of challenges and maintaining a constant effort has driven our success and growth over time.</p>

<h2 id="what-did-the-process-of-expanding-darkroom-from-iphone-to-ipad-to-mac-and-then-vision-pro-look-like">What did the process of expanding Darkroom from iPhone to iPad, to Mac and then Vision Pro look like?</h2>

<p>Expanding Darkroom across platforms was a strategic move to meet our users wherever they are and grow our business. Today, iPhone still accounts for about half of users and iPad and Mac now equally account for the other half. Initially, on the iPhone, we focused on optimizing for taps and swipes, creating a streamlined, touch-based interface. The transition to the iPad allowed us to rethink the user experience entirely. We leveraged the larger screen to introduce a more comprehensive workspace, and enabling landscape orientation layout, which made it possible to use the app with two hands and even a keyboard.</p>

<p>When we moved to the Mac, we began by adapting our iPad version but soon started to embrace Mac-specific design language and features like deeper keyboard shortcuts support, better drag-and-drop, etc. This approach allowed us to slowly cater to more serious photographers and users who prefer the desktop environment for detailed editing.</p>

<p>For the Vision Pro, we quite simply made our iPad app available on the platform with some minor alterations, leveraging its capabilities to provide an immersive editing experience. As the platform hopefully grows and matures, weʼll start tailoring our experience more — I already have many Artboards full of ideas.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/darkroom-5%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=T_kS3K0Cl8o4Ct5OQIKFlhzSOHBYOXBlaML3ETD8kj4&amp;expires=1777041455" alt="An image showing Darkroom‘s color grading tools on an iPhone" width="1200">    </div>  </div>
</div>

<h2 id="how-do-you-maintain-consistency-across-all-platforms">How do you maintain consistency across all platforms?</h2>

<p>It’s an interesting balancing act. At the core, we ensure that our color schemes and iconography remain consistent. Most of our view colors are closely aligned with system colors, but without any color hues, unlike Appleʼs, to avoid impacting the appearance of photos. We have our trademark red key color and a completely custom library of hundreds of icons.</p>

<p>Wherever possible, I tend to design our core views to be reusable across platforms. Our album list, editing toolbar, and tool views are mostly consistent across devices. If they arenʼt, it’s because there’s a space constraint or opportunity for which we designed a different experience, like the ‘Transform’ and ‘Color Grading’ tools. However, we adapt navigation patterns and control sizes to match native platform conventions, ensuring everything feels familiar and easy to use. This means that while there might be some purist design inconsistencies, embracing platform-specific conventions helps us maintain an overall sense of coherence and strike a balance between a unified brand identity and a user experience that’s tailored to each platform.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/darkroom-4%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=tE52VsVica2sOQ-MilDzWydxkLNsHwfSWFXvi5EhsIE&amp;expires=1777041455" alt="An image showing photo organization features in Darkroom" width="1200">    </div>  </div>
</div>

<h2 id="as-pioneers-of-ai-powered-masks-weʼre-curious-to-know-how-did-that-decision-come-about-and-what-have-been-some-of-the-challenges">As pioneers of AI-powered masks, weʼre curious to know how did that decision come about and what have been some of the challenges?</h2>

<p>Our AI-powered masks have further empowered photographers to precisely edit their photos with just a few taps, enabling them to bring their vision to life in ways that were previously a lot harder. Historically, tools like brushing, linear, and radial masks have helped somewhat in making this process easier. However, AI-powered masks, especially those that can accurately select a background, subject, or detailed elements like hair or sky, have a major impact on how efficient a workflow is.</p>

<p>Fortunately for us, both Apple and several others made Vision Machine Learning models freely available, which was crucial for a small bootstrapped company like ours. This meant we were able to technically prototype, judge, and create a production-ready implementation within a very reasonable time frame.</p>

<p>The biggest challenges in making our AI-backed masks a reality were surprisingly not related to the AI itself, but rather to the productʼs usability and simplicity. Our goal was to integrate these features in a way that users would benefit from the power of AI without feeling overwhelmed by complexity — we wanted to ensure that these tools were super easy to use and discoverable. Adding too many modalities and menus could feel intimidating, especially on mobile, so we focused a lot on simplifying the interface as much as we possibly could. What we eventually shipped was the result of the fifth major design revision I undertook over a two-year period. This iterative process was essential in balancing advanced functionality with user-friendly design.</p>

<blockquote>
  <p>The biggest challenges in making our AI-backed masks a reality were surprisingly not related to the AI itself, but rather to the productʼs usability and simplicity.</p>
</blockquote>

<h2 id="whats-the-story-behind-the-multiple-icons-and-variants-for-darkroom">What’s the story behind the multiple icons and variants for Darkroom?</h2>

<p>The evolution of Darkroomʼs app icon mirrors the appʼs growth and innovation. Initially, the icon featured a minimalist design inspired by the Norwegian mountains near Bergen, symbolizing the essence of photography. When I fully took over the design in 2017 with the 2.0 release, I aimed to update the icon while retaining its core essence. We wanted the icon to reflect Darkroomʼs dynamic and creative capabilities, drawing inspiration from brands like Nike and Apple that creatively evolve their logos while maintaining their core identity.</p>

<p>Each major update brings a fresh look to the icon, serving both practical and aesthetic purposes. For example, Version 3ʼs neon lights referenced the safelights in analog darkrooms, while Version 4 simplified the design for better iPad integration. The Mac appʼs icon adopted a bold Aqua visual style, and with the addition of AI-powered Masks in Version 6, we introduced a segmented gradient inspired by atmospheric perspective. We also embraced icon customization, allowing users to personalize their app experience. This approach has helped us balance consistency with innovation, ensuring that our icon remains recognizable yet fresh.</p>

<p>We canʼt wait to share the next major version and its accompanying variants (which I’ve already been working on for a while!). We’ve written a <a href="https://darkroom.co/blog/2023-01-11-app-icons" target="_blank" rel="nofollow noreferrer">blog post</a> that covers this topic in depth in case you want to know more.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/darkroom-sketch%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=PlcKFZ6QYCiF6a9aPg5UUxOfkZYhm6JNCJFrcrYlci8&amp;expires=1777041455" alt="An image showing Darkroom’s icon variants in Sketch" width="1200">    </div>  </div>
</div>

<h2 id="is-there-a-particular-feature-that-surprised-you-for-being-an-unexpected-hit-with-users">Is there a particular feature that surprised you for being an unexpected hit with users?</h2>

<p>For the most part, weʼve managed to align our users’ needs with our ability to understand and build features they want. However, there have been some surprises. Frames was an interesting one. Initially, we decided to remove it due to its underwhelming performance but our inbox exploded with user requests to bring it back, so we redesigned and rebuilt it, and it became a differentiating feature — just goes to show that there can be value in removing certain features at times. AI-backed masks, which we just talked about before, are also a big hit.</p>

<p>And lastly, we’ve noticed a massive uptick in people using and exploring community presets. Itʼs wonderful to see how engaged our community is with this feature, and it highlights the collaborative spirit we aim to foster within Darkroom.</p>

<h2 id="what-role-do-presets-play-in-creating-community">What role do presets play in creating community?</h2>

<p>Presets play a considerable role in fostering a sense of community within Darkroom by enabling users to share their creativity, helping others and making the overall user experience better. We listen closely to our community through platforms like Nolt and social media, and we conduct interviews several times a year to gain an up-to-date understanding of their needs and preferences. This feedback is invaluable in shaping Darkroomʼs evolution and product decisions.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/darkroom-6%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=NkWzq9LqIsfDd4Acq54lKCeFULqh7eovSi70yn8NL6I&amp;expires=1777041455" alt="An image showing the community presets gallery" width="1200">    </div>  </div>
</div>

<h2 id="what-specific-sketch-features-have-helped-you-the-most-designing-darkroom">What specific Sketch features have helped you the most designing Darkroom?</h2>

<p>Having been in this business for 25 years and transitioning from Photoshop to Sketch, itʼs fascinating how we often highlight the latest fancy AI-whatever features without acknowledging the groundbreaking tools that set the stage in the first place. Sketch was the first real product designer tool, and many of its features are now taken for granted.</p>

<p>Artboards revolutionized the way we organized our designs, that was already a significant shift from our Photoshop days. The vector tools enabled performant, precise, and scalable graphics essential for high-quality design. Just like P3 color space support, crucial for designing an app like Darkroom. I also like using Sketch while flying and traveling, and the fact it’s a native app makes designing more enjoyable overall. While collaborative and rich prototyping tools are great, as a small team, we are far less reliant on them. The foundational features of Sketch, however, have been indispensable.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/darkroom-sketch-2%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=IgnZNQ8q-blpQmppVSe1gQiDetB5GEbjQ_xMifthzz8&amp;expires=1777041455" alt="An image showing a Darkroom design in Sketch" width="1200">    </div>  </div>
</div>

<h2 id="whatʼs-your-history-with-sketch-can-you-tell-us-about-other-projects-youʼve-used-it-for">Whatʼs your history with Sketch? Can you tell us about other projects youʼve used it for?</h2>

<p>As a fellow Dutch Mac enthusiast, Iʼve known founder Pieter Omvlee from the good old Fontcase days, even before he started working on Sketch! I remember him showing me the first beta of Sketch 1, during my Made by Sofa days, and how much potential it showed so early on. Sketch 2 was a huge milestone, especially when it won the Apple Design Award in 2012. I experienced the big industry switch at Facebook, where we transitioned fro Photoshop to Sketch, where I used it for nearly all the projects I led, including Facebook Pages and Facebook Events. Since then, Iʼve kept using Sketch for everything Darkroom.</p>

<h2 id="are-there-any-upcoming-features-that-youʼre-excited-about-and-can-share-with-us">Are there any upcoming features that youʼre excited about and can share with us?</h2>

<p>Ha, so many! As the lone Darkroom designer, I continually have designs on hand for the next five years of features for Darkroom :) So there is a lot to choose from. Iʼm most excited about releasing our new render engine, which is a massive improvement in performance and stability. It resolves nearly every remaining issue weʼve had in Darkroom and will allow us to build all the features weʼve wanted to but were held back from. Iʼm thrilled about finally being able to add brushing and retouching tools, more photo management and selection options, new editing features, and extending our work with community presets.</p>

<hr>

<p>You can find Darkroom for iPhone, iPad and Vision Pro <a href="https://apps.apple.com/us/app/darkroom-photo-video-editor/id953286746" target="_blank" rel="nofollow noreferrer">on the App Store</a>. If you’ve made something in Sketch that you’re proud of, we’d love to hear about it! Share it with us in our <a href="https://discord.gg/ascPpfDSSV" target="_blank">community</a>.</p>


          <ul>
            <li><a href="https://www.sketch.com/blog/made-with-sketch/">Discover more stories</a></li><li><a href="https://www.sketch.com/c/">Try Sketch</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/callsheet/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/callsheet/"/>
    <title><![CDATA[How Casey Liss and Ben McCarthy built Callsheet — a better home for movie lovers]]></title>
    <summary><![CDATA[Callsheet’s creator and designer talk us through respecting users’ time, designing for information density and the joys of indie software development.]]></summary><published>2024-06-19T09:18:00+00:00</published>
    <updated>2024-06-19T13:18:00+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2024-06/callsheet-header.png?width=600&amp;token=23sWnhOWk5t0EGFZMDDYGK5eZEHb2GA_IWOpGvMrN5U&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Freddie Harrison</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2024-06/callsheet-header.png?width=1200&amp;token=_ItG4vLSrhhEdLXymwbSycjwN3_qSoflQ4yx_U8nRhM&amp;expires=1777041455" alt="An image showing the Callsheet app icon alongside an iPad and iPhone showing screens from the Callsheet app" width="1200" height="675">
      <p class="large">When you’re watching a film or TV show and want to know if the actress in the lead role was also in that other thing you saw, where do you go? The obvious answer is probably IMDb, but as Casey Liss notes, “it has gotten more frustrating to use”. So, he set about building a better alternative.</p>

<p>With design help from Ben McCarthy, Casey built <a href="https://apps.apple.com/us/app/callsheet-find-cast-crew/id1672356376">Callsheet</a> — an IMDb alternative for iPhone, iPad and Vision Pro. Calling it an IMDb alternative is almost a disservice, though, because the experience is worlds apart. With Callsheet, finding what you need is fast, navigating through lots of information is easy, and there are plenty of thoughtful touches along the way.</p>

<p>We caught up with Casey and Ben to discuss how the app came to be, the challenges of bringing it to visionOS, and how Sketch helped along the way.</p>

<hr>

<h2 id="lets-start-with-the-obvious--can-you-tell-us-a-little-about-callsheet">Let’s start with the obvious — can you tell us a little about Callsheet?</h2>

<p><strong>Casey:</strong> Honestly, Callsheet wouldn’t exist if it weren’t for the relentless <a href="https://en.wikipedia.org/wiki/Enshittification">enshittification</a> of IMDb. I’d been a loyal IMDb user for <em>years</em>, but it has consistently gotten more frustrating to use. I got tired of the constant “Hey you should log in!” or “Hey did you see this trailer?” or “Hey you can buy this on Amazon!”. Just, yuck.</p>

<p>I was familiar with <a href="https://www.themoviedb.org/">The Movie Database</a> as a user-contributed equivalent to IMDb, and started exploring what their API looked like in January 2023. After a couple weeks, it became clear that I could work with their API easily. After that, I was off to the races.</p>

<h2 id="how-does-callsheets-design-play-into-the-goal-of-helping-people-get-the-information-they-need-fast">How does Callsheet’s design play into the goal of helping people get the information they need fast?</h2>

<p><strong>Casey:</strong> Everything about Callsheet is designed around speed. However, my ‘North Star’ is to respect users — first and foremost, users’ time. Much to Ben’s dismay, I’ve eschewed some far prettier designs in favor of information density. As with all things, this is a balancing act that perhaps we didn’t get 100% right. But I like to think it’s pretty great right now.</p>

<blockquote>
  <p>My ‘North Star’ is to respect users’ time.</p>
</blockquote>

<h2 id="when-youre-dealing-with-movies-tv-shows-casts-and-crew-theres-a-potential-for-all-that-information-to-feel-overwhelming-how-did-you-approach-this-issue-with-callsheet">When you’re dealing with movies, TV shows, casts and crew, there’s a potential for all that information to feel overwhelming. How did you approach this issue with Callsheet?</h2>

<p><strong>Casey:</strong> Information architecture is a challenge in terms of prioritizing what information to show (or highlight) and what information to bury. It’s a challenge in terms of finding the balance between what very different users would prefer to see.</p>

<p>At the end of the day, I’m Callsheet’s biggest fan, and the app is designed for me. The things I care most about get pushed to the top, in both a literal sense, as well as a figurative one.</p>

<p>Callsheet is, in my mind, iPhone-first, so that severely limits my options in terms of layout — there are just not that many pixels available! That’s how we arrived to the ‘right rail’ of quick-hit information that I consider to be ‘above the fold’ and next to the image for that person/media.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-06/callsheet-side-rail%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=ZEbXSLxRUAZH2KlHzm0Dh_LAaKdmPNtYTfxgrKHqH6c&amp;expires=1777041455" alt="An image showing a screenshot from the Callsheet app, focusing in on a specific film, and cropped to show how the app’s design handles information density" width="1200">    </div>  </div>
</div>

<h2 id="can-you-talk-a-little-about-how-the-design-of-callsheet-changed-throughout-its-development-were-there-any-pivotal-moments-or-decisions-you-made-which-moved-the-needle">Can you talk a little about how the design of Callsheet changed throughout its development? Were there any pivotal moments or decisions you made which moved the needle?</h2>

<p><strong>Ben:</strong> Perhaps my greatest contribution to Callsheet was insisting that the search field was at the bottom of the screen. I’m a big proponent of the idea that the most important controls of an app should be the easiest to reach, and search is integral to the Callsheet experience.</p>

<blockquote>
  <p>The most important controls of an app should be the easiest to reach, and search is integral to the Callsheet experience.</p>
</blockquote>

<p>Being easy to reach also means a control is faster and more reliable to use. And with an app like Callsheet, it’s important that users can find what they’re looking for with as little fuss as possible so they can get back to what they’re watching. I understand this was a huge pain in the ass for Casey to implement, but I think it was the right call, and we both heard from quite a few users and beta testers who really loved this change.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-06/callsheet-search-comparison-2%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=iRxXWSqcfQ-KLESGDFd1BTY5lgZRfFaZF68rN0RqenU&amp;expires=1777041455" alt="An image showing two screenshot from the Callsheet app, the left shows an early development view, and the right shows the app today." width="1200">    </div>  </div>
</div>

<p><strong>Casey:</strong> This was a pain and I resisted it like a child resisting bedtime. However, Ben was (as usual) completely right. I had a fair number of beta testers for Callsheet, and the #1 complaint I got was how difficult it was to hit the search box up at the top of the screen. However, the app is 100% SwiftUI, and that’s where SwiftUI puts the search box.</p>

<p>I spent a couple of days working on moving the search box, including some help from my friend <a href="https://rambo.codes/">Gui Rambo</a> on some of the squishier technical bits. Once I saw it down there, I knew Ben was right. Now that Ben has <a href="https://benricemccarthy.com/ketchup/index.html">their own search-based app out</a>, I think I may need to crib some of their ideas and see what’s easily usable in Callsheet 😏.</p>

<h2 id="there-are-a-bunch-of-neat-details-in-callsheet-like-tapping-a-films-runtime-to-see-what-time-it-would-finish-if-you-watched-it-right-now-can-you-share-any-others-youre-fond-of">There are a bunch of neat details in Callsheet, like tapping a film’s runtime to see what time it would finish if you watched it right now. Can you share any others you’re fond of?</h2>

<p><strong>Ben:</strong> My favorite little touch is showing an actor’s age at the time each film or show was released. I regularly found myself doing the math of subtracting the years since a film’s release from the actor’s current age and Casey has forever saved me from that hassle.</p>

<p><strong>Casey:</strong> The thing I’m most proud of is the spoiler avoidance tools for TV shows. A eureka moment was remembering I had the secret identity of one of the characters in the Watchmen miniseries spoiled by IMDb back in 2019. I’m still grumpy about it 😆. So, in Callsheet, you can opt to have several things redacted, such as character names, how many episodes of a show they’ve been in, episode titles, episode thumbnails, etc.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-06/callsheet-spoiler-controls%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=iwggurIuN3wP1wmSRQsxDMxDgpfVZbs1g4i6UM1LPV4&amp;expires=1777041455" alt="An image showing screenshots from the Callsheet app for its spoiler controls, and a detail view with obfuscated spoilers." width="1200">    </div>  </div>
</div>

<p>It’s a little rickety for reasons beyond my control, but I also love the integration with <a href="https://plex.tv/">Plex</a> and <a href="https://getchannels.com/">Channels</a>. If you’re playing something in one of those apps on a nearby Apple TV, whatever you’re watching will be at the top of the main Callsheet screen, ready for you to drill into.</p>

<p>I still giggle a bit whenever I see an actor’s height. Not all of them have that information available, but I think it’s funny — and useful! A friend of mine has a bit of a preoccupation with this, and I thought, “I wonder if I could add this to Callsheet”. Turns out it wasn’t too hard.</p>

<p>It’s stuff like this that I think makes all indie software so fun — I doubt you’ll see an actor’s height front-and-center on IMDb, but I can make the choice to do it in Callsheet, and have nobody to stop me.</p>

<blockquote>
  <p>Stuff like this makes indie software so fun — I doubt you’ll see an actor’s height front-and-center on IMDb, but I can do it in Callsheet and have nobody to stop me.</p>
</blockquote>

<h2 id="its-clear-callsheet-aims-to-be-a-good-citizen-of-its-platforms-did-that-hold-you-back-at-all-or-present-any-problems-or-did-it-make-things-easier-for-you-during-its-development">It’s clear Callsheet aims to be a good citizen of its platforms. Did that hold you back at all or present any problems? Or did it make things easier for you during its development?</h2>

<p><strong>Casey:</strong> Yes (to all of the above)! I’m not great at doing anything UI-related. That’s why Ben’s help has been so immensely valuable to me — they’re exceedingly good at it. That said, my approach to Callsheet is native ✨ with flair ✨. This is pretty easy to achieve using SwiftUI, but quite a bit harder using UIKit (which dates back to iPhoneOS 2.0).</p>

<p>The thing with SwiftUI is that it makes a lot of things that were once somewhat difficult or non-intuitive quite a bit easier. The thing with SwiftUI is <em>also</em> that some things you’d never expect to be challenging are all-but-impossible. The bottom-mounted search bar is one of these things. It’s not the native component, which bums me out, but I’m happy with where it ended up. Hopefully, with time, we’ll get some new APIs from Apple that make what I want to do possible.</p>

<h2 id="were-there-any-parts-of-the-ui-that-you-had-to-iterate-a-lot-on-to-get-right">Were there any parts of the UI that you had to iterate a lot on to get right?</h2>

<p><strong>Casey:</strong> The first thing that jumps to mind is the visionOS version of Callsheet. In November of 2023, I went to a lab that Apple held in New York so I could try the app on real hardware. It quickly became obvious that I had <em>a lot</em> of work to do. I noodled on it off-and-on between then and when my own Vision Pro arrived in February. I then spent quite a long time going back and forth between different designs for Callsheet on visionOS, trying to get it to feel appropriate and native.</p>


  <iframe src="https://space-sktch.video-dns.com/p3NFaU7aF0/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>It was very much one of those times where you just had to keep throwing spaghetti at the wall to see what stuck. Luckily, I didn’t need to do massive changes — for the most part — but it took me quite a bit longer than I would have liked to get the slightly refined design language just right.</p>

<h2 id="callsheets-app-icon-has-some-fun-easter-eggs-in-it-whats-the-story-behind-those">Callsheet’s app icon has some fun easter eggs in it, what’s the story behind those?</h2>

<p><strong>Casey:</strong> The original icon <a href="https://jellystyle.com/2024/06/callsheet-icon">was made by my buddy Jelly</a>. I had mocked up something truly, utterly terrible. The idea was a magnifying glass in front of a clapperboard. Jelly took my piss-poor lowercase-s sketch of it, and made it pretty.</p>

<p>The text originally showed the title of <a href="callsheet://open/movie/1669"><em>The Hunt for Red October</em></a>, which is one of my all-time favorite movies. The date was the release date, though Jelly is Australian, so I believe it was the Australian release date.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2024-06/callsheet-icons%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=VRZBuodDAmTG6qT9KKG-NWN5GSvCCYwC6FK5UTa7A24&amp;expires=1777041455" alt="An image showing a Sketch window with the Callsheet icon document open." width="1200">    </div>  </div>
</div>

<p>Since that time we’ve changed it to the more-generic “The Search for Blue December”, which was my suggestion, and it should be obvious where it came from. However, “Kay Celis” was 100% Jelly, and I still laugh every time I see it (say it out loud and you’ll hopefully get the joke).</p>

<p>The alternatives were done by another friend of mine, <a href="https://stegrainer.com/">Ste</a>. Those were all him, and I had virtually no input in them. But I love all of them!</p>

<h2 id="how-did-sketch-play-a-role-in-the-design-of-callsheet-are-there-any-particular-features-or-workflows-you-found-useful">How did Sketch play a role in the design of Callsheet? Are there any particular features or workflows you found useful?</h2>

<p><strong>Ben:</strong> Most of the design work I’ve done for Casey has been more notes and suggestions than a strict design for him to follow, and Sketch makes it incredibly easy to get those ideas across. One of my favorite features is Apple’s own UI Libraries. They really help with both getting ideas out quickly, but also save you having to double check the exact shade of gray, or the corner radius of a segmented control.</p>

<h2 id="are-there-any-other-notable-projects-youve-made-with-sketch-you-can-tell-us-about">Are there any other notable projects you’ve made with Sketch you can tell us about?</h2>

<p><strong>Ben:</strong> I’ve used Sketch for years, I think since it launched. It really fits with the way I think. I studied graphic design in college and the importance of experimentation and iteration was really drilled into us. Sketch lets me rapidly copy or option-drag to duplicate artboards and try out variations on a design.</p>

<p>I’ve used Sketch for pretty much every digital design project since it arrived. From my own apps  <a href="https://benricemccarthy.com/obscura/index.html">Obscura</a> and <a href="https://benricemccarthy.com/ketchup/index.html">Ketchup</a>, to <a href="https://benricemccarthy.com/consulting/index.html">work for clients</a>, web design, or even just to quickly mockup something to share online.</p>

<hr>

<p>Callsheet is available for iPhone, iPad and Vision Pro <a href="https://apps.apple.com/us/app/callsheet-find-cast-crew/id1672356376?platform=iphone">from the App Store</a>, where you’ll also find Ben’s apps — <a href="https://apps.apple.com/app/apple-store/id1579306989?pt=96658924&amp;ct=benricemccarthy&amp;mt=8">Obscura</a> and <a href="https://apps.apple.com/app/apple-store/id6477297968?pt=96658924&amp;ct=Personal&amp;mt=8">Ketchup</a>.</p>

<p>Have you created something awesome in Sketch? We’d love to hear about it! Tell us about it in our <a href="https://discord.gg/ascPpfDSSV">community</a>.</p>


          <ul>
            <li><a href="https://www.caseyliss.com/2023/8/7/callsheet">Read more about Callsheet on Casey’s blog</a></li><li><a href="https://www.benricemccarthy.com/">Find out more about Ben’s apps</a></li><li><a href="https://jellystyle.com/2024/06/callsheet-icon">Read Jelly’s blog post on designing the Callsheet icon in Sketch</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/version-100/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/version-100/"/>
    <title><![CDATA[Sketch 100: More than just a number]]></title>
    <summary><![CDATA[Our milestone release includes a big prototyping update, a redesigned web app, better prototype sharing and two new workflow-boosting tools.]]></summary><published>2024-05-07T05:00:00+00:00</published>
    <updated>2024-05-07T09:15:00+00:00</updated>
    <category term="latest-features"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2024-05/sketch-100%402x.png?width=600&amp;token=gHYhrdE6YBsPy3x-rFJcmstZ8egYPd4wsI2zsCfWHmU&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Freddie Harrison</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2024-05/sketch-100%402x.png?width=1200&amp;token=HOzZ_StchDaeUt_AE0w2S6WBSB7Jl762yS9PNjILwDM&amp;expires=1777041455" alt="A illustration with the number 100 in the centre, surrounded by abstract depictions of various parts of Sketch’s Mac app UI" width="1200" height="675">
      <p class="large">Version 100 of Sketch is here. It’s a milestone release for us and it’s full of features you’ve been asking for — a thank you, from us to you, for helping us make it this far.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    <strong>Prefer a TL;DR?</strong> <a href="https://youtu.be/HZeIhiNbSMg">Watch this video</a> for every update in under three minutes.


  </div>
</div>

<p class="large">There’s a lot to get through here, so let’s kick things off with what’s new in prototyping.</p>

<hr>

<h2 id="two-new-ways-to-prototype">Two new ways to prototype</h2>

<p>Our goal with prototyping has always been to make it simple and fast. We don’t want endless options to distract from trying out ideas and iterating quickly. That said, we’ve known for a while there was more you wanted from prototyping and equally more we could offer.</p>

<p>Over the the last few years, we’ve made a number of prototyping updates — from smaller <a href="/releases/mac/#version-84">quality-of-life improvements</a>, to big new features <a href="/blog/new-in-sketch-90/">like Overlays</a>. With this update we’re adding a few more, all without compromising on speed or simplicity.</p>

<h3 id="horizontal-vertical-and-multi-directional-scrolling">Horizontal, vertical and multi-directional scrolling</h3>


  <iframe src="https://space-sktch.video-dns.com/zSf52VfsLv/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>We’ve had vertical scrolling in prototypes since day one, but now you can <a href="/docs/prototyping/creating-scrolling-effects/">make anything in your prototype scroll in any direction</a>.</p>

<p>Setting up scrolling areas is simple; select the content you want to scroll and hit <strong>Make Scrollable</strong> under the Prototype tab in the Inspector. We’ll group your content (if it isn’t already) and add a clipping mask, along with some new handles to control the scrollable area.</p>

<p>Our recommendation is to make a Symbol for your content, insert an instance of it and make that scrollable. That way you see and edit all the content (including any hidden by the clipping mask), and easily add padding.</p>

<p>Whether you’re mocking up a row of cards, an interactive map, or pretty much anything else that needs to scroll, you can now test these out in a working prototype.</p>

<h3 id="hover-press-and-toggle-triggers">Hover, press and toggle triggers</h3>


  <iframe src="https://space-sktch.video-dns.com/HerHlfuoLc/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<p>Up until now, there was a single way to trigger interactions in prototypes — on click. With this update, we’re adding two more triggers; on hover and on press.</p>

<p>These new triggers work hand-in-hand with another new prototyping option — <a href="/docs/prototyping/customizing-layer-visibility/">custom layer visibility</a>. For example, you can now set a layer to be hidden by default when you a play a prototype, and have it only appear when someone hovers over it.</p>

<p>There’s also a third new option — toggling a layer’s visibility on click. This one is especially handy for creating interactive UI like checkboxes or toggle switches. You can even toggle the visibility of overlays.</p>

<p>Together, these new ways of interacting with prototypes open up a whole world of opportunities as you test out your designs.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    <strong>Learn more:</strong> If you want to get acquainted with these prototyping updates, check out this <a href="/s/9f020cf4-1d9a-4f17-a87a-42d86162e57b">interactive tutorial document</a> in Sketch.


  </div>
</div>

<p>These features are all possible because of the work we’ve done over the last year to rewrite our prototype player. Rather than relying on HTML to display static images, it now uses WebGL and Skia, giving us a lot more flexibility in what we can do and show.</p>

<p>This new prototype player runs across the Mac app, the iOS app, and the web app, where we also have a few updates to share…</p>

<hr>

<h2 id="a-fresher-focused-web-app">A fresher, focused web app</h2>

<p>Alongside the prototyping updates in the Mac app, we’ve given the web app a redesign. We’ve removed the static sidebars and replaced them with collapsible panels — making more room for the full-fidelity, infinite Canvas that now extends to every corner of your browser window. This change isn’t just about making more space for your designs, though, it also helps to highlight two common actions — commenting and inspecting. Let’s dive into those.</p>

<h3 id="inspect-on-the-canvas-in-any-browser">Inspect on the Canvas, in any browser</h3>


  <iframe src="https://space-sktch.video-dns.com/tv5D89PS7c/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>We launched our first handoff tools back in 2020, allowing developers to inspect designs, for free, in any web browser. However, these tools were tricky to find and required you to drill down into individual Artboards to open the Inspector. It’s time to change that!</p>

<p>Now, you can <a href="/docs/developer-handoff/">inspect designs in the full Canvas view</a>. When you’re viewing a document, simply hit <kbd>I</kbd> (or click on the Inspect <img src="/images/icons/web/monochrome/24x24/code.block.svg" alt="code.block" width="1200"> icon), select anything on the Canvas, and grab what you need.</p>

<p>Inspecting documents with a full view of everything on the Canvas means you can compare layers across Artboards and get a full picture of a flow during the handoff process.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    <strong>In case you missed it:</strong> Our browser-based handoff tools are completely free for developers — no Mac app required!


  </div>
</div>

<h3 id="add-comments-to-prototypes">Add comments to prototypes</h3>


  <iframe src="https://space-sktch.video-dns.com/biz4LD296b/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>The new Canvas view also makes it easier to keep track of conversations and contribute with your own comments. Hit <kbd>N</kbd> to add a comment anywhere on the Canvas, select an existing marker to view a conversation, or hit <kbd>C</kbd> to see a panel with every comment in the document.</p>

<p>Better still, you can now <a href="/docs/prototyping/sharing-prototypes/#commenting-on-prototypes">add comments while you’re playing a prototype</a> — simply click on the Comments <img src="/images/icons/web/monochrome/24x24/chat.bubbles.svg" alt="chat.bubbles" width="1200"> icon to see any existing comments and add your own. It’s a great way to give feedback on how specific flows feel, without switching back to the design and losing your place in the prototype.</p>

<h3 id="a-client-friendly-prototype-view">A client-friendly prototype view</h3>


  <iframe src="https://space-sktch.video-dns.com/EWtMXme8Dj/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<p>Along with commenting, we’ve added <a href="/docs/prototyping/sharing-prototypes/#how-to-share-prototypes">a new way to share prototypes</a> that hides the web app’s UI and links back to the design file. It’s ideal for sharing with clients and puts the focus firmly on the prototype itself.</p>

<p>Together with the new prototyping features, we think these updates make for a more feature-rich experience. They’re especially useful if you’re <a href="https://cdn.sketch.com/downloads/a-guide-from-switching-from-invision-to-sketch.pdf">moving over from InVision</a>.</p>

<hr>

<h2 id="new-features-to-make-your-workflow-faster">New features to make your workflow faster</h2>

<p>Back in the Mac app, we’ve got two more new features in this release we hope you’ll love — the Command Bar and Minimap.</p>


  <iframe src="https://space-sktch.video-dns.com/W5bYDM6NrC/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<h3 id="command-bar">Command Bar</h3>

<p>You can now hit <kbd>⌘</kbd><kbd>K</kbd> in any document and use the Command Bar to find and run actions in Sketch. The Command Bar will show any action you’d normally find in the menu bar or activate with a shortcut (including any that come from plugins). It also includes Inspector fields like Artboard orientation.</p>

<p>We built the Command Bar for speed, so over time it will prioritize search results based on the commands you use most often. Chances are you’ve used one of these in other apps before, but if not, it’s the kind of thing that you’ll soon wonder how you ever lived without.</p>

<h3 id="minimap">Minimap</h3>

<p>This release also introduces a Minimap to make it easier and faster to navigate large documents. The Minimap appears whenever you have layers on your page outside your current view — whether that’s because you’re zoomed in or simply have a lot of Artboards. It gives you a preview of the whole Canvas and shows you exactly where you are.</p>

<p>You can click-and-drag on the Minimap to move around the Canvas. You’ll also see the names of Artboards as you hover over them to make it even easier to find what you need. Just like the Command Bar, this is one of those features that fits into your workflow like it’s always been there.</p>

<hr>

<h2 id="more-small-but-mighty-updates">More small-but-mighty updates</h2>

<p>We’ve still got a few more updates to share with you. So grab another drink, make yourself comfortable and we’ll take you through a handful of smaller, but no less important, new features.</p>

<h3 id="permissions-groups-and-archiving-business-plan-only">Permissions groups and archiving (Business plan only)</h3>

<p>If you’re on our <a href="/support/subscriptions/plans/business/">Business plan</a>, chances are you have a pretty busy Workspace. To make things easier, you can now <a href="/docs/sharing-and-collaborating/document-permissions/#creating-and-managing-permissions-groups-business-plan">create permissions groups</a> to add multiple Members at once to a document or project. Additionally, you can now archive projects to hide work that’s no longer in-flight.</p>

<h3 id="pin-documents-and-projects">Pin documents and projects</h3>

<p>You can now <a href="/docs/getting-started/saving-and-managing-documents/#pinning-documents">pin your most important documents and projects</a> anywhere you use Sketch. When you pin a project, it appears at the top of the projects list. Pinned documents appear at the start of the documents grid. Pinned items are for what matters to you personally, so nobody else will see what you pin.</p>

<h3 id="a-new-web-app-notifications-view">A new web app notifications view</h3>

<p>In the web app, we’ve given the notifications view a facelift. It makes better use of the space in your browser window, so you can see more of each notification. There are also new options to <a href="/docs/sharing-and-collaborating/using-your-workspace/managing-updates-and-notifications/#searching-and-filtering-updates">search and filter your notifications</a>, and a clearer distinction between what you’ve read and what’s new.</p>

<h3 id="new-design-token-exports">New design token exports</h3>

<p>As well as making inspecting in the web app easier, we’ve improved developer handoff further with <a href="/docs/developer-handoff/#design-token-exports">new design token exports</a>. Now, alongside the existing Color Tokens you can grab tokens for Layer Styles and Text Styles, too.</p>

<h3 id="a-new-home-for-tutorials-guides-and-templates">A new home for tutorials, guides and templates</h3>

<p>If you’re looking for tutorials, guides and templates, you’ll find them all in Discover. You’ll find Discover in both in the sidebar of the web app and — for the first time — in the Workspace window’s sidebar in the Mac app. <a href="/docs/sharing-and-collaborating/using-your-workspace/discover/#how-to-access-discover">We’ve given Discover a refresh</a> and will be updating it regularly to help you make the most of Sketch.</p>

<hr>

<p>So, that’s version 100. A milestone release for us — and one we could not have reached without your support. Thank you! We hope you enjoy this one, and all the new possibilities these features open up for you.</p>

<p>As ever, if you need any help making the most of what’s new or have feedback us, we’ll be over in the <a href="https://discord.gg/ascPpfDSSV">community</a>.</p>


          <ul>
            <li><a href="https://www.sketch.com/releases/mac/#version-100">Read the full Mac release notes</a></li><li><a href="sketch://update">Open the Mac app to update</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/aeon-studio/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/aeon-studio/"/>
    <title><![CDATA[Aeon Studio: using Sketch to delight clients through design]]></title>
    <summary><![CDATA[Meet Aeon Studio, an award-winning design studio in Croatia. Discover what their creative process looks like, and how Sketch helps them achieve high quality in every project.]]></summary><published>2024-04-02T08:00:00+00:00</published>
    <updated>2024-04-02T12:30:00+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/aeon-studio-header-1.png?width=600&amp;token=RXrBkmQ09Fqey8T3LkMmS0MnqonV3qyrhOBlFBbJd20&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Ale Cubero</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/aeon-studio-header-1.png?width=1200&amp;token=Q0PZ47dMjhI5BXC8SS4hU76y23fE6kziKNdstp98p-M&amp;expires=1777041455" alt="" width="1200" height="675">
      <p>We sat down with the team at <a href="https://www.instagram.com/aeonstudio.design/">Aeon Studio</a>, a Croatian design studio, to find out the ins and outs of a design agency, the challenges in their design process, and how to manage client expectations. They talk us through how they use Sketch to deliver high-quality designs to their clients and how it supports them throughout their creative process, from start to finish.</p>

<h3 id="can-you-tell-us-a-little-about-aeon-studio">Can you tell us a little about Aeon Studio?</h3>

<p>We’re a team of five people working together for over five years but collaborate with over 20 talented professionals worldwide. Our CEO, Dejan Ilić, began his career at 19 and within a year, he crafted an award-winning design for one of Croatia’s largest bus companies. We’ve deliberately kept our in-house team small, maintaining modest offices and investing in top-notch creative talent — this choice ensures that we can deliver high-quality work to our clients.</p>

<h3 id="what-do-you-think-makes-clients-choose-aeon-studio-over-other-design-studios">What do you think makes clients choose Aeon Studio over other design studios?</h3>

<p>Most of our clients come to Aeon Studio through recommendations from people who have already worked with us. When we work with clients, they become our world, our everything. There’s no nonsense, just hard work and results. We engage in meaningful conversations, ask questions and try to understand their needs thoroughly, so we can do our job as well as we can.</p>

<p>Some clients have a very clear idea of what design, product or change in their business they want to see. However, our best results come from challenging projects that allow us to work hand in hand with a client that’s usually lost or unsure. Witnessing their transformation and seeing how our work brings smiles to their faces is the most rewarding achievement for us.</p>

<h3 id="what-does-your-design-process-look-like">What does your design process look like?</h3>

<p>Our design process revolves around the needs of each project and relies on the team’s diverse expertise to brainstorm, conceptualize, and create refined designs. When approaching a new project, we first conduct in-depth research and focus on understanding the core values and aspirations of our clients, their brand identity, target audience, and market positioning. This groundwork is the foundation of our creative strategy.</p>

<h3 id="what-does-great-design-mean-to-you">What does great design mean to you?</h3>

<p>In our view, great design is a combination of aesthetics, functionality, and emotional resonance. It’s not just about creating visually appealing artwork but also about solving problems, enhancing user experiences, and creating emotional connections. Of course, we also believe that whatever we’re designing, especially if we’re talking interfaces, should be intuitive and user-friendly, and deliver an enjoyable experience.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/aeon-screenshot-2.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=jGILo09--Vbim-SVZEfhfnC8pOLTIAhFxDlabuClH80&amp;expires=1777041455" alt="An image showing an illustration, created by Aeon Studio" width="1200">    </div>  </div>
</div>

<h3 id="what-are-some-of-the-most-frequent-challenges-you-encounter-throughout-the-design-process-and-how-do-you-overcome-them">What are some of the most frequent challenges you encounter throughout the design process and how do you overcome them?</h3>

<p>One common challenge is finding a balance between creativity and practicality. Clients often come to us with ambitious creative visions but these don’t work when put into practice or don’t respond to market demands. We solve this with lots of collaborative sessions with them where we try to find the balance between creativity and feasibility in the solutions that we come up with.</p>

<p>Managing client expectations and feedback can also be tricky. To navigate this, we set realistic expectations from the outset, outlining project timelines, deliverables, and potential revisions. We schedule regular client check-ins and feedback sessions to resolve problems as soon as possible and make adjustments.</p>

<p>Staying up-to-date with design trends and technologies is another big challenge for us — things are happening fast. That’s why we set some time aside to participate in conferences and engage in forums within the industry.</p>

<h3 id="how-does-sketch-help-you-bring-these-projects-to-life-and-achieve-such-quality-in-them">How does Sketch help you bring these projects to life and achieve such quality in them?</h3>

<p>Sketch has been key to the quality of our projects from start to finish, helping us make our creative visions tangible and real. Because Sketch is so versatile, we’ve been able to work on a wide range of projects, from intricate branding concepts to app interfaces.</p>

<p>We integrate Sketch right from the beginning. As soon as we conceptualize a project, we jump into Sketch to draft out our ideas, create wireframes, and develop the initial design concepts. Sketch gives us tools that help us explore and iterate quickly, as well as others to help us craft intricate designs to ensure every element is pixel-perfect (we love vector editing 💖). Whether we’re refining logos, creating detailed illustrations, or designing user interfaces, Sketch gives us everything we need to achieve a level of quality that truly stands out.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/aeon-work1.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=dXxmWTpUH-MwuPni8jkOhR-SeIdCt3-Ln0bG5Iy_bQw&amp;expires=1777041455" alt="An image showing a label design, created by Aeon Studio" width="1200">    </div>  </div>
</div>

<h3 id="you-mentioned-youve-been-encouraged-to-use-other-tools-like-figma-but-what-keeps-you-coming-back-to-sketch">You mentioned you’ve been encouraged to use other tools like Figma but what keeps you coming back to Sketch?</h3>

<p>Yes, we’ve explored other design tools in the market, including Figma. However, there are a few things about Sketch that keep us coming back. To start with, its user interface and workflow are incredibly intuitive and user-friendly. We love how its simple UI helps us focus on the creative aspects of our projects rather than getting bogged down by complex menus and features.</p>

<p>We’re also big fans of working offline — uninterrupted productivity is something we truly value. While cloud-based collaboration is great, having the option to work seamlessly without an Internet connection gives us the flexibility to work from anywhere. Being able to do this in Sketch fits right with the way we work.</p>

<p>Last but not least, having worked with Sketch for so many years, we’ve developed a deep understanding of the tool and learnt how to take it to its full potential to make us more efficient and precise in our daily work. At this point, Sketch is not just a design software for us, it’s a creative partner that helps us bring our visions to life.</p>

<blockquote>
  <p>Sketch is not just a design software for us, it’s a creative partner that helps us bring our visions to life.</p>
</blockquote>

<h3 id="could-you-run-us-through-one-of-your-favorite-projects-so-far">Could you run us through one of your favorite projects so far?</h3>

<p>That’s a hard question — they’re all special. But here’s one that stands out.</p>

<p>A small family-owned winery and distillery asked us to design their labels. The labels began as detailed hand-drawn illustrations that captured the essence of the family’s heritage and the unique character of their wines and liquors. We then refined them in Sketch, which helped us experiment with different label shapes, sizes, and textures, ensuring that each bottle became a storytelling canvas. The labels, transformed from hand-drawn sketches to digital illustrations with Sketch, not only reflected the family’s legacy but also wine and liquor enthusiasts loved it, turning their products into collector’s items.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/aeon-screenshot-1.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=1fI1QmlH5RXFWQ7HwWT5Jim5CshOEAr4b47bmADR_ro&amp;expires=1777041455" alt="An image showing wine labels in Sketch by Aeon Studio" width="1200">    </div>  </div>
</div>

<h3 id="are-there-any-specific-sketch-features-that-designers-at-aeon-studio-enjoy-using-or-are-particularly-helpful">Are there any specific Sketch features that designers at Aeon Studio enjoy using or are particularly helpful?</h3>

<p>Each designer in the team has their favorites, but there are a few popular ones across the whole team. If we had to choose, it’d be <a href="/docs/symbols-and-styles/">Components</a>. They’re especially helpful when working on complex projects with hundreds of layers, as they help us stay organized and ensure a structured and consistent approach to our designs. We also love the ability to <a href="/docs/symbols-and-styles/styling/fills/#copying-and-pasting-styles">copy and paste Styles</a> — it has stood the test of time and remains an essential part of our toolkit that helps us keep consistent styling across various elements without the need for manual adjustments.</p>

<h3 id="overall-what-do-you-enjoy-the-most-about-working-at-aeon-studio-and-could-you-share-with-us-whats-next-for-you">Overall, what do you enjoy the most about working at Aeon Studio? And, could you share with us what’s next for you?</h3>

<p>Without a doubt, how passionate we all feel about the work we do. The energy in the studio is contagious and makes every project feel like an adventure. As for what’s next, we’re currently excited to be working on a project with a big client (can’t say much just yet, sorry 🤫) and we’re also participating in different design competitions.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/aeon-work3.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=k-e727vNtZ4Ek8k7D_Y-sbcUOE6edSmWmPSMu5nyyg8&amp;expires=1777041455" alt="An image showing wine labels in Sketch by Aeon Studio" width="1200">    </div>  </div>
</div>

<hr>

<p>We love seeing how people and teams are using Sketch to create amazing products. If you have something you want to share with us, let us know in our <a href="https://discord.gg/ascPpfDSSV">community</a>!</p>


          <ul>
            <li><a href="https://www.instagram.com/aeonstudio.design/">Find out more about Aeon Studio</a></li><li><a href="https://www.sketch.com/blog/made-with-sketch/">Read more #MadeWithSketch stories</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/tripsy/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/tripsy/"/>
    <title><![CDATA[How Tripsy is building the perfect travel companion ]]></title>
    <summary><![CDATA[Learn how the duo behind Tripsy uses Sketch to make travel planning an easy ride]]></summary><published>2024-02-29T13:33:02+00:00</published>
    <updated>2024-02-29T18:18:02+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/tripsy-header.png?width=600&amp;token=MhQi2U8RHlR4RK6QpaF6Z5H-ZiwHM8UeDHW7AXwu-kQ&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Ale Cubero</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/tripsy-header.png?width=1200&amp;token=yMuSrDrt0Fc_AS_rxsp2Qle82Gnn92yqqJ2Pm8d8FK0&amp;expires=1777041455" alt="" width="1200" height="675">
      <p class="large">Planning is key to making the most of a trip — but there are many moving parts and it can sometimes feel overwhelming. As they traveled around the world, Tripsy founders <a href="https://x.com/thiagosanchz">Thiago</a> and <a href="https://rafaelks.com/">Rafael</a> saw an opportunity to build an app that made planning and organizing trips easier and more enjoyable.</p>

<p>At <a href="https://tripsy.app/">Tripsy</a> they’ve thought of every single detail: from keeping all your information at hand, to real-time flight updates, calendar syncing or itinerary planning — to mention just a few.</p>

<p>We chatted with Thiago Sanchez, Tripsy’s co-founder and designer, about the app’s beginnings, their approach to design and how Sketch helps them along the way.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/tripsy-sketch7.jpg?width=1920&amp;quality=95&amp;sharpen=1&amp;token=Qup0nTtWIfcnRUbD0zs-o2Ev7oFzz8JannQ7sHsXGmk&amp;expires=1777041455" alt="A screenshot of the iPad and iPhone versions of Tripsy" width="1200">    </div>  </div>
</div>

<h3 id="can-you-tell-us-a-little-about-yourself-and-your-career">Can you tell us a little about yourself and your career?</h3>

<p>As strange as it may seem, I became interested in interface design shortly before I finished my studies. I got my degree in industrial design in 2009, during which I learned how to create physical products such as chairs, watches, and cars. However, as I researched ergonomics and user-centered design for electronic devices, I became increasingly interested in user interfaces. My introduction to the first iPhone in 2007 completely transformed my career path. Since then, I’ve had the privilege of working with clients around the world to create applications and icons for different industries.</p>

<p>Although I work with digital products and mobile apps, I always seek inspiration from different sources, such as architecture. Human behavior is intricate, and I often face challenges that are not limited to the digital realm.</p>

<h3 id="what-inspired-the-idea-and-concept-behind-tripsy-and-how-did-it-evolve-over-time">What inspired the idea and concept behind Tripsy and how did it evolve over time?</h3>

<p>My business partner and I used to work together as freelancers for many companies, and we shared a common interest in traveling and exploring new places worldwide. As we traveled a lot, we wanted a sophisticated and efficient way to plan and manage our travels.</p>

<p>During a call in 2018, he pitched the idea of creating an app for organizing trips. At the same time, I was planning a big trip to Europe, which I shared with him. After discussing our ideas, we decided to combine our knowledge and work together on developing an app for organizing trips. Since then, Tripsy has expanded and is now available in 9 languages worldwide.</p>

<h3 id="what-are-some-of-the-challenges-that-tripsy-aims-to-solve">What are some of the challenges that Tripsy aims to solve?</h3>

<p>There are several ways to travel — some travel on vacation, others for business. Sometimes, a trip is a honeymoon, but other times, it can be exploring an entire country. We had always envisioned creating a scalable application for trips of varying sizes and complexities, with diverse activities suitable for solo travelers, couples, or large groups.</p>

<p>We aim to provide users with helpful tools to enhance their travel experience. As soon as an activity is added to the itinerary, Tripsy begins to predict and organize important information such as changes in time zones, weather forecasts, and flight time connections.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/tripsy-sketch6.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=OQanqiFMv8_mCxiCZbw5SuvBlDlLMpNEb72mnhTYUh0&amp;expires=1777041455" alt="A screenshot of multiple widget designs in Sketch" width="1200">    </div>  </div>
</div>

<h3 id="could-you-share-some-of-the-key-milestones-in-tripsys-journey-from-the-apps-beginnings-to-its-current-state">Could you share some of the key milestones in Tripsy’s journey from the app’s beginnings to its current state?</h3>

<p>Tripsy is celebrating its fifth anniversary, and we’re thrilled to say that version two is something that we’re extremely proud of. In this version, we designed the app’s navigation structure as it stands today, as well as our current app icon. Additionally, we added one of the most popular features: automation.</p>

<p>With a single flight reservation, we can automatically create a trip, add activities, organize an itinerary with round-trip flights, show weather conditions, attach reservations to the documents section, and let the user know if there are any flight changes. All of this just by forwarding a single email!</p>

<h3 id="what-does-design-mean-for-tripsy">What does design mean for Tripsy?</h3>

<p>It sounds obvious, but it means making it simple and easy to use. For us, design is also about deeply examining the problem at hand. We aim to develop a tool that is simple and easy to use for all types of travelers. We want to ensure people can use it easily and understand it without confusion. That’s why we value design guidelines and strictly follow the HIG for Apple devices — we know it’ll help us achieve our goal.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/tripsy-sketch4.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=3sdec8GtA2ZmEMwErEQ07sxYnrgvAj7FirPaCyUTzz4&amp;expires=1777041455" alt="A screenshot of Tripsy’s Symbol page" width="1200">    </div>  </div>
</div>

<h3 id="tell-us-about-the-process-of-designing-tripsy-in-sketch-are-there-any-particular-features-that-have-helped-make-your-workflow-easier">Tell us about the process of designing Tripsy in Sketch. Are there any particular features that have helped make your workflow easier?</h3>

<p>I want to start with the basics. Sketch is a native application on Mac, which is the most important thing in my workflow. I used to use a lot of shortcuts, and I have no words to explain how easy it is to use the <a href="/docs/designing/vector-editing/">vector tool</a>, especially when I need to <a href="https://dribbble.com/shots/20989939-Tripsy-2-15-New-Icons">explore different app icon versions</a>. Customizing my toolbar streamlines my workflow a lot, which is something that as a solo designer at Tripsy, helps me optimize my time.</p>

<p>Our library of Symbols is quite extensive and we also have some customized Components. Personally, I find that having a section dedicated only to our Symbols is very helpful. I simply type the letter <kbd>C</kbd> in the Mac app to open the <a href="/docs/interface-and-settings/the-mac-app-interface/the-command-bar/">Insert Window</a> and have instant access to all of them. This feature greatly simplifies my work process.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/tripsy-sketch3.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=xzt-m7o-9h6xsjbRAZibtwrLXPzYflItSbpsVlSzs2A&amp;expires=1777041455" alt="A screenshot of Tripsy inside Sketch" width="1200">    </div>  </div>
</div>

<h3 id="is-there-anything-you-built-in-sketch-that-youre-particularly-proud-of">Is there anything you built in Sketch that you’re particularly proud of?</h3>

<p>I designed Tripsy entirely using Sketch. But working on the application icons was one of my favorite parts of the process, and I am very proud of the result. Sketch was the perfect tool for this task, and I can’t imagine using any other tool for it.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/tripsy-sketch5.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=jAkVhczg9KvfLJp2X0nl96GYptzh30aJokiE03Z0eUo&amp;expires=1777041455" alt="A screenshot showing different Tripsy’s app icons" width="1200">    </div>  </div>
</div>

<h3 id="what-keeps-you-coming-back-to-sketch-over-the-years">What keeps you coming back to Sketch over the years?</h3>

<p>I have been following Sketch since its first version. I remember when I was working on a project with my friend <a href="https://twitter.com/raphaellopesph">Raphael Lopes</a>, he received a beta version from <a href="https://twitter.com/MarceloMarfil">Marcelo Marfil</a>. As soon as I saw it, I realized its potential. We used Photoshop to create interfaces at the time, which seems crazy now. Since then, I’ve noticed the affection and dedication put into building Sketch. I can see the attention given to every detail and feature. Sketch has become my go-to design tool, and I am constantly amazed by its progress and advancements. Using Sketch feels intuitive, and I’m always eager to see new releases.</p>

<blockquote>
  <p>Sketch has become my go-to design tool, and I am constantly amazed by its progress and advancements.</p>
</blockquote>

<h3 id="could-you-share-with-us-whats-next-for-tripsy">Could you share with us what’s next for Tripsy?</h3>

<p>We are currently developing version three — it’s been challenging and we’re excited to share more information about it soon. Apart from enhancing the app’s navigation experience, we’re also creating tools to assist our users better during their travels.</p>

<hr>

<p>Have you created something awesome in Sketch? We’re always on the lookout for projects! Let us know in our <a href="https://discord.gg/ascPpfDSSV">community</a>.</p>


          <ul>
            <li><a href="https://apps.apple.com/us/app/tripsy-travel-planner/id1429967544">Download Tripsy</a></li><li><a href="https://www.sketch.com/blog/made-with-sketch/">Discover what else people have #MadeWithSketch</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/meet-the-maker-andrey-prokopenko/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/meet-the-maker-andrey-prokopenko/"/>
    <title><![CDATA[Meet the Maker: Andrey Prokopenko]]></title>
    <summary><![CDATA[“I would advise you to start with a sketch, form a general composition, and then layer by layer add elements and little things that will fill the illustration.”]]></summary><published>2024-02-08T09:30:08+00:00</published>
    <updated>2024-02-08T14:30:08+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/meet-the-maker-andrey-prokopenko-header%40x2.png?width=600&amp;token=nz7Ew3MvmHk1vrSOedJFXr5csX68LPrvxgFjVIeHtew&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Andrey P. </name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/meet-the-maker-andrey-prokopenko-header%40x2.png?width=1200&amp;token=yMSQ4NUHuQe6quLRgoV0xWnrXVVpdr_XvNotVPlCgEo&amp;expires=1777041455" alt="" width="1200" height="675">
      <p class="large">The Meet the Maker series is all about getting in touch with designers who squeeze every bit of power from our beloved Mac app. Today we’re chatting to Andrey Prokopenko, a freelance designer and illustrator from Kiev.</p>

<h2 id="how-did-you-get-started-using-sketch">How did you get started using Sketch?</h2>

<p>I first started working in Sketch in the summer of 2016 and fell in love with the app almost immediately. At first, I used Sketch only in the office at work, and at home I worked in Photoshop. But over time, Sketch has become my main tool — I do all my work in it.</p>

<h2 id="what-inspired-you-to-create-the-work-youre-sharing-with-us">What inspired you to create the work you’re sharing with us?</h2>

<p>I was lucky to live in those times (2015) when Dribbble was a platform for an elite community of designers where participants demonstrated high skill and innovation. I was inspired by the work of really incredible designers and illustrators, copied styles and wanted to ultimately create something of my own that would inspire others.</p>

<p>This motivated and forced me to work harder to not fall behind, and also to offer something to this community and the world. That‘s how the series of Inspirational Illustrations was born.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/andrey-forest.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=mnzzsNzj5SZUlGqnAtT_dio6uI8O52xZSw4uIK90uC0&amp;expires=1777041455" alt="An image showing Andrey’s illustration of a forest and castle" width="1200">    </div>  </div>
</div>

<h2 id="what-tools-and-features-in-sketch-do-you-use-the-most">What tools and features in Sketch do you use the most?</h2>

<p>Most often, I use the Vector and Pencil tools. And I’m also excited to work with Gradients and Gaussian Blur in Sketch.</p>

<h2 id="what-advice-would-you-give-to-anyone-looking-to-create-something-similar-to-your-designs">What advice would you give to anyone looking to create something similar to your designs?</h2>

<p>I would advise you to start with a sketch, form a general composition, and then layer by layer add elements and little things that will fill the illustration. Just in case, save every 3-5 minutes.* Remember, you can always do better! You have to feel when you need to stop — and when to exceed your capabilities.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/andrey-process.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=FQojl41zDzS2JT7_EiScShuu5GL2XgPsSr-rH10KTIs&amp;expires=1777041455" alt="An image showing the evolution of Andrey’s illustration" width="1200">    </div>  </div>
</div>

<p class="footnote">* A note from Sketch: Saving manually at intervals applies to local documents if you haven’t enabled automatic saving to your Mac. Workspace documents are automatically saved as you design. You don’t need to manually save, unless you want to create a new version (^⌘S).</p>


          <ul>
            <li><a href="https://www.sketch.com/blog/made-with-sketch/">Discover what else people have #MadeWithSketch</a></li><li><a href="https://www.sketch.com/blog/what-is-illustration/">How to illustrate in Sketch</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/ten-features-I-asked-the-sketch-team-to-build-but-turns-out-they-already-had/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/ten-features-I-asked-the-sketch-team-to-build-but-turns-out-they-already-had/"/>
    <title><![CDATA[10 features I asked the Sketch team to build but turns out they already had]]></title>
    <summary><![CDATA[After years of using Sketch, I joined the team and suggested a bunch of features — turns out they already existed. Here’s a list of 10 features I initially proposed, which might be new to you.]]></summary><published>2024-02-04T09:48:27+00:00</published>
    <updated>2024-02-04T15:03:27+00:00</updated>
    <category term="inside-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/rafa-header.png?width=600&amp;token=EnMg9ShK_67dRPpwnUV4TNoli3_iGtwEiGoXjNoyN90&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Rafa Conde</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/rafa-header.png?width=1200&amp;token=HtrRySCURI3-gsouI2bb5mfIXtvRpxEWOgiGLxxb-fQ&amp;expires=1777041455" alt="" width="1200" height="675">
      <p>After almost a decade of using Sketch and being a devoted fan of both the product and the team, I got the once-in-a-lifetime opportunity to join their ranks and have a say in how to shape the product from the inside.</p>

<p>I came in with a bunch of ideas and suggestions (as a lot of us fans surely have) and I was delightfully surprised (and a bit embarrassed) to learn that a lot of these “tiny improvements” already had in fact been built — some of them years ago!</p>

<p>So I’ve compiled a list of 10 features that I asked the team to build when I joined, but in fact already existed and maybe, some of them might also be new to you.</p>

<h3 id="1-copy-as-png">1. Copy as PNG</h3>

<p>Something that I often do is share an Artboard with my team on Slack, or send it to a Messages conversation. Before, I was either exporting it to a 2x PNG, or dragging it from the Layer List of the preview area from the Inspector because I’m fancy like that and I know all the shortcuts…</p>

<p>This is fine, but I was missing something like “Copy as PNG” that is available in other tools. When I asked internally if we could build this, I found out that we have an even <a href="/docs/designing/importing-and-exporting/">better solution</a>: <strong>if you copy an Artboard and paste it outside of Sketch, it will paste it as a PNG!</strong></p>


  <iframe src="https://space-sktch.video-dns.com/6JLndVggz8/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="2-set-layer-as-anchor-when-aligning">2. Set layer as anchor when aligning</h3>

<p>I’m sure this scenario is all too familiar to a lot of you: select two or more layers, hit <strong>Align to Top</strong>, for example, and the layers all get correctly aligned to the top… OF THE WRONG LAYER 🙄.</p>

<p>I asked the team if we could come up with a simple solution and, once again, the team gently informed that we had already built it. <strong>When there are multiple layers selected, clicking in one of the selected layers again will set it as the anchor.</strong> From here, anything else you align will do so around it.</p>


  <iframe src="https://space-sktch.video-dns.com/gkA4w1sJCH/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="3-automatically-set-prototype-target-by-proximity">3. Automatically set prototype target by proximity</h3>

<p>One day I was putting together a feature presentation in Sketch, and I was creating some “slides” in the Typical Designer Fashion™* of arranging Artboards in the X and new chapters in the Y axis.</p>

<p>After it was all done, I wanted to present it as a Prototype, but before I could do that, I had to connect all the Artboards with the Prototype Spaghetti**. And I have to admit, it’s not an enjoyable process, especially if you later have to introduce a new slide, and reconnect the dingus all over again.</p>

<p>Guess what, did you know that you can <a href="/docs/prototyping/adding-links/#automatically-linking-artboards">set Prototype targets by proximity</a>? <strong>You can select all Artboards and hit Auto Link to Right Artboard</strong>. Setting this feature will make sure they’re all connected in the way you expect them to, and if it’s the rightmost Artboard in the Canvas, it’s smart enough to link to the one in the row below it.</p>

<p>*Not actually a trademark.</p>

<p>**Not the official term, Rafa’s words do not represent the views of his employer.</p>

<p>***Again, not a trademark.</p>


  <iframe src="https://space-sktch.video-dns.com/lCxdBM10Ue/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="4-click-drag-to-add-hotspot-layers">4. Click-drag to add Hotspot layers</h3>

<p>While we’re talking about Prototyping, and while we’re being vulnerable with each other… I… I used to draw rectangles on top of my work, make them transparent, and then use them as a trigger for a Prototype action 🥺.</p>

<p>I saw the light when the team told me you can clear Selection, hit <kbd>I</kbd> and click-drag to <a href="/docs/prototyping/adding-hotspots/#adding-hotspots">create a new Interaction layer</a>. From there you’ll automatically be put in the state where you just have to select the target.</p>


  <iframe src="https://space-sktch.video-dns.com/Lj9LS50Xtx/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="5-rename-multiple-artboards">5. Rename multiple Artboards</h3>

<p>This is one of those things that I had accepted years ago, and never bothered to check if it had changed (spoiler: <a href="/docs/designing/layer-basics/renaming-layers/#renaming-multiple-layers">it has</a>). I used to use a plugin to rename multiple Artboards at the same time.</p>

<p>Say I design a bunch of Artboards for a login flow, and then want to rename them all to “Login Screen #1”, etc.
Not only can you do this natively in Sketch, but you can do it in style. With multiple Artboards selected, hit <kbd>⌘</kbd><kbd>R</kbd> to show the <strong>Rename Selected Layers</strong> sheet where you can optionally match existing names, and even use regular expressions.</p>


  <iframe src="https://space-sktch.video-dns.com/bBcDjUYvMT/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="6-select-a-bunch-of-artboards-and-turn-them-into-symbols">6. Select a bunch of Artboards and turn them into Symbols</h3>

<p>This one is so obvious that I am not even sure why it’s here? Maybe this didn’t use to be the case, but did you know that you can <strong>select multiple Artboards and hit <kbd>⌘</kbd><kbd>Y</kbd> to convert each to a new Symbol</strong>?</p>

<p>This is especially useful when I’m designing a bunch of icons in a grid, and then want to turn them all into Symbols and add them to my Library.</p>


  <iframe src="https://space-sktch.video-dns.com/YbFbBcMqOS/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="7-artboard-template-previews">7. Artboard Template Previews</h3>

<p>I absolutely adore Artboard Templates, and I think it’s a very underrated feature — it’s a great way to get started without the constraints of a Symbol (since I intend to add things to it and change things around). I use them all the time. For example, I’ll create a simple Artboard of an iPhone frame that includes the correct device corner radius, the Dynamic Island and Home Indicator, or sometimes I’ll even design the basic structure of an app with a custom tab bar, for example.</p>

<p>Long story short, I use Artboard Templates a lot. However, I missed being able to make my custom Artboard Templates look as nice and tidy as the default ones and have their own custom thumbnails. Guess what? Turns out you can.</p>

<p><strong>You can create a 92x92 Artboard with the name <em>Previews / Name of Artboard Template</em> and Sketch will use that as the thumbnail</strong> — it will even sync if you add it as a Library!</p>


  <iframe src="https://space-sktch.video-dns.com/M8pZVRCQlu/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="8-copy-color-in-different-code-formats">8. Copy color in different code formats</h3>

<p>I had <a href="/docs/symbols-and-styles/color-variables/#using-color-variables-in-developer-handoff">c</a><a href="/docs/symbols-and-styles/color-variables/#using-color-variables-in-developer-handoff">opied Color Variables in different formats</a> in the web app but little did I know you can also do this via the Mac app — such a time saver!</p>


  <iframe src="https://space-sktch.video-dns.com/40ukTU7uMy/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="9-open-windows-when-relaunching">9. Open windows when relaunching</h3>

<p>I usually work on the same 2-3 documents for a long time: often my main document, along with couple of Libraries that I like to keep open.</p>

<p>I’m also a weirdo* who likes to reboot my Mac often, and quit apps regularly if I’m not working with them for a while. So when I would relaunch Sketch I would have to look for and open all of those documents again — I even looked for a setting somewhere that would let me reopen windows when relaunching the app.</p>

<p>Turns out Sketch out-Mac-nerded me by respecting the system’s preference! To have your windows restored when launching Sketch go to <strong>System Settings &gt; Desktop &amp; Dock</strong> and uncheck the <strong>Close windows when quitting an application</strong> preference.</p>

<p>*Not actually a weirdo, I don’t judge how people use their Macs (much). There’s no right or wrong way to use your tools (for the most part).</p>


  <iframe src="https://space-sktch.video-dns.com/IQZbivfIjE/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<h3 id="10-resize-with-keyboard-">10. Resize with Keyboard (<kbd>⌘</kbd><kbd>↑</kbd><kbd>↓</kbd><kbd>→</kbd><kbd>←</kbd>)</h3>

<p>And my last and most recent finding: you know when you make small and precise layer position adjustments? Your mouse or trackpad are not the best tools for this job, so you go old school and use the arrow keys on your keyboard, right? One pixel up <kbd>↑</kbd>,one pixel to the left <kbd>←</kbd>.</p>

<p>But when it comes to <a href="/docs/designing/layer-basics/resizing-and-rotating-layers/#resizing-layers">resizing</a>, I would head to the Inspector, select the Width or Height text area, and increase the values by one with the arrow keys. But then sometimes I would have to defocus that and adjust its position because I wanted it to grow one pixel to the left, for example.</p>

<p>Well, turns out you can use <kbd>⌘</kbd><kbd>←</kbd><kbd>→</kbd> to increase or decrease the width, and <kbd>⌘</kbd><kbd>↑</kbd><kbd>↓</kbd> for height. Plus, it will also work with the <kbd>⇧</kbd> modifier and respect the nudge values set in your settings.</p>


  <iframe src="https://space-sktch.video-dns.com/8YuB2JRNzE/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>






<hr>

<p>And that’s 10! I wonder if any of these were a surprise to you just like they were to me, and better yet, I’d love to hear about one of your recent discoveries in our community. I’ll be there!</p>


          <ul>
            <li><a href="sketch://">Try things out for yourself </a></li><li><a href="https://www.sketch.com/changelog/">Discover our latest features</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/meet-the-maker-matthew-skiles/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/meet-the-maker-matthew-skiles/"/>
    <title><![CDATA[Meet the Maker: Matthew Skiles]]></title>
    <summary><![CDATA[“For years now I’ve used Sketch every day — and wouldn’t want it any other way.”]]></summary><published>2024-01-08T15:29:28+00:00</published>
    <updated>2024-01-08T20:59:28+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/meet-the-maker-matthew-skiles-header%40x2.png?width=600&amp;token=CYfh7K_4Gf-YSUrSvbwFZRt76iUoC_YVGJZyI5dEJW8&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Matthew S.</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/meet-the-maker-matthew-skiles-header%40x2.png?width=1200&amp;token=LTrw-aHhTleqxS-9vXDGN5vmD7JhK7cQNBXcV08mILA&amp;expires=1777041455" alt="" width="1200" height="675">
      <p class="large">In our Meet the Maker series we meet with designers who push Sketch’s limits, and find out what drives and inspires them in their work. Today we’re chatting to Matthew Skiles, an icon and visual designer.</p>

<h2 id="how-did-you-get-started-using-sketch">How did you get started using Sketch?</h2>

<p>I started using Sketch back in 2017. At the time I was designing a lot of websites, and was hearing from everyone about how much better Sketch was at designing for the web than using Photoshop.</p>

<p>I was pretty resistant as first, as I didn’t quite see why I needed a new tool. But once I actually tried designing in Sketch, I fairly quickly realized how much better and faster of a tool it was for creating not only websites, but all sorts of designs.</p>

<p>From there, I found more and more parts of my design process could be done better in Sketch than in other apps. For years now I’ve used Sketch every day — and wouldn’t want it any other way.</p>

<h2 id="what-inspired-you-to-create-the-work-youre-sharing-with-us">What inspired you to create the work you’re sharing with us?</h2>

<p>We needed an app icon design for a Mastodon app called <a href="https://radiant.social/">Radiant</a>. After exploring a bunch of ideas, the campfire stuck out the most: a mix of semi-3D elements that don’t draw too much attention to themselves, so they look right at home on your phone.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/matthew-radiant-icon.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=10IqQtVl8bS0xyYRSPUfQ7dz9RqaoYlV1eNMDvQ_aeE&amp;expires=1777041455" alt="" width="1200">    </div>  </div>
</div>

<p>I wanted to have the icon feel both cozy and warm, and have a vibrant energy to represent the communities you can find and interact with on Mastodon.</p>

<h2 id="what-tools-and-features-in-sketch-do-you-use-the-most">What tools and features in Sketch do you use the most?</h2>

<p>Gradient Fills and Gaussian Blurs — so much magic can come from those two.</p>

<h2 id="what-advice-would-you-give-to-anyone-looking-to-create-something-similar-to-your-designs">What advice would you give to anyone looking to create something similar to your designs?</h2>

<p>Start with good base shapes. If you’ve got badly drawn or ill thought out groundwork shapes for your design, no amount of layer effects or fancy gradients can fix it. So spend some extra time on shapes early, making sure that you’re happy with the canvas that you’ll be applying layers of paint to.</p>


          <ul>
            <li><a href="https://www.sketch.com/blog/made-with-sketch/">Discover what else people have #MadeWithSketch</a></li><li><a href="https://www.sketch.com/blog/icons-tutorial/">A beginner’s guide to icon design in Sketch</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/meet-the-maker-duncan-horne/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/meet-the-maker-duncan-horne/"/>
    <title><![CDATA[Meet the Maker: Duncan Horne]]></title>
    <summary><![CDATA[“If you see a really cool icon design with a crazy effect, try and recreate it yourself.”]]></summary><published>2024-01-08T15:00:53+00:00</published>
    <updated>2024-01-08T20:45:53+00:00</updated>
    <category term="made-with-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/meet-the-maker-duncan-horne-header%40x2.png?width=600&amp;token=UzzFX7oBCL_E8D6wQo9oWbZ2RKuvfjYO3VQGSiVjk9Y&amp;expires=1777041455" width="600"/>
    
<author>
      <name>Duncan H.</name>
    </author>
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/meet-the-maker-duncan-horne-header%40x2.png?width=1200&amp;token=8h-Akt271AO-YkiyughRTc9jXH7NydYfikCb2Ye4icA&amp;expires=1777041455" alt="" width="1200" height="675">
      <p class="large">In our Meet the Maker series we talk to designers who push the limits of our beloved app, and find out what drives and inspires them. Today we’re chatting to <a href="https://www.duncandesign.online/">Duncan Horne</a>: a freelance icon designer, as well as a front-end developer and “some other things in between”.</p>

<h2 id="how-did-you-get-started-using-sketch">How did you get started using Sketch?</h2>
<p>I first came across the app in around 2014 when I started my first design role with a software company. I had just managed to nab an invite to Dribbble, and a lot of the work I was inspired by appeared to be made using Sketch, so I decided to try the app out myself.</p>

<h2 id="what-inspired-you-to-create-the-work-youre-sharing-with-us">What inspired you to create the work you’re sharing with us?</h2>

<p>I’ll always remember the time I moved from using a Windows PC to my first G4 iMac in 2003. I fell in love with the dock straight away. The way icons were treated and the detail they portrayed was such a breath of fresh air. This is probably the root of my love for app icons. Nowadays designers such as Gavin Nelson, Matthew Skiles and Michael Flarup are a massive source of inspiration — hopefully one day I’ll be able to see myself on a level playing field with them.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/duncan-wolverine.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=dtDwWhH64qn491I9NDl4CxdIt8Y-eZuQFjJyIDXY0Cc&amp;expires=1777041455" alt="An image showing a Wolverine illustration, created by Duncan" width="1200">    </div>  </div>
</div>

<p>I’m a massive comic book fan, and these are the other large source of inspiration to me when it comes to the illustrations I produce, whether it be the artwork and drawings inside or the textual title treatments on the cover. I can always find something in every issue that gives me a spark to create something of my own.</p>

<p>In general, though, I just love things that look nice, whether it be something made by a designers and artists, or a particular form or scene in nature.</p>

<h2 id="what-tools-and-features-in-sketch-do-you-use-the-most">What tools and features in Sketch do you use the most?</h2>

<p>I use strokes and gradients a lot, and time and time again I find myself sifting through the different Blend Modes to see what works best. I frequently use Blur Tools too — I think sometimes even a very slight blur can give a design a lovely soft effect that makes it look just that bit more professional. Oh, and let’s not forget the trusty Vector Tool!</p>

<h2 id="what-advice-would-you-give-to-anyone-looking-to-create-something-similar-to-your-designs">What advice would you give to anyone looking to create something similar to your designs?</h2>

<p>I think the best advice I can give is to copy creations that you love. If you see a really cool icon design with a crazy effect, try and recreate it yourself. Even if you think you might have to use different tools to the original, give it a go. You’ll undoubtedly learn something new and gain another arrow in your quiver along the way.</p>


          <ul>
            <li><a href="https://www.sketch.com/blog/made-with-sketch/">Discover what else people have #MadeWithSketch</a></li><li><a href="https://www.sketch.com/blog/icons-tutorial/">A beginner’s guide to icon design in Sketch</a></li>
          </ul>
    ]]></content>
  </entry>
  
<entry>
    <id>https://www.sketch.com/blog/sketch-in-2023/</id>
    <link rel="alternate" href="https://www.sketch.com/blog/sketch-in-2023/"/>
    <title><![CDATA[Sketch in 2023: What have we been up to?]]></title>
    <summary><![CDATA[Let’s take a look back at everything we’ve shipped this year — from major Smart Layout updates, to importing Figma files, and a whole lot more!]]></summary><published>2023-12-12T10:19:44+00:00</published>
    <updated>2023-12-12T16:19:44+00:00</updated>
    <category term="inside-sketch"/>
    <media:thumbnail url="https://sktch.b-cdn.net/assets/blog/2023-12/sketch-in-2023-static.png?width=600&amp;token=TsfSyvFxHM7Ma72m1JbyoQQTR2B-70VGQek8uyAJNro&amp;expires=1777041455" width="600"/>
    
    <content type="html"><![CDATA[
      <img src="https://sktch.b-cdn.net/assets/blog/2023-12/sketch-in-2023-static.png?width=1200&amp;token=mwTyTGnaSwRcfEe_Re5bno7MTKsulyV52s9y5ueysJA&amp;expires=1777041455" alt="The words “Sketch in 2023” in the center of a grid with small illustrations and icons surrounding it representing different updates from the year." width="1200" height="675">
      <p class="large">As 2023 draws to a close, it feels like a good time to take a look back at everything we’ve shipped in Sketch over the past 12 months — and there’s a lot to cover! So, let’s take a tour of what we’ve done this year.</p>

<div class="blog-tip">
  
  <div class="blog-tip__content">
    Looking for a TL;DR? Get all the headlines in our <a href="https://www.youtube.com/watch?v=v9GWRiesKLU">two-minute recap video</a>.


  </div>
</div>

<h2 id="taking-a-giant-leap-with-smart-layout">Taking a giant leap with Smart Layout</h2>

<p>One of <a href="/blog/whats-next-for-sketch/">our goals for the Mac app in 2023</a> was to take a major leap with <a href="/docs/designing/smart-layout/">Smart Layout</a>. As the year comes to an end, we’re pretty happy to say we’ve done just that.</p>

<p>We started by making Smart Layout’s existing behavior <a href="/changelog/improved-smart-layout-when-working-with-nested-layouts/">more reliable and predictable</a>, especially how spacing collapses when you hid a nested Symbol. We also <a href="/changelog/smart-layout-improvements/">improved behavior for different layout directions</a>. Then, we shipped a new experimental features menu — giving everyone a chance to try and share feedback on our future Smart Layout improvements.</p>

<p>Throughout the year, while we tackled updates in other areas of Sketch, our Smart Layout work continued. We polished up what already existed and honed in on our goal; to not just make Smart Layout more reliable, but break it free from Symbols.</p>

<p>In November, we released a major update and our biggest leap with Smart Layout yet. Smart Layout is now available wherever you need it — from simple groups, to entire Artboards. It opens up a whole new world of flexibility and convenience, all while automatically preserving your layout as your designs evolve.</p>

<p>Aside from making Smart Layout available everywhere, we also made it easier to use. We added more keyboard shortcuts, updated layout settings, improved Foresight support (for previewing changes), and we made it possible insert a layer into a layout simply by dragging it into a group.</p>

<p>We’re proud of what we’ve achieved with Smart Layout in 2023 — the results speak for themselves — and we owe a lot of thanks to the brilliant forum members who gave us invaluable feedback along the way. Thank you!</p>


  <iframe src="https://space-sktch.video-dns.com/aZU7cBWSmj/player.html" width="640" height="360" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen"></iframe>





<h2 id="closing-the-feedback-loop">Closing the feedback loop</h2>

<p>For a long time, we’ve had a simple way of sharing feedback in Sketch. You’d share a link to a design in the web app and collaborators could leave feedback as comments in a sidebar. This year, we thought it was time to take things up a notch.</p>

<p>Today, you can give, receive and discuss feedback <a href="/changelog/commenting/">in the Mac app</a> as you’re designing, <a href="/changelog/commenting-on-iphone-and-ipad/">in our View &amp; Mirror app</a> on the go, and of course in the web app. Better still, you can do it all right in the context of your designs — by pinning those comments directly to the Canvas.</p>

<p>For clients and collaborators, annotating designs like this is far more efficient than taking screenshots and sharing feedback via email. For designers, seeing comments on the Canvas in the Mac app, makes it effortless to work with feedback without context switching.</p>

<p>To truly close the feedback loop, we added <a href="/changelog/resolve-comments/">the option to resolve comments</a>. Not only does resolving comments hide them from the Canvas by default, making it easier to view or edit designs themselves, but it also serves as a clear indication to your collaborators that you’ve considered their comments and closed the discussion.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2023-12/2023-feedback%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=hci5uzNRyzHXF8C9OsPQkaMsMwKE-PfIK2BH4NS1wCk&amp;expires=1777041455" alt="A screenshot showing comments in the Sketch Mac app." width="1200">    </div>  </div>
</div>

<h2 id="bringing-sketch-to-even-more-screens">Bringing Sketch to even more screens</h2>

<p>2022 saw us ship an <a href="/blog/iphone-app/">all-new iPhone app</a> which went a lot further than our previous efforts, giving you access to every document in your Workspace from anywhere. Better still, those documents are always up to date with the latest version.</p>

<p>With <a href="https://apps.apple.com/us/app/sketch-view-and-mirror/id1609224699">Sketch — View &amp; Mirror</a>, there’s no need to connect to your Mac or make sure you’ve transferred a document with the latest changes. They’re always there, whether you’re catching up on the latest changes while you travel, quickly sharing feedback, or demoing the latest prototype to a client.</p>

<p>For our next step, we wanted to bring View &amp; Mirror to the iPad. But it wasn’t just a case of scaling up the iPhone app. We went all-out and built <a href="/changelog/ios-app/">a full Canvas view for the iPad</a>. This was no small feat, but we’re incredibly happy with the results — being able to directly navigate through your designs like you would in the Mac app, on a large iPad Pro screen, is really quite magical.</p>

<p>We also spent time on feature parity, adding full canvas view to the iPhone and document mirroring to the iPad. Combine this with support for Apple’s handoff feature, which makes it easy to open the document on your iPhone or iPad that you’re currently editing in the Mac app, and mirroring has never been more convenient — or reliable!</p>

<p>To wrap things up, we added offline mode, so you can keep on viewing a document on those train journeys with patchy Wi-Fi. Finally, we made it possible to open and browse local documents you keep in Apple’s Files app (or a third-party service like Dropbox).</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2023-12/2023-ios%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=1fK8lM9jtj_6ar01ftQvAPzMkBslwwGZlnXekoJnxoc&amp;expires=1777041455" alt="An image showing the Sketch — View &amp; Mirror app on iPhone and iPad." width="1200">    </div>  </div>
</div>

<h2 id="building-an-even-better-workspace">Building an even better Workspace</h2>

<p>Storing documents in your Sketch Workspace comes with a lot of benefits. Aside from making it easy to access your files anywhere you sign in to Sketch, it unlocks features like real-time collaboration, annotations on the Canvas, developer handoff, and more. With that, we wanted to spend time this year making Workspaces even better.</p>

<p>If you make full use of your Workspace, it likely means you have a lot of files to browse through. To help with that, <a href="/changelog/collections/">we added Collections</a> — another level of organization inside your <a href="/docs/getting-started/folders/#working-with-folders">Projects</a>. Much like Projects, we designed Collections to be as workflow-agnostic as possible, so you can group and organize documents in any way that makes sense to you.</p>

<p>On top of Collections, we added <a href="/changelog/better-sorting-and-filtering/">new filtering and sorting options</a> to the web app, making it easier to find the exact document you need. Meanwhile in the Mac app, we introduced a <a href="/changelog/new-save-dialog/">redesigned save dialog</a>, which takes full advantage of Collections and adds better search, navigation, and previews.</p>

<p>Back on the web app, we gave document share settings a major overhaul. <a href="/changelog/new-sharing-modal/">The redesigned modal</a> has three clear tabs, making it easier to set who you share your designs with, and what they can access.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2023-12/2023-collections%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=-YezxdEA6nr_0JskDsMhfegV0o0E-_XA6e-cxOKVnjY&amp;expires=1777041455" alt="A screenshot showing an abstract interpretation of Collections in Sketch." width="1200">    </div>  </div>
</div>

<h2 id="introducing-figma-imports-templates-and-more">Introducing Figma imports, Templates and more</h2>

<p>Among some of the bigger changes we’ve made to Sketch during 2023, we’ve made plenty of quality-of-life improvements that are worth talking about. Here are just a few of them.</p>

<p>At the start of the year, we added support for <a href="/updates/import-your-figma-files/">importing Figma files</a>. Now, switching tools is easy as dragging your .fig docs onto our app icon. We also <a href="https://github.com/sketch-hq/fig2sketch">open sourced the underlying file converter</a> for others to use and help us improve on.</p>

<p>While Sketch’s infinite canvas offers infinite flexibility, it can also spell infinite stress if you’re not sure where to start. To help, we added <a href="/blog/guide-to-templates/">over 200 design templates</a>, covering everything from product mockups to Kanban boards. As well as being handy for beginners, they’re just as useful for saving time on creating common assets like social posts.</p>

<p>You can also now <a href="/changelog/templates/">mark documents in your Workspace as templates</a> that everyone you collaborate with can use. Creating your own templates can dramatically speed onboarding for new team members with a consistent base for new files.</p>

<p>Creating your own Workspace templates pairs nicely with a new option we shipped to <a href="/changelog/document-libraries/">enable Libraries on a per-document basis</a>. Together, they mean you can set someone up with the right document structure and just the Libraries they need, so they’ll be able to quickly find and use the right Symbols and styles in their designs.</p>

<p>For those of you who care about naming your layers, we’ve added <a href="/changelog/multi-layer-renaming/">powerful multi-layer renaming</a>. With modifier tokens, options to match and rename portions of layer names, and even regex support, there’s a lot of flexibility here and the potential to save a lot of time, too.</p>

<p>Finally, we’ve made a some big improvements to <a href="/updates/selection-improvements/">selection and dragging</a> — there’s a lot to talk about here (so much <a href="https://www.youtube.com/watch?v=baYNWwFlyNQ">we made a whole video about it</a>) — from additional indicators when you’ve selected layers within a larger Symbol, to being able to hold <code>X</code> to drag a marquee selection without moving the layer you’re currently hovering over. You’ll really feel the difference here.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2023-12/2023-templates%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=V7p5y7dajjfhTRWTM1821qldqwH_mFJCTVrO_1VlZZo&amp;expires=1777041455" alt="A screenshot showing a selection of templates in the Sketch Mac app." width="1200">    </div>  </div>
</div>

<h2 id="coming-back-to-the-mac-app-store">Coming back to the Mac App Store</h2>

<p>There’s so much more we could cover in this post, but just one more thing we have to mention. We’re very excited to be <a href="/changelog/available-on-the-mac-app-store/">back on the Mac App Store</a>. This was a long time coming and we’re happy to offer another choice when it comes to getting Sketch, alongside our own subscriptions and Mac-only licenses.</p>

<div class="zoom" data-controller="zoom" data-zoom-target="mainWrapper" role="button" data-action="click-&gt;zoom#handleClick">  <div class="zoom__bg" data-zoom-target="bg">    <div class="zoom__close">      <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><g fill="currentColor"><path d="M9.354 24.064 7.939 22.65 22.65 7.94l1.415 1.414z"></path><path d="M22.65 24.063 7.94 9.353 9.353 7.94l14.71 14.71z"></path></g></svg>    </div>  </div>  <div class="zoom__expandable" data-zoom-target="expandable">    <div class="zoom__expandable__toggle">      <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M11.75 7.75h4.5v4.5M12.25 16.25h-4.5v-4.5"></path></g></svg>    </div>    <div class="zoom__image" data-zoom-target="imageWrapper">
<img src="https://sktch.b-cdn.net/assets/blog/2023-12/2023-mas%402x.png?width=1920&amp;quality=95&amp;sharpen=1&amp;token=0laXCFmDwhZCRIeXA2WYOv8XDYof3H0T0d_yYomN9cY&amp;expires=1777041455" alt="A screenshot showing the Sketch icon in the Mac App Store." width="1200">    </div>  </div>
</div>

<hr>

<p>It’s been another busy year, and we’re proud of what we’ve been able to ship. We’ll be back in 2024 with plenty more. In the meantime, thank you for all your support and for continuing to make incredible things with Sketch — we love seeing the work you do.</p>

<p>As ever, we’re <a href="https://discord.gg/ascPpfDSSV">over in our community</a> chatting all things Sketch — whether you need to some help, you’ve got an idea or a feature, or you just want to share something you’ve made, we’d love to see you there.</p>


          <ul>
            <li><a href="https://www.sketch.com/changelog/">See every feature we’ve shipped</a></li><li><a href="https://www.sketch.com/releases/mac/">Read the release notes for every Mac update</a></li><li><a href="https://www.sketch.com/signup/">New to Sketch? Sign up here</a></li>
          </ul>
    ]]></content>
  </entry>
  
</feed>
