Yesterday, I wrote about how I reason about developer needs and the kinds of data I take into account. Unsurprisingly, many of you wondered what kind of twitter polls I was talking about.
Between 100 and 2000 developers answered most of these questions.
BIG CAVEAT: twitter polls have issues like no demographics info, audience bias, only 4 responses allowed, and strict character limits on questions and responses. They absolutely can’t be used as a source of truth. However, they are great for temperature checks to challenge my own assumptions. More like a hint that it would interesting (or not) to run a follow up survey on a random cohort of developers. All of these responses bias toward the ~50K people who follow me on twitter.
Example polls
Low level primitives or higher level components?
What I was wondering about?
Some folks believe that if you can build something in JS (or even canvas), we shouldn’t create HTML or CSS APIs. I wanted to see if developers want higher level components or prefer to have frameworks manage everything. [Poll, Poll take 2]
Conclusion
63.4% of devs would like to have higher level components while 19.3% prefer exclusively JS for components. The way I asked the question might have biased the response (grow and evolve are very positive sounding words in any context). I asked again.
Poll results
Question (biased language): Should HTML get new elements/components, inspired by design systems? e.g. tabs, accordion, type ahead, carousel (by React I mean any framework, 25 chars, ugh)
- HTML should grow & evolve 43.5%
- Build components in React 19.3%
- Can I have both? 19.9%
- Show me the results 17.2%
3,879 votes
Question (less biased language): Should HTML get new controls like <accordion>, <tooltip>, <carousel>, <tabs>, or <typeahead> or leave that to JS frameworks?
- Controls in HTML 52.3%
- Controls in JS frameworks 12%
- Can I have both? 21.1%
- Show me the results 14.7%
5,430 votes
Dark Mode / Form controls
What was I wondering about?
What should we do with our default styles during the form controls refresh project? [poll]
Conclusion
Dark check on a light background, but enough variation that it needs to be styleable.
Poll results
Design system folks… a checked checkbox should have what color background?
- white with a dark check 49.5%
- blue with a light check 30.1%
- gray with a light check 6.6%
- green with a light check 13.9%
592 votes
Container queries
What was I wondering about?
Will Container Queries work with responsive images? What do designers hope to achieve? Will they change out creative assets or just shrink the images they have? [poll]
Conclusion
This intersection of features doesn’t match the developer’s expectations. We need to fast follow with something that can change the constraints completely like a responsive image format.
Poll Results
Question: When using container/element queries, I would expect images that have srcset to calculate which image to request based on… (pls share use cases in replies!)
- viewport width or height 20.1%
- container width or height 56.7%
- something else (tell me) 3.1%
- Show me the results 20.1%
816 votes
Question: Would you change the creative for an image or video primarily based on device size, the size of its parent in the HTML, or both? e.g. Imagine a product image is in a 3-column grid vs full width. Would you choose a different creative in the two contexts?
- Device size 11.6%
- Parent size in the HTML 31.8%
- Both 25.7%
- Show me the results 30.9%
569 votes
Web vs Native
What I was wondering?
I was pre-testing a question I wanted to run in a full web developer survey. Web developers express very high devsat scores, but I have a hunch that if we ask them about their feelings about themselves and their own outcomes we might hear a more nuanced story. [poll]
Conclusions
I mostly asked out of curiosity, so I didn’t ask any follow up questions.
Poll results
Question: Writing a smooth and responsive website is as easy as native.
- True 20.6%
- False 41.2%
- Show me 38.2%
2,143 votes
Debugging vs Developing
What I was wondering about?
When we think about building devtools, we can focus on debugging and/or authoring. Do JS vs CSS authors need different things? I had a hunch that debugging and authoring are not really separate processes for CSS and I wanted to tease that out. [poll]
Conclusion
71.3% of CSS authors write 1-10 lines of code before checking the results in the browser, so their authoring flows are very similar to their debugging flows. I’d focus on biggest pain points, like layout debugging, rather than differentiate by stage of development.
Based on their replies, developers (71.3 % of CSS authors; 35.7 % of JS authors) are relying on the hot-reload mechanisms of their tech stack to rapidly prototype and test new features.
Side note: typescript authors may write more code before checking it in the browser. Does typescript have different needs?
Poll Results
Question: How many lines of CSS do you write before checking the result in the browser?
- 1-10 71.3%
- 11-20 16.5%
- 21-30 4.4%
- 31-40 7.8%
957 votes
Question: How many lines of JS do you write before checking the result in the browser?
- 1-10 35.7%
- 11-20 24.2%
- 21-30 11.5%
- 31+ 28.5%
417 votes
CSS Abstractions / Design Systems
What I was wondering about?
How much effort does it take to create a design system? If the browser could do more, how much time could we save developers? Babylist said their product image zoom and carousel components took 6-8 SWE weeks to create. I wanted to be sure I hadn’t inadvertently cherry picked an example with unique challenges. [poll]
Conclusion
I hadn’t cherry picked Babylist. If anything, it was worse than expected. 70% of developers spent 6-18+ months creating their design system and 47% were unhappy with the outcome.
>40% have 3-8 complex components. So perhaps we can help developer productivity by focusing on these more complex components?
Poll Results
Question: If you’ve built a design system, how long did it take to get it mostly complete and adoptable?
- <1 month 5.3%
- 2-5 months 23.6%
- 6-18 months 40.4%
- >18 months 30.7%
394 votes
Question: How many people work on your design system full time?
- 0 21%
- 1-5 people 59.5%
- 5-10 people 10.5%
- 10+ people 9%
210 votes
Question: How many people work on your design system part time?
- 0 24.7%
- 1-5 people 58.6%
- 5-10 people 8.6%
- 10+ people 8.1%
198 votes
Question: How many teams rely on your design system to build their features?
- 0 teams 2.8%
- 1-10 teams 74.6%
- 11-20 teams 7.7%
- >21 teams 14.8%
142 votes
Question: This is a hard one to admit, but lots of design systems fail or co-exist… how many design systems does your company have? Dead/defunct systems count.
- 0 6.4%
- 1 32.9%
- 2-5 52.1%
- 6+ 8.6%
140 votes
Question: How many components in your design system are at least as complex as tabs or accordion?
- 2 9.2%
- 3-8 39.1%
- 9-14 34.5%
- 15+ 17.2%
87 votes
Question: True or false: I’m not happy with my design system. I’d like to replace it or make major changes.
- True 46.7%
- False 53.3%
75 votes
Question: True or false: we have the right number of design systems at my company.
- True 51.4%
- False 34.7%
- I don’t know 13.9%
72 votes
Accessibility
What I was wondering?
Responsive design fundamentally changes ARIA roles, how is the developer community reasoning about shifts in these patterns? What is the current best practice? [poll]
Conclusion
Even the accessibility community doesn’t agree on best practices. We probably need to do something bigger to unblock the situation. For example, baking a11y into browser primitives so developers don’t need to do anything.
Lots of responses assumed I didn’t know what I was talking about. Very interesting for understanding the DX of accessibility work.
Poll Results
Question: Q for A11y friends: imagine a component that displays as tabs on desktop, accordion at narrow mobile widths. – What a11y semantics do you use? – Why?
- Accordion (headings) 16.9%
- Tabs (list) 19.7%
- Both 21.5%
- Uh oh, that’s hard! 41.8%
608 votes
Canvas
What was I wondering about?
Do developers see canvas as the future of how Apps will be built? Or a tool to use within web applications that are otherwise written in higher level web technologies? Do they want to build whole Apps out of canvas? [canvas poll]
Conclusion
79.6% of developers don’t want to write whole apps in canvas and only 3.6% have tried writing a whole application in canvas and would do it again. Canvas may be useful for specialized apps that have a reason they can’t run using HTML/CSS/JS.
Poll Results
Question: If you build web things, have you used canvas for an application? (If yes, reply with how you used it)
- Yes, would use again
- 34.7%
- Yes, wouldn’t use again
- 5.7%
- No
- 42.3%
- Show me the results
- 17.2%
1,568 votes
Question: Follow up question: have you used canvas to build an entire app?
- Yes, and want to again
- 3.6%
- Yes, don’t want to again
- 4%
- No, but want to
- 12.8%
- No, and don’t want to
- 79.6%
250 votes