<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yarik</title>
    <description>The latest articles on DEV Community by Yarik (@chosenman).</description>
    <link>https://dev.to/chosenman</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1473372%2Fa8fd792e-f580-4cbc-8703-c3e3be747a91.png</url>
      <title>DEV Community: Yarik</title>
      <link>https://dev.to/chosenman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chosenman"/>
    <language>en</language>
    <item>
      <title>Why Can't Figma Optimize Exports for the Web Yet?</title>
      <dc:creator>Yarik</dc:creator>
      <pubDate>Tue, 07 May 2024 15:59:29 +0000</pubDate>
      <link>https://dev.to/chosenman/why-cant-figma-optimize-exports-for-the-web-yet-29p</link>
      <guid>https://dev.to/chosenman/why-cant-figma-optimize-exports-for-the-web-yet-29p</guid>
      <description>&lt;p&gt;Today, I was converting &lt;strong&gt;PNG&lt;/strong&gt; and &lt;strong&gt;JPG&lt;/strong&gt; images to &lt;em&gt;'interlaced'&lt;/em&gt; (PNG) and &lt;em&gt;'progressive&lt;/em&gt;' (JPG) formats. This is to ensure smoother rendering on web pages, where images transition from very pixelated to clear, rather than displaying a &lt;strong&gt;'slow printing'&lt;/strong&gt; effect, particularly for visitors with low-speed internet connections.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison:
&lt;/h2&gt;

&lt;p&gt;Here is an example of what I call "printing load" [1]:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcmf3nndg05jdk1trnk4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftcmf3nndg05jdk1trnk4.gif" alt="printing load" width="360" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here is a smoother variant after re-saving in Photoshop [1]:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftascz0rbovikcsgfrzoc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftascz0rbovikcsgfrzoc.gif" alt="progressive load" width="360" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Photoshop's "Save for web" feature
&lt;/h2&gt;

&lt;p&gt;So I was wondering why Figma doesn't have an export tool like Photoshop's '&lt;strong&gt;Save for Web&lt;/strong&gt;' feature, which has been available since at least 2007 and can be accessed with the shortcut &lt;strong&gt;Alt + Shift + Ctrl + S&lt;/strong&gt; (or &lt;strong&gt;Cmd + Option + Shift + S&lt;/strong&gt; for Mac).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feoj2le8ym1p94jdyyl5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feoj2le8ym1p94jdyyl5w.png" alt="Photoshop save for web menu" width="800" height="564"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Initially, I export images from Figma and then reopen all files in Photoshop to resave them with the necessary settings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next step
&lt;/h2&gt;

&lt;p&gt;Next, I am going to create a JS script that handles three variants of each image, tailored for different screen widths—namely, for widths above 1400 pixels, between 1400 and 700 pixels, and below 700 pixels. Depending on the browser window's width, the script dynamically assigns the appropriate image to the src attribute (or the background-image in CSS) in a lazy-loading manner to &lt;a href="https://web-gate.org"&gt;enhance user experience&lt;/a&gt;. However, I plan to write the JavaScript part later.&lt;/p&gt;

&lt;p&gt;What steps do you take to optimize image loading and improve user experience?&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources:
&lt;/h2&gt;

&lt;p&gt;[1] - &lt;a href="https://web-gate.org"&gt;web-gate.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>figma</category>
      <category>imageloading</category>
      <category>speedoptimisation</category>
      <category>userexperience</category>
    </item>
  </channel>
</rss>
