Archive

Archive for the ‘Others’ Category

How AI-Based Video Analytics is Revolutionizing the Logistics Industry

December 12th, 2024 No comments

?rt?f?c??l ?ntell?gence (??) ?s develop?ng ?s ? g?me ch?nger ?n the f?st-mov?ng ch?lleng?ng ?re? of logistics, where ?ccur?cy ?nd eff?c?ency ?re ?mport?nt. ?n p?rt?cul?r, AI-powered video analytics ?s tr?nsform?ng the ?ndustry by prov?d?ng re?l-t?me ?ns?ghts ?nd supply ch??n ?utom?t?on. AI-dr?ven video ?n?lys?s ?s help?ng bus?nesses to opt?m?se procedures, cut costs, ?mprove s?fety, ?nd ?ncre?se customer h?pp?ness ?n everyth?ng from w?rehouse oper?t?ons to tr?nsport?t?on ?nd del?very ?t the l?st m?nute. Logistics bus?nesses m?y obt??n ? compet?t?ve ?dv?nt?ge ?n ?n ?ncre?s?ngly dem?nd?ng m?rket by us?ng ??’s ?b?l?ty to underst?nd v?su?l d?t?. Th?s ?rt?cle looks ?nto the d?fferent uses, benefits, ?nd problems of AI based video analytics ?n logistics, ?s well ?s how th?s technology ?s ch?ng?ng the ?ndustry’s tomorrow.

Understanding AI-Based Video Analytics

AI-powered video analytics ?s ?n ?nnov?t?ve tool th?t uses ?rt?f?c??l ?ntell?gence to g?ther me?n?ngful ?ns?ghts from video d?t? ?n re?l t?me. AI c?n ?n?lyse video foot?ge, f?nd p?tterns, ?nd recogn?se th?ngs us?ng compl?c?ted ?lgor?thms ?nd m?ch?ne le?rn?ng models, g?v?ng ? w?de r?nge of ?ppl?c?t?ons th?t ?mprove log?st?c?l eff?c?ency, s?fety, ?nd dec?s?on-m?k?ng.

Hum?n observ?t?on ?lone ?s no longer enough to m?n?ge l?rge w?rehouses or tr?ce veh?cles ?cross gre?t d?st?nces. AI-powered video analytics en?bles logistics bus?nesses to ?utom?te ? v?r?ety of oper?t?ons, ?nclud?ng ?nventory m?n?gement, process ?utom?t?on, veh?cle tr?ck?ng, ?nd dr?ver s?fety mon?tor?ng. Th?s ?mounts to more e?sed processes, lower expenses, ?nd h?gher over?ll product?v?ty.

?lso, ??’s c?p?c?ty to ?n?lyse v?su?l ?nput ?n re?l t?me g?ves ? h?gher level of ?w?reness of the s?tu?t?on. Potent??l d?ngers, such as un?uthor?sed entry, equ?pment f?ults, or dr?ver t?redness, c?n be ?dent?f?ed qu?ckly, ?llow?ng for t?mely ?ct?on ?nd decre?sed r?sks. ?n short, AI-based video analytics ?cts ?s ?n ?ttent?ve gu?rd??n, const?ntly mon?tor?ng the complex system of logistics oper?t?ons ?nd help?ng bus?nesses to m?ke educ?ted, d?t?-dr?ven dec?s?ons th?t benef?t the whole supply ch??n.

Applications of AI-Based Video Analytics in Logistics

1. W?rehouse Opt?m?z?t?on

W?rehouses ?re the he?rt of the logistics sector, s?nce they store, org?n?se, ?nd prep?re goods for sh?pp?ng. However, common w?rehouse oper?t?ons ?re frequently ch?llenged by ?neff?c?enc?es, obst?cles, ?nd s?fety r?sks. AI-based video analytics for logistics c?n solve these issues ?n ? v?r?ety of w?ys:

  • ?nventory M?n?gement: By tr?ck?ng the movement of goods throughout the w?rehouse, AI c?n g?ve re?l-t?me ?nventory ?ns?ght, opt?m?se stor?ge ut?l?s?t?on, ?nd ?vo?d stockouts or overstocks.
  • Process ?utom?t?on: AI c?n ?utom?te t?sks such ?s p?ck?ng, p?ck?ng, ?nd sort?ng, ?mprov?ng throughput ?nd reduc?ng l?bor costs.
  • S?fety ?nd Secur?ty: AI c?n ?dent?fy poss?ble s?fety d?ngers such ?s un?uthor?sed entry, ?cc?dents, or equ?pment f?ults, ?llow?ng for e?rly w?rn?ng of r?sks.

2. Tr?nsport?t?on Opt?m?z?t?on

Tr?nsport?t?on ?s ? m?jor p?rt of the logistics sector, ?nclud?ng the tr?nsfer of goods ?cross lengthy d?st?nces. AI-powered video analytics c?n ?mprove tr?nsport?t?on oper?t?ons ?n ? v?r?ety of w?ys:

  • Fleet M?n?gement: AI c?n tr?ck the pos?t?on ?nd cond?t?on of veh?cles ?n re?l t?me, ?llow?ng for more effective route pl?nn?ng, fuel opt?m?s?t?on, ?nd prevent?ve m??nten?nce.
  • Dr?ver S?fety: AI c?n detect dr?ver beh?v?our, such ?s exh?ust?on, d?str?ct?on, or ?ggress?ve dr?v?ng, ?nd send re?l-t?me not?f?c?t?ons to help prevent ?cc?dents.
  • C?rgo Secur?ty: ?rt?f?c??l ?ntell?gence c?n ?dent?fy c?rgo t?mper?ng or theft, gu?r?ntee?ng commod?t?es ?re del?vered s?fely ?nd securely.

3. L?st-M?le Del?very Opt?m?z?t?on

L?st-m?le del?very, the l?st step of the logistics process, c?n be the most ch?lleng?ng ?nd costly. AI-based video analytics c?n help m?n?ge l?st-m?le del?very oper?t?ons ?n ? v?r?ety of w?ys.

  • Route Opt?m?z?t?on: AI c?n ?n?lyse tr?ff?c p?tterns, we?ther cond?t?ons, ?nd del?very frequency to f?nd the most eff?c?ent routes, result?ng ?n lower?ng del?very t?mes ?nd fuel costs.
  • Del?very Ver?f?c?t?on: AI c?n collect video evidence of successful del?very, reduc?ng d?sputes ?nd ?ncre?s?ng customer h?pp?ness.
  • Cont?ctless Del?very: AI c?n prov?de cont?ctless del?very solut?ons, such as drone del?very or p?ck?ge drop-off ?t set loc?t?ons, remov?ng hum?n error ?nd ?ncre?s?ng s?fety.

Benefits of AI-Based Video Analytics in Logistics

The use of AI-based video analytics in the logistics business provides v?r?ous benefits:

  • ?mproved Oper?t?on?l Eff?c?ency: AI h?s the potent??l to gre?tly ?mprove logistics oper?t?ons by ?utom?t?ng jobs, opt?m?s?ng procedures, ?nd ?llow?ng d?t?-dr?ven dec?s?on m?k?ng.
  • Reduced Costs: AI c?n help s?ve money by ?mprov?ng resource ut?l?s?t?on, reduc?ng losses, ?nd ?ncre?s?ng product?on.
  • Enh?nced S?fety ?nd Secur?ty: AI c?n contr?bute to ? s?fer ?nd more secure workpl?ce for employees, c?rgo, ?nd ?ssets.
  • ?mproved Customer S?t?sf?ct?on: AI c?n prov?de qu?cker, more rel??ble, ?nd person?l?sed del?very exper?ences, result?ng ?n better consumer s?t?sf?ct?on.

Challenges and Considerations

Wh?le AI-based video analytics h?s huge potent??l to revolut?on?se logistics, v?r?ous obst?cles ?nd ?ssues must be c?refully ?ddressed to ?llow effect?ve ?nd respons?ble use.

D?t? Pr?v?cy ?nd Secur?ty:

  • The collect?ng ?nd process?ng of huge ?mounts of video d?t? r??ses ?ssues ?bout pr?v?cy ?nd d?t? secur?ty. Logistics f?rms f?ce ? compl?c?ted leg?l l?ndsc?pe wh?le gu?r?ntee?ng th?t they meet l?ws such ?s GDPR ?nd CCP?. Strong d?t? secur?ty me?sures, such ?s encrypt?on ?nd ?ccess control, ?re requ?red to prevent un?uthor?sed ?ccess ?nd bre?ches. Tr?nsp?rency w?th workers ?nd consumers ?bout collect?ng ?nform?t?on ?nd us?ge pol?c?es ?s ?lso ?mport?nt.

?mplement?t?on ?nd Oper?t?on?l Costs:

  • AI-based video analytics systems h?ve m?jor upfront expenses, which include h?rdw?re (c?mer?s, servers), softw?re l?cens?ng, ?nd the sk?lls necess?ry for ?nst?ll?t?on ?nd ?dm?n?str?t?on. Ongo?ng fees for m??nten?nce, upd?tes, ?nd m?ybe cloud stor?ge ?dd to the f?n?nc??l burden. Bus?nesses must do ? det??led cost-benef?t ?n?lys?s, t?k?ng ?nto ?ccount poss?ble RO? from ?ncre?sed product?v?ty, loss prevent?on, ?nd better dec?s?on-m?k?ng.

Sk?ll ?nd T?lent G?p:

  • The successful use of AI-based video analytics requires tr??ned profess?on?ls c?p?ble of bu?ld?ng, ?mplement?ng, ?nd ?dm?n?ster?ng these complex systems. D?t? sc?ent?sts, AI eng?neers, ?nd softw?re developers who spec??l?se ?n the f?elds of computer v?s?on ?nd m?ch?ne le?rn?ng ?re requ?red. Clos?ng th?s sk?ll g?p w?ll need ?nvestments ?n tr??n?ng ?nd development progr?ms for current employees, ?s well ?s ?nv?t?ng new t?lent through ?ttr?ct?ve s?l?r?es ?nd ? compell?ng v?s?on for ??’s role ?n the comp?ny’s future.

System ?ntegr?t?on ?nd Complex?ty:

  • M?x?ng AI-powered video analytics ?nto current log?st?c?l ?nfr?structure ?nd workflows c?n be ? ch?lleng?ng t?sk. Comp?t?b?l?ty d?ff?cult?es, d?t? form?t ?ncomp?t?b?l?t?es, ?nd the need for smooth commun?c?t?on ?cross d?fferent systems c?n ?ll be problem?t?c. M??nt??n?ng ? smooth tr?nsfer of d?t? ?nd ?ns?ghts throughout the bus?ness ?s ?mport?nt for m?x?m?s?ng the v?lue of these solut?ons.

Eth?c?l ?nd Soc?et?l ?mpl?c?t?ons:

  • AI-powered video analytics systems must be bu?lt ?nd executed w?th eth?cs ?n m?nd. Poss?ble errors ?n ?lgor?thms fe?rs ?bout surve?ll?nce ?nd employee mon?tor?ng, ?nd the ?mp?ct of ?utom?t?on on the workforce ?ll requ?re c?reful cons?der?t?on. ? hum?n-centered str?tegy th?t pr?or?t?ses honesty, just?ce, ?nd ?ccount?b?l?ty ?s needed.

T?k?ng on these ch?llenges dem?nds ?n ?ct?ve ?nd thoughtful str?tegy. Coll?bor?t?on ?mong technology prov?ders, logistics bus?nesses, regul?tory ?genc?es, ?nd the workforce ?s necess?ry for m?n?g?ng these compl?c?ted ?re?s ?nd m?x?m?s?ng the prom?se of AI-based video analytics wh?le gu?r?ntee?ng ?ts proper ?nd mor?l us?ge.

The Future of AI-Based Video Analytics in Logistics

The future of AI-powered video analytics for logistics ?s br?ght. ?s AI technology grows, more ?dv?nced ?ppl?c?t?ons w?ll st?rt to ?ppe?r, further revolut?on?s?ng the sector. Some of the poss?ble future trends ?re:

  • Cloud ?scend?ncy: The popularity of cloud-based video analytics technologies is expected to grow faster. The cloud’s n?tur?l sc?l?b?l?ty, ?d?pt?b?l?ty, ?nd cost-effect?veness m?ke ?t ?n ?ppe?l?ng opt?on for logistics org?n?s?t?ons oper?t?ng ?n ?n ever-ch?ng?ng m?rket. Th?s move w?ll m?ke ?dv?nced AI c?p?b?l?t?es more ?ccess?ble to sm?ller comp?n?es, ?llow?ng them to c?p?t?l?se on video analytics’ revolut?on?ry potent??l.
  • Convergence of Technolog?es: AI-powered video analytics w?ll not ex?st ?n ?sol?t?on. The future w?ll see ?ts effortless ?ntegr?t?on w?th ? number of other new technologies. The ?nternet of Th?ngs (?oT) w?ll prov?de re?l-t?me d?t? from l?nked dev?ces, supplement?ng the ?ns?ghts g??ned from c?mer? feeds. Blockch??n w?ll ?mprove tr?nsp?rency ?nd secur?ty throughout the supply ch??n, wh?le 5G networks w?ll prov?de l?ghtn?ng-f?st d?t? tr?nsfer ?nd ?n?lys?s, le?d?ng to ? new k?nd of re?l-t?me response.
  • Sust??n?b?l?ty ?t the Core: ?s the world f?ces ?n urgent need for greener solutions, AI-based video analytics w?ll pl?y ? cr?t?c?l role ?n promot?ng log?st?c?l sust??n?b?l?ty. AI c?n help bus?nesses decre?se w?ste ?nd c?rbon footpr?nts by opt?m?s?ng resource ut?l?s?t?on, f?nd?ng ?neff?c?enc?es, ?nd ?llow?ng pred?ct?ve m??nten?nce. The technology c?n ?lso contr?bute to the development of more eff?c?ent ?nd eco-fr?endly tr?nsport?t?on ?nd w?rehous?ng pr?ct?ces.
  • Beyond the Obv?ous: The future holds the potent??l for AI ?ppl?c?t?ons th?t ?re beyond the st?nd?rd. Cons?der AI-powered systems th?t c?n pred?ct ?nd prevent w?rehouse ?nc?dents, or self-dr?v?ng c?rs dr?ven by re?l-t?me video ?n?lys?s th?t m?n?ge compl?c?ted c?t?es w?th ?m?z?ng prec?s?on. The options ?re endless.

AI-powered video analytics ?s more th?n s?mply ? tool for gr?du?l ?mprovement; ?t’s ? dr?ver of ?ndustry-w?de revolut?on. ?s the technology evolves ?nd ?ntegr?tes w?th other technologies, ?t w?ll rocket the logistics sector ?nto ? new er? of eff?c?ency, sust??n?b?l?ty, ?nd s?fety.

Conclusion

AI-based video analytics ?s tr?nsform?ng the logistics business. ?t helps bus?nesses to s?mpl?fy processes, s?ve costs, ?mprove s?fety, ?nd ?ncre?se customer h?pp?ness ?t every po?nt ?n the supply ch??n. The outst?nd?ng ?mp?ct of ?rt?f?c??l ?ntell?gence ?s obv?ous from sm?rter w?rehouses ?nd s?fer tr?nsport?t?on to more eff?c?ent del?very methods.

Wh?le d?ff?cult?es l?ke d?t? pr?v?cy ?nd execut?on costs ex?st, the potent??l benef?ts ?re huge. ?s AI technology ?dv?nces, we expect even more ?dv?nced ?ppl?c?t?ons th?t w?ll ch?nge the logistics environment. Th?s ?ncludes ? grow?ng use of cloud solut?ons, ?ntegr?t?on w?th other cutt?ng-edge technology, ?nd ? stronger focus on sust??n?b?l?ty. The future of logistics ?s certainly l?nked to AI-powered video analytics, open?ng the door for ? more product?ve, secure, ?nd sust??n?ble sector.

The post How AI-Based Video Analytics is Revolutionizing the Logistics Industry appeared first on noupe.

Categories: Others Tags:

Fluid Superscripts and Subscripts

December 11th, 2024 No comments
Diagramming the typographic parts and spacing of subscripts and superscripts.

Superscripts and subscripts are essential elements in academic and scientific content — from citation references to chemical formulas and mathematical expressions. Yet browsers handle these elements with a static approach that can create significant problems: elements become either too small on mobile devices or disproportionately large on desktop displays.

After years of wrestling with superscript and subscript scaling in CSS, I’m proposing a modern solution using fluid calculations. In this article, I’ll show you why the static approach falls short and how we can provide better typography across all viewports while maintaining accessibility. Best of all, this solution requires nothing but clean, pure CSS.

The problem with static scaling

The scaling issue is particularly evident when comparing professional typography with browser defaults. Take this example (adapted from Wikipedia), where the first “2” is professionally designed and included in the glyph set, while the second uses (top) and (bottom) elements:

Browsers have historically used font-size: smaller for and elements, which translates to roughly 0.83x scaling. While this made sense in the early days of CSS for simple documents, it can create problems in modern responsive designs where font sizes can vary dramatically. This is especially true when using fluid typography, where text sizes can scale smoothly between extremes.

Fluid scaling: A better solution

I’ve developed a solution that scales more naturally across different sizes by combining fixed and proportional units. This approach ensures legibility at small sizes while maintaining proper proportions at larger sizes, eliminating the need for context-specific adjustments.

CodePen Embed Fallback

Here’s how it works:

sup, sub {
  font-size: calc(0.5em + 4px);
  vertical-align: baseline;
  position: relative; 
  top: calc(-0.5 * 0.83 * 2 * (1em - 4px)); 
  /* Simplified top: calc(-0.83em + 3.32px) */
}

sub {
  top: calc(0.25 * 0.83 * 2 * (1em - 4px)); 
  /* Simplified top: calc(0.42em - 1.66px) */
}
  • Natural scaling: The degressive formula ensures that superscripts and subscripts remain proportional at all sizes
  • Baseline alignment: By using vertical-align: baseline and relative positioning, we prevent the elements from affecting line height and it gives us better control over the offset to match your specific needs. You’re probably also wondering where the heck these values come from — I’ll explain in the following.

Breaking down the math

Let’s look at how this works, piece by piece:

Calculating the font size (px)

At small sizes, the fixed 4px component has more impact. At large sizes, the 0.5em proportion becomes dominant. The result is more natural scaling across all sizes.

sup, sub {
  font-size: calc(0.5em + 4px);
  /* ... */
}

sub { 
  /* ... */
}

Calculating the parent font size (em)

Within the and elements, we can calculate the parent’s font-size:

sup, sub {
  font-size: calc(0.5em + 4px);
  top: calc(2 * (1em - 4px));
}

sub { 
  top: calc(2 * (1em + 4px));
}

The fluid font size is defined as calc(0.5em + 4px). To compensate for the 0.5em, we first need to solve 0.5em * x = 1em which gives us x = 2. The 1em here represents the font size of the and elements themselves. We subtract the 4px fixed component from our current em value before multiplying.

The vertical offset

For the vertical offset, we start with default CSS positioning values and adjust them to work with our fluid scaling:

sup, sub {
  font-size: calc(0.5em + 4px);
  top: calc(-0.5 * 0.83 * 2 * (1em - 4px));
}

sub { 
  top: calc(0.25 * 0.83 * 2 * (1em - 4px));
}

The formula is carefully calibrated to match standard browser positioning:

  • 0.5em (super) and 0.25em (sub) are the default vertical offset values (e.g. used in frameworks like Tailwind CSS and Bootstrap).
  • We multiply by 0.83 to account for the browser’s font-size: smaller scaling factor, which is used per default for superscript and subscript.

This approach ensures that our superscripts and subscripts maintain familiar vertical positions while benefiting from improved fluid scaling. The result matches what users expect from traditional browser rendering but scales more naturally across different font sizes.

Helpful tips

The exact scaling factor font-size: (0.5em + 4px) is based on my analysis of superscript Unicode characters in common fonts. Feel free to adjust these values to match your specific design needs. Here are a few ways how you might want to customize this approach:

For larger scaling:

sup, sub {
  font-size: calc(0.6em + 3px);
  /* adjust offset calculations accordingly */
}

For smaller scaling:

sup, sub {
  font-size: calc(0.4em + 5px);
  /* adjust offset calculations accordingly */
}

For backward compatibility, you might want to wrap all of it in a @supports block:

@supports (font-size: calc(1em + 1px)) {
  sup, sub {
    ...
  }
}

Final demo

I built this small interactive demo to show different fluid scaling options, compare them to the browser’s static scaling, and fine-tune the vertical positioning to see what works best for your use case:

CodePen Embed Fallback

Give it a try in your next project and happy to hear your thoughts!


Fluid Superscripts and Subscripts originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

Shopify Releases The Boring Edition: Winter 2025

December 11th, 2024 No comments

Shopify’s 2025 Edition, humorously titled The Boring Edition, takes a no-nonsense approach to improving its platform.

Instead of introducing flashy new features, Shopify is doubling down on making its existing tools faster, more customizable, and more efficient.

Whether you’re a merchant or a developer, this release promises significant upgrades to help you save time, reduce friction, and grow your business.

What’s New for Merchants?

Faster, Smarter Checkouts

The Shopify Checkout experience is now up to 50% faster, ensuring customers can complete their purchases quickly.

Cart loading times have been dramatically reduced, and checkout buttons are up to 58% faster. These speed boosts are vital in reducing cart abandonment and improving the overall shopping experience.

Shopify has also added more customization options:

  • Checkout Blocks are now available on all plans, allowing merchants to personalize their thank-you pages or add promotional offers post-checkout.
  • Chat Integration enables customers to get live support directly during checkout, smoothing out any last-minute hesitations.
  • Draft Orders Expansion: Merchants can now bundle products, apply special pricing, and use Shopify Functions seamlessly in draft orders. This is particularly valuable for B2B merchants managing complex transactions.

