DevFest For Ukraine, A Charity Conference On The Future Of Tech 🇺🇦

Every day, millions of Ukrainians show incredible courage and strength resisting Russian aggression. Volunteers, individuals and organizations are working together to provide support and raise funds for those in need.

In times like these, uniting efforts and working together as a community matters more than ever. That’s why we’d like to highlight a wonderful initiative today. DevFest for Ukraine, a conference with world-class technical speakers and an important mission: to raise funds for Ukraine.

DevFest for Ukraine is a charitable tech conference that will bring together 20 industry-leading speakers over two days (June 14–15), featuring live streams from London and Lviv. It will address key topics for the future of tech, including trends in Android, web, and AI.

What Can You Expect At DevFest For Ukraine?

The conference will take place online June 14–15, featuring both live and recorded sessions from London and Lviv, along with live Q&As. From tech sessions and inspirational keynotes to networking and overviews of the latest developer tools, DevFest for Ukraine brings together people who shape the future of Android, web, and AI technologies.

Learn from industry-leading speakers like Romain Guy and Chet Haase who have been building Android since 1.0, Jhey Tompkins and Una Kravets from the Google Chrome team, or Robert Crowe from the TensorFlow team who will talk about trends in ML development. The participation is donation-based: your donation will give you access to the live stream and recordings after the event. For the detailed schedule, visit the DevFest for Ukraine website.

Where Will Donations Go?

All funds raised will support different causes in a transparent, public way. If you want to learn more about the organizations, the DevFest for Ukraine team summarized why they chose them.

The initial goal was to raise $50,000. Thanks to multiple donations from individuals and partners, they’ve already reached their $50,000 and $75,000 milestones. And now they set a new goal — raising $100,000. With these funds, they can buy about 1,000 first aid kits, or 320 bulletproof vests, or 60 tons of humanitarian aid, which can save the lives of thousands of our Ukrainian friends. Let’s do it together!

How To Join

Join the conference to support Ukraine and gain knowledge from the speakers who are shaping the future of tech!

Thank you for your kind support. 💙💛

Collective #664




CSS for Web Vitals

Learn about CSS-related techniques for optimizing Web Vitals in this article by Katie Hempenius and Una Kravets.

Read it




The perfect link

There’s more to a link than just a clickable word or image. So, how do you create the perfect link? Rian Rietveld takes you on an informative journey.

Read it



Spark Freebie

A great freebie by BONT that contains 3 hero designs with different art directions. Made for Figma.

Check it out



The Art of Design Spec’ing

Learn about design specs, how to create them, and how they smooth out the hand-off process between design and engineering. By Mahdi Farra.

Read it


Boring Avatars

Boring avatars is a tiny JavaScript React library that generates custom, SVG-based, round avatars from any username and color palette.

Check it out


vanilla-extract

Zero-runtime stylesheets-in-TypeScript: Use TypeScript as your preprocessor. Write type‑safe, locally scoped classes, variables and themes, then generate static CSS files at build time.

Check it out


Readsom

Readsom hosts newsletters that are handpicked and filtered through topics to help you find your niche of interest. Explore and discover your next favorite newsletter.

Check it out



yare.io

A real-time strategy game where you control your units by writing JavaScript code.

Check it out



Khroma

Khroma uses AI to learn which colors you like and creates limitless palettes for you to discover, search, and save.

Check it out







Follow the Grain

Jay Freestone argues that we should spend less time trying to fix things, and more time trying to understand them.

Read it


macOCR

macOCR is a command line app that enables you to turn any text on your screen into text on your clipboard.

Check it out




The post Collective #664 appeared first on Codrops.

Collective #658















Collective 658 item image

Kallithea

Kallithea, a free software source code management system supporting two leading version control systems, Mercurial and Git.

Check it out


Collective 658 item image

Una Kravets shares the latest flexbox debugging features in Chrome DevTools.

Check it out










The post Collective #658 appeared first on Codrops.

More on content-visibility

Back in August 2020, when the content-visiblity property in CSS trickled its way into Chrome browsers, Una Kravets and Vladimir Levin wrote about it and we covered it. The weirdest part is that to get the performance value out of it, you pair it with contain-intrinsic-size on these big chunks of the page where you insert some arbitrary guess at a height. I wrote:

That part seems super weird to me. Just guess at a height? What if I’m wrong? Can I hurt performance? Can (or should) I change that value at different viewports if the height difference between small and large screens is drastic?

Jake Archibald and Das Surma just did a video on all this and it helped clarify that a bit. You can see at about 7:30 in just how confusing it is. Jake used this massive HTML spec page as a demo, and made <section> wrappers around big chunks of HTML, and applied:

section {
  content-visibility: auto; /* this is the thing that delays painting */
  contain-intrinsic-size: 1px 5000px; /* this is the guess at the height of the content, and also saying width doesn't matter */
}

