ut

Create a Responsive WordPress Theme – Video Tutorial – 3

This is the third part of the Video Tutorial Series on How to Create a Responsive WordPress Theme using the Bootstrap Framework. In this part, I have demonstrated how to create a full width parallax image section, a recent blog posts section and a footer. An updated zip file with the related theme files are...




ut

How to Create Green Screen Videos with CapCut

Improvements in cameras and image filtering have made it easy to create videos with green screen effects from the comfort of your phone (without requiring a real green screen). I use CapCut in the example below, but you’ll find similar functionality within Instagram and any other reputable video creation app. Sometime during 2023, I started […]



  • Improve Your Site

ut

Old and broken – but oh so beautiful

For years now I’ve had a thing for old doorways with big old locks – now on Cyprus it escalated a bit due to the number of absolutely beautiful old doors. Many of them not restored but broken or run […]




ut

Beautiful Jewels Inspired by the Ocean

Mademoiselle Salty est une marque née dans l’esprit de Marion Ferrari, lors d’une année de vie en Indonésie. L’équipe derrière elle, liée par une passion de l’océan, du surf, des voyages, des bijoux et de la culture indonésienne, propose des bagues, colliers ou encore des bracelets et accessoires fabriqués à la main. Ces derniers sont […]




ut

Beautiful Japanese Watercolours

Sous les mains expertes de l’artiste serbe Endre Penovác, l’encre coule. Vivant son histoire naturellement, elle occupe l’espace sur le papier. Le peintre vient ensuite souligner quelques traits, dessiner des yeux, apporter une touche de couleur ou ajouter des détails qui viennent créer une texture. En ressortent des animaux sauvages et domestiques à l’allure quasi […]




ut

Autonomy, failure, and “pushing down”; what I’m learning about leadership

That title is a lot to digest, but as part of my (ongoing and never ending) journey to master effective leadership, it would be irresponsible not to cover the topic of autonomy. Human beings have an innate inner drive to be autonomous, self-determined, and connected to one another. And when that drive is liberated, people …

The post Autonomy, failure, and “pushing down”; what I’m learning about leadership appeared first on Nathan Rice.




ut

Want to get ahead in your career? Cheat! (hear me out)

The most vivid memory of second hand embarrassment I have is from my high school Spanish class. We were taking our exam, so we were all a little nervous. Because exams were more heavily weighted than regular tests or quizzes, this could make or break your grade for the semester. As our teacher, Mr. Wilson, …

The post Want to get ahead in your career? Cheat! (hear me out) appeared first on Nathan Rice.




ut

Introducing The Best Free Video Editing App Of All Time: CapCut

CapCut is a multifaceted one of the best free video editing mobile application that offers many features and tools to elevate the quality of your influencer ...




ut

The Impact Of AI Software On Architecture And Design: Revolutionizing Creativity And Efficiency

The emergence of AI software in the field of architecture and design has sparked a significant shift in how professionals approach their work. With advancem ...




ut

Realistic X-Men '97: Real-Life Version Of Mutant Nostalgia

New realistic Marvel art brings characters to real life from the X-Men '97 TV show. 2024 marked a new beginning for the X-Men: The Animated Series, as the f ...



  • Design Roud-up

ut

Personal User Interfaces: A.I. Augmented Reality And The Future Of Personalized Advertising

Technology today loves making stuff just for you, and it's changing the game in how we get our digital kicks. In an era where personalization is paramount, ...




ut

Theme: Most Beautiful WordPress Job Board Theme

WordPress job boards were never this easy. The JobEngine theme combines powerful customization tools with a simple user experience. You can sort your listings by location, job type and category. Refine your search criteria without reloading the page. Users can upload a CV and send applications directly from the site. Send automated messages to advertisers […]




ut

Theme: Portfolio Solution for Creative Professionals

Daisho is a portfolio solution for creative professionals and companies looking for a minimal and professional look. Flexible and responsive presentation, smooth navigational flow and clutter-free approach. Put your works in focus. Powerful Typography Plugin included. The definitive portfolio solution for creative professionals available now. Pricing: $50 Requirements: WordPress Source: Buy it Now




ut

Theme: A Beautiful Portfolio WordPress Theme

Agera is a beautiful portfolio. Easy to setup, enhanced with Massive Panel and custom shortcode wizard which makes adding shortcodes extremely easy. The main goal of Agera is to let photographers and designers showcase their work easily and in a beautiful and simple way. If you are a creative person this theme is for you. […]




ut

Plugin: Responsive WordPress Grid Layout Plugin

Grid Layout Shock is the most complete responsive WordPress grid layout plugin. You can select between 8 box styles preloaded to costumize your own grid layout. You can select the components that you want to show, if you want to show the title, the image, the excerpt of the text or neither, you can do […]





ut

How to customize the WooCommerce checkout page

Beautiful, high-converting checkout pages: Customize your WooCommerce checkout page with these tools and tips! Video + step-by-step instructions.




ut

Prepare your checkout for the holidays: 5 ways to reduce cart abandonment with Amazon Pay

Make the most of the holiday shopping season — convert more visitors into customers. Quick changes that can make a big difference in 5 steps.







ut

Biodiversity Isn’t Just Pretty: It Future-Proofs Our World

By Elizabeth Boakes Aeon A small boy hauls enthusiastically on his fishing rod. The line flies up and a needle-spined fish strikes him in the eye. Desperate to stay outdoors, he ignores the pain, but his sight deteriorates over the … Continue reading




ut

Self-Host Your Identity Provider with authentik

Authentication! What a hassle!

Evans, where's that SAML from Earth!?

You start off simple enough — username / password authentication in your application. Then, well, someone mentions that traditional passwords are a security vulnerability, so maybe we should use one-time passwords. That inevitably leads to discussions about magic links and multi-factor authentication. Next thing you know, one dev is in a corner, rocking back and forth and muttering something about SAML, and another dev just left — walked out the door, never to be seen again.

Well, not to worry, we've got just the tool for you.

authentik is an open-source identity provider written in Python. I'm going to focus on the self-hosted version, but they also offer a paid enterprise plan if you want some extra support.

Self-Hosting

The philosophy of open-source tools and self-hosting is a big, complex topic for another post. In the world of SaaS products, you likely don't need to self-host. I quite like hosted identity providers like Clerk and Auth0. They're good and appropriate solutions for different types of apps and companies.

But I just love to self-host tools. Tinkering and toying with Docker, reverse proxies, and sometimes even server hardware is a lot of fun to me. It does add complexity in some (or many) places, but a little extra complexity means you've got a little more control over your tooling.

Self-hosting also allows me to disconnect from the Internet and still be able to work on features and enhancements in my projects. As long as I've already installed the relevant packages or pulled the right Docker images, I can keep working if I'm in a place where I can't (or don't want to) connect to the Internet. This is a small thing, but really important to me.

authentik makes it really easy to self-host your application. Right out of the gates, they provide a Docker Compose example and a Kubernetes example. Getting authentik running took me about 10 minutes using the Docker Compose example. Most of that was reading. This can make authentik a great tool during the proof-of-concept or beta phase of your application, getting authentication out of the way so you can focus on building the cool and unique features of your app.

Integrations

One of the great things that authentik has waiting for you is a bunch of documentation on integrating with a lot of tools you probably already use. These integrations range from other self-hosted apps like Outline (another favorite of mine) to cloud providers like AWS and even platforms like WordPress.

authentik's integration docs show you how to set up authentik for your existing providers and applications, so no need to dig around for the right configuration. Sure, if you're building your own application, you don't have the luxury of a README (until you write one, of course!), but don't worry — all the documentation you'll need for your choice of providers is at your fingertips. Personally, I'm fan of the OAuth2 provider for most my pet projects, but I also find the Proxy Provider to be a really great tool if you want to secure a static site that doesn't have any means of authenticating users.

Customization

This is a pretty nice default login screen, but maybe a mountain road isn't your vibe. You can change this background, add your own company logo, and add your own CSS. Just add your static files to your authentik deployment and modify to your heart's content.

But actually, that's not even the cool part of the customization to me.

authentik has the concepts of Flows and Stages that are used to determine what steps a user should take to log in, log out, and more. First, you define Stages that represent a single step of authentication — something like requiring a user to enter their username or a password. There's a whole lot to choose from. Once you've set up your Stages, you'll create a Flow, stringing those Stages together until you have a complete process to authenticate, register, or even delete a user. Flows can be imported and exported as .yaml files, making it easy to keep your Flows and Stages synced between different environments.

authentik comes with a pretty reasonable set of default Flows and Stages. If you're setting authentik up just to try it out, you might not need to add anything. They do have a couple of example Flows to get you started, though.

Flows and Stages can feel pretty intimidating. On your dev server, I'd recommend basically deleting all of the default Flows and Stages and building up new ones from scratch. It's the easiest way to learn how these pieces fit together. If you accidentally break something in dev, you can always just drop your database and spin up a fresh install.

Conclusion

authentik is an awesome tool and I've only scratched the surface of what it can do for you. As a self-hosted identity provider, it gives you a lot of control on how your services are authenticated. It's great for local development and beyond, and it has a lot of ready-to-go integrations for services you might already use.

If you're interested in further reading, I'd definitely recommend checking out the docs on Outposts and External Sources.

Hopefully this has given you some inspiration to spin up a local instance of authentik and try it out! It will definitely simplify your authentication needs.

Here's your SAML, Mr. Horrible Gelatinous Blob!




ut

Fluid Breakout Layout with CSS Grid

So you're building a site and you've got a nice containing element around your content — but wait! Not all the content is the same width! That nice, neat tube of content is not so much a straight tube as a pile of different sized bricks.

It's a common layout problem, but how do we account for these 'breakout' widths in the layout? There's a couple ways we could go about it:

  • Encapsulate each component and set widths and margins. (Works fine if you have full control but can be fiddly).
  • Force the component out of the containing element with negative margins. (Works fine if there's only a little deviation).
  • Use CSS Grid to build a fluid universal grid! (????).

That last one is what we'll be exploring: how to use CSS Grid definitions to allow for consistent component sizing across all breakpoints — no media queries required!

This is a technique that's based on Ryan Mulligan's 'Layout Breakouts' which is based on Josh Comeau's 'Full-Bleed Layout' and is especially useful when creating a fully fluid layout. This also pairs well with fluid type techniques resulting in layouts that TRULY scale with the viewport size.

Setting Up the Grid #

Here's the layout we're going to be building:

If we break apart the design, we've got 4 possible widths for components:

  • Full-Width
  • Feature
  • Popout
  • Content

We've also go some special side-anchored elements that 'stick' to one of the screen edges but also honor the other element widths. We'll come back to these later on.

Now that we've categorized the widths, lets start drawing column edges and defining areas:

  1. Left margin / Full-Width
  2. Left Feature
  3. Left Popout
  4. Center Content
  5. Right Popout
  6. Right Feature
  7. Right margin / Full-Width

That's a lot of columns!

Yet on mobile, we only need 3 columns, just left margin (1), center content (4), and right margin (7). We want some of these intermediate columns to disappear!

Fortunately, CSS Grid gives us some powerful tools to create the measurements needed—yes, even for the disappearing columns! We won't even have to write any media queries for this one. We can make just ONE definition that works at all sizes.

We'll store our measurements as CSS variables for easy use later on:

:root {
  --gap: clamp(1rem, 4vw, 2rem);
  --full: minmax(var(--gap), 1fr);
  --feature: minmax(0, 12vw);
  --popout: minmax(0, 2rem);
  --content: min(clamp(30rem, 52vw, 60rem), 100% - var(--gap) * 2);
}

Let's break these down.

--gap: clamp(1rem, 4vw, 2rem);

gap will be our side margin, allowing it to stretch up to 2rem at max, with a preferred width of 4vw, but never going below 1rem.

--full: minmax(var(--gap), 1fr);

We're going to use the minmax() function for these next three measurements to say: "If there's room in the CSS Grid, you can expand out to here but then don't go smaller than the minimum".

The full area is going to expand from left edge to right edge (remember we have to split the areas to allow for the other columns) and will double as our margin, so we'll pop in our gap value as our minimum and tell it that it can expand up to 1fr, or basically as much space as the rest of the grid will allow it.

--feature: minmax(0, 12vw);
--popout: minmax(0, 2rem);

The feature and popout both have a minimum value of 0. This is what powers our disappearing columns! As other areas of the grid expand, these will collapse when there's no longer any room for them, essentially taking up no space.

--content: min(clamp(30rem, 52vw, 60rem), 100% - var(--gap) * 2);

And then finally, our content area is our most complex measurement. It's saying, take the minimum value of either:

  1. A fluid measurement that can be 30-60rem (with the help of clamp())
  2. OR full width minus our gap value (but doubled for both left and right values).

These measurements can be changed to fit the needs of your layout. Specifically the feature and popout maximum values and the first content value. For example, our use of vw for the feature means it will fluidly expand out as the screen grows whereas the popout will remain only 2rem larger on each side than the content column.

Now we can assemble these measurements in a CSS grid column definition. We'll name our column edges with [custom-ident] and use the -start and -end endings to help make assignment easier later on.

.grid-breakout {
  display: grid;
  grid-template-columns: [full-start] var(--full)
    [feature-start] var(--feature)
    [popout-start] var(--popout)
    [content-start] var(--content) [content-end]
    var(--popout) [popout-end]
    var(--feature) [feature-end]
    var(--full) [full-end];
}

The definition is complex, but if we visualize the start and end lines of our columns as well as the measurements, it looks like this:

You can see we have our middle content column, our disappearing feature and popout columns, and finally our full columns that double as our margin.

To finish off the definitions, we need to create column assignments. Because we named our columns with custom identifiers and specified the start and stop lines, we don't have to fiddle with grid numbers. We can assign them directly like:

.full {
  grid-column: full;
}

.feature {
  grid-column: feature;
}

.popout {
  grid-column: popout;
}

.content {
  grid-column: content;
}

And if we want to create a default assignment for elements in the grid (which is especially useful if you don't have full control over the markup) you can create one like this:

.grid-breakout > * {
  grid-column: content;
}

Now you can attach any of these classes to components in your grid and have them snap to the width you want.

Watch the screen capture below as the grid scales down. You can see the feature and popout columns disappearing as everything transitions to a mobile width, and then expands back up.

You can see a demo of the base setup here:

Nesting Grids #

Now let's go back to our header element. You can see that though the header is full-width, we actually want its inner content to honor the feature width.

Fortunately, because of the flexible nature of this grid definition, we can repeat the definition and then continue using the same column names on the inner structure. Because our grid only goes one layer deep we're free to replicate as much as we need or even break out and use different layout methods for the component interiors.

<main class="grid-breakout">
  <section class="full grid-breakout">
     <div class="feature">
        <!-- inner content -->
     </div>
  </section>
</main>

You can see it in action here:

Anchoring Left and Right #

Remember those side-anchored components? This is where we need to get a little tricky to line everything up.

Going back to our diagram, we want an element to span MOST of the way across the page, but end at the opposite feature edge. We can reuse our column definitions for the first part.

.feature-left {
  grid-template-columns: full-start / feature-end;
}

Great! That gives us exactly what we want... except for when we try to nest the grids.

Our original grid definition assumes that our content, while different widths, is centered in the window. We have to rethink our inner grid definition a little bit.

We're shaving off one end of the grid, specifically a full definition. So two things need to happen:

  1. We need to adjust our content width to now account for only having one gap.
  2. We need our new grid end to stop at the edge of the feature column.

We can achieve this with a new measurement and a new grid definition:

:root {
  /* previous definitions... */
  --content-inset: min(clamp(30rem, 52vw, 60rem), 100% - var(--gap));
}

.grid-breakout-feature-left {
  display: grid;
  grid-template-columns:
    [full-start] var(--full)
    [feature-start] var(--feature)
    [popout-start] var(--popout)
    [content-start] var(--content-inset) [content-end]
    var(--popout) [popout-end]
    var(--feature) [feature-end full-end];
}

We've replaced the inner content measurement with the new value and combined the feature and full ends with the final line of the template column definition:

[feature-end full-end]

This will allow redefinition inside the new side-anchored component. You will notice that you'll need to supply your own padding for the inner as they no longer have that final margin to prevent it from reaching the new grid edge.

<main class="grid-breakout">
  <section class="feature-left grid-breakout-feature-left">
    <div class="feature">
      <!-- inner content -->
    </div>
  </section>
</main>

If you want to reverse this to be anchored to the right, you can flip the grid definition, moving the double start to the top like:

.grid-breakout-feature-right {
  display: grid;
  grid-template-columns:
    [full-start feature-start] var(--feature)
    [popout-start] var(--popout)
    [content-start] var(--content-inset) [content-end]
    var(--popout) [popout-end]
    var(--feature) [feature-end]
    var(--full) [full-end];
}

You can see a demo of the side-anchored component here:

But What About Tailwind! #

We love using Tailwind at Viget as a Team Accelerator™, and it's straightforward to implement these measurements and definitions in your Tailwind config.

/** @type {import('tailwindcss').Config} */
import plugin from "tailwindcss/plugin";

export default {
  // the rest of your other definitions
  theme: {
    // the rest of your theme definitions
    extend: {
      gridColumn: {
        content: "content",
        popout: "popout",
        feature: "feature",
        full: "full",
        "feature-left": "full-start / feature-end",
      },
      gridTemplateColumns: {
        breakout: `[full-start] var(--full)
            [feature-start] var(--feature)
            [popout-start] var(--popout)
            [content-start] var(--content) [content-end]
            var(--popout) [popout-end]
            var(--feature) [feature-end]
            var(--full) [full-end]`,
        "breakout-feature-left": `[full-start] var(--full)
            [feature-start] var(--feature)
            [popout-start] var(--popout)
            [content-start] var(--content-inset) [content-end]
            var(--popout) [popout-end]
            var(--feature) [feature-end full-end];`,
      },
    },
  },
  plugins: [
    plugin(function ({ addBase }) {
      addBase({
        ":root": {
          // grid sizing variables
          "--gap": "clamp(1rem, 4vw, 2rem)",
          "--full": "minmax(var(--gap), 1fr)",
          "--content": "min(clamp(30rem, 52vw, 60rem), 100% - var(--gap) * 2)",
          "--popout": "minmax(0, 2rem)",
          "--feature": "minmax(0, 12vw)",
          "--content-inset": "min(clamp(30rem, 52vw, 60rem), 100% - var(--gap))",
        },
        // force unspecified content blocks into 'content' grid
        ".grid-cols-breakout > *": {
          "grid-column": "content",
        },
      });
    }),
  ],
};

Everything is effectively the same, but you'll call your grid classes like grid-cols-breakout to set the grid, and your columns like col-feature per Tailwind naming conventions.

Forwards to a Fluid Future! #

And there you have it! A media-query-less fluid breakout layout defined with CSS grid!

While the setup is more complicated at first glance, I've found that the more fluid your layout rules are, the FEWER rules you have to write overall! Especially when paired with fluid type, dynamic viewport units, and all the amazing features that are landing in CSS — it's truly a fluid future!



  • Code
  • Front-end Engineering

ut

Building Well-Connected Distributed Teams

Five years ago, without consciously trying, I would have noticed if a coworker was taking a break, feeling extra chatty, or looking hyper-focused. I got to choose whether to respond and how I might build rapport by responding (I’m sure I didn’t always get it right). Now that more of the Viget team works from home than in an office, I feel a loss. I have less awareness of other people's states of mind and fewer chances to demonstrate my interest. I need to learn new ways of connecting. 

I took notice when Adam Grant recently posted about pebbling

Sending memes, links, and videos to others isn't trivial. It signals that you're thinking of them and want them to share your joy. It's known as pebbling, based on penguins gifting pebbles to potential partners. Pebbling is an act of care. Every pebble is a bid for connection.” 

Grant acknowledges that the term "pebbling" comes from penguins, but he also uses the phrase “bid for connection,” which I associate with John Gottman. Gottman is a well-known psychologist who has researched marital stability and relationships. His work provides insights into how small interactions, or "bids," play a crucial role in building strong relationships. 

Gottman defines a "bid" as any attempt from one person to another for attention, affirmation, affection, or any positive connection. A bid can be as explicit as saying, “I had such a hard day,” or as random as saying, “Did you see the size of that red bird?” The impact of responding with interest (turning toward) or ignoring or dismissing (turning away from) significantly influences the quality of the relationship. A simple, “Tell me what happened,” or “What? No, I missed it!” can foster closeness and trust. Silence or something like, “Here we go again,” will spark feelings of neglect and distance.

Gottman's research is widely cited and has impacted my understanding of relationships.  I'm interested in bids for connection at work, particularly as our work environment has changed dramatically in recent years.

Connections at Work

Finding the right balance of work and non-work is a central challenge for most of us as we navigate demands on our time and energy. I generally hope work is a small enough part of a person’s life that they have time for many other things, but also that their work environment is engaging and meaningful enough that they enjoy it. I hope friendships emerge at work, mostly through collaboration or out of the gaps between responsibilities. 

As remote work has become commonplace, I find it’s harder to foster connections than it was before. The lack of proximity, and therefore organic social interactions, makes it harder for me to know my coworkers and be known by them. I’m not advocating for returning to offices. I’m noticing that after working with people for years in an office, I knew them better – their nerves before a presentation, their ability to set new people at ease, their grandma’s soup recipe, their knack for deadpan humor – and that made my life better. While many of my coworkers collaborate with each other daily through pair programming, design critiques, or iteration planning meetings, my work on a small People Team has always been less collaborative. For me, fewer organic in-person interactions means fewer interactions of any kind at work. 

The decline in ad-hoc opportunities for connecting impacts us all differently, but I am particularly interested because an aspect of my role at Viget is to nurture a strong company culture. For us that means a culture where we do excellent work, learn a lot, support each other, and – yes – make some friends. I’m looking for ways we can adapt our employee engagement efforts to the new work environment and evolve how we cultivate alignment.

The concept of "bids for connection" seems useful for understanding the building blocks of connection and, over time, friendships. As a mostly remote company, I want to be sure we’re asking: How do people make bids? How do others respond to them? What parts of the work environment encourage us to turn towards a bid? 

Bids While Distributed

There needs to be “space” for these interactions to happen across a distributed company, and we need to notice what is working and why. One opportunity for bids to play out is in recurring meetings. At Viget, we try to be efficient with our time, but we also build in time for informal interactions.  

Daily Stand-up Meetings

The discipline and project teams that do daily stand-ups are careful to keep them brief. These meetings need to be reliably quick-paced in order to fulfill their purpose. Still, without sacrificing efficiency, these meetings can spark strong bids for connection. Sharing work updates in small, daily increments encourages people to open up about specific elements of their progress. The specificity allows for connection in ways that broad strokes do not. Hearing someone say, “Progress was slow, but I’m finally done with the feature,” I might respond, “Oh, good.” But hearing someone say, “If I don’t figure out how to debug this API integration by noon, we need to update the launch timeline," gives me a chance to be curious, helpful, and invested in something very specific. 

Weekly All-Hands Meeting

Every Friday, our whole company meets for about an hour. The first 15 minutes are deliberately set aside for informal conversations and sharing, which mostly happens over Slack. We often play music or show a live stream of something noteworthy, like an eagle’s nest, to which we can react. Someone might share where they were when they first heard this song. Someone else might reveal they are an experienced falconer. The whole company gets a chance to see or hear these things, and while only a handful may react, we are all building shared awareness and memories.

Monthly Team Meeting

During a team meeting, a small group of same-discipline-peers comes together to talk shop, share lessons learned, or bond. These meetings allow for exercises that don’t scale to a whole company – like getting feedback or planning progress – and over time, certain activities can become team favorites. A monthly “rose, bud, thorn” or an annual “sharing circle” ritual prompts people to share in ways that otherwise might feel too awkward or vulnerable.

 

Another way to make and respond to bids for connection across locations is on Slack. Different kinds of Slack channels offer different kinds of opportunities.

Interest-based Slack Channels

At Viget we have channels like #woodworking, #sewing, #starwars, #hot-sauce, #gardening, #home-improvement, and many, many more. These types of channels allow people to go deeper than they might in more general channels. You know you’re talking to like-minded people, so why not dive fully into your opinion on robot vacuum cleaners?

"Random" Slack Channel

In our #random channel, I’ve seen everything from a heads up on free Firehouse subs to a recommendation for an estate planning system. The responses vary, too – sometimes they spark day-long conversations. At a minimum, posts will get a smattering of emoji responses and the impact can be significant. For example, a post might get a sympathetic :heart: but then a couple :same: or :it-me: come in and before you know it, there’s a subset of coworkers who realize they share the same rare phobia. I also think a share in #random can signal, “I’m between tasks. I’m open to distractions right now,” and folks can follow up with a DM.

Project-Specific Slack Channel

In channels where everyone is working on the same project with shared goals, stresses, and deadlines, we might see bids that build momentum. A PM might post something in the morning to encourage the team to rally behind a tough deadline. A designer might post mid-week, acknowledging the drudgery of certain tasks, implicitly giving everyone else permission to do the same. A developer might be slowly building a little arsenal of inside jokes and call-backs over weeks, dropping a note at just the right time to get others laughing. Someone might turn one of those jokes into a custom emoji that lives well beyond the project timeline and every time that inside-joke-emoji gets used, it's a bid for folks who worked on that team to recognize each other and reconnect. 

Recognizing Bids

We all grew up learning in-person social norms and have a mostly shared understanding of what’s considered warm, polite, stand-off-ish, or rude in the workplace. Now that we’re distributed, we may need to learn to recognize new signals and define new norms. 

A bid is an action that invites connection, but sometimes the action is so small, we might not notice it or realize it has potential value. Understanding the concept of bids can help us notice them and respond with more awareness. 

If we train ourselves to see bids for what they are and respond accordingly, we may get more mileage out of the limited impromptu interactions we have as remote coworkers. Actions like responding to an open-ended question in a Slack channel or acknowledging someone’s request for help during a meeting go a long way. Each response builds trust and camaraderie, even if in tiny doses. When a comment or question is ignored or dismissed, the negative effect is compounding; that person is less likely to reach out again.

Adam Grant said sharing memes and links are a way to invite someone to share in your joy.  At a distributed company, “bids” take a lot of different shapes, but they all communicate things like, “I am here,” and “let’s work together,” and “you can trust me.”

I’m encouraged to think we already have some infrastructure in place at Viget to support remote bids for connection. I’m excited to work with Aubrey Lear and others to find ways to evolve that infrastructure. We’ll continue to hire people who want to develop friendships with coworkers and who are willing to take personal responsibility for making and turning towards bids. Together, we can make sure Viget remains a great place to work as the workplace continues to evolve.




ut

Sony A9 III: Game-changing Full-Frame Global Shutter, 120FPS 24.6MPx Camera

This post: Sony A9 III: Game-changing Full-Frame Global Shutter, 120FPS 24.6MPx Camera was first published on Beyond Photo Tips by Susheel Chandradhas

Sony announced the Sony A9 iii on 07 November 2023, a 24.6 Megapixel Full-frame mirrorless camera with the world’s first global shutter full-frame stacked CMOS image sensor capable of shooting at 120 frames per second. The camera also boasts a processor, the BIONZ XR, that is 8 times faster than the previous Sony BIONZ X […]

This post: Sony A9 III: Game-changing Full-Frame Global Shutter, 120FPS 24.6MPx Camera was first published on Beyond Photo Tips




ut

RIP a Livecast #644 – Nut Cadence

Rob kicks things off talking about his experience at the GWAR show. We learn of No Nut November and somehow spend way too much time talking about Baby Daniel. We […]



  • RIP a Livecast

ut

Mesin Judi Slot Online Multipayline Punya Keunggulan Berikut

Saat ini beragam tipe mesin slot online mudah anda akses di banyak bandar dan situs taruhan berkualitas. Anda harus tahu bahwa proses memilih mesin ini memiliki pengaruh besar pada peluang dan hasil taruhan. Memilih tipe mesin yang punya peluang menang besar adalah salah satu bentuk kemampuan yang harus anda miliki jika ingin sekses dalam bermain. […]



  • Judi Slot Online

ut

Chooch’s Branding Embraces Authenticity Through Playful Imperfection

Chooch’s Branding Embraces Authenticity Through Playful Imperfection

abduzeedo

Discover how amStudio’s branding and visual identity of Chooch captures authentic, handmade aesthetics for fashion accessories.

Chooch, formerly known as Flat Fifteen, has redefined its brand to better reflect its founder Francesca Kappo’s evolving vision. With the guidance of amStudio, this rebrand has transformed the brand’s identity from a broad handmade focus to one that is solely centered around fashion accessories. Chooch stands out with its playful name, unique backstory, and brand elements that weave together storytelling, imperfection, and tactile aesthetics.

The Meaning Behind “Chooch”

The rebranding from Flat Fifteen to Chooch came as Francesca Kappo shifted her focus. The name “Chooch” is personal, rooted in a nickname given to Francesca by her uncle. He also played a foundational role in the brand’s beginnings, supplying her first batch of deadstock fabrics from his 1990s fashion label. These fabrics continue to be a vital part of Chooch’s accessory designs today, emphasizing the brand’s commitment to sustainability and storytelling.

The name itself is more than just a rebranding—it’s a celebration of heritage and identity. Short, memorable, and fun to say, “Chooch” captures the playful spirit of the brand. As Alam Mohammed, founder of amStudio, notes, the name’s flexibility in pronunciation makes it a warm, approachable identity that consumers can connect with personally. This idea carried over to the logo design, where the doubled O’s have a playful, imperfect alignment, mirroring the brand’s handmade ethos.

Playful Imperfection: The Brand Identity

Alam Mohammed and his team at amStudio developed a brand identity for Chooch that prioritizes authenticity. Hand-painted illustrations are central to this, appearing across the brand’s packaging, website, and social media. This choice keeps the look grounded, tactile, and relatable, evoking the feel of handmade fashion. By maintaining this aesthetic, the brand sets itself apart in a market often dominated by hyper-polished digital imagery.

The branding extends beyond static visuals. Chooch’s social media and marketing leverage stop-motion animations, adding a dynamic yet still homemade feel. This use of motion emphasizes the brand’s accessible nature, where every element ties back to the concept of imperfection being perfectly beautiful. The stop-motion clips give life to the fashion accessories, highlighting the fun and creativity behind each product.

Chooch’s narrative goes deeper than playful design. By continuing to use deadstock fabrics, Francesca Kappo honors her roots and commits to a more sustainable future. The tactile branding elements mirror this philosophy, creating a seamless experience from the physical product to the digital space. The history of the materials and the personal touch behind the brand make each accessory more than just a fashion statement—they become a story in themselves.

The rebranding also came with strategic moves to elevate Chooch’s market presence. The bags are now featured at the Victoria and Albert Museum’s shop as part of the first-ever Naomi Campbell exhibition. This collaboration has not only introduced the brand to a wider audience but also solidified its standing as a contemporary, fashion-forward label. The exhibition has boosted Chooch’s brand awareness and increased its social media following, translating to more sales and a growing fan base.

The Chooch rebrand exemplifies a growing trend: the embrace of imperfection in design. By favoring hand-drawn illustrations, irregular alignments, and a conversational tone, amStudio has given the brand an inviting, human feel. This approach rejects the overly polished and instead celebrates the beauty of the handmade. It’s a move that resonates well in today’s world, where consumers value authenticity and transparency.

Chooch’s rebranding is a masterclass in how thoughtful design can reflect a brand’s core values. From its name rooted in personal history to its playful logo and tactile illustrations, Chooch stays true to its story. Alam Mohammed and the amStudio team have created a brand identity that isn’t just about looking good—it’s about feeling real, celebrating imperfections, and staying connected to tradition. As Chooch grows, its story continues to inspire, reminding us that the imperfect is often the most perfect of all.

Branding and visual identity artifacts




ut

A Beautiful Spring Begins With Fall Planting

By University of Illinois News Have you ever admired the vibrant colors of spring flowers and wondered how to create this beauty in your own landscape? “The time to plant for spring bloomers is now,” said University of Illinois Extension … Continue reading




ut

Indigenous Farmers Practice the Agriculture of the Future

By Leaiman Yes! Magazine Affectionately called “Professor” by his neighbors, Josefino Martinez is a well-respected indigenous farmer and community organizer from the remote town of Chicahuaxtla, in the Mexican state of Oaxaca. He watched with patient attention as I showed … Continue reading




ut

Automattic raises $288m ????, WooCommerce growth continues ????

Earlier this year, Automattic raised $288 million in a funding round that valued the company at $7.5 billion. This impressive valuation was in part due to the growth of WooCommerce, which has seen a boost during the pandemic. With this new investment, Automattic had the opportunity to conduct a $250 million share buy-back. This gave…




ut

Succesfully running 2.8.1, but

I’ve updated the site to the latest release of WordPress. 2.8.1 fixes many bug found in 2.8 and I finally was ready for the update. While everything went smoothly, I did have to update my theme a bit to run some of the additional widget area. Using the old style dynamic_sidebar( 'Utility: Header' ); didn’t […]

The post Succesfully running 2.8.1, but appeared first on WPCult.





ut

How To Make The Most Out Of Pinterest

Pinterest is an electronic scrapbooking website that was specifically created for people to post up content that describes their favorite things through pictures and comments. Much like traditional scrapbooking, Pinterest is a great way for a person to creatively express the events or topics that are most important to his or her life, only this […]

The post How To Make The Most Out Of Pinterest appeared first on WPCult.





ut

AutoSpares – Free WP Theme for Autos/Cars related Blogs

A perfect WP theme with  Unique and modern style, having the classic combination of white, silver, navy blue and orange. XHTML 1.0 Transitional Adsense Ready A lot of advertising spots 125×125 Admin CMS Options   DOWNLOAD | PREVIEW    




ut

Thinking about doing a new theme about beds or home furniture

Anybody who would be interested in a great new theme about beds and home furniture please drop me a line or comment on this post. Im just mulling over the idea got a good template in mind with a pic of a leather bed and nice mattress kind of a sleep blog theme. Should appeal [...]




ut

It’s Time To Talk About “CSS5”

Have you ever wondered what happened after CSS3? It’s common knowledge that we never saw CSS4 come after it, yet we have a plethora of new features that have no similar way of defining when they were introduced. The W3C CSS-Next community group is actively searching for better approaches for how we describe the evolution of CSS over time and identify feature sets as effectively as we did with CSS3 way back in 2009 — and you can help.




ut

Regexes Got Good: The History And Future Of Regular Expressions In JavaScript

Although JavaScript regexes used to be underpowered compared to other modern flavors, numerous improvements in recent years mean that’s no longer true. Steven Levithan evaluates the history and present state of regular expressions in JavaScript with tips to make your regexes more readable, maintainable, and resilient.




ut

Crows, Ghosts, And Autumn Bliss (October 2024 Wallpapers Edition)

Could there be a better way to celebrate the beginning of a new month than with a collection of desktop wallpapers? We’ve got some eye-catching designs to sweeten up your October. Enjoy!




ut

Warming Weather Could Reduce the Nutritional Value of Rice

UN Environment Press Release Hundreds of millions of people in Asia rely on rice not only as a staple but as their main source of nutrition. But new research suggests the rice they eat will become less nutritious due to … Continue reading




ut

Urging Multi-Pronged Effort to Halt Climate Crisis, Scientists Say Protecting World’s Forests as Vital as Cutting Emissions

By Julia  Conley Common Dreams “Our message as scientists is simple: Our planet’s future climate is inextricably tied to the future of its forest.” With a new statement rejecting the notion that drastically curbing emissions alone is enough to curb … Continue reading




ut

Humanity ‘Sleepwalking Towards the Edge of a Cliff’: 60% of Earth’s Wildlife Wiped Out Since 1970

By Julia Conley Common Dreams “Nature is not a ‘nice to have’—it is our life-support system.” Scientists from around the world issued a stark warning to humanity Tuesday in a semi-annual report on the Earth’s declining biodiversity, which shows that … Continue reading




ut

Scientists Warn Crashing Insect Population Puts ‘Planet’s Ecosystems and Survival of Mankind’ at Risk

By Jon Queally Common Dreams “This is the stuff that worries me most. We don’t know what we’re doing, not trying to stop it, [and] with big consequences we don’t really understand.” The first global scientific review of its kind … Continue reading




ut

‘A World Without Clouds. Think About That a Minute’: New Study Details Possibility of Devastating Climate Feedback Loop

By Jessica Corbett Common Dreams “We face a stark choice [between] radical, disruptive changes to our physical world or radical, disruptive changes to our political and economic systems to avoid those outcomes.” As people across the globe mobilize to demand … Continue reading




ut

‘Coming Mass Extinction’ Caused by Human Destruction Could Wipe Out 1 Million Species, Warns UN Draft Report

By Jessica Corbett Common Dreams Far-reaching global assessment details how humanity is undermining the very foundations of the natural world     On the heels of an Earth Day that featured calls for radical action to address the current “age … Continue reading




ut

Padoue et les couleurs d’automne

Cette image déploie une vue panoramique saisissante du village de Padoue niché dans la quiétude des collines automnales. Les teintes vives des arbres en dégradé d’ocre, de rouge et de jaune, rappellent la transition douce de l’été à l’automne. Au premier plan, une mer de forêts enveloppe la petite communauté, où l’on aperçoit les toits...




ut

Un troupeau de vaches à l’extérieur vu de haut!

Sur cette photographie aérienne, la nature s’étend en un vaste tapis vert, baigné par une lumière dorée. Au centre de cette scène paisible, un troupeau de vaches éparpillées parsème la prairie, leurs silhouettes projetant de légères ombres sur l’herbe tendre. L’immensité du paysage contraste avec la sérénité de ces animaux, dispersés comme des notes sur...




ut

La route et le chemin de fer se croisent en formant ce qui ressemble à une fourche

Cette photographie aérienne capture l’essence d’un paysage rural, baigné de lumière sous un ciel parsemé de nuages floconneux. Les vastes étendues de champs verts se déploient à perte de vue, bordés par des rangées d’arbres aux teintes automnales, où le jaune et l’orange s’entrelacent avec le vert foncé des sapins. Au cœur de cette composition,...