Customer Account Upgrades

Shopify’s new Customer Account Extensions make it easier for customers to log in, track their orders, and handle returns—all from one streamlined interface.

For merchants, these accounts offer new ways to collect feedback directly from customers, helping you fine-tune your offerings.

For B2B businesses, customer accounts now include features like self-service for invoices and quotes, making it easier for wholesale buyers to manage their accounts.

Enhanced In-Store Selling Tools

Shopify POS (Point of Sale) has received several key updates:

  • Product Bundling: Merchants can now sell product bundles directly through POS, simplifying promotions and package deals.
  • Split-Screen Checkout: Staff can search for products while keeping the cart visible, speeding up in-person transactions.
  • Metafields Integration: Merchants can collect and use specific customer data at the point of sale, enabling more personalized service.

Time-Saving Automations with Shopify Flow

Shopify Flow now automates even more tasks, making it easier to manage your store:

  • Handle returns and exchanges without manual input.
  • Set up marketing campaigns like abandoned cart emails using pre-built templates.
  • Automate targeting with segment-based triggers, allowing you to engage specific customer groups effortlessly.

What’s New for Developers?

Streamlined Checkout Development

Shopify has made checkout development faster and more flexible:

  • Checkout buttons and carts now load significantly faster.
  • Developers can embed chat apps directly into checkout and thank-you pages using new Chat UI components.
  • Draft orders now support Shopify Functions and checkout extensions, providing a consistent, customizable experience across all sales channels.

More Powerful Storefront Tools

Developers building storefronts will benefit from several major upgrades:

  • Liquid DX Enhancements: A new developer experience with features like autocomplete and better debugging tools, available through an improved VS Code extension.
  • Unified GraphQL API: Manage multiple elements of your storefront with fewer API calls, saving time and reducing complexity.
  • Faster Shopify CLI: The CLI has been rebuilt for instant server startup and no longer depends on Ruby, making it easier to set up and maintain.

Other Notable Features in the 2025 Edition

  • Chat Apps in Checkout: Provide real-time customer support to increase checkout conversions.
  • Returns Management: Automate the returns process with new triggers in Shopify Flow.
  • POS Hardware Integration: Enhanced support for Shopify’s POS hardware, ensuring smooth operations for brick-and-mortar stores.
  • Marketing Simplified: Pre-designed templates for marketing automation allow you to set up campaigns quickly and effectively.
  • Improved Personalization: Use customer data to deliver tailored offers and experiences, whether online or in-store.

Why Call It “The Boring Edition”?

Shopify leaned into the humor with this name, but it reflects the practical focus of the update. Instead of flashy features, Shopify concentrated on improving the tools you use every day. It’s about making things work better, faster, and with less friction.

Whether you’re a merchant looking for smoother workflows or a developer building better storefronts, Shopify’s 2025 Edition is all about efficiency and reliability. Sometimes, boring is exactly what you need to get things done.

See the Shopify 2025 Winter Edition

Categories: Designing, Others Tags:

Designer Problems: “Make the Logo Bigger!”

December 11th, 2024 No comments

Ah, the age-old cry of “Make the logo bigger!”—a phrase that echoes across boardrooms, email threads, and designers’ nightmares.

For decades, graphic designers have faced this seemingly innocent request from clients who are convinced their logo is the single most important element of any design. But let’s dive into the hilarity of this request and why it might just be the design world’s version of asking a chef to “make the salt saltier.”

Act I: The Grand Entrance

Picture this: a beautifully crafted webpage, sleek and modern, where every element is balanced like a Michelangelo fresco. The client takes one look and says, “Wow, this is amazing! But… can we make the logo bigger?”

Bigger? Bolder? Flashier? They might as well ask you to tattoo the logo on the forehead of every visitor. The designer adjusts it, reluctantly, to the size of a medium-sized pizza.

“Still not big enough,” the client insists.

By the end of the meeting, the logo has grown so large it resembles Godzilla rampaging across your meticulously designed Tokyo of whitespace and typography.

Act II: Science vs. Subjectivity

Designers are quick to pull out studies about visual hierarchy, explaining how a logo that’s too big can overshadow the message. But clients have a counterargument: “People won’t know it’s us!”

Ah yes, because your company’s success clearly hinges on whether your logo is visible from outer space. Forget about compelling copy, cohesive branding, or user experience. It’s all about that sweet, sweet real estate—the Helvetica equivalent of owning a penthouse suite on the design canvas.

Act III: The Slippery Slope

Once the logo reaches gargantuan proportions, it opens Pandora’s box.

  • “Can we make it spin?”
  • “How about if it follows the user’s cursor around the screen?”
  • “Could it emit a subtle glow? Like a lighthouse guiding lost consumers?”

At this point, you’ve gone from crafting a masterpiece to leading an avant-garde art project involving flashing lights and motion sickness.

Act IV: The Compromise

Experienced designers have a strategy: they make the logo slightly bigger—just enough to satisfy the client—then distract them with shiny things elsewhere in the design. “Look at this CTA button! Isn’t it amazing?” they’ll say, as the logo hovers ominously at an almost-reasonable size.

Sometimes, though, the client won’t budge. That’s when designers create a separate “Big Logo Concept” that looks like a Times Square billboard ad. The client immediately realizes, “Oh… maybe that is a little much.” Victory!

Epilogue: The Bigger Picture

The obsession with bigger logos is a testament to the love clients have for their brands. They want to be seen, remembered, and cherished. And honestly, who can blame them? It’s like a parent wanting their child to be front and center in every school play, even if they’re playing Tree #4.

So, the next time a client asks to make the logo bigger, remember: it’s not just about the logo. It’s about making them feel seen and heard. And if that means turning their logo into a blimp-sized beacon of self-assurance, well, at least you’ll have a good story for the next designer meet-up.

And hey, if all else fails, you can always charge by the square inch.

Categories: Designing, Others Tags:

A Guide to Building a Robust Budgeting Strategy for Your Digital Enterprise

December 11th, 2024 No comments

Your approach to budgeting as a digital entrepreneur has a huge impact on your business. A solid strategy helps you manage your monthly income, track expenses, and achieve your financial goals.

Ever wondered how to balance your spending habits with your business needs?

In this guide, you’ll learn how to budget from scratch, using several methods—from zero-based to envelope budgeting—and how to create an emergency fund, set savings goals, and deal with unexpected expenses.

Understanding Your Financial Situation

Once you understand cash flow across your digital enterprise, there’s a good chance you’ll get a better grip on your financial resources. That foundation can help you develop better corporate planning and budgeting processes.

First, have a look at your monthly income: is it fixed or variable?

Digital businesses have variable income streams, so there are months where you’re flush, and the next you’re tightening your belt. That’s why understanding your average monthly income is crucial.

Now, let’s talk about expenses. Break them down into fixed and variable categories:

Fixed expenses might include:

  • Software subscriptions
  • Web hosting fees
  • Employee salaries

Variable expenses could be:

  • Marketing costs
  • Freelancer payments
  • Office supplies

And let’s not forget those sneaky discretionary expenditures. Yes, that new gadget is nice, but is it necessary?

Next, pull out your bank statements. They contain a treasure trove of data about your spending habits. What do you do often? Where are you dropping the most money?

Conducting these regular reviews is key because your financial situation isn’t set in stone; it’ll change as your business grows. 

Building a Budgeting Strategy for Your Digital Enterprise

Once you understand where your business stands financially, use the following tips to create your budgeting strategy.

Setting Clear Financial Goals 

Every successful budget process starts with a clear statement of financial goals—what you want your digital enterprise to achieve. Maybe you’re trying to beef up your emergency fund or reach specific savings targets. Or maybe you’re trying to pay off credit cards or invest in new technology. 

Your goals should be SMART: Specific, Measurable, Achievable, Relevant, and Time-bound. For example, instead of “increase profits,” try “increase monthly income by 15% within six months.”

Short-term objectives could involve finding ways to control expenses from month to month. Long-term objectives could include team expansion or a new product line.

Choosing the Right Budgeting Method 

There is no one-size-fits-all when it comes to budgeting for your digital enterprise. Here are a few popular methods.

Zero-based budgeting

This system starts from scratch each month. You allocate every dollar of your income to specific expenses or savings categories. This system works well in a digital business with variable income because it forces you to prioritize spending based on current resources.

Envelope budgeting

This is usually done with cash, but you can adapt this for your digital business. Allocate resources into virtual “envelopes” for different expense categories. When a particular envelope is empty, that’s it—wait until next month before spending on that category again.

50/30/20 rule

This approach suggests allocating 50% of your income to needs, 30% to wants, and 20% to savings or debt repayment. For a digital enterprise, this probably needs to be adjusted to fit your business model.

Percentage-based budgeting

Like the 50/30/20 rule, you set the percentages according to your business needs. The flexibility might be just what growing digital businesses need.

So which method should you pick? It depends on your business structure, your income, and your financial goals.

The most effective budgeting method is the one you’ll actually stick to. Start with something that doesn’t feel like herding cats, and don’t be afraid to evolve your system as you find what works best for you. Your budget should be a tool that works for you, not vice versa.

Note that as important as choosing the right technique can be, it is only effective with the right tools. Financial consolidation software can be a valuable asset in managing complex financial data across your digital enterprise.

Building Your Budget Step-by-Step 

Now that you’ve chosen a budgeting method, let’s create your budget. Don’t worry, we’ll break it down into manageable steps.

Step 1: Gather your financial data 

Get your bank and credit card statements along with other financial records. Reviewing them will help you understand your spending pattern and income.

Step 2: List your income sources 

Document all your revenue streams. For digital enterprises, this might include:

  • Product sales
  • Service fees
  • Affiliate commissions
  • Ad revenue

Remember, your monthly income might fluctuate. Use an average if needed.

Step 3: Categorize your expenses 

Group your spending into categories like:

  • Operating costs (hosting, software subscriptions)
  • Marketing expenses
  • Salaries and contractor payments
  • Professional development

Don’t forget to account for taxes.

Step 4: Set spending limits 

Based on the budgeting method you choose, allocate funds to each category. Be realistic, but also look for places to cut costs.

Step 5: Plan for savings and investments 

Set aside money for your emergency fund and other savings goals. Consider allocating funds for business growth and unexpected expenses.

Step 6: Track and adjust 

Your budget should be flexible. Use digital tools to track your actual spending against your budget. Adjust as needed—maybe that marketing campaign needs more funds, or you found a way to cut hosting costs.

Step 7: Review regularly 

Choose a frequency at which you’ll check in on your budget. Regular reviews allow you to stay on track, whereas less frequent reviews give you the chance to make bigger tweaks.

Budgeting is a skill, and you’ll get better with practice. If you don’t stick to your budget right away, then that’s OK—it doesn’t mean you’ll never succeed.

Saving Strategies for Online Businesses 

As a digital entrepreneur, having a healthy rainy day fund is essential to survive difficult periods. Let’s concentrate on the two important areas:

Emergency fund

Your safety net is non-negotiable. Aim to stash away 3-6 months of operating expenses. This gives your business a buffer in the event of cash flow problems like:

  • Client payment delays
  • Sudden tech failures
  • Market downturns

Start small if you need to. Even $100 a month adds up over time.

Taxes and reinvestment

Don’t let tax season catch you off guard. Set aside a portion of your monthly income so that when tax season rolls around, you are not caught unawares. A good rule of thumb: 25-30% of anything you earn should be set aside as taxes.

But don’t stop there. Designate funds for reinvestment too. This could mean:

  • Upgrading your tech stack
  • Expanding your team
  • Launching new products

Common Budgeting Pitfalls and How to Avoid Them 

Even the most digitally savvy entrepreneur can fall victim to some rookie mistakes when it comes to budgeting. Here are a few pitfalls and how to avoid them.

  • Costs underestimations: It’s easy to overlook small costs, but they add up quickly. It might be just $10 a month, but, over a year, that’s $120.

Solution: Review your bank statements. Make a list of all your expenditures, no matter how minor. You’ll be shocked at where your money is going.

  • Ignoring seasonal fluctuations: Many online businesses have busy and slow periods. Budgeting the same amount year-round can leave you short during slow months.

Solution: Have a yearly budget that accounts for these swings. Save up during high-income months to offset the low ones.

  • Failing to adjust for growth: As your business grows, your expenses grow. Your budget can strangle your growth if based on last year’s data.

Solution: Review and adjust your budget quarterly. be ready to spend more on new tools, personnel, or marketing efforts.

  • Disregard for data security: In the rush to monitor every dollar, some businesses ignore the need to safeguard their financial data.

Solution: Implement robust data protection measures. Secure your financial information to prevent costly data breaches that could derail your budget.

  • Forgetting about irregular expenses: Annual subscriptions or equipment upgrades can throw off your monthly budget if not planned for.

Solution: Set up what’s called a “sinking fund.” Put something into it every month so that you’re ready when the bills come.

Tips for Sticking to Your Budget

Staying within your budget is achievable if you adopt a proactive approach. Here’s how to do this:

  • Make it visible: Keep your budget front and center. Use a digital dashboard or a spreadsheet on your desktop. Out of sight often means out of mind.
  • Keep goals realistic: Stay away from major cuts to your spending overnight. Gradual changes are more sustainable. Aim for small improvements each month.
  • Automate where possible: Use tools to track expenses automatically. Automation reduces the temptation to adjust numbers or forget entries. 
  • Plan for fun: Yes, even in business budgets! Allocate funds for team-building or personal development. It keeps morale high and prevents impulse splurges.
  • Review regularly: Schedule monthly check-ins. Review spending against your budget and be proactive about variances.
  • Involve your team: Make the budget a team effort so everyone’s invested. It makes it easier to stick to the plan.

With these tips, you too can get on course and watch your digital enterprise flourish.

Final Thoughts 

Now, with this solid plan in place, you can craft a solid budget for your digital enterprise that will allow you to build a successful business. From understanding your goals to choosing your budgeting method, you’re armed and ready to take charge of your finances.Remember that a strong budget strategy is not created in isolation. It must be informed by in-depth and current market research so that your financial planning aligns with reality and market opportunities.

Featured Image by Jakub ?erdzicki on Unsplash

The post A Guide to Building a Robust Budgeting Strategy for Your Digital Enterprise appeared first on noupe.

Categories: Others Tags:

Reddit Unveils Reddit Answers: A Smarter Way to Search and Explore Discussions

December 10th, 2024 No comments
22

If you’ve ever used Reddit to dig for answers or insights, you know how much gold is hidden in its threads—but finding it isn’t always straightforward.

That’s where Reddit Answers, the platform’s new AI-powered feature, steps in. Think of it as your personal guide to navigating Reddit’s vast treasure trove of conversations.

Here’s everything you need to know about Reddit Answers, how it works, and why it might just become your go-to tool for discovering information.

What is Reddit Answers?

Reddit Answers is Reddit’s way of making its platform smarter and easier to use. It takes your questions—anything from “What’s the best way to learn a new language?” to “How do I fix a squeaky door?”—and provides an AI-generated summary based on discussions across Reddit.

But it doesn’t stop there. It also points you to related posts and communities where you can dive deeper into the topic.

Think of it as the lovechild of Google Search and Reddit, combining the search power of AI with the authenticity of real user conversations.

Image courtesy of Reddit Answers

Why Should I Use It?

If you’ve ever felt overwhelmed scrolling through endless Reddit threads, this tool might be just what you need. Here’s how Reddit Answers helps:

  • Saves You Time: Instead of sifting through dozens of posts, you get a quick, curated answer.
  • Keeps It Authentic: The insights come straight from Reddit’s communities, meaning they’re packed with real-world advice and experiences.
  • Makes Exploring Easier: Want more details? Reddit Answers provides links to the original posts and related communities so you can dive as deep as you want.

For instance, if you’re researching the best gear for a hiking trip, Reddit Answers might summarize advice from multiple communities, then lead you to posts where outdoor enthusiasts discuss their favorite brands and strategies.

How Can You Use Reddit Answers?

As of now, Reddit Answers is available to a limited number of English-speaking users in the U.S. If you’re lucky enough to have access, you can use it to:

  1. Ask Broad Questions: Don’t know where to start? Throw in a general query and let Reddit Answers guide you.
  2. Explore Communities: Use the links provided to find niche communities full of experts and enthusiasts.
  3. Save for Later: Found a goldmine of advice? Bookmark the links to revisit them anytime.

Is It Destroying the Essence of Reddit?

The real magic of Reddit has always been its messiness—the diverse perspectives, the debates, the occasional rabbit holes that lead you to unexpected gems.

Reddit Answers seeks to cut through that chaos, but some might argue that it also filters out the spontaneity and depth that make Reddit special.

If you’re looking for a quick answer, this feature might be perfect. But if you’re the kind of person who values the journey as much as the destination, you might find yourself missing the raw, unedited experience of diving into threads yourself.

To sum up

Right now, Reddit Answers is only available to a limited group of users in the United States, but Reddit plans to roll it out to more regions and languages soon.

Whether it becomes a cornerstone of the Reddit experience will depend on how it evolves. Will it remain a helpful shortcut, or will it fundamentally reshape how people interact with the platform?

There’s also the question of trust. AI is great at summarizing, but it’s not immune to error or bias.

Will Reddit Answers capture the nuances of human conversations, or will it risk misrepresenting them? These are questions Reddit users—and the platform itself—will need to grapple with as the feature grows.

Go to Reddit Answers

Categories: Designing, Others Tags:

CSSWG Minutes Telecon (2024-12-04): Just Use Grid vs. Display: Masonry

December 10th, 2024 No comments
Pinterest showing a masonry layout

The CSS Working Group (CSSWG) meets weekly (or close to it) to discuss and quickly resolve issues from their GitHub that would otherwise be lost in the back-and-forth of forum conversation. While each meeting brings interesting conversation, this past Wednesday (December 4th) was special. The CSSWG met to try and finally squash a debate that has been going on for five years: whether Masonry should be a part of Grid or a separate system.

I’ll try to summarize the current state of the debate, but if you are looking for the long version, I recommend reading CSS Masonry & CSS Grid by Geoff and Choosing a Masonry Syntax in CSS by Miriam Suzanne.

In 2017, it was frequently asked whether Grid could handle masonry layouts; layouts where the columns (or the rows) could hold unevenly sized items without gaps in between. While this is just one of several possibilities with masonry, you can think about the layout popularized by Pinterest:

In 2020, Firefox released a prototype in which masonry was integrated into the CSS Grid layout module. The main voice against it was Rachel Andrew, arguing that it should be its own, separate thing. Since then, the debate has escalated with two proposals from Apple and Google, arguing for and against a grid-integrated syntax, respectively.

There were some technical worries against a grid-masonry implementation that were since resolved. What you have to know is this: right now, it’s a matter of syntax. To be specific, which syntax is

a. is easier to learn for authors and

b. how might this decision impact possible future developments in one or both models (or CSS in general).

In the middle, the W3C Technical Architecture Group (TAG) was asked for input on the issue which has prompted an effort to unify the two proposals. Both sides have brought strong arguments to the table over a series of posts, and in the following meeting, they were asked to lay those arguments once again in a presentation, with the hope of reaching a consensus.

Remember that you can subscribe and read the full minutes on W3C.org

The Battle of PowerPoints

Alison Maher representing Google and an advocate of implementing Masonry as a new display value, opened the meeting with a presentation. The main points were:

  1. Several properties behave differently between masonry and grid.
  2. Better defaults when setting display: masonry, something that Rachel Andrew recently argued for.
  3. There was an argument against display: masonry since fallbacks would be more lengthy to implement, whereas in a grid-integrated the fallback to grid is already there. Alison Maher refutes this since “needing one is a temporary problem, so [we] should focus on the future,” and that “authors should make explicit fallback, to avoid surprises.”
  4. “Positioning in masonry is simpler than grid, it’s only placed in 1 axis instead of 2.”
  5. Shorthands are also better: “Grid shorthand is complicated, hard to use. Masonry shorthand is easier because don’t need to remember the order.”
  6. “Placement works differently in grid vs masonry” and “alignment is also very different”
  7. There will be “other changes for submasonry/subgrid that will lead to divergences.”
  8. “Integrating masonry into grid will lead to spec bloat, will be harder to teach, and lead to developer confusion.”

alisonmaher: “Conclusion: masonry should be a separate display type”

Jen Simmons, representing the WebKit team and advocate of the “Just Use Grid” approach followed with another presentation. On this side, the main points were:

  1. Author learning could be skewed since “a new layout type creates a separate tool with separate syntax that’s similar but not the same as what exists […]. They’re familiar but not quite the same”
  2. The Chrome proposal would add around 10 new properties. “We don’t believe there’s a compelling argument to add so many new properties to CSS.”
Table of properties that display: masonry would add. (around 10 new properties)
  1. “Chromium argues that their new syntax is more understandable. We disagree, just use grid-auto-flow
  2. “When you layout rows in grid, template syntax is a bit different — you stack the template names to physically diagram the names for the rows. Just Use Grid re-uses this syntax exactly; but new masonry layout uses the column syntax for rows”
  3. “Other difference is the auto-flow — grid’s indicates the primary fill direction, Chrome believes this doesn’t make sense and changed it to match the orientation of lines”
Difference in template syntax between Just use Grid vs display: masonry
  1. “Chrome argues that new display type allows better defaults — but the defaults propose aren’t good […] it doesn’t quite work as easily as claimed [see article] requires deep understanding of autosizing”
  2. “Easier to switch, e.g. at breakpoints or progressive enhancement”
  3. “Follows CSS design principles to re-use what already exists”

The TAG review

After two presentations with compelling arguments, Lea Verou (also a member of the TAG) followed with their input.

lea: We did a TAG review on this. My opinion is fully reflected there. I think the arguments WebKit team makes are compelling. We thought not only should masonry be part of grid, but should go further. A lot of arguments for integrating is that “grid is too hard”. In that case we should make grid things easier. Complex things are possible, but simple things are not so easy.

Big part of Google’s argument is defaults, but we could just have smarter defaults — there is precedent for this in CSS if we decided that would help ergonomics We agree that switching between grid vs. masonry is common. Grid might be a slightly better fallback than nothing, but minor argument because people can use @supports. Introducing all these new properties increasing the API surfaces that authors need to learn. Less they can port over. Even if we say we will be disciplined, experience shows that we won’t. Even if not intentional, accidental. DRY – don’t have multiple sources of truth

One of arguments against masonry in grid is that grids are 2D, but actually in graphic design grids were often 1D. I agree that most masonry use cases need simpler grids than general grid use cases, but that means we should make those grids easier to define for both grid and masonry. The more we looked into this, we realize there are 3 different layout modes that give you 2D arrangement of children. We recommended not just make masonry part of grid, but find ways of integrating what we already have better could we come up with a shorthand that sets grid-auto-flow and flex-direction, and promote that for layout direction in general? Then authors only need to learn one control for it.

The debate

All was laid out onto the table, it was only left what other members had to say.

oriol: Problem with Jen Simmons’s reasoning. She said the proposed masonry-direction property would be new syntax that doesn’t match grid-auto-flow property, but this property matches flex-direction property so instead of trying to be close to grid, tries to be close to flexbox. Closer to grid is a choice, could be consistent with different things.

astearns: One question I asked is, has anyone changed their mind on which proposal they support? I personally have. I thought that separate display property made a lot more sense, in terms of designing the feature and I was very daunted by the idea that we’d have to consider both grid and masonry for any new development in either seemed sticky to me but the TAG argument convinced me that we should do the work of integrating these things.

TabAtkins: Thanks for setting that up for me, because I’m going to refute the TAG argument! I think they’re wrong in this case. You can draw a lot of surface-level connections between Grid and Masonry, and Flexbox, and other hypothetical layouts but when you actually look at details of how they work, behaviors each one is capable of, they’re pretty distinct if you try to combine together, it would be an unholy mess of conflicting constraints — e.g. flexing in items of masonry or grid or you’d have a weird mish-mash of, “the 2D layout.

But if you call it a flex you get access to these properties, call it grid, access to these other properties concrete example, “pillar” example mentioned in webKit blog post, that wasn’t compatible with the base concepts in masonry and flex because it wants a shared block formatting context grid etc have different formatting contexts, can’t use floats.

lea: actually, the TAG argument was that layout seems to actually be a continuum, and syntax should accommodate that rather than forcing one of two extremes (current flex vs current grid).

The debate kept back and forth until there was an attempt to set a general north star to follow.

jyasskin: Wanted to emphasize a couple aspects of TAG review. It seems really nice to keep the property from Chrome proposal that you don’t have to learn both, can just learn to do masonry without learning all of Grid even if that’s in a unified system perhaps still define masonry shorthand, and have it set grid propertie

jensimmons: To create a simple masonry-style layout in Grid, you just need 3 lines of code (4 with a gap). It’s quite simple.

jyasskin: Most consensus part of TAG feedback was to share properties whenever possible. Not necessary to share the same ‘display’ values; could define different ‘display’ values but share the properties. One thing we didn’t like about unified proposal was grid-auto-flow in the unified proposal, where some values were ignored. Yeah, this is the usability point I’m pounding on

Another Split Decision

Despite all, it looked like nobody was giving away, and the debate seemed stuck once again:

astearns: I’m not hearing a way forward yet. At some point, one of the camps is going to have to concede in order to move this forward.

lea: What if we do a straw poll. Not to decide, but to figure out how far are we from consensus? +1 lea

The votes were cast and the results were… split.

Straw Poll for Just Use Grid, showing a split result. 12 NOs, 13 YES and 5 ABSTAIN

florian: though we could still not reach consensus, I want to thank both sides for presenting clear arguments, densely packed, well delivered. I will go back to the presentations, and revisit some points, it really was informative to present the way it was.

That’s all folks, a split decision! There isn’t a preference for either of the two proposals and implementing something with such mixed opinions is something nobody would approve. After a little over five years of debate, I think this meeting is yet another good sign that a new proposal addressing the concerns of both sides should be considered, but that’s just a personal opinion. To me, masonry (or whatever name it may be) is an important step in CSS layout that may shape future layouts, it shouldn’t be rushed so until then, I am more than happy to wait for a proposal that satisfies both sides.

Further Reading

Relevant Issues


CSSWG Minutes Telecon (2024-12-04): Just Use Grid vs. Display: Masonry originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

Smashing Meets Product Design

December 10th, 2024 No comments

I had the pleasure of hosting a recent Smashing Magazine workshop on product design, subbing for Vitaly Friedman who usually runs these things.

What? A front-ender interviewing really smart people about their processes for user research, documenting requirements, and scaling teams around usability? I was a product designer once upon a time and even though it’s been a long time since I’ve flexed that muscle, it was a hoot learning from the guests, which included: Chris Kolb, Kevin Hawkins, and Vicky Carmichael.

The videos are barred from embedding, so I’ll simply link ’em up directly to YouTube:

I also moderated a follow-up discussion with Chris and Kevin following the presentations.

A few of my choice takeaways:

  • Small teams have the luxury of being in greater, more intimate contact with customers. Vicky explained how their relatively small size (~11 employees) means that everyone interfaces with customers and that customer issues and requests are handled more immediately.
  • Large teams have to be mindful of teams forming into individual silos. A silo mentality typically happens when teams scale up in size, resulting in less frequent communication and collaboration. Team dashboards help, as do artifacts from meetings in multiple formats, such as AI-flavored summaries, video recordings, and documented decisions.
  • Customers may appear to be dumb, but what looks like dumbness is often what happens when humans are faced with a lack of time and context. Solving “dumb” user problems often means coming at the problem in the same bewildered context rather than simply assuming the customer “just doesn’t get it.”

Smashing Meets Product Design originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

CSS Wrapped 2024: 17 Features Transforming Modern Web Design

December 10th, 2024 No comments

In 2024, CSS has introduced a suite of features that significantly enhance web design capabilities, offering developers more control and flexibility.

The “CSS Wrapped 2024” initiative by Chrome DevRel highlights 17 notable additions across components, interactions, and developer experience.

Components Enhancements

  • Field Sizing: The field-sizing property allows form elements like textarea, select, and input to automatically adjust their size based on content, eliminating the need for JavaScript workarounds.
  • Animate to height: auto: With the interpolate-size property, developers can smoothly transition elements to intrinsic sizes such as height: auto, min-content, and max-content, enabling more dynamic layouts.
  • Exclusive

    : Enhancements to the

    element now support exclusive behavior, allowing only one disclosure to be open at a time, which is particularly useful for accordion interfaces.
  • Styleable

    : Developers can now apply custom styles to the

    and

    elements, providing greater design flexibility.
  • Anchor Positioning: The new anchor positioning feature enables precise placement of elements relative to anchors, facilitating complex overlay designs.

