Unleash the Power of Scroll-Driven Animations

October 21st, 2024 No comments

I’m utterly behind in learning about scroll-driven animations apart from the “reading progress bar” experiments all over CodePen. Well, I’m not exactly “green” on the topic; we’ve published a handful of articles on it including this neat-o one by Lee Meyer published the other week.

Our “oldest” article about the feature is by Bramus, dated back to July 2021. We were calling it “scroll-linked” animation back then. I specifically mention Bramus because there’s no one else working as hard as he is to discover practical use cases where scroll-driven animations shine while helping everyone understand the concept. He writes about it exhaustively on his personal blog in addition to writing the Chrome for Developers documentation on it.

But there’s also this free course he calls “Unleash the Power of Scroll-Driven Animations” published on YouTube as a series of 10 short videos. I decided it was high time to sit, watch, and learn from one of the best. These are my notes from it.


Introduction

  • A scroll-driven animation is an animation that responds to scrolling. There’s a direct link between scrolling progress and the animation’s progress.
  • Scroll-driven animations are different than scroll-triggered animations, which execute on scroll and run in their entirety. Scroll-driven animations pause, play, and run with the direction of the scroll. It sounds to me like scroll-triggered animations are a lot like the CSS version of the JavaScript intersection observer that fires and plays independently of scroll.
  • Why learn this? It’s super easy to take an existing CSS animation or a WAAPI animation and link it up to scrolling. The only “new” thing to learn is how to attach an animation to scrolling. Plus, hey, it’s the platform!
  • There are also performance perks. JavsScript libraries that establish scroll-driven animations typically respond to scroll events on the main thread, which is render-blocking… and JANK! We’re working with hardware-accelerated animations… and NO JANK. Yuriko Hirota has a case study on the performance of scroll-driven animations published on the Chrome blog.
  • Supported in Chrome 115+. Can use @supports (animation-timeline: scroll()). However, I recently saw Bramus publish an update saying we need to look for animation-range support as well.
@supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
  /* Scroll-Driven Animations related styles go here */
  /* This check excludes Firefox Nightly which only has a partial implementation at the moment of posting (mid-September 2024). */
}
  • Remember to use prefers-reduced-motion and be mindful of those who may not want them.

Core Concepts: scroll() and ScrollTimeline

Let’s take an existing CSS animation.

@keyframes grow-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

#progress {
  animation: grow-progress 2s linear forwards;
}

Translation: Start with no width and scale it to its full width. When applied, it takes two seconds to complete and moves with linear easing just in the forwards direction.

This just runs when the #progress element is rendered. Let’s attach it to scrolling.

  • animation-timeline: The timeline that controls the animation’s progress.
  • scroll(): Creates a new scroll timeline set up to track the nearest ancestor scroller in the block direction.
#progress {
  animation: grow-progress 2s linear forwards;
  animation-timeline: scroll();
}

That’s it! We’re linked up. Now we can remove the animation-duration value from the mix (or set it to auto):

#progress {
  animation: grow-progress linear forwards;
  animation-timeline: scroll();
}

Note that we’re unable to plop the animation-timeline property on the animation shorthand, at least for now. Bramus calls it a “reset-only sub-property of the shorthand” which is a new term to me. Its value gets reset when you use the shorthand the same way background-color is reset by background. That means the best practice is to declare animation-timeline after animation.

/* YEP! */
#progress {
  animation: grow-progress linear forwards;
  animation-timeline: scroll();
}

/* NOPE! */
#progress {
  animation-timeline: scroll();
  animation: grow-progress linear forwards;
}

Let’s talk about the scroll() function. It creates an anonymous scroll timeline that “walks up” the ancestor tree from the target element to the nearest ancestor scroll. In this example, the nearest ancestor scroll is the :root element, which is tracked in the block direction.

We can name scroll timelines, but that’s in another video. For now, know that we can adjust which axis to track and which scroller to target in the scroll() function.

animation-timeline: scroll(<axis> <scroller>);
  • : The axis — be it block (default), inline, y, or x.
  • : The scroll container element that defines the scroll position that influences the timeline’s progress, which can be nearest (default), root (the document), or self.

If the root element does not have an overflow, then the animation becomes inactive. WAAPI gives us a way to establish scroll timelines in JavaScript with ScrollTimeline.

