First up at #AEASF is @adactio about declarative design! (Yes, I'm back to my live-tweeting thing!)

He's starting off with music - there's Mozart writing every note down, then there's Miles Davis doing improv. All sorts of ways to compose music, and both are considered genius! Jeremy Keith speaks on the ...
@adactio Same thing in programming too - imperative programming gives the computer step by steps. Then there's declarative programming (like SQL), where you tell the computer the result you want. @adactio #AEASF
.@timberners_lee created the World Wide Web with the "principle of least power" - use the most efficient way to parse information. Both HTML and CSS are declarative, fault-tolerant languages. They ignore what they don't understand. @adactio #AEASF
@adactio CSS is thought of as declarative, but it's actually more suggestive. It's more of a conversation between the end users, browser, and the author. @adactio #AEASF
@adactio Re: web technologies, there's JavaScript, which is an imperative language. It's more powerful, but it's more fragile. If it doesn't understand a direction, it throws an error. @adactio #AEASF
@adactio You can use imperative and declarative languages together - use declarative approach first, then use imperative to be more specific. Ex: inputs. Defaults to text field, but you can specify email, telephone, etc. @adactio #AEASF
@adactio Using a simpler solution lower in the tech stack means the solution is more robust.

"JS should only do what only JS can do." Don't write dozens of lines of code when you can use <button>! But many programmers want the kind of control imperative langs give. @adactio #AEASF
@adactio Imperative mindset = working off of a lot of assumptions. Using a declarative mindset gets you thinking about what the browser might be doing by default and adjusting. (Ex: padding-left = the start of a line assumes your user will be reading left to right.) @adactio #AEASF A slide showing CSS code te...
@adactio Other things that the browser can (and should) calculate, not humans! "Be the browser's mentor, not its micromanager" according to buildexcellentwebsit.es @adactio #AEASF Properties we can use to ge...
@adactio We even have imperative and declarative approaches to management! Imperative management = micromanaging, declarative management = trust to get to an outcome. It depends on the culture. @adactio #AEASF
@adactio .@adactio says that design systems make clear the culture. It's "the way we do things around here." You can take an imperative and declarative approaches to design systems too. #AEASF
@adactio You can have imperative and declarative thinking. Analytical thinking is imperative = v. exact, great for zooming in, not great for people. Systems thinking is declarative thinking = about relationships.

Design systems are often imperative, thus fragile. @adactio #AEASF
@adactio Instead of using hex codes to define colors, how about using relationships? Ex: the fill should be 10% lighter than the border. You can use CSS to get the browser to calculate that. @adactio #AEASF
@adactio HAH @adactio totally calls me out - as a classically trained pianist, sight-reading (aka imperative) is indeed my superpower. But I CANNOT improv or play by ear to save my life. 😅 #AEASF
@adactio Remember that the tools we use start to change the way we work. The way we design right now (including Figma prototyping) is VERY imperative. @adactio quotes @danmall: "Let's not design in the browser, let's decide in the browser." #AEASF
@adactio It always depends! The imperative approach works for print and native apps, but doesn't work so well for the web. We're trying to control something we can't actually control. "Fighting for control on the web is a losing battle." @adactio #AEASF
@adactio CSS is an incredible powerful tool, let's lean into letting go of that control! @adactio #AEASF
@adactio .@adactio says it's possible to use too much ARIA. Use native HTML if you can. When it comes to accessibility, use the principle of least power. #AEASF
To specify, we use ARIA as a fill. We use it until we don't need to use it anymore. If you overuse ARIA, you're trying to exert control over the browser. @adactio #AEASF

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Anita 💪🏻 Cheng

Anita 💪🏻 Cheng Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @anitaycheng

Dec 14
Last at #AEASF (sadface) is @movie_pundit with his talk “What If People Weren’t the Product? Building a web that loves humanity.” (Yes, we gave each other high-fives about how we had talks about becoming person-oriented! 🙌)
Back in the truly olden days, we didn’t have mirrors. To see ourselves, we needed to find a still body of water. Instead, we looked at each other. @movie_pundit #AEASF
With the advent of mirrors, we suddenly became aware of how we looked to other people. The results ranged from 1st person novels to standing armies. Now the web, where “we cannot get away from ourselves” with ad personalization. We see ourselves as a product. @movie_pundit #AEASF
Read 17 tweets
Dec 14
Next (and before #AEASF lunch LOL) is @kryshiggins about designing better onboarding. How do you balance understanding with “engagement” and features and prompts?
If we act on our fear (that our users will miss something!) then it can lead to unhelpful solutions! If you front-load instructions, they’re hard to remember, out of context, and have questionable value. @kryshiggins #AEASF
And framing is important. If you give people ALL the instructions up front, it can give the impression that a task must be super hard! Plus they’re costly to maintain. @kryshiggins #AEASF
Read 16 tweets
Dec 14
Here for @Folletto’s #AEASF talk about hybrid meetings. Remote collaboration should not actually default to calls or meetings. Think about if they’re sync/async or in-person/virtual, but they can be combined too.
.@Folletto wants to leverage the benefits of each approach - it’s not about not meeting anyone ever. Async can make it possible for the less boisterous people to contribute too. Ask what the outcome of this call should be. #AEASF
Also ask if the call is in the right format. @Folletto made a chart for it! #AEASF Chart showing goals when yo...
Read 23 tweets
Dec 14
Made it to the juicy part of @prestonso’s #AEASF talk about languages. 🏃‍♀️☕️ More CSS properties to help meet our users where they are, no matter what language they’re using:
- dir
- writing-mode
- lang (even mixed with another languages)
- text-orientation
- text-combine-upright
Remember to use HTML first to set the default reading direction, don’t just use CSS to do whatever you want. Set the structure first. @prestonso #AEASF
Markup that I never knew about, to help give readers of logographic languages more context about a character they might not know about: <ruby> and <rb>

Also, the CSS prop “text-emphasis” can customize text styles you want to bold, but bold wouldn’t look great. @prestonso #AEASF
Read 10 tweets
Dec 13
Very apropo for me right now - @youngfonz is going to talk about navigating changes in your [fill in the blank] career! #AEASF
Tip #1 for navigating career changes - have patience and resilience. @youngfonz had to go outside his comfort zone seeking resources to bolster his computer science education. But it was a journey! #AEASF
Tip #2 for navigating career changes: Have a strategy. Don’t just react, have a plan. And remember to learn EQ aka “soft skills” not just hitting the books (IQ). It depends on where you’re at! @youngfonz #AEASF
Read 10 tweets
Dec 13
Learning all about ARIA attributes with @tolu_xyz at #AEASF! Some really interesting examples about how you’d indicate to assistive technologies about what’s visually happening on a component.
Hah I like how #AEASF attendees are all 👎 about carousels! #SameTeam
.@tolu_xyz recommends doubling up in code when using native HTML landmarks, since assistive tech reads them out inconsistently. So even if you’re using <nav> it’s a good idea to also use <div role=“navigation”> to make sure all your bases are covered! #AEASF
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(