Apparently that 5000px isn’t the height of the element, it’s the size of the content of that element. I guess that matters because it will push that parent element taller by that number, unless the parent element overrides that with a height of its own. The magic comes from the fact that the browser will only paint¹ the first section (where it’s very likely the viewport isn’t over 5000px tall) and defer the painting on the rest. Sorta like lazy loading, but everything rather than media alone. It assumes the next section is 5000px tall, but once the top of it becomes visible, it will actually get painted and the correct height will be known. So assuming your page is just big ass blocks on top of each other, using an extremely large number should work fine there. Godspeed if your site is more complicated than that, I guess.

It’s a good video and you should watch it:

This is yet another thing where you have to inform the browser about your site so that it can Do Performance Good™. It is information that it can figure out by itself, but not until it has done things that have a performance cost. So you have to tell it up front, allowing it to avoid doing certain types of work. With responsive images, if we give images a srcset attribute with images and tell the browser in advance how big they are, including a sizes attribute with information about how our CSS behaves, it can do calculations ahead of time that only download the best possible image. Likewise, with the will-change property in CSS, we can tell the browser when we’re going to be doing movement ahead of time so it can pre-optimize for that in a way it couldn’t otherwise. It’s understandable, but a little tiresome. It’s like we need a stuff-you-need-to-know.manifest file to give browsers before it does anything else — only that would be an additional request!

The accessibility implications are important too. Steve Faulkner did a test applying content-visibility: auto to images and paragraphs:

The content is visually hidden, but in both JAWS and NVDA the hidden <img> is announced but the content of the <p> element is not. This has to do with how the img and the p element content are represented in the browser accessibility tree: The img is exposed in the accessibility tree with the alt text as the accessible name. The content of the p element is not present in the accessibility tree.

He notes that content hidden this way should not be available to screen readers, per the spec. I could see it going either way, like hide it all as if it was display: none, meaning none of it is in the accessibility tree. Or, leave it all in the accessibility tree. Right now it’s a tweener where you might see a bunch of stray images in the accessibility tree without any other context than their alt text. This is an interesting example of new tech going out with more rough edges than you might like to see.

Speaking of alt text, we all know those shouldn’t be empty when they represent important content that needs to be described to someone who can’t see them. They should be like paragraphs, says Dave:

I finally made the simplest of all connections: alt text is like a paragraph. Word pictures. Basic I know, but it helps me contextualize how to write good alt text as well as source order of my code.

I don’t want to be overly negative here! The performance gains for setting up a long-scrolling page with content-visibility is huge and that’s awesome. Being able to inform the browser about what is OK not to paint in two lines of code is pretty nice.

  1. I keep saying “paint” but I’m not sure if that’s really the right term or if it means something more specific. The spec says stuff like “allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed” (emphasis mine).


The post More on content-visibility appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Come to An Event Apart in 2019

The 2019 season for An Event Apart (the premiere web and interaction design conference) is about to kick off!

  1. Seattle -
  2. Boston -
  3. Washington DC -
  4. Chicago -
  5. Denver -
  6. San Francisco -

I'll be there in Seattle for the kickoff, giving a talk about how to think like a front-end developer. I've been working on it for ages, and I think I have a talk ready that helps set the stage for where we are at in the world of front-end development, through the lens of tons of other front-end developers I admire in this industry. I hope it'll be an entertaining romp through all their minds and how they think.

Seattle, March 4-6, 2019, three days of design, code, and content.

Just check out this Seattle lineup!

This is like my dream lineup. Except that jerk who kicks off Day 2.

  1. Jeffrey Zeldman
    The Zen of Whitespace: Slow Design for an Anxious World
  2. Margot Bloomstein
    Designing for Slow Experiences
  3. Sarah Parmenter
    Designing for Personalities
  4. Eric Meyer
    Generation Style
  5. Rachel Andrew
    Making Things Better: Redefining the Technical Possibilities of CSS
  6. Jen Simmons
    Designing Intrinsic Layouts
  7. Chris Coyier (me!!!)
    How to Think Like a Front-End Developer
  8. Una Kravets
    From Ideation to Iteration: Design Thinking for Work and for Life
  9. Scott Jehl
    Move Fast and Don’t Break Things
  10. Luke Wroblewski
    Mobile Planet
  11. Beth Dean
    Unsolved Problems
  12. Dan Mall
    Putting the ‘Design’ in Design Systems
  13. Jeremy Keith
    Going Offline
  14. Sarah Drasner
    Animation on the Bleeding Edge
  15. Val Head
    Making Motion Inclusive
  16. Derek Featherstone
    Inclusive, by Design
  17. Gerry McGovern
    The Customer-Obsessed Professional

Another neat little feature of the 2019 lineup is a screening of the documentary Rams that after lunch on Day 2. Like movie night. For us designer types. During the day. It's gonna be awesome.

See y'all there, I hope!

The post Come to An Event Apart in 2019 appeared first on CSS-Tricks.