const $progressbar = document.querySelector(#progress);

$progressbar.style.transformOrigin = '0% 50%';
$progressbar.animate(
  {
    transform: ['scaleX(0)', 'scaleY()'],
  },
  {
    fill: 'forwards',
    timeline: new ScrollTimeline({
      source: document.documentElement, // root element
      // can control `axis` here as well
    }),
  }
)

Core Concepts: view() and ViewTimeline

First, we oughta distinguish a scroll container from a scroll port. Overflow can be visible or clipped. Clipped could be scrolling.

Diagram showing scrollport, scroll container, and scrollable overflow.

Those two bordered boxes show how easy it is to conflate scrollports and scroll containers. The scrollport is the visible part and coincides with the scroll container’s padding-box. When a scrollbar is present, that plus the scroll container is the root scroller, or the scroll container.

Diagram showing the root scroller.

A view timeline tracks the relative position of a subject within a scrollport. Now we’re getting into IntersectionObserver territory! So, for example, we can begin an animation on the scroll timeline when an element intersects with another, such as the target element intersecting the viewport, then it progresses with scrolling.

Bramus walks through an example of animating images in long-form content when they intersect with the viewport. First, a CSS animation to reveal an image from zero opacity to full opacity (with some added clipping).

@keyframes reveal {
  from {
    opacity: 0;
    clip-path: inset(45% 20% 45% 20%);
  }
  to {
    opacity: 1;
    clip-path: inset(0% 0% 0% 0%);
  }
}

.revealing-image {
  animation: reveal 1s linear both;
}

This currently runs on the document’s timeline. In the last video, we used scroll() to register a scroll timeline. Now, let’s use the view() function to register a view timeline instead. This way, we’re responding to when a .revealing-image element is in, well, view.

.revealing-image {
  animation: reveal 1s linear both;
  /* Rember to declare the timeline after the shorthand */
  animation-timeline: view();
}

At this point, however, the animation is nice but only completes when the element fully exits the viewport, meaning we don’t get to see the entire thing. There’s a recommended way to fix this that Bramus will cover in another video. For now, we’re speeding up the keyframes instead by completing the animation at the 50% mark.

@keyframes reveal {
  from {
    opacity: 0;
    clip-path: inset(45% 20% 45% 20%);
  }
  50% {
    opacity: 1;
    clip-path: inset(0% 0% 0% 0%);
  }
}

More on the view() function:

animation-timeline: view(<axis> <view-timeline-inset>);

We know from the scroll() function — it’s the same deal. The is a way of adjusting the visibility range of the view progress (what a mouthful!) that we can set to auto (default) or a . A positive inset moves in an outward adjustment while a negative value moves in an inward adjustment. And notice that there is no argument — a view timeline always tracks its subject’s nearest ancestor scroll container.

OK, moving on to adjusting things with ViewTimeline in JavaScript instead.

const $images = document.querySelectorAll(.revealing-image);

$images.forEach(($image) => {
  $image.animate(
    [
      { opacity: 0, clipPath: 'inset(45% 20% 45% 20%)', offset: 0 }
      { opacity: 1; clipPath: 'inset(0% 0% 0% 0%)', offset: 0.5 }
    ],
    {
      fill: 'both',
      timeline: new ViewTimeline({
        subject: $image,
        axis: 'block', // Do we have to do this if it's the default?
      }),
    }
  }
)

This has the same effect as the CSS-only approach with animation-timeline.

Timeline Ranges Demystified

Last time, we adjusted where the image’s reveal animation ends by tweaking the keyframes to end at 50% rather than 100%. We could have played with the inset(). But there is an easier way: adjust the animation attachment range,

Most scroll animations go from zero scroll to 100% scroll. The animation-range property adjusts that:

animation-range: normal normal;

Those two values: the start scroll and end scroll, default:

animation-range: 0% 100%;

Other length units, of course:

animation-range: 100px 80vh;

The example we’re looking at is a “full-height cover card to fixed header”. Mouthful! But it’s neat, going from an immersive full-page header to a thin, fixed header while scrolling down the page.

@keyframes sticky-header {
  from {
    background-position: 50% 0;
    height: 100vh;
    font-size: calc(4vw + 1em);
  }
  to {
    background-position: 50% 100%;
    height: 10vh;
    font-size: calc(4vw + 1em);
    background-color: #0b1584;
  }
}

If we run the animation during scroll, it takes the full animation range, 0%-100%.

.sticky-header {
  position: fixed;
  top: 0;

  animation: sticky-header linear forwards;
  animation-timeline: scroll();
}

Like the revealing images from the last video, we want the animation range a little narrower to prevent the header from animating out of view. Last time, we adjusted the keyframes. This time, we’re going with the property approach:

.sticky-header {
  position: fixed;
  top: 0;

  animation: sticky-header linear forwards;
  animation-timeline: scroll();
  animation-range: 0vh 90vh;
}

We had to subtract the full height (100vh) from the header’s eventual height (10vh) to get that 90vh value. I can’t believe this is happening in CSS and not JavaScript! Bramus sagely notes that font-size animation happens on the main thread — it is not hardware-accelerated — and the entire scroll-driven animation runs on the main as a result. Other properties cause this as well, notably custom properties.

Back to the animation range. It can be diagrammed like this:

Visual demo showing the animation's full range.
The animation “cover range”. The dashed area represents the height of the animated target element.

Notice that there are four points in there. We’ve only been chatting about the “start edge” and “end edge” up to this point, but the range covers a larger area in view timelines. So, this:

animation-range: 0% 100%; /* same as 'normal normal' */

…to this:

animation-range: cover 0% cover 100%; /* 'cover normal cover normal' */

…which is really this:

animation-range: cover;

So, yeah. That revealing image animation from the last video? We could have done this, rather than fuss with the keyframes or insets:

animation-range: cover 0% cover 50%;

So nice. The demo visualization is hosted at scroll-driven-animations.style. Oh, and we have keyword values available: contain, entry, exit, entry-crossing, and exit-crossing.

Showing a contained animation range.
contain
Showing an entry animation range.
entry
Showing an exit animation range.
exit

The examples so far are based on the scroller being the root element. What about ranges that are taller than the scrollport subject? The ranges become slightly different.

An element larger than the scrollport where contain equals 100% when out of range but 0% before it actually reaches the end of the animation.
Just have to be aware of the element’s size and how it impacts the scrollport.

This is where the entry-crossing and entry-exit values come into play. This is a little mind-bendy at first, but I’m sure it’ll get easier with use. It’s clear things can get complex really quickly… which is especially true when we start working with multiple scroll-driven animation with their own animation ranges. Yes, that’s all possible. It’s all good as long as the ranges don’t overlap. Bramus uses a contact list demo where contact items animate when they enter and exit the scrollport.

@keyframes animate-in {
  0% { opacity: 0; transform: translateY: 100%; }
  100% { opacity: 1; transform: translateY: 0%; }
}
@keyframes animate-out {
  0% { opacity: 1; transform: translateY: 0%; }
  100% { opacity: 0; transform: translateY: 100%; }
}

.list-view li {
  animation: animate-in linear forwards,
             animate-out linear forwards;
  animation-timeline: view();
  animation-range: entry, exit; /* animation-in, animation-out */
}

Another way, using entry and exit keywords directly in the keyframes:

@keyframes animate-in {
  entry 0% { opacity: 0; transform: translateY: 100%; }
  entry 100% { opacity: 1; transform: translateY: 0%; }
}
@keyframes animate-out {
  exit 0% { opacity: 1; transform: translateY: 0%; }
  exit 100% { opacity: 0; transform: translateY: 100%; }
}

.list-view li {
  animation: animate-in linear forwards,
             animate-out linear forwards;
  animation-timeline: view();
}

Notice that animation-range is no longer needed since its values are declared in the keyframes. Wow.

OK, ranges in JavaScript.:

const timeline = new ViewTimeline({
  subjext: $li,
  axis: 'block',
})

// Animate in
$li.animate({
  opacity: [ 0, 1 ],
  transform: [ 'translateY(100%)', 'translateY(0)' ],
}, {
  fill: 'forwards',
  // One timeline instance with multiple ranges
  timeline,
  rangeStart: 'entry: 0%',
  rangeEnd: 'entry 100%',
})

Core Concepts: Timeline Lookup and Named Timelines

This time, we’re learning how to attach an animation to any scroll container on the page without needing to be an ancestor of that element. That’s all about named timelines.

But first, anonymous timelines track their nearest ancestor scroll container.

<html> <!-- scroll -->
  <body>
    <div class="wrapper">
      <div style="animation-timeline: scroll();"></div>
    </div>
  </body>
</html>

Some problems might happen like when overflow is hidden from a container:

<html> <!-- scroll -->
  <body>
    <div class="wrapper" style="overflow: hidden;"> <!-- scroll -->
      <div style="animation-timeline: scroll();"></div>
    </div>
  </body>
</html>

Hiding overflow means that the element’s content block is clipped to its padding box and does not provide any scrolling interface. However, the content must still be scrollable programmatically meaning this is still a scroll container. That’s an easy gotcha if there ever was one! The better route is to use overflow: clipped rather than hidden because that prevents the element from becoming a scroll container.

Hiding oveflow = scroll container. Clipping overflow = no scroll container. Bramus says he no longer sees any need to use overflow: hidden these days unless you explicitly need to set a scroll container. I might need to change my muscle memory to make that my go-to for hiding clipping overflow.

Another funky thing to watch for: absolute positioning on a scroll animation target in a relatively-positioned container. It will never match an outside scroll container that is scroll(inline-nearest) since it is absolute to its container like it’s unable to see out of it.

We don’t have to rely on the “nearest” scroll container or fuss with different overflow values. We can set which container to track with named timelines.

.gallery {
  position: relative;
}
.gallery__scrollcontainer {
  overflow-x: scroll;
  scroll-timeline-name: --gallery__scrollcontainer;
  scroll-timeline-axis: inline; /* container scrolls in the inline direction */
}
.gallery__progress {
  position: absolute;
  animation: progress linear forwards;
  animation-timeline: scroll(inline nearest);
}

We can shorten that up with the scroll-timeline shorthand:

.gallery {
  position: relative;
}
.gallery__scrollcontainer {
  overflow-x: scroll;
  scroll-timeline: --gallery__scrollcontainer inline;
}
.gallery__progress {
  position: absolute;
  animation: progress linear forwards;
  animation-timeline: scroll(inline nearest);
}

Note that block is the scroll-timeline-axis initial value. Also, note that the named timeline is a dashed-ident, so it looks like a CSS variable.

That’s named scroll timelines. The same is true of named view timlines.

.scroll-container {
  view-timeline-name: --card;
  view-timeline-axis: inline;
  view-timeline-inset: auto;
  /* view-timeline: --card inline auto */
}

Bramus showed a demo that recreates Apple’s old cover-flow pattern. It runs two animations, one for rotating images and one for setting an image’s z-index. We can attach both animations to the same view timeline. So, we go from tracking the nearest scroll container for each element in the scroll:

.covers li {
  view-timeline-name: --li-in-and-out-of-view;
  view-timeline-axis: inline;

  animation: adjust-z-index linear both;
  animation-timeline: view(inline);
}
.cards li > img {
   animation: rotate-cover linear both;
   animation-timeline: view(inline);
}

…and simply reference the same named timelines:

.covers li {
  view-timeline-name: --li-in-and-out-of-view;
  view-timeline-axis: inline;

  animation: adjust-z-index linear both;
  animation-timeline: --li-in-and-out-of-view;;
}
.cards li > img {
   animation: rotate-cover linear both;
   animation-timeline: --li-in-and-out-of-view;;
}

In this specific demo, the images rotate and scale but the updated sizing does not affect the view timeline: it stays the same size, respecting the original box size rather than flexing with the changes.

Phew, we have another tool for attaching animations to timelines that are not direct ancestors: timeline-scope.

timeline-scope: --example;

This goes on an parent element that is shared by both the animated target and the animated timeline. This way, we can still attach them even if they are not direct ancestors.

<div style="timeline-scope: --gallery">
  <div style="scroll-timeline: --gallery-inline;">
     ...
  </div>
  <div style="animation-timeline: --gallery;"></div>
</div>
Illustrating the relationship between a scroll target and container when they are not ancestors, but siblings.

It accepts multiple comma-separated values:

timeline-scope: --one, --two, --three;
/* or */
timeline-scope: all; /* Chrome 116+ */

There’s no Safari or Firefox support for the all kewword just yet but we can watch for it at Caniuse (or the newer BCD Watch!).

This video is considered the last one in the series of “core concepts.” The next five are more focused on use cases and examples.

Add Scroll Shadows to a Scroll Container

In this example, we’re conditionally showing scroll shadows on a scroll container. Chris calls scroll shadows one his favorite CSS-Tricks of all time and we can nail them with scroll animations.

Here is the demo Chris put together a few years ago:

CodePen Embed Fallback

That relies on having a background with multiple CSS gradients that are pinned to the extremes with background-attachment: fixed on a single selector. Let’s modernize this, starting with a different approach using pseudos with sticky positioning:

.container::before,
.container::after {
  content: "";
  display: block;
  position: sticky;
  left: 0em; 
  right 0em;
  height: 0.75rem;

  &::before {
    top: 0;
    background: radial-gradient(...);
  }
  
  &::after {
    bottom: 0;
    background: radial-gradient(...);
  }
}

The shadows fade in and out with a CSS animation:

@keyframes reveal {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.container {
  overflow:-y auto;
  scroll-timeline: --scroll-timeline block; /* do we need `block`? */

  &::before,
  &::after {
    animation: reveal linear both;
    animation-timeline: --scroll-timeline;
  }
}

This example rocks a named timeline, but Bramus notes that an anonymous one would work here as well. Seems like anonymous timelines are somewhat fragile and named timelines are a good defensive strategy.

The next thing we need is to set the animation’s range so that each pseudo scrolls in where needed. Calculating the range from the top is fairly straightforward:

.container::before {
  animation-range: 1em 2em;
}

The bottom is a little tricker. It should start when there are 2em of scrolling and then only travel for 1em. We can simply reverse the animation and add a little calculation to set the range based on it’s bottom edge.

.container::after {
  animation-direction: reverse;
  animation-range: calc(100% - 2em) calc(100% - 1em);
}

Still one more thing. We only want the shadows to reveal when we’re in a scroll container. If, for example, the box is taller than the content, there is no scrolling, yet we get both shadows.

Shadows on the top and bottom edges of the content, but the content is shorter than the box height, resulting in the shadow being in the middle of the box.

This is where the conditional part comes in. We can detect whether an element is scrollable and react to it. Bramus is talking about an animation keyword that’s new to me: detect-scroll.

@keyframes detect-scroll {
  from,
  to {
     --can-scroll: ; /* value is a single space and acts as boolean */
  }
}

.container {
  animation: detect-scroll;
  animation-timeline: --scroll-timeline;
  animation-fill-mode: none;
}

Gonna have to wrap my head around this… but the general idea is that --can-scroll is a boolean value we can use to set visibility on the pseudos:

.content::before,
.content::after {
    --vis-if-can-scroll: var(--can-scroll) visible;
    --vis-if-cant-scroll: hidden;

  visibility: var(--vis-if-can-scroll, var(--vis-if-cant-scroll));
}

Bramus points to this CSS-Tricks article for more on the conditional toggle stuff.

Animate Elements in Different Directions

This should be fun! Let’s say we have a set of columns:

<div class="columns">
  <div class="column reverse">...</div>
  <div class="column">...</div>
  <div class="column reverse">...</div>
</div>

The goal is getting the two outer reverse columns to scroll in the opposite direction as the inner column scrolls in the other direction. Classic JavaScript territory!

The columns are set up in a grid container. The columns flex in the column direction.

/* run if the browser supports it */
@supports (animation-timeline: scroll()) {

  .column-reverse {
    transform: translateY(calc(-100% + 100vh));
    flex-direction: column-reverse; /* flows in reverse order */
  }

  .columns {
    overflow-y: clip; /* not a scroll container! */
  }

}
The bottom edge of the outer columns are aligned with the top edge of the viewport.

First, the outer columns are pushed all the way up so the bottom edges are aligned with the viewport’s top edge. Then, on scroll, the outer columns slide down until their top edges re aligned with the viewport’s bottom edge.

The CSS animation:

@keyframes adjust-position {
  from /* the top */ {
    transform: translateY(calc(-100% + 100vh));
  }
  to /* the bottom */ {
    transform: translateY(calc(100% - 100vh));
  }
}

.column-reverse {
  animation: adjust-position linear forwards;
  animation-timeline: scroll(root block); /* viewport in block direction */
}

The approach is similar in JavaScript:

const timeline = new ScrollTimeline({
  source: document.documentElement,
});

document.querySelectorAll(".column-reverse").forEach($column) => {
  $column.animate(
    {
      transform: [
        "translateY(calc(-100% + 100vh))",
        "translateY(calc(100% - 100vh))"
      ]
    },
    {
      fill: "both",
      timeline,
    }
  );
}

Animate 3D Models and More on Scroll

This one’s working with a custom element for a 3D model:

<model-viewer alt="Robot" src="robot.glb"></model-viewer>

First, the scroll-driven animation. We’re attaching an animation to the component but not defining the keyframes just yet.

@keyframes foo {

}

model-viewer {
  animation: foo linear both;
  animation-timeline: scroll(block root); /* root scroller in block direction */
}

There’s some JavaScript for the full rotation and orientation:

// Bramus made a little helper for handling the requested animation frames
import { trackProgress } from "https://esm.sh/@bramus/sda-utilities";

// Select the component
const $model = document.QuerySelector("model-viewer");
// Animation begins with the first iteration
const animation = $model.getAnimations()[0];

// Variable to get the animation's timing info
let progress = animation.effect.getComputedTiming().progress * 1;
// If when finished, $progress = 1
if (animation.playState === "finished") progress = 1;
progress = Math.max(0.0, Math.min(1.0, progress)).toFixed(2);

// Convert this to degrees
$model.orientation = `0deg 0deg $(progress * -360)deg`;

We’re using the effect to get the animation’s progress rather than the current timed spot. The current time value is always measured relative to the full range, so we need the effect to get the progress based on the applied animation.

Scroll Velocity Detection

The video description is helpful:

Bramus goes full experimental and uses Scroll-Driven Animations to detect the active scroll speed and the directionality of scroll. Detecting this allows you to style an element based on whether the user is scrolling (or not scrolling), the direction they are scrolling in, and the speed they are scrolling with … and this all using only CSS.

First off, this is a hack. What we’re looking at is expermental and not very performant. We want to detect the animations’s velocity and direction. We start with two custom properties.

@keyframes adjust-pos {
  from {
    --scroll-position: 0;
    --scroll-position-delayed: 0;
  }
  to {
    --scroll-position: 1;
    --scroll-position-delayed: 1;
  }
}

:root {
  animation: adjust-pos linear both;
  animation-timeline: scroll(root);
}

Let’s register those custom properties so we can interpolate the values:

@property --scroll-position {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}

@property --scroll-position-delayed {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}

As we scroll, those values change. If we add a little delay, then we can stagger things a bit:

:root {
  animation: adjust-pos linear both;
  animation-timeline: scroll(root);
}

body {
  transition: --scroll-position-delayed 0.15s linear;
}

The fact that we’re applying this to the body is part of the trick because it depends on the parent-child relationship between html and body. The parent element updates the values immediately while the child lags behind just a tad. The evaluate to the same value, but one is slower to start.

We can use the difference between the two values as they are staggered to get the velocity.

:root {
  animation: adjust-pos linear both;
  animation-timeline: scroll(root);
}

body {
  transition: --scroll-position-delayed 0.15s linear;
  --scroll-velocity: calc(
    var(--scroll-position) - var(--scroll-position-delayed)
  );
}

Clever! If --scroll-velocity is equal to 0, then we know that the user is not scrolling because the two values are in sync. A positive number indicates the scroll direction is down, while a negative number indicates scrolling up,.

Showing values for the scroll position, the delayed position, and the velocity when scrolling occurs.

There’s a little discrepancy when scrolling abruptly changes direction. We can fix this by tighening the transition delay of --scroll-position-delayed but then we’re increasing the velocity. We might need a multiplier to further correct that… that’s why this is a hack. But now we have a way to sniff the scrolling speed and direction!

Here’s the hack using math functions:

body {
  transition: --scroll-position-delayed 0.15s linear;
  --scroll-velocity: calc(
    var(--scroll-position) - var(--scroll-position-delayed)
  );
  --scroll-direction: sign(var(--scroll-velocity));
  --scroll-speed: abs(var(--scroll-velocity));
}

This is a little funny because I’m seeing that Chrome does not yet support sign() or abs(), at least at the time I’m watching this. Gotta enable chrome://flags. There’s a polyfill for the math brought to you by Ana Tudor right here on CSS-Tricks.

Showing values for the scroll position, the delayed position, the velocity, the scroll direction, and the scroll speed when scrolling occurs.

So, now we could theoretically do something like skew an element by a certain amount or give it a certain level of background color saturation depending on the scroll speed.

.box {
  transform: skew(calc(var(--scroll-velocity) * -25deg));
  transition: background 0.15s ease;
  background: hsl(
    calc(0deg + (145deg * var(--scroll-direction))) 50 % 50%
  );
}

We could do all this with style queries should we want to:

@container style(--scroll-direction: 0) { /* idle */
  .slider-item {
    background: crimson;
  }
}
@container style(--scroll-direction: 1) { /* scrolling down */
  .slider-item {
    background: forestgreen;
  }
}
@container style(--scroll-direction: -1) { /* scrolling down */
  .slider-item {
    background: lightskyblue;
  }
}

Custom properties, scroll-driven animations, and style queries — all in one demo! These are wild times for CSS, tell ya what.

Outro

The tenth and final video! Just a summary of the series, so no new notes here. But here’s a great demo to cap it off.

CodePen Embed Fallback

Unleash the Power of Scroll-Driven Animations originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

Best Al Marketing Tools 2024 – Let’s Boost Your Campaigns

October 21st, 2024 No comments

In the past few years, AI’s impact has increased daily. No industry that doesn’t involve AI technology in its business is left behind. Artificial intelligence certainly helps to make the job easy. Now, this revolution has also changed the marketing industry. 

Nowadays, digital marketers can work smartly and effectively with AI. However, there are tons of AI marketing tools which makes it challenging to choose the right one. But don’t worry. We have done the hard part of the research for you and made a list of the top 5 best AI marketing tools. 

Read till the end and find a suitable AI tool for your business.

Top AI Marketing Tools to Elevate Your Strategy in 2024

We have researched different AI marketing tools. After our review, we have made a list of the top 5 marketing tools here. Let’s find out the best from the rest for promoting campaigns.

1. Jasper AI – Best for Content Creation

Jasper AI is a powerful AI tool that helps marketers, business owners, and content creators create high-quality content. This AI tool helps in writing blogs, emails, social media, and website content. It was initially named Jarvis, inspired by Tony Stark’s AI assistant from Marvel. 

Additionally, Jarvis was an important character in Iron Man movies, so they sent a cease and desist letter to the. After that, they came up with a new AI assistant called Jasper AI. Let’s find out its key features.

Key Features of Jasper AI:

  • It helps in emails and marketing campaigns
  • Helps in copywriting and blog writing
  • It has an AI image suite feature for editing images for web and media
  • Write product descriptions
  • Help in building a brand voice
  • Generate marketing campaigns
  • Support 80+ languages
  • Generate optimized content

Pricing:

  • It offers a free 7-day trial period. 
  • For Creators – $39/monthly
  • For Pro – $59/monthly
  • After that, you need to get a subscription plan. 

However, it offers a custom plan as well.

Ratings: 

  • G2: 4.8/5 ?

2. Surfer SEO – Best for SEO Optimization

In the list of five AI marketing tools of AIChief, Surfer SEO comes at the second number. It is a content optimization AI tool that helps you optimize your content on Google’s first page. You can create a content outline and do keyword research before writing an article through Surfer SEO. 

Moreover, after writing, this AI tool can check your article on all aspects like keyword density, length, headings formats, readability, and AI detection. So, the article can rank better and be ranked on Google.

However, you can work on its platform directly as it has an editor option. So you can edit your content while writing. It also has a paraphrase feature to humanize your content. Lastly, it is also integrated with other AI marketing tools like Jasper, Google Docs, WordPress, and many more for content creation.

Key Features of Surfer SEO

  • Helps in content optimization
  • Checks keyword density & AI detection from content.
  • Paraphrasing Feature for humanize content
  • Generate Content Outline
  • Provides Competitor Analysis Report
  • Supports multilingual languages

Pricing:

  • The essential Plan starts at $99/ month. 
  • Scaling Plan starts at $219/month. 
  • It gives a 7-day money-back guarantee.

Ratings: 

  • G2: 4.8/5 ?

3. Optimove – Best for Customer Data Management

It is one of the best tools for managing and building relationships with customers. This AI tool studies customers’ data and predictive analytics in order to promote customized marketing campaigns. 

Moreover, Marketers can design customizable customer journeys with Optimove. This will modify each customer’s unique behavior and response, resulting in unique experiences for every consumer and improving engagement and loyalty. 

Key Features of Seventh Sense

  • Offers customer data management.
  • App Messaging
  • Mobile Push
  • Digital Ads
  • Text Messaging
  • Web Push & Pop-Ups
  • CRM understanding.
  • Personalized Customer Experience.

Pricing:

  • This Customer-Led Marketing Platform offers a customized pricing model. 
  • It also offers free demos.

Ratings: 

  • G2: 4.6/5 ?

4. Seventh Sense – Best for Email Marketing

Nowadays, hundreds of tools claim to be the best for email marketing. But many of them still don’t crack the code for success. Email marketing is best for lead generation. Moreover, one of the most excellent tools for it is Seventh Sense since it encourages advanced marketing techniques. 

Additionally, it studies customers’ behavior and finds the best time to send emails, increasing the CTR and customer interaction rate. However, it’ll also increase the rate of marketing success. 

Key Features of Seventh Sense

  • Studies customer behavior and the most engaging time for interactions. 
  • Sends emails according to customers’ time.
  • Promotes CTR and customer interaction.
  • Integrated other platforms like HubSpot and Salesforce.
  • User-friendly dashboards.
  • Scheduling Campaigns Automatically

Pricing:

  • For Hubspot, it offers $80/month
  • For Marketo, it offers $450/month
  • It also offers a custom plan

Ratings: 

  • G2: 4.8/5 ?

5. Sprout Social – Best for Social Media Management

Sprout Social is an all-in-one marketing tool that handles everything, from creating content to managing and publishing. This application is user-friendly and supports automated repetitive tasks. 

It develops relationships with clients and researches their industry to provide better results. Marketers can improve results by streamlining their operations, effectively engaging with consumers, and analyzing campaign performance using Sprout Social.

Key Features of Sprout Social

  • Manages social media platforms and publishes content.
  • Supports engagement through comments and DMs
  • Provides trendy ideas for content creation
  • Integrated with different systems like CRM and workflows to improve marketing.

Pricing:

  • Standard Offer for small businesses – $199 per seat/month 
  • Professional Offer for team handlers – $299 per seat/month 
  • Advanced Offer – $399 per seat/month 

Ratings: 

  • G2: 4.4/5 ?

One of the key points of marketing is to keep an eye on competitors, like what they are doing and what strategy they are using for leads. But, for this process, you have to go through a lot of information and research. AI makes that part easy for you with just simple steps. 

These AI marketing tools can increase your business marketing and productivity. Now, go give them a try and boost your marketing campaigns.

Featured image by GRIN on Unsplash

The post Best Al Marketing Tools 2024 – Let’s Boost Your Campaigns appeared first on noupe.

Categories: Others Tags:

Top 5 Upcoming Shopify eCommerce Trends for Merchants

October 21st, 2024 No comments

As eCommerce is evolving at an increased pace, staying ahead of the latest trends in the market is very important for Shopify store owners to keep their stores stand out from the competition. Staying updated with the latest eCommerce trends helps merchants sell their products uniquely and convert more customers. As with every industry, the eCommerce industry is also constantly growing now with modern technologies, customer shopping behavior, product marketing strategies, and more.

As every year, new trends arise, similarly in 2024 also we can see some new exciting changes. We can see how Shopify store owners are going to run their online stores by making use of the latest trends and technologies. In this blog, we will introduce the top 5 upcoming Shopify eCommerce trends for merchants. Let’s dive in!

Headless E-commerce

Headless commerce is becoming popular among Shopify store owners. Headless Commerce’s name itself tells that the front end of the store is separated from the back end of the store. This functionality offers Shopify merchants flexibility and scalability to present their brand storefronts freely. 

Shopify headless commerce, allows seamless integration with several front-end technologies, while back-end operations will be managed by the Shopify handles. This allows store owners to deliver a fully personalized and responsive shopping experience to the customers. Headless commerce showcases a paradigm shift in how the future of E-commerce will deliver content and functionality to customers.

AR and VR Technologies

Augmented Reality (AR) and Virtual Reality (VR) technologies are booming nowadays not only in the e-commerce industry but also in other industries. AR and VR technologies are revolutionizing the online shopping experience of customers by offering immersive product experiences. AR & VR technologies allow store owners to provide interactive and realistic shopping experiences to the customers.

Now with the arrival of AR and VR, store owners can offer virtual try-ons to their customers with 3D product visualizations, and interactive demos. For example, if a customer is trying to buy a sunglass, he/she can check how it looks on their face. This will improve customer engagement and help them to make better purchasing decisions. 

Quick and Free Order Delivery Options 

In online shopping, order delivery and shipping is a major concern among store owners. Every customer loves to get their orders delivered as soon as they order it. Fast delivery and free shipping have been considered by the majority of customers while making buying decisions from an online store. Remember providing your customers the fastest delivery can significantly help to grow your business and drive repeat purchases from your store.

One of the best options is giving a click-and-collect option allowing customers to place their order online and pick up their order directly from the physical store or at designated locations. This will help you to save your shipping costs and improve customer satisfaction by giving them quick and on-time order delivery. To make order delivery management easier, there are many Shopify apps available like Stellar Delivery Date & Pickup. These apps can help you give a quick order delivery experience to your customers.

Automation and AI Chatbots

With the emergence of automation and AI-powered chatbots, customer support jobs have become easier now. Chatbots now give quick customer assistance through chatbots as they give personalized suggestions to customer queries. Shopify has integrated advanced AI algorithms to automate repetitive tasks and offer quick customer support with the help of chatbots.

AI also helps merchants to give personalized recommendations based on customers’ preferences or needs and their purchase history. This kind of personalization will help you to give a special feel to your valuable customers by improving their shopping experience from your store.

Incorporating automation and AI chatbots into your Shopify store not only enhances the customer experience but also improves operational efficiency. Giving quick customer support to customers can help you foster client relationships and drive repeat purchases in your store.

Video Marketing for Products

The power of video marketing is increasing nowadays in every industry. Because people are more interested in videos compared to images. Videos can easily engage users and express to customers what how your products will look like. It will give them a clear understanding of your product in detail. Videos can connect emotionally with the audience easily and help merchants to convert them into sales. Because people always motion graphics instead of still images. Videos have more power to convert customers’ minds in making buying decisions.

Video marketing can help to improve product visibility and gain customer interest. With video marketing, merchants can create and promote different types of videos like a demonstration of product features, unboxing videos, how-to videos, etc. If you want to improve customer experience, drive conversions, and promote your brand, video marketing is the best option for you. 

Conclusion

In conclusion, it is important for Shopify merchants to stay up-to-date with the latest or upcoming eCommerce trends. Because customers are always attracted to unique elements. To satisfy customers and deliver the best based on their needs, it is a must to know the trends in the market. Ultimately, the key to success lies in a customer-centric approach. Take the time to understand your audience’s needs and preferences. Use their feedback to refine your offerings and enhance the shopping experience. This will help to stay ahead of the competition and grow your business easily. 

When customers receive their orders quickly and without additional costs, their satisfaction skyrockets, fostering loyalty and repeat business. AI chatbots play a pivotal role in this new era by providing instant support and personalized experiences. Video marketing has emerged as a game changer, allowing you to showcase your products in an engaging and relatable way.  By making use of the above-mentioned trends, Shopify merchants can enhance their online presence, drive sales, and foster long-term customer loyalty in a rapidly evolving digital marketplace.

As you move forward, remember that the eCommerce landscape will continue to evolve. Stay curious, keep experimenting, and be willing to adapt. This mindset will not only help you navigate challenges but also uncover new opportunities for growth. 

Featured image by Jan Canty on Unsplash

The post Top 5 Upcoming Shopify eCommerce Trends for Merchants appeared first on noupe.

Categories: Others Tags:

Top 9 Applications of Internet of Things and Its Examples

October 18th, 2024 No comments

The Internet of Things (IoT) transforms industries, businesses, and daily life by connecting physical devices to the Internet, enabling real-time data exchange and automated operations. From smart homes to industrial automation, the applications of Internet of Things are vast, providing numerous advantages in terms of efficiency, convenience, and cost savings. This article explores the top 9 applications of IoT technology, along with practical examples that illustrate its impact across different sectors.

1. Smart Homes

One of the most popular applications of Internet of Things is in smart homes, where IoT-enabled devices are used to control and automate various home functions. From lighting systems to thermostats, security cameras, and home appliances, IoT makes homes more efficient, secure, and user-friendly. Devices like Amazon Echo and Google Nest are great examples of IoT technology in action. These devices allow homeowners to control their environment through voice commands or smartphone apps, enhancing convenience and energy efficiency.

Example:

Google Nest smart thermostats automatically adjust heating and cooling settings based on user preferences, weather conditions, and occupancy, saving energy and reducing utility bills.

2. Industrial IoT (IIoT)

The use of IoT in manufacturing, often referred to as Industrial IoT (IIoT), is revolutionizing the production process. Sensors and connected devices monitor equipment performance in real time, detect potential issues, and optimize production flows. This helps companies reduce downtime, improve productivity, and enhance safety. IIoT is also used for predictive maintenance, where machines can predict and notify operators when they need service, preventing costly breakdowns.

Example:

General Electric (GE) uses IIoT to monitor its manufacturing machines across multiple factories, improving overall operational efficiency by collecting data on machine performance and automating adjustments.

3. Healthcare and Wearable Devices

In healthcare, IoT is improving patient care through remote monitoring and smart medical devices. IoT-enabled health trackers and wearables can monitor vital signs such as heart rate, blood pressure, and oxygen levels, sending real-time data to healthcare providers. This allows for early detection of potential health issues and timely interventions.

Example:

The Apple Watch is an example of IoT technology that tracks health data like heart rate, activity levels, and ECG readings, providing users and healthcare professionals with valuable health insights.

4. Smart Cities

IoT is playing a pivotal role in building smart cities by improving infrastructure, traffic management, and energy usage. Smart cities utilize IoT sensors and devices to monitor air quality, manage traffic flow, optimize public lighting, and enhance waste management systems. This not only improves the quality of urban living but also reduces resource consumption and costs.

Example:

Barcelona is a leader in IoT services for smart cities, implementing smart parking meters, connected street lighting, and environmental sensors to improve traffic management, reduce energy consumption, and monitor pollution levels.

5. Agriculture and Smart Farming

IoT has significant applications in agriculture, where it is used for precision farming, monitoring soil conditions, and automating irrigation systems. Sensors can collect data on soil moisture, temperature, and crop health, helping farmers make data-driven decisions to optimize crop yields and resource usage.

Example:

John Deere uses IoT-enabled sensors in its farming equipment to collect data on soil quality, moisture levels, and crop conditions, allowing farmers to make more informed decisions and improve productivity.

6. Connected Vehicles and Transportation

In the transportation sector, IoT technology enables connected vehicles that can communicate with each other and with traffic management systems. This helps optimize traffic flow, reduce accidents, and improve fuel efficiency. IoT also facilitates fleet management systems, where companies can track vehicle locations, monitor driver behavior, and ensure timely maintenance.

Example:

Tesla cars are equipped with IoT-enabled sensors that gather data to optimize autonomous driving capabilities and improve vehicle performance through over-the-air software updates.

7. Retail and Inventory Management

Retailers are using IoT technology to enhance customer experiences and streamline inventory management. IoT-enabled devices can track product movement, monitor stock levels, and automate inventory replenishment. Additionally, IoT helps retailers gather valuable customer data, allowing them to offer personalized shopping experiences.

Example:

Amazon Go stores use IoT sensors and cameras to create a cashier-less shopping experience, where customers can pick up items and leave without checking out, with the payment automatically processed through their Amazon account.

8. Energy Management and Smart Grids

IoT is being used in the energy sector to create smart grids that optimize energy distribution and consumption. IoT sensors monitor energy usage in real-time, allowing utilities to balance supply and demand more effectively. Smart grids also enable the integration of renewable energy sources, such as solar and wind power, making energy distribution more efficient and sustainable.

Example:

Siemens is working on smart grid solutions that use IoT to monitor energy consumption, predict energy demands, and optimize energy distribution in real-time, leading to more efficient energy management.

9. Supply Chain Management

IoT technology is enhancing supply chain management by improving tracking, monitoring, and efficiency. IoT devices such as RFID tags and GPS trackers help companies track shipments, monitor inventory levels, and ensure that goods are transported under optimal conditions. This real-time data helps businesses optimize logistics, reduce delays, and improve customer satisfaction.

Example:

DHL uses IoT-enabled sensors to monitor the condition of shipments, such as temperature and humidity, ensuring that products, especially perishables, are delivered in optimal conditions.

Advantages of IoT Technology

The Internet of Things (IoT) offers a wide range of advantages that are transforming industries and everyday life. One of the most significant benefits of IoT technology is the ability to enhance efficiency and automation. By connecting devices and systems, IoT enables real-time data collection, analysis, and communication, allowing organizations to optimize processes, reduce waste, and improve decision-making. In sectors such as manufacturing, healthcare, and agriculture, IoT-driven automation has streamlined operations, minimized human error, and enabled predictive maintenance, which reduces downtime and operational costs.

Another key advantage of IoT is the creation of more personalized and convenient experiences for consumers. Smart devices, such as wearables, home automation systems, and connected vehicles, allow users to monitor and control their environments with ease. IoT technology provides valuable insights into user behavior and preferences, enabling businesses to offer tailored services and products. For example, in smart homes, IoT-powered systems can adjust lighting, temperature, and security settings based on individual preferences, making life more comfortable and secure. Overall, the benefits of IoT span from boosting operational efficiency to enhancing user satisfaction in numerous applications.

Conclusion

The Internet of Things and its applications are reshaping industries and improving lives across the globe. IoT technology is unlocking new possibilities for efficiency and innovation from smart homes to healthcare, agriculture, and transportation. As IoT continues to evolve, its potential to revolutionize how we live and work will only grow, making it one of our most exciting technological advancements.

Featured image by Dan LeFebvre on Unsplash

The post Top 9 Applications of Internet of Things and Its Examples appeared first on noupe.

Categories: Others Tags:

Combining forces, GSAP & Webflow!

October 18th, 2024 No comments

Change can certainly be scary whenever a beloved, independent software library becomes a part of a larger organization. I’m feeling a bit more excitement than concern this time around, though.

If you haven’t heard, GSAP (GreenSock Animation Platform) is teaming up with the visual website builder, Webflow. This mutually beneficial advancement not only brings GSAP’s powerful animation capabilities to Webflow’s graphical user interface but also provides the GSAP team the resources necessary to take development to the next level.

GSAP has been independent software for nearly 15 years (since the Flash and ActionScript days!) primarily supported by Club GSAP memberships, their paid tiers which offer even more tools and plugins to enhance GSAP further. GSAP is currently used on more than 12 million websites.

I chatted with Cassie Evans — GSAP’s Lead Bestower of Animation Superpowers and CSS-Tricks contributor — who confidently expressed that GSAP will remain available for the wider web.

It’s a big change, but we think it’s going to be a good one – more resources for the core library, more people maintaining the GSAP codebase, money for events and merch and community support, a VISUAL GUI in the pipeline.

The Webflow community has cause for celebration as well, as direct integration with GSAP has been a wishlist item for a while.

The webflow community is so lovely and creative and supportive and friendly too. It’s a good fit.

I’m so happy for Jack, Cassie, and Rodrigo, as well as super excited to see what happens next. If you don’t want to take my word for it, check out what Brody has to say about it.


Combining forces, GSAP & Webflow! originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

Mastering theme.json: You might not need CSS

October 18th, 2024 No comments

I totally get the goal here: make CSS more modular and scalable in WordPress. Put all your global WordPress theme styles in a single file, including variations. JSON offers a nicely structured syntax that’s easily consumable by JavaScript, thereby allowing the sweet affordance of loading exactly what we want when we want it.

The problem, to me, is that writing “CSS” in a theme.json file is a complete mental model switcher-oo. Rather than selectors, we have a whole set of objects we have to know about just to select something. We have JSON properties that look and feel like CSS properties, only they have to be camelCased being JavaScript and all. And we’re configuring features in the middle of the styles, meaning we’ve lost a clear separation of concerns.

I’m playing devil’s advocate, of course. There’s a lot of upside to abstracting CSS with JSON for the very niche purpose of theming CMS templates and components. But after a decade of “CSS-in-JS is the Way” I’m less inclined to buy into it. CSS is the bee’s knees just the way it is and I’m OK relying on it solely, whether it’s in the required style.css file or some other plain ol’ CSS file I generate. But that also means I’m losing out on the WordPress features that require you to write styles in a theme.json file, like style variations that can be toggled directly in the WordPress admin.

Regardless of all that, I’m linking this up because Justin does bang-up work (no surprise, really) explaining and illustrating the ways of CSS-in-WordPress. We have a complete guide that Ganesh rocked a couple of years ago. You might check that to get familiar with some terminology, jump into a nerdy deep dive on how WordPress generates classes from JSON, or just use the reference tables as a cheat sheet.


Mastering theme.json: You might not need CSS originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

Solving Background Overflow With Inherited Border Radii

October 17th, 2024 No comments

One of the interesting (but annoying) things about CSS is the background of children’s elements can bleed out of the border radius of the parent element. Here’s an example of a card with an inner element. If the inner element is given a background, it can bleed out of the card’s border.

CodePen Embed Fallback

The easiest way to resolve this problem is to add overflow: hidden to the card element. I’m sure that’s the go-to solution most of us reach for when this happens.

But doing this creates a new problem — content outside the card element gets clipped off — so you can’t use negative margins or position: absolute to shift the children’s content out of the card.

CodePen Embed Fallback

There is a slightly more tedious — but more effective — way to prevent a child’s background from bleeding out of the parent’s border-radius. And that is to add the same border-radius to the child element.

The easiest way to do this is allowing the child to inherit the parent’s border-radius:

.child {
  border-radius: inherit;
}
CodePen Embed Fallback

If the border-radius shorthand is too much, you can still inherit the radius for each of the four corners on a case-by-case basis:

.child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
}

Or, for those of you who’re willing to use logical properties, here’s the equivalent. (For an easier way to understand logical properties, replace top and left with start, and bottom and right with end.)

.child {
  border-start-start-radius: inherit;
  border-top-end-radius: inherit;
  border-end-start-radius: inherit;
  border-end-end-radius: inherit;
}

Can’t we just apply a background on the card?

If you have a background directly on the .card that contains the border-radius, you will achieve the same effect. So, why not?

CodePen Embed Fallback

Well, sometimes you can’t do that. One situation is when you have a .card that’s split into two, and only one part is colored in.

CodePen Embed Fallback

So, why should we do this?

Peace of mind is probably the best reason. At the very least, you know you won’t be creating problems down the road with the radius manipulation solution.

This pattern is going to be especially helpful when CSS Anchor Positioning gains full support. I expect that would become the norm popover positioning soon in about 1-2 years.

That said, for popovers, I personally prefer to move the popover content out of the document flow and into the element as a direct descendant. By doing this, I prevent overflow: hidden from cutting off any of my popovers when I use anchor positioning.


Solving Background Overflow With Inherited Border Radii originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

Mastering WordPress for E-commerce: Proven Strategies to Boost Your Online Store

October 17th, 2024 No comments

With over 5 billion internet users worldwide, businesses are now tapping into E-commerce to expand market reach, which was inaccessible through traditional brick-and-mortar stores. However, success doesn’t end with merely establishing an E-commerce website. 

Tools are needed to do well in this competitive market. One tool is the Content Management System (CMS), which provides the framework and functionality needed for businesses to create, optimize and manage their online stores. 

WordPress dominates the CMS market, and surely using it will help in your business success. However, it takes the right and proven strategies to boost your online store, and this article is here for that. 

Why Choose WordPress for an E-commerce Website?

In the early days of WordPress, they were used primarily for blogging, but they have been adding more features and plugin libraries. Now, 43.5% of all websites are using WordPress, which shows its influence in content creation and digital management worldwide. 

Source

Among other CMS platforms, WordPress dominates the market – holding 62.6% shares. This highlights the benefits WordPress offers to its users.

  • Flexibility and Customization

WordPress offers customization options through its library of themes and plugins. The open-source nature of WordPress allows deep customization, where businesses can create features and functionalities tailored to their branding.

  • Cost-Effectiveness

WordPress, being an open-source software, is free to use. Though there are premium themes and plugins that can be bought, they are more affordable than other e-commerce platforms when it comes to subscription fees. 

  • Mobile Responsive Design

Google now uses mobile versions of a site’s content, which makes mobile-friendly websites important. WordPress themes are mobile-responsive, making online stores seamless across all devices. Also, this design will allow businesses to cater for users who prefer smartphones and tablets when shopping.  

  • Built-in SEO Features

WordPress comes with search engine optimization (SEO), where businesses can improve the visibility of their stores in search engine results. You can customize links, meta tags, and mobile responsiveness to enhance the website’s SEO performance.

  • Strong Community Support

As the leading CMS platform, you’ll have access to an active and vast community of developers, designers and users who can provide resources, including tutorials, documentation, forums, and professional support.

Setting up Your WordPress E-commerce Store

Businesses should establish a WordPress-based E-commerce store — from choosing a hosting provider to selecting themes and plugins — to set up their online business for success.

1. Choose the Right Hosting Provider

Cyberattacks are increasing due to reliance on IT systems, and e-commerce is their prime target because they handle and store sensitive information – from customers’ names, payment card data, and addresses to birthdates. This is why choosing the right hosting provider is important for security and speed. 

A good host helps make sure that your website has fast loading times to retain customers and improve conversion rates, as a slow website negatively impacts sales because of high bounce rates. Choose a hosting provider that provides security features, such as SSL certificates, firewalls, and regular backups that protect your data.

2. Install and Configure E-commerce Plugins

After choosing the hosting provider, install the e-commerce plugins needed for the functionality of your website. Select a responsive, fast-loading customizable theme that is mobile-friendly, such as Storefront, Shopkeeper and Astra, as they are known for ease of customization and speed – a significant portion of online shopping on mobile devices.

3. Select a Suitable E-commerce Theme

A theme will make a store appealing to the users, reflecting its brand. You can use WooCommerce, a leading WordPress plugin. With it, you can set up product pages, manage inventory, handle payments, and customize aspects of your stores.

Other plugins are also plugins available for your needs, such as:

  • Easy Digital Downloads – selling digital products
  • WP eCommerce – more traditional e-commerce experience
  • Ecwid – integrating store with social media platforms

Optimizing Your WordPress Store for Conversions

After setting up your WordPress E-commerce store, you need to optimize it for conversions, as one of any other business’s goals is to enhance UX and increase sales conversions. Strategies for optimization include:

Craft a Seamless User Experience (UX)

Site structure and navigation play a role in creating a seamless user experience (UX), affecting how customers interact with your website. Key points in improving these are having simple navigation, effective product pages and a streamlined checkout process.

  • Simple Navigation: Ensure that your website is intuitive. Organize your menu and make essential information accessible. Your structure should also let users find what they need easily with just a few clicks.
  • Effective Product Pages: Product pages should be visually appealing and informative by incorporating high-quality images, detailed descriptions, pricing, and customer reviews, helping customers make decisions.
  • Streamlined Checkout Process: Customers won’t complete the checkout process if it takes too long, so simplify it by minimizing the number of steps and using autofill options on forms and multiple payment methods for convenience.

Utilize Effective Call-to-Actions

Call-to-actions are buttons on your site, telling customers the action to take and driving sales to the e-commerce site. Make your CTAs stand out using contrasting colors and clear action-oriented text, which encourages users to take action. For example, “Add to Cart”, “Get Started”, or “Buy Now”.

You may also experiment with different formats and placements using A/B testing to determine which version yields the highest conversion rates based on real user data.

Implement Trust Signals and Security Measures

Building trust with potential customers through trust signals and security measures helps increase conversions to your e-commerce store, as customers will feel confident in their purchasing decisions.

  • Make sure that your website has SSL certification for secure connections of transactions. You may also reassure customers about their safety during shopping by displaying security badges and trust seals.
  • Positive feedback can influence potential buyers’ decisions as it establishes the trust and credibility of your brand, so encourage customers to leave reviews.
  • Consider money-back guarantees, easy return policies, and transparent shipping information to alleviate concerns about purchasing from an online store.

Ensuring Optimal Store Performance

A well-performing website not only enhances customer satisfaction but also encourages repeat visits, increasing conversions and sales. Maintaining high performance for your WordPress e-commerce store provides a positive user experience and favorable search engine rankings.

Regular Site Maintenance and Updates

Regular updates and maintenance help protect your site from vulnerabilities and improve performance. Neglecting these can slow loading times, broken features and security risks.

You can use tools (Google PageSpeed Insights, GTmetrix, or Pingdom) to monitor site performance, as they provide insights into loading speeds, help identify any issues affecting user experience, and suggest improvements.

Managing and Securing Customer Data

As customers trust you with sensitive information, you should maintain high standards of data protection that not only comply with regulations but also build customer confidence.

  • Comply with regulations by being transparent about data collection and usage practices.
  • Regularly back up your website to safeguard against data loss that may potentially be due to hacking or technical failures.
  • Schedule backups based on update frequency–daily for active sites or weekly for less frequently updated ones.

Scaling Your WordPress E-commerce Store

As your business grows, scaling your WordPress e-commerce store becomes essential to meet increasing demand and ensure a seamless shopping experience for customers.

Expand Product Lines and Categories

Expanding your offerings is a natural way to scale your e-commerce store. You can identify market trends and opportunities and manage inventory efficiently to meet customer demand.

  • Identify market trends and opportunities: Conduct regular market research, analyze customer feedback and observe competitors to stay attuned to market trends. You can use Google Trends and social media analytics to spot emerging opportunities for your brand.
  • Managing inventory: Tracking your inventory can help you streamline operations and prevent stockouts or overstock situations. Inventory management tools like TradeGecko or Zoho can help you track stock levels, manage orders, and forecast demands.

Enhance Site Performance for High-traffic

As your business grows, your e-commerce store visitors will also increase. Optimizing images, minimizing HTTP requests, and leveraging caching help handle this high traffic and maintain optimal performance. Your site should be able to handle spikes in traffic without compromising user experience.

A Content Delivery Network allows users to access data from the nearest location, which reduces latency. Additionally, a clean database helps improve site speed to cater to higher traffic. Consider removing unnecessary data such as spam comments, post revisions, and unused plugins.

Integrate Third-Party Platforms and Services

Integrating third-party platforms improves your site’s functionality and user experience.

  • Select payment gateways that offer flexibility and security.
  • Make sure that shipping options are easy to configure.
  • Provide real-time tracking information.

CRM can also help track customer interactions, manage leads, and automate marketing efforts. This allows businesses to tailor communications based on customer behavior and maintain customer relationships effectively.

Case Studies: Successful E-commerce Sites Built with WordPress

Lugz is a footwear brand that rebuilds its website using WordPress and WooCommerce to maximize performance, efficiency and conversions. With these, they were able to streamline enterprise resource planning integration and minimize time to create data structure and import product data.

French Today helps you speak French in actual conversions. This successful e-commerce website is powered by WordPress and WooCommerce sold over 20 recorded audiobooks with a vast collection of blog posts on language and culture in France.

Final Thoughts: WordPress Is a Go-to CMS for E-commerce

WordPress offers e-commerce businesses opportunities to build, optimize, and scale online stores successfully. With the right strategies, it can be a go-to CMS for e-commerce ventures looking to thrive in the competitive digital marketplace. 

Start your journey to e-commerce success and explore the potential of WordPress to power your online store today!

Featured image by Shoper on Unsplash

The post Mastering WordPress for E-commerce: Proven Strategies to Boost Your Online Store appeared first on noupe.

Categories: Others Tags:

From Screens to Space: The Future of 3D and Spatial UI Design

October 17th, 2024 No comments

In the last few years, the design of the UIs has shifted from flat 2D surfaces into the actual 3D environment and possibly progressing towards the creation of space interfaces. Such change is not only attributable to the evolution of motion design software but also to the changing ways of perceiving digital realities. Therefore, it will always be important for designers, developers, and users to comprehend the development of 3D and spatial-based UI design in the future. 

This shift from 2D interaction with interfaces to 3D interaction is the primary interaction of our day-to-day life. Recent designers are now integrating new technologies that include AR, VR, and MR in their services of UI designers to design spaces that earlier only featured in movies. We are now in one of the most exciting ages in and for design. It is time to review how 3D and space design relate to new technologies and to consider what new opportunities and risks they bring to engage an audience.

The Impact of 3D and Spatial Design

1. Enhanced User Engagement: Serviced by 3D and spatial design, it is likely that one of the greatest strengths is that one can design more intriguing ways of interacting with users. And that is why one can pinpoint some symbols, which cause definite feelings and, thus, draw users toward the advertised product or service. For example, consider an application that would allow a retail store buyer to visualize a particular product in his home with the aid of augmented reality. This not only brings an increase of the comfort of shopping but also aids in the selection of ones which are required through the navigation in a magnitude and depth of them.

2. Intuitive Navigation: Spatial design refers to a paradigm used to categorize contents and a manner that denotes how users interface with the visual interfaces. However, through depth, scale, and spatial relations, which work like the knobs of the brain when it is set right by designers, usable and easy-to-navigate systems can be drawn on the brain.

3. Collaborative Environments: Due to the pandemic, spatial design creates unique approaches to working from home and cohesively to function as a team. Integrated applications allow the collaboration of groups in 3D space; a representation of the physical office setting. Apps such as Spatial and Gather are designed to build workspaces where people can sit and have discussions, and even collaborate on projects, in a way that gives a good perception of being in the same room.

Technologies Driving the Shift

Several key technologies are propelling the shift towards 3D and spatial UI design:

1. Augmented Reality (AR):  AR technology superimposes computer-generated images on the video display of real-life thus overlaying virtual objects onto the physical environment. Currently, interactive applications like IKEA Place allow users to see how furniture will appear in their houses, and educational tools use AR for entertainment-enhanced learning.

2. Virtual Reality (VR): Unlike other user interface styles discussed so far, VR places the user forcefully and irreversibly in a completely artificial environment. This technology is now employed in areas ranging from gaming and entertainment through training simulation and tourism. Structure social media websites such as Oculus and HTC Vive are among the burgeoning pioneers of high-quality VR.

3. Mixed Reality (MR): MR is a hybrid between AR and VR and affords the user a means with which to directly interface with content that is superimposed over reality. Microsoft’s tool known as HoloLens is a good example; it enables the user to rotate various objects within the real environment, something that may find practical use in design, educational practices, and numerous areas related to healthcare.

4. 3D Graphics and Animation: The latest release in the quality of 3D graphics software has encouraged designers to enhance the graphic displays. Several programs, including Blender, Unity, and Unreal Engine, enable designers to start quickly the development of 3D interfaces giving the concept a concrete form.

The Future of Spatial UI Design

Looking ahead, the future of spatial UI design holds immense promise:

1. Broader Adoption of AR and VR: As noted earlier the cost of implementing AR & VR is coming down, thereby it is going to improve its integration with daily-use applications. In any industry – be it retail, healthcare, or automotive – location-based solutions to increase involvement and effective comprehension remain expected.

2. Personalization through AI: Spatial interfaces will have to be determined by artificial intelligence and machine learning. These technologies are capable of tracking the behavior and the usage preference patterns and thus are capable of providing the entire adapted usage experience. Think about situations, in which virtual worlds around adapt to your actions and decisions to produce unique experiences.

3. Cross-Platform Experiences: Cross-platform will continue to increase in demand as customers move between different technologies. There will be a necessity to develop spatial interfaces that are synchronized with different contexts: mobile, prescribed, desktop, and VR.

4. Sustainable Design Practices: More and more companies responded to the problem so spatial design will also have to care about the environment in the future. Some designers might look for possibilities to simulate environments that would require as little materials and energy as possible, to think about sustainable environmental solutions.

Conclusion

Moving from screens to space is a dramatic shift in implementing technologies out there. Since 3D and spatial UI design are still developing, they have the ability to transform users’ experiences in a broad variety of fields. By integrating these innovations, designers are in a position to develop experiences that are interactive, engaging, and intelligible to become parts of our existence. While entering this new territory, designers, developers, and end-users will have to work hand in hand. Together, it is possible to influence further developments and make digital experiences better for everyone, deeper and more effective. We are still at the start of the move from screens to space, and the possibilities are endless. So, let’s accept this change as a norm and create a better relationship between people and technology and everything that surrounds them.

Featured image by Jakub ?erdzicki on Unsplash

The post From Screens to Space: The Future of 3D and Spatial UI Design appeared first on noupe.

Categories: Others Tags:

What is the Future of Citizen Development in Modern Businesses?

October 17th, 2024 No comments

As businesses adopt digital to be more efficient, stay ahead of the curve and meet changing demands, their IT teams are faced with the growing challenge of supporting the software infrastructure. Due to the high costs of employing software developers and the scarcity of capable programmers, the pressure on IT teams has become enormous. As a result, numerous low-code/no-code platforms were established, and several businesses began developing citizen development programs.

Citizen development is an approach that lets non technical people build software. It’s also a business approach that lets non IT people become software developers by building business critical applications on LCNC platforms that address business needs.

What is Citizen Development?

Create your apps without having to learn complex coding languages. That’s what citizen development is all about! Previously software development was reserved for professional developers and tech experts – like having a secret language only they knew. Citizen development is changing that landscape, making app creation available to everyone. Successful citizen developers are good at problem-solving, teamwork, and resourcefulness so they are key players in organizations that are using citizen development to create more applications and business solutions using low-code development platforms.

Citizen developers are:

  • Business analysts or project managers
  • People with minimal coding or development skills
  • People who understand their department’s requirements and workflows

Citizen development uses simple, visual tools that lets anyone create apps fast. Features like drag-and-drop interfaces, pre-built components and simple logic tools removes the complexity of traditional coding so apps are available to non-technical users.

The best part? You don’t need to be a tech expert or learn complex coding to create applications. If you can navigate apps on your phone, you already have the skills to build your apps. Citizen development makes this capability accessible to everyone, empowering you to become an app creator effortlessly.

Current Landscape of Citizen Development Platform

Citizen development is already happening and making waves across many sectors. Organizations can save big by aligning to business goals and resource utilization through citizen development. Business users are starting to use AI and machine learning in their decision making. No-code and low-code machine learning tools have made AI more democratic so users without technical background can use advanced analytics and automation capabilities.

The impact of the citizen developer platform is happening across:

Healthcare

Citizen developers can create no-code apps for patient management, electronic health records and appointment scheduling.

Finance

Citizen developers in financial institutions use no-code apps for loan origination, fraud detection and compliance management.

Marketing and Sales

Teams can create and distribute campaigns through the citizen development platform using no-code apps for lead and customer relationship management.

Retail

Citizen development in retail companies lets developers create no-code apps for inventory, customer relationships and supply chain management.

Government

Citizen development in government offices lets you build no-code apps for citizen engagement, service delivery, data management and workflow automation.

Manufacturing

Citizen development in manufacturing companies lets you create no-code apps for production management, quality control and supply chain management.

Human Resources

Citizen development platform lets HR departments use no-code apps for recruitment, employee management and performance evaluation.

Telecommunications

Citizen development lets telecom companies use no-code apps for network management, customer service and billing systems.

Why Citizen Development is the Future of Business?

Citizen development is the new business because it’s making software development more democratic, so non technical employees can create applications without having to code. It accelerates digital transformation by letting business units create and deploy solutions in a matter of days that meet their needs. It reduces dependency on IT, fosters innovation and addresses the need for speed in today’s fast paced business world. It lets businesses respond to market changes and customer demands faster.

Here’s why citizen development is the future of software development:

User Friendly App Builder

Build apps by designing workflows with a simple drag-and-drop interface. Customize the look of your apps without needing to know CSS.

Seamless Integrations

Integrate with internal and external systems to pre-populate and validate data.

Effortless Workflow Automation

Streamline processes with adaptive, role based workflows and access controls. Automate notifications, trigger services within workflow steps and offer a dynamic experience based on rules.

Strong IT Governance

Let the IT department oversee and support citizen developers by giving IT administrators controls to decide who can develop and use apps, what kind of data can be uploaded, what kind of apps and what services and integrations are allowed.

Easy IT and Business Collaboration

Professional developers can extend and customize citizen-developed apps using JavaScript, HTML and CSS.

Citizen development is already happening and many organisations are already experiencing the benefits. It will be a key part of future business strategy.

How Does Citizen Development Impact Business?

According to Forrester 87% of enterprise developers are using low-code platforms for some of their projects. Citizen developers use low-code tools to solve business problems quickly, leveraging their business knowledge and digital skills to build applications that solve specific challenges within the organisation. With non-IT workers involved in application development, the low code market is expected to grow to $30 billion by 2028. This is the growing impact and adoption of citizen development across industries.

A citizen development strategy requires a holistic approach to implementation and outcomes.

Productivity

Citizen developers automate business processes so teams can manage more work. By letting employees integrate technology into their daily work, a citizen developer platform creates a culture of adaptability within the organization and increases productivity and business agility.

Employee Empowerment

Citizen Development lets employees across business units create applications using low code or no code platforms. With simple interfaces and pre-built templates users can build functional apps without having to code. This empowers those closest to operational challenges to address them and improve processes.

IT and Business Alignment

Citizen development brings IT and business users together by involving business users in the application development process. This collaboration improves communication, aligns IT and business goals and ensures digital transformation projects meet business needs.

Get Started with App Development Now

In today’s technology driven business world allowing employees to build their own apps is a key strategy to get ahead and create a digital culture. HCL Volt MX, a low code development platform, offers a single experience where professional and citizen developers can collaborate to build great apps. It increases efficiency and agility and accelerates app delivery by 60% and supports your digital first business.

Featured image by Work With Island on Unsplash

The post What is the Future of Citizen Development in Modern Businesses? appeared first on noupe.

Categories: Others Tags: