<?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: pollychekhova</title>
    <description>The latest articles on DEV Community by pollychekhova (@pollychekhova).</description>
    <link>https://dev.to/pollychekhova</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%2F887724%2F6b5e4c94-5c69-4a0b-a21d-abf0956c0702.png</url>
      <title>DEV Community: pollychekhova</title>
      <link>https://dev.to/pollychekhova</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pollychekhova"/>
    <language>en</language>
    <item>
      <title>Transparent videos on the web: how to make them and use them in Webflow projects</title>
      <dc:creator>pollychekhova</dc:creator>
      <pubDate>Mon, 03 Oct 2022 09:19:42 +0000</pubDate>
      <link>https://dev.to/pollychekhova/transparent-videos-on-the-web-how-to-make-them-and-use-them-in-webflow-projects-3d2o</link>
      <guid>https://dev.to/pollychekhova/transparent-videos-on-the-web-how-to-make-them-and-use-them-in-webflow-projects-3d2o</guid>
      <description>&lt;p&gt;Transparent videos are far underused in web projects with complicated designs. They particularly shine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When a complicated animation needs to be shown (such as a product mockup, elements of UI, etc.) without limiting background colors and gradients.&lt;/li&gt;
&lt;li&gt;When multiple videos need to be layered.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft0xsltpyngarlcbd4aw4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft0xsltpyngarlcbd4aw4.png" alt="transparent video use case"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's an example of a creative concept that would be impossible to implement without video transparency: Webflow page&lt;/p&gt;

&lt;p&gt;In this article, you'll learn how to recreate this page so that it works in any modern web browser like Chrome, Safari, Firefox, and Edge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Transparent videos 101 and why they are rarely used
&lt;/h2&gt;

&lt;p&gt;Long story short: you need to use certain video formats to enable transparency. Of course, Apple and Google couldn't agree on supporting the same video format, so you have to render two video files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HEVC with Alpha for Safari;&lt;/li&gt;
&lt;li&gt;VP9 with Alpha for Chrome.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some video editing programmes can render HEVC with Alpha, yet they completely ignore the VP9 format (and Google Chrome users). And that's exactly where the problem lies: you have to convert HEVC to VP9, which often doesn't work as smoothly as we'd like. This article shows a way to reliably render both HEVC and VP9 videos by using a sequence of PNG images as a proxy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create a video with a transparent background.
&lt;/h3&gt;

&lt;p&gt;If you already have such a video, you can continue with step 2. If you have a regular video with background, you need to remove it. A few tips on how to do that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An easy way with mostly good (but not guaranteed) results: a tool like &lt;a href="https://www.unscreen.com/" rel="noopener noreferrer"&gt;unscreen.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A bit more complicated but with guaranteed results: the Rotobrush tool in After Effects. Here’s a &lt;a href="https://www.youtube.com/watch?v=Xv_p_fzudM4" rel="noopener noreferrer"&gt;good tutorial&lt;/a&gt; on how to use it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0b34xyczslm4ubkboa9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0b34xyczslm4ubkboa9.png" alt="rotobrush results in after effects"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Render the video as a PNG sequence in AE.
&lt;/h3&gt;

&lt;p&gt;Add your composition to a render queue and set the export format as 'PNG sequence'. Set the channels setting as RGB + alpha.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2v8r4a8fxpa0oej5xoxw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2v8r4a8fxpa0oej5xoxw.png" alt="export settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set up a naming convention in the ‘Output to’ setting as&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

video_[###].png


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp2b7jpfmsuokqjst3fhu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp2b7jpfmsuokqjst3fhu.png" alt="save as dialog"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You'll end up with a sequence of PNGs named image-001.png, image-002.png and so on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vqv8tq0e6lwfj68mxes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vqv8tq0e6lwfj68mxes.png" alt="files in finder"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Render transparent video for Chrome, Safari, Firefox and Edge using FFMPEG.
&lt;/h3&gt;

&lt;p&gt;Chrome supports transparency for WEBM videos with VP9 encoding. To render such a video, use this command. If you've used a different naming pattern for your png files, don't forget to change the 'video_*.png' piece to match it.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

ffmpeg -y -pattern_type glob -framerate 25 -i "video_*.png" -c:v libvpx-vp9 -auto-alt-ref 0 output.webm


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvloym5rwdnoa5nmzaz1k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvloym5rwdnoa5nmzaz1k.png" alt="ffmpeg command"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Transparent videos in Safari only work with HEVC videos. To render a HEVC video, use this command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

ffmpeg -y -pattern_type glob -framerate 25 -i "video_*.png" -c:v hevc_videotoolbox -allow_sw 1 -alpha_quality 1 -vtag hvc1 output.mov


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you've used a different naming pattern for your png files, don't forget to change the 'video_*.png' piece to match it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4 (optional): How to fix the bug in After Effects that the background is 'half' transparent.
&lt;/h3&gt;

&lt;p&gt;In some rare cases, Google Chrome may play your transparent videos as if they still had a background. This can happen because the background pixels are not literally deleted but rather set as 'hidden'. You can check if transparency works in Chrome in your case by uploading the video to Google Drive and then playing it with the built-in player.&lt;/p&gt;

&lt;p&gt;If you've encountered this problem, you can remove the background completely with the app Imagemagick. The easiest way to install it is via Homebrew:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

brew install imagemagick


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Imagemagick comes with a number of tools to process images. The tool we need in our case is called Mogrify. Open Terminal in the folder with the png sequence and try&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

mogrify -alpha on -background none -flatten *.png


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1zcw8g40gvb4b83hame.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1zcw8g40gvb4b83hame.png" alt="mogfiry command"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Re-render the videos (as in Step 3) and check if Mogrify did the trick.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Using the videos on the web.
&lt;/h3&gt;

&lt;p&gt;Now that you have both MOV and WEBM files, it's time to put them online. Upload the videos to your cloud storage/web server and use this code snippet wherever you need the video.&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;p&gt;&amp;lt;video width="600" height="100%" autoplay loop muted playsinline&amp;gt;&lt;br&gt;
  &amp;lt;source &lt;br&gt;
    src="&lt;a href="https://path-to-video.com/movie-hevc.mov" rel="noopener noreferrer"&gt;https://path-to-video.com/movie-hevc.mov&lt;/a&gt;" &lt;br&gt;
    type='video/mp4; codecs="hvc1"'&amp;gt;&lt;br&gt;
  &amp;lt;source &lt;br&gt;
    src="&lt;a href="https://path-to-video.com/alpha-demo/movie-webm.webm" rel="noopener noreferrer"&gt;https://path-to-video.com/alpha-demo/movie-webm.webm&lt;/a&gt;" &lt;br&gt;
    type="video/webm"&amp;gt;&lt;br&gt;
&amp;lt;/video&amp;gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Demo page HTML.&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;Here's the exact code used on the &lt;a href="https://trvidback.webflow.io/" rel="noopener noreferrer"&gt;Webflow demo page&lt;/a&gt;.&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;p&gt;&amp;lt;video width="600" height="100%" autoplay loop muted playsinline&amp;gt;&lt;br&gt;
  &amp;lt;source &lt;br&gt;
    src="&lt;a href="https://path-to-video.com/movie-hevc.mov" rel="noopener noreferrer"&gt;https://path-to-video.com/movie-hevc.mov&lt;/a&gt;" &lt;br&gt;
    type='video/mp4; codecs="hvc1"'&amp;gt;&lt;br&gt;
  &amp;lt;source &lt;br&gt;
    src="&lt;a href="https://path-to-video.com/alpha-demo/movie-webm.webm" rel="noopener noreferrer"&gt;https://path-to-video.com/alpha-demo/movie-webm.webm&lt;/a&gt;" &lt;br&gt;
    type="video/webm"&amp;gt;&lt;br&gt;
&amp;lt;/video&amp;gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Quick recap.&lt;br&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Remove the background in your video or create a new one from scratch.&lt;/li&gt;
&lt;li&gt;Export the video as a PNG sequence.&lt;/li&gt;
&lt;li&gt;Render two videos: HEVC with Alpha for Safari and WebAssembly-based browsers, and WEBM with Alpha for Chrome and Chromium-based browsers.&lt;/li&gt;
&lt;li&gt;Upload the videos to cloud storage.&lt;/li&gt;
&lt;li&gt;Embed the videos with the  tag including two  tags including URLs of HEVC and WEBM videos.
&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>How applicable Webflow really is: for which projects it shines and which projects should avoid it</title>
      <dc:creator>pollychekhova</dc:creator>
      <pubDate>Tue, 30 Aug 2022 06:00:25 +0000</pubDate>
      <link>https://dev.to/pollychekhova/how-applicable-webflow-really-is-for-which-projects-it-shines-and-which-projects-should-avoid-it-23jc</link>
      <guid>https://dev.to/pollychekhova/how-applicable-webflow-really-is-for-which-projects-it-shines-and-which-projects-should-avoid-it-23jc</guid>
      <description>&lt;p&gt;Webflow and no-code are in vogue. No-code tools are often seen as the ideal solution for building MVPs (or even full-fledged products), content projects, blogs, etc. Among all no-code tools, Webflow is perhaps the most widely used. &lt;/p&gt;

&lt;p&gt;However, like any no-code tool, Webflow has its limitations that you should be aware of before you decide to use it. &lt;/p&gt;

&lt;p&gt;As a lead developer in a no-code agency, I have developed a variety of products based on Webflow and have gained extensive expertise in its advantages, disadvantages, and limitations. &lt;/p&gt;

&lt;p&gt;In this article, we will discuss for what type of projects Webflow is the be-all and end-all and which projects should be implemented with other tools.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Webflow is great for
&lt;/h2&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Marketing pages
&lt;/h3&gt;

&lt;p&gt;This is where Webflow excels. With Webflow, marketing and growth departments can create pages of any complexity in a matter of days. If the initial A/B test is unsuccessful, content and layout can be changed in minutes. Tag managers, analytics apps, pixels - all can be installed directly from the settings page. Moreover, each page works as fast as if it was built with vanilla HTML+CSS+ JS.&lt;br&gt;
Example: &lt;a href="https://new.backer.com/"&gt;https://new.backer.com/&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Websites for start-ups
&lt;/h3&gt;

&lt;p&gt;If you're a startup, 99% of the time you need a bling homepage and 10 more pages rambling about your mission and office location. Maybe a few blog pages on top of that. Webflow is perfect for this: The entire site can be created in a matter of days. The built-in CMS functionality helps create templates to facilitate the cloning of similar pages. Again, everything works as fast as if it was done by a dedicated front-end engineer.&lt;br&gt;
Example: &lt;a href="https://www.onefor.com/"&gt;https://www.onefor.com/&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ HTML creation for a front-end team
&lt;/h3&gt;

&lt;p&gt;It may sound obscene, but Webflow is handy for creating HTML. This often works if you don't want to spend a front-end engineer's precious time converting a Figma design to HTML, but do it with Webflow. The result can then be exported as HTML code that can be enhanced with custom JS.&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Awwwards-like sites
&lt;/h3&gt;

&lt;p&gt;Webflow is a Swiss Army knife for creating complex, rich animations and interactions and supports Lottie out of the box. Everything can be transformed and styled based on scroll progress. Any element can have an interaction linked to any other element. If that's not enough, you can expand the possibilities even further by adding any JS libraries.&lt;br&gt;
Example: &lt;a href="https://www.rocketair.com/"&gt;https://www.rocketair.com/&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Niche marketplaces
&lt;/h3&gt;

&lt;p&gt;With built-in CMS features and expanded third-party integration support through Zapier and Integromat, Webflow is a powerful solution for building a niche marketplace.&lt;br&gt;
Cons: The Webflow CMS only supports 10k items. This sounds like a lot, but it can drastically limit scalability. This limitation can be lifted by connecting Webflow to external databases though. &lt;br&gt;
Example: &lt;a href="https://www.unicornfactory.nz/"&gt;https://www.unicornfactory.nz/&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Blogs
&lt;/h3&gt;

&lt;p&gt;Similar to what was said for marketplaces, the built-in CMS + integrations would suffice any request you might have for a blog. 10k CMS items should be enough for most blogs and is hardly a limitation. The SEO friendliness of blogs built on Webflow is above average.&lt;br&gt;
Example: &lt;a href="https://www.julian.com/"&gt;https://www.julian.com/&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Mini-games and quizzes
&lt;/h3&gt;

&lt;p&gt;Webflow is handy for implementing mini-games like Wordle and any quiz for which Typeform isn't enough.&lt;br&gt;
Example: &lt;a href="https://artsnob.webflow.io/"&gt;https://artsnob.webflow.io/&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
 &lt;/p&gt;

&lt;h2&gt;
  
  
  Webflow is still an option, but the alternatives are better
&lt;/h2&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ Web and mobile apps
&lt;/h3&gt;

&lt;p&gt;Even though Webflow is a good solution for the front-end of your app, it lacks basic built-in back-end features, forcing you to look for compromises. Its CMS isn't a true substitute for a full-fledged database, and even basic app features like authorization are difficult to implement. Zapier and Integromat integrations can't fully fill this gap. &lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ E-commerce
&lt;/h3&gt;

&lt;p&gt;Shopify and other e-commerce-only platforms are far superior to Webflow in all areas except the ability to customize the design. If you want to sell more than 10 items, you should use Shopify.&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ Content projects with a lot of content
&lt;/h3&gt;

&lt;p&gt;Webflow limits of 10,000 CMS items and 200 pages are fatal for ambitious content projects. Even though the limit of 10,000 CMS items can be circumvented, it makes more sense to resort to solutions that don't force you to look for workarounds. Till the end of the year Webflow should release a significant improvement, but just for enterprise plans for now (which is ain't cheap).&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
 &lt;/p&gt;

&lt;h4&gt;
  
  
  About the Author
&lt;/h4&gt;

&lt;p&gt;Polly Chekhova is a Web Developer and Designer focusing and specializing in building websites and apps with no-code tools. A firm believer in a human-centered approach, she works daily to create meaningful services in the fields of Women Tech and Health Tech, and to foster collaboration between all disciplines for the greater good.&lt;br&gt;
Outside of work, she's a cat mum, a mentor to other women in tech, and has a whole lot of other cool roles. She can often be found playing tennis.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