Interaction Improvements

  • Custom Scrollbars: CSS now allows for the styling of scrollbars, enabling designs that align with the overall aesthetic of the website.
  • Cross-Document View Transitions: This feature facilitates seamless transitions between different documents, enhancing user experience during navigation.
  • Scroll-Driven Animations: Developers can create animations that respond to scroll events, adding interactivity and engagement to web pages.
  • Scroll Snap Events: New events provide better control over scroll snapping behavior, improving the precision of scroll interactions.

Developer Experience Enhancements

  • Backdrop Inheritance: This feature allows elements to inherit backdrop styles, ensuring consistent theming across components.
  • light-dark() Function: The light-dark() function enables responsive design adjustments based on the user’s theme preference, enhancing accessibility.
  • @property: This at-rule allows for the definition of custom properties with specific syntax and inheritance rules, improving CSS variable management.
  • Popover API: The Popover API provides a standardized way to create and manage popover elements, streamlining the development of interactive components.
  • @starting-style: This at-rule defines the initial styles of an element before any animations, ensuring consistent animation behavior.
  • ruby-align: Enhancements to the ruby-align property improve the rendering of East Asian typography, supporting better internationalization.
  • paint-order: The paint-order property allows developers to control the painting order of fill, stroke, and markers, providing finer control over SVG rendering.
  • CSSOM Nested Declarations: Support for nested declarations in the CSS Object Model (CSSOM) simplifies the manipulation of nested styles via JavaScript.

These advancements reflect the collaborative efforts of browser engineers, specification writers, and the developer community, marking a significant leap forward for CSS in 2024.

For a comprehensive overview and demos of these features, visit the CSS Wrapped 2024 page.

Categories: Designing, Others Tags:

Yet Another Anchor Positioning Quirk

December 9th, 2024 No comments

I strongly believe Anchor Positioning will go down as one of the greatest additions to CSS. It may not be as game-changing as Flexbox or Grid, but it does fill a positioning gap that has been missing for decades. As awesome as I think it is, CSS Anchor Positioning has a lot of quirks, some of which are the product of its novelty and others due to its unique way of working. Today, I want to bring you yet another Anchor Positioning quirk that has bugged me since I first saw it.

The inception

It all started a month ago when I was reading about what other people have made using Anchor Positioning, specifically this post by Temani Afif about “Anchor Positioning & Scroll-Driven Animations.” I strongly encourage you to read it and find out what caught my eye there. Combining Anchor Positioning and Scroll-Driven Animation, he makes a range slider that changes colors while it progresses.

CodePen Embed Fallback

Amazing by itself, but it’s interesting that he is using two target elements with the same anchor name, each attached to its corresponding anchor, just like magic. If this doesn’t seem as interesting as it looks, we should then briefly recap how Anchor Positioning works.

CSS Anchor Positioning and the anchor-scope property

See our complete CSS Anchor Positioning Guide for a comprehensive deep dive.

Anchor Positioning brings two new concepts to CSS, an anchor element and a target element. The anchor is the element used as a reference for positioning other elements, hence the anchor name. While the target is an absolutely-positioned element placed relative to one or more anchors.

An anchor and a target can be almost every element, so you can think of them as just two div sitting next to each other:

<div class="anchor">anchor</div>
<div class="target">target</div>

To start, we first have to register the anchor element in CSS using the anchor-name property:

.anchor {
  anchor-name: --my-anchor;
}

And the position-anchor property on an absolutely-positioned element attaches it to an anchor of the same name. However, to move the target around the anchor we need the position-area property.

.target {
  position: absolute;
  position-anchor: --my-anchor;
  position-area: top right;
}
CodePen Embed Fallback

This works great, but things get complicated if we change our markup to include more anchors and targets:

<ul>
  <li>
    <div class="anchor">anchor 1</div>
    <div class="target">target 1</div>
  </li>
  <li>
    <div class="anchor">anchor 2</div>
    <div class="target">target 2</div>
  </li>
  <li>
    <div class="anchor">anchor 3</div>
    <div class="target">target 3</div>
  </li>
</ul>

Instead of each target attaching to its closest anchor, they all pile up at the last registered anchor in the DOM.

CodePen Embed Fallback

The anchor-scope property was introduced in Chrome 131 as an answer to this issue. It limits the scope of anchors to a subtree so that each target attaches correctly. However, I don’t want to focus on this property, because what initially caught my attention was that Temani didn’t use it. For some reason, they all attached correctly, again, like magic.

What’s happening?

Targets usually attach to the last anchor on the DOM instead of their closest anchor, but in our first example, we saw two anchors with the same anchor-name and their corresponding targets attached. All this without the anchor-scope property. What’s happening?

Two words: Containing Block.

Something to know about Anchor Positioning is that it relies a lot on how an element’s containing block is built. This isn’t something inherently from Anchor Positioning but from absolute positioning. Absolute elements are positioned relative to their containing block, and inset properties like top: 0px, left: 30px or inset: 1rem are just moving an element around its containing block boundaries, creating what’s called the inset-modified containing block.

A target attached to an anchor isn’t any different, and what the position-area property does under the table is change the target’s inset-modified containing block so it is right next to the anchor.

A target element inset-modified containing block shrunk to be in the top left corner of an anchor

Usually, the containing block of an absolutely-positioned element is the whole viewport, but it can be changed by any ancestor with a position other than static (usually relative). Temani takes advantage of this fact and creates a new containing block for each slider, so they can only be attached to their corresponding anchors. If you snoop around the code, you can find it at the beginning:

label {
  position: relative;
  /* No, It's not useless so don't remove it (or remove it and see what happens) */
}

If we use this tactic on our previous examples, suddenly they are all correctly attached!

CodePen Embed Fallback

Yet another quirk

We didn’t need to use the anchor-scope property to attach each anchor to its respective target, but instead took advantage of how the containing block of absolute elements is computed. However, there is yet another approach, one that doesn’t need any extra bits of code.

This occurred to me when I was also experimenting with Scroll-Driven Animations and Anchor Positioning and trying to attach text-bubble footnotes on the side of a post, like the following:

A blog post body with paragraphs, the paragraphs have footnotes attached on the sides

Logically, each footnote would be a target, but the choice of an anchor is a little more tricky. I initially thought that each paragraph would work as an anchor, but that would mean having more than one anchor with the same anchor-name. The result: all the targets would pile up at the last anchor:

CodePen Embed Fallback

This could be solved using our prior approach of creating a new containing block for each note. However, there is another route we can take, what I call the reductionist method. The problem comes when there is more than one anchor with the same anchor-name, so we will reduce the number of anchors to one, using an element that could work as the common anchor for all targets.

In this case, we just want to position each target on the sides of the post so we can use the entire body of the post as an anchor, and since each target is naturally aligned on the vertical axis, what’s left is to move them along the horizontal axis:

CodePen Embed Fallback

You can better check how it was done on the original post!

Conclusion

The anchor-scope may be the most recent CSS property to be shipped to a browser (so far, just in Chrome 131+), so we can’t expect its support to be something out of this world. And while I would love to use it every now and there, it will remain bound to short demos for a while. This isn’t a reason to limit the use of other Anchor Positioning properties, which are supported in Chrome 125 onwards (and let’s hope in other browsers in the near future), so I hope these little quirks can help you to keep using Anchor Positioning without any fear.


Yet Another Anchor Positioning Quirk originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags: