Skip to content
Back to blog

The 2021 MUI Developer Survey: here's what we discovered

Danilo Leal

@danilo-leal

Sam Sycamore

@samuelsycamore

Olivier Tassinari

@oliviertassinari
+

Keeping up with tradition, a few months ago we opened the 2021 MUI Developer Survey. Your feedback helps us to build better products, and we can't thank you enough for being a part of our community. 1,591 of you responded to this year's survey, and we take your input very seriously. Here's what we've learned about your needs after poring over the results.

As with the previous iterations, the survey was divided into three sections: "Your needs", "Your product", and "About you".

Your needs

How would you feel if you could no longer use MUI?

Over 93% of you would be disappointed if you could no longer use MUI (a sum of "Very disappointed" and "Somewhat disappointed"). That's in keeping with 94% of you who felt the same way when we asked this question in 2019 and 2020.

Bar chart: 62.7% Very disappointed, 30.4% Somewhat disappointed, 6.9% Not disappointed.

1567 out of 1589 answered.

Notably, 2021 saw a 10% loss in the "Very disappointed" category, and a comparable gain in those who would only be "Somewhat disappointed." This suggests that some of you may be less enthusiastic about MUI's products when compared with previous years, and that's something we need to evaluate moving forward.

Those who would be "Not disappointed"—a group that grew by 1%—were asked to explain why. Here's what they said:

The number of available alternatives

Lately, with each new day a new UI component library appears. Because they aim to solve the same problems, these libraries often arrive at solutions that are very similar to one another. The establishment of common industry-wide patterns makes it that much more difficult to stand out from the crowd. Meanwhile, we're working hard to expand beyond our core products to provide you with experiences that other libraries can't match.

The introduction of a paid product

A big challenge with open-source is that maintainers capture very little value. The MIT licensed model has enabled the growth of a large community of contributors as well as the MUI team itself, but it does have its limitations. To push the products as forward as we believe it's possible, we needed a way to invest more in them. Open-core allows us to still offer an MIT licensed (free) version of the MUI X components while charging for additional features that require more attention (including support).

It's still early days for MUI X, though. We introduced it at the end of 2020 and have been iterating not only on the components but on the model itself.

We still have a lot more ground to cover — only ~0.1% of our developer community has been convinced to upgrade to the paid Pro plan so far. Whether or not you've taken the plunge, we'd love to hear your thoughts about this. And if you want to understand more about our view of the open-source/commercial balance, check our Stewardship page.

The breaking changes made in v5

Our most recent release, MUI Core v5, introduced some important breaking changes. The main problem we wanted to tackle was customizability: unlocking more styling options without compromising on performance.

This new styling solution still has a ways to go in terms of maturity, and there's no denying that it requires a considerable amount of work to migrate from v4. For our part, we still have a lot of work to do to help you make the most of the new features in v5, and we welcome your feedback.

What can we do to help you succeed? If you have any ideas or suggestions, you're always welcome to share your thoughts by opening an issue on GitHub.

How likely is it that you would recommend MUI to a friend or colleague?

This year we observed a decrease in Net Promoter Score (NPS): from 62 in 2020 to 46 in 2021. 56.4% of you were Promoters this year, down almost 6 percentage points from last year (62.2%). We're still in a good place — an NPS score between 30 and 70 is considered great. But we have much more to do to achieve an excellent score.

Detractors: 10.88%, Neutrals: 32.69%, Promoters: 56.43%, Overall NPS: 46.
Scale: -100 to 0 needs improvements, 0 to 30 is good, 30 to 70 is great, and 70 to 100 is excellent.

1563 out of 1589 answered.

What is the main benefit you get from using MUI?

This question results in 2019 - Design: 248; Time: 193; DX: 128; Components: 89; Customizability: 53; Documentation: 25; Accessibility: 5; TypeScript: 5; Community support: 4; This question results in 2021 - Time: 597; Design: 407; Components: 309; DX: 306; Customizability: 181; Documentation: 57; Community support: 26; Accessibility: 24; Performance: 17

1422 out of 1589 answered this question in 2021.

Here's what you liked the most about the product in 2021, compared to 2019:

  • Community (2.9x): While the community itself doubled in size, appreciation for the community grew by 190% over that same time frame. It looks like we're witnessing a network effect: with twice as many users, developers got three times more value from the community.
  • Accessibility (2.2x): The community has definitely noticed the work we have put in to make our components more accessible. Special thanks to Sebastian Silbermann (@eps1lon) for his continued help!
  • Customizability (1.6x): Developers seem to be appreciating the new capabilities introduced in v5. That said, we recognize that there is still more work to be done here, given the number of requests we've received to better solve this problem.
  • Components (1.6x): We'll keep adding new components to the library as long as you continue to appreciate them this much!
    • Component quality (no change): You know that we set the bar very high for the quality of our components. This can be challenging as we continue to grow, because we expect nothing but the best from our team. Thankfully, this result shows that our team of maintainers has done an excellent job, aiming for high standards.
  • Time (1.4x): Mostly referring to saved time during UI development. This is an interesting one because it's not an issue that we specifically addressed. Could this just be a result of the growing pressure in the market to build faster? Or because we somehow made this value proposition more noticeable? It could also be related to the next item.
  • Developer experience (1.1x):
    • Consistency (1.75x): We didn't work on this dimension, and yet it grew. It's reasonable to assume that because we have more components than ever before, developers have started to notice how much more consistent their work is when they use MUI.
    • Ease of use (no change): Could it be because ease of use is mostly defined by the React API (hooks), or is it because we haven't made any major API changes to optimize for ease of use? There could be a lot of work here for our new Developer Experience team.

And what has decreased:

  • Design (x0.75): Material Design hasn't evolved with changing tastes, and our work on a second design system to address this hasn't progressed as quickly we anticipated.
    • Material Design (x0.4): Its selling power is clearly fading.
    • Look & feel (x1.17): This is surprising. It seems to be a transfer effect: people who previously cared more about Material Design now care more about the outcome than the specification itself.
Click to see the breakdown of categories.
597time
407design
148design - look & feel
122design - look & feel+
73design - consistency
73design - Material Design
6design - ?
4design - easy
2design - responsiveness
1design - time
309components
173components - quantity
124components - quality
5components - advanced
3components - data grid
2components - ?
1components - autocomplete
1components - base/unstyled
306DX
221DX - easy to use
49DX - consistency
32DX - API
4DX - ?
181customizability
57docs
39docs - ?
17docs - quality
1docs - quantity
26community
24accessibility
17performance
15performance - runtime
1performance - bundle size
1performance - ?
9community support
5icons
3typescript
2animations

Please rate how much you agree or disagree with the following statements

I can find most of the components I need (Strongly agree: 45.5%, Agree: 45.9%, Neutral: 6.2%, Disagree: 1.5%, Strongly Disagree 0.8%); I can easily customize the components to match the desired design (Strongly agree: 23.4%, Agree: 46.1%, Neutral: 18.6%, Disagree: 9%, Strongly Disagree 2.9%); I can find the answers to most of my questions in the documentation (Strongly agree: 24.1%, Agree: 50.1%, Neutral: 16.3%, Disagree: 7.6%, Strongly Disagree 1.9%); I find the library's performance to be great (Strongly agree: 26.4%, Agree: 44.3%, Neutral: 22.6%, Disagree: 4.7%, Strongly Disagree 2%); Whenever I needed to get help, I received helpful responses, Stack Overflow or GitHub (Strongly agree: 20.9%, Agree: 36.7%, Neutral: 36%, Disagree: 4.6%, Strongly Disagree 1.8%)

1534 out of 1589 answered.

It's a good thing to have a general sense of agreement with most of the statements, however, there's a considerably big gap between "Strongly agree" and "Agree" for all but the first statement. This highlights the need to continue pushing for even more quality in each of these dimensions (customizability, performance, and community support).

What are your most important criteria for choosing a UI library?

Ranked list: 1. The design - look and feel; 2. Customizability; 3. Documentation quality; 4. Comprehensiveness; 5. Performance; 6. Popularity; 7. Accessibility; 8. Offered support and help; 9. Bundle size

1500 out of 1589 answered - Check Typeform's documentation to understand ranking average calculations.

This year we experimented with using Typeform to run the survey, which allows respondents to rank their choices. This might have given us a richer perspective than we've been able to capture in the past, but in the end the results weren't too different from last year.

Design (look and feel) remains the most important criterion for choosing a UI library, and customization and documentation quality are still there in the top 3. The notable difference this year seems to be performance climbing its way up, as it has been ranked as the fifth most important aspect.

What else can we do to improve MUI for you?

Word cloud of what we can do to improve MUI

1007 out of 1589 answered this question in 2021.

Here are the most recurring topics for improvement this year:

  • More components: We continue to see requests for more advanced components such as charts, forms, and calendars, to name a few.
  • More examples: Many of the existing learning resources are now outdated following the v5 upgrade, so we have a lot of work to do to show you how to make the most of our products.
  • Provide more themes: Even with the launch of Material v3, Material Design is seen as outdated by many. That's why we're working on a second design system that will offer the same high standard of quality as Material Design, but with an alternative design direction.
  • Fewer breaking changes: MUI Core v5 introduced some important breaking changes, especially because of the new styling solution. Rest assured that we don't expect to release any major updates this year—in fact, we aim to keep majors at least 12 months apart from each other.
  • Improve customization: Common requests include making customization easier, providing more examples of common use-cases (like font-family and primary/secondary colors), and improving the theme capabilities. Even with the popularity of Emotion and styled-components, there continues to be an enormous need to facilitate customization.

If you are interested in an analysis of the growing and decreasing pain, you can head to the appendix.

Click to see the breakdown of categories.
329docs
72docs - ?
62docs - more examples
29docs - more templates
28docs - beginner friendly
28docs - tutorials
19docs - API
19docs - custom design system
16docs - more comprehensive
15docs - content quality
9docs - organization
8docs - smaller demos
6docs - content translation
5docs - search
4docs - slow to navigate
3docs - link to source
3docs - starter example
3docs - integration with third-parties
1docs - visual component discovery
300more components
145more components - ?
26more components - form
21more components - charts
17more components - carousel
12more components - lab to core
9more components - enterprise apps
8more components - upload
7more components - big calendar
7more components - drag and drop
6more components - MUI X Pro
5more components - navbar
5more components - image
4more components - inputs
4more components - rich text editor
3more components - MUI X
2more components - layout
2more components - number input
2more components - speed to release it
2more components - virtualization
1more components - color picker
1more components - data display
1more components - link
1more components - loading button
1more components - maps
1more components - mobile
1more components - nested menu
1more components - OTP
1more components - photo viewer
1more components - scrollspy
1more components - slider
1more components - time picker
1more components - tree select
265customization
71customization - ?
69customization - easier
44customization - docs
27customization - improve custom themes
26customization - color
25customization - theming
3customization - theme gallery (coming from the community)
212system
37system - ?
36system - makeStyles back
20system - docs
15system - SASS
11system - interoperability with Tailwind CSS
14system - simplify
8system - CSS variables
7system - interoperability
7system - no CSS-in-JS runtime
6system - CSS modules
6system - dark mode
6system - utility class names
5system - verbosity
5system - performance
4system - CSS API
4system - styled-components
3system - generated classes
3system - variant
3system - CSS that can be shared outside of React
3system - state customization
3system - theme
1system - inline styling
1system - decide on styling solution
1system - duplicate CSS properties
1system - transient props
1system - typescript intellisense
1system - use more sx oversyled
172design
51design - provide more themes (not just Material Design)
28design - make the default theme look & feel better
27design - push @mui/base more
24design - Material Design v3
13design - drop Material Design
10design - ?
7design - denser UI for enterprise apps
6design - block templates
3design - responsiveness
2design - mobile
1design - color gradients
109performance
46performance - bundle size
36performance - ?
16performance - runtime
4performance - fewer DOM node/React components
2performance
2performance - docs
1performance - animations
1performance - in dev mode
1performance - unecesseary prefixes
97DX
27DX - simpler
20DX - API
17DX - higher-level component API
6DX - lower-level component API
5DX - import
5DX - lightweight
3DX - debugging
2DX - boilerplate
2DX - fewer packages
2DX - expose hooks
1DX - class names
1DX - ?
1DX - composability
1DX - faster releases
1DX - fewer releases
1DX - helper functions
1DX - versioning
1DX - vscode plugin
75data grid
62data grid - ?
3data grid - docs
2data grid - excel
1data grid - bundle size
1data grid - column pinning
1data grid - filtering
1data grid - full screen
1data grid - grouping
1data grid - large dataset
1data grid - master panel
1data grid - nesting - export options
61free vs. paid
18free vs. paid - all MIT
8free vs. paid - cheaper Pro plan
8free vs. paid - no existing features going paid
7free vs. paid - more MIT
6free vs. paid - data grid more MIT
5free vs. paid - no Pro plan (premium can stay)
4free vs. paid - date picker more MIT
2free vs. paid - remove docs ads
1free vs. paid - cheaper Premium plan
1free vs. paid - design kit more MIT
1free vs. paid - use donations
61fewer breaking changes
47typescript
28typescript - ?
11typescript - faster check
5typescript - docs
2typescript - more support
1typescript - converter
1typescript - intellisense
41date picker
18date picker - ?
5date picker - make stable
3date picker - range selection
2date picker - bugs
2date picker - single range input
2date picker - time clock is hideous
2date picker - customizability
1date picker - dayjs
1date picker - add range
1date picker - design
1date picker - docs
1date picker - keyboard
1date picker - locales
1date picker - rewrite
26community
14community - nurture
9community - support
2community - release communication
1community - v4 support
20icons
12icons - more
3icons - ?
1icons - animation
1icons - built-in
1icons - dynamic loading
1icons - fontawesome
1icons - other libraries
19accessibility
9accessibility - implementation
6accessibility - docs
2accessibility - ?
2accessibility - full audit
15react native
10low-code
7low-code - design system creator
2low-code - generate code from design files
1low-code - UI builder
10more opinionated
9animations
6animations - new API
1animations - Framer Motion
1animations - on existing components
1animations - performance
7fix more bugs
7support other frameworkds (e.g. Vue)
5autocomplete
3autocomplete - ?
1autocomplete - abbreviation
1autocomplete - consistency with text field
4legacy browser support
3components consistency
2less opinionanted
2fix RTL
2class components

Have ideas for improvements? Please share them with us! Here's how to make sure that your requests get top priority:

  • When you create an issue to request features or components in the MUI Core or MUI X repositories, we'll label it as Waiting for upvotes. The more votes your issue receives, the higher a priority it will become—so make sure to structure, research, and justify your request so it resonates with other community members.
  • When requesting a new component, make sure to benchmark existing implementations of it in the wild so we can see what works and what we could improve on.
  • Try to explain the problem you're having as clearly as possible — it's often the case that we already have a component to solve it.
  • If you're requesting easier customization, make sure to demonstrate the desired outcome, and explain where you're having trouble in as much detail as you can. These requests often highlight opportunities for us to improve our documentation.

Your product

What were you primarily using before MUI?

Bootstrap: 40.6%; Started with MUI: 37.4%; Tailwind:: 4.8%; Ant Design: 4.8%; Angular Material: 4%; Semantic-UI: 4%; Other: 3.8%; Chakra UI: 0.7%

1389 of 1589 answered.

These results are not too different from last year, with the exception that far more developers reported starting with MUI (13% in 2020, and 37% in 2021). It's very encouraging to know that so many of you are building your products with MUI right from the start!

Are you using any of these in addition to MUI?

Nope, just MUI: 70.7%; Tailwind: 10.3%; Bootstrap: 9.8%; Ant Design: 4%; Semantic-UI: 1.7%; Other: 1.6%; Chakra UI: 1.2%; Angular Material: 0.8%

1468 out of 1589 answered.

We're glad to see that MUI largely covers all of your needs for a component UI library—this is a major priority for us.

Who are you building for?

For the company I work at: 65.6%; For my personal side project: 20.8%; For a client: 12.9%; Other: 0.7%

1523 out of 1589 answered.

When compared with last year's results, client work and personal projects have swapped places this year. Maybe v5 got developers interested enough to try it on their own sites and apps? It's interesting to see, in any case.

Who do you collaborate most with?

Other developers: 67.2%; Designers: 34.3%; Product managers: 29.2%; No one, it's just me: 28.9%; Other: 0.9%

1527 out of 1589 answered.

This is a new question in our annual survey, and the results highlight the fact that our documentation is not just for developers. It's crucial for our docs—and even the code itself—to be easily understood by designers, product managers, and other less technical team members who may be stakeholders in engineering projects.

How many web applications did you or your team deliver using MUI this year?

0-1: 494; 2-3: 381; 4-5: 122; 6-10: 26; 10+: 28

1051 out of 1589 answered.

Roughly half (47%) of those who responded to this question shipped one app or simply maintained an existing app. Impressively, 5% of respondents delivered six or more apps, and more than half of those surpassed 10!

Which MUI products do you use in your application?

MUI Core: MIT licensed foundational components, right now available with Material Design: 96.6%; MUI X: collection of advanced components available under MIT and commercial licenses: 14.7%; MIT License: 126 responses; Commercial licenses: 99 responses

1551 out of 1589 answered.

It's not surprising to find out that most of our user base is here for MUI Core. But it is very encouraging for us to see such a high proportion of MUI X users operating with commercial licenses, and we are excited to continue expanding on our paid products for these users.

There are a lot of opportunities in the MUI X space to unpack. Let's explore a little bit further below.

Did you know what MUI X was prior to this survey?

Yes: 54.5%; No: 45.5%

1312 out of 1589 answered.

A large chunk of you didn't know what MUI X is prior to the survey, which makes it clear that we still have a lot to do to expand its reach.

Are you currently using any paid UI component library?

Yes: 11.8%; No: 88.2%

1584 out of 1589 answered.

The results are not very different from last year, aside from a slight increase of respondents saying yes. The majority of respondents don't use any paid libraries, but those who do are mostly using MUI X. This demonstrates that some of our assumptions and execution might be correct! Developers' needs appears to not be completely fulfilled by the OSS ecosystem.

How can we improve the Data Grid for you?

Customizability: 21.9%; Cheaper Pro plan: 17.2%; More features: 12.5%; Fix features: 9.4%; Improve docs: 6.3%; Look & feel: 6.3%; Maintain it: 4.7%; Bugs: 3.1%; DX: MUI Core consistency: 3.1%; Performance: 3.1%; Transition: 3.1%; SSR: 1.6%

64 out of 1589 answered.

  • Customizability: This is a common topic for us, and it comes up often when discussing MUI X. Your feedback tells us that we need to double down on our efforts to make customization easier. We also recognize that we are still lacking some important documentation around theming, and headless APIs.
  • Cheaper Pro plan: We know it can be out of range for a lot of developers, and that's why the free version is already packed with many features. MUI mainly develops open-source software, and we deeply value the OSS ethos of freely sharing what we build so that others can use it and improve upon it.
    • The price of our Pro plan positions it as a product intended for use by teams at professional organizations. That said, many who left feedback on the price are individuals, so there might be an opportunity to expand our offerings for those not backed by their company.
  • More features & feature fixes: Collapsible rows, column resizing, and features for ERP apps were some of the features requested. And regarding features to fix, the most common requests were pagination with REST APIs, backend filtering, and cell editor.
  • Improvements to the documentation: The data grid docs could certainly use a major overhaul—we're working on it.
  • Improvements to the look and feel: Data grid builders want more default design options beyond Material. In terms of UX improvements, many developers mention the filtering experience specifically.
Click to see the breakdown of categories.
14customizability
9customizability - style
3customizability - ?
2customizability - docs
11cheaper Pro plan
8more features
3more features - ?
2more features - master detail
1more features - row editing
1more features - column pinning
1more features - column resizing
6fix features
3fix features - filtering
1fix features - editing
1fix features - pagination
1fix features - server-side
5docs
4docs - ?
1docs - more examples
4look and feel
3maintain it
2bugs
2DX - MUI Core consistency
2performance
2translation
1a11y
1easier installation
1fewer breaking changes
1hook-only API
1SSR

How can we improve Data Grid Pro for you?

More features: 39.8%; Customizability: 20.4%; Fix features: 15.1%; Performance: 5.4%; Cheaper Premium plan: 3.2%; Improve docs: 3.2%; DX - API: 2.2%; LGPL license: 2.2%; More components: 2.2%

75 out of 1589 answered.

  • More features: Grouping was the most requested feature for the Data Grid Pro, followed by master detail, aggregation, search, tree data, and column pinning. We've already released some of these in the time it took us to analyze the survey results. Check the links to see their docs and demos. Alternatively, you can follow the public roadmap to see when the others will land.
  • Customizability: The majority of requests about customizability were asking for possibilities to tweak data grid interactions, which we need to delve into more deeply to better understand. Following next were requests for more style customizability, and more documentation on customization.
  • Fix features: Filtering got first place as the most requested feature to fix on Data Grid Pro. Following next were lazy loading and server-side rendering support.
  • Performance: Requests about performance were mostly spread out between runtime and bundle size. We must admit that we have put almost no effort into optimizing the bundle size so far. There is likely some low-hanging fruit there.
Click to see the breakdown of categories.
37more features
6more features - grouping
6more features - master detail
6more features - roadmap
4more features - ?
3more features - aggregation
3more features - search
3more features - tree data
2more features - column pinning
2more features - pivot
1more features - excel
1more features - row reordering
19customizability
7customizability - behavior
5customizability - style
4customizability - docs
2customizability - ?
1customizability - charts in cells
14fix features
10fix features - filtering
2fix features - lazy loading
2fix features - server-side
5performance
3performance - ?
1performance - bundle size
1performance - runtime
4docs
3docs - ?
1docs - more examples
3cheaper premium plan
2bugs
2DX - API
2LGPL License
2more components - treeview
2overflow text
1DX - MUI Core consistency
1UX

What were you using before the data grid?

In house: 29.9%; MUI Table: 17.9%; Nothing: 7.5%; material-table: 6%; material-datatables: 6%; Sencha: 6%; Kendo UI: 4.5%; react-table: 4.5%; Bootstrap Table: 3%; AG Grid: 3%; datatables.net: 3%; JSP: 1.5%

149 out of 1589 answered.

It's interesting to see that a lot of you are building your own in-house data grids. We'd love to know more about why your team made this choice, especially because we know exactly how much work it can be. Also, it's refreshing to see that the standard MUI table components are adequate for many of you.

What are you building?

Dashboard admin applications: 26.3%; Enterprise applications: 25.9%; A custom design system: 9.7%; Landing page: 8.1%; E-commerce application: 7.8%; Personal website/portfolio: 6.9%; CMS: 6.1%; Just playing with tech: 4.6%; Blog: 2.8%; Other: 1.4%

Enterprise, dashboard applications, and design systems continue to be in the top 3, similar to last year. What's changed is that developers are now using MUI more to build e-commerce apps and portfolios, which is pretty cool. We'd love to see them! Feel free to share in the "Who's using Material UI?" issue.

What delivery mechanisms are you using?

Single-page app (Create React App, etc): 74.7%; Server-side rendered website (Next.js, Gastby, etc): 20.8%; Desktop app (Electron, etc): 3.5%; Native mobile app (Cordova, etc): 0.6%; Other: 0.4%

1509 out of 1589 answered.

What type system are you using?

TypeScript: 63.8%; None: 18%; prop-types: 16.6%; Flow: 1.4%; Other: 0.2%

1501 out of 1589 answered.

These results are very different from last year—TypeScript took off, and it's now the primary type system used out there.

Which framework are you using, if any?

Create React App: 62.4%; Next.js: 21.9%; Custom Webpack: 10.7%; None: 2.6%; Gatsby: 0.9%; Other: 1.5%

1497 out of 1589 answered.

This year we saw a considerable bump the use of Next.js (compared with 12.4% in 2020), which is not surprising due to its increasing popularity and the advancements it gained in 2021.

What styling solution are you using?

MUI Core v4 (JSS): 45%; Styled components: 37.9%; Emotion: 30.2%; SASS: 20.8%; CSS modules: 18.9%; Vanilla CSS: 17.6%; Tailwind CSS: 9.1%; Stitches: 0.4%; Other: 1.2%

1492 out of 1589 answered.

As the MUI Core v5 release is relatively recent, we expect to see many developers still using JSS, and there will probably always be some of you who prefer it.

But the growth of Emotion and styled-components here is noteworthy, because they are what our new styling solution is based on. This year we'll be focusing on expanding and refining MUI System to further improve upon this new styling solution.

Did you recently migrate to MUI Core v5?

Yes: 63.3%; No: 36.7%

1546 out of 1589 answered.

Though many of you who answered the survey have already migrated, we still have many more to convince to come along with us. For the year ahead we'll focus strongly on refining the documentation, and improving automation tools.

What's the statement that most defines your migration experience?

It was tricky but MUI's documentation and resources helped me to get it right: 43%; It was smooth and it is now working fine: 38.5%; It wasn't good, I had many problems and it took me a long time to finish: 14.3%; It was bad and I ended up regretting it: 2.8%; Other: 1.4%

930 out of 1589 answered.

What could MUI do to improve the migration experience?

General documentation improvements: 43.2%; Automation: 20.7%: Fewer breaking changes: 15.6%; Fewer styling solution breaking changes: 8.5%; More tutorials: 5.4%; More styling solution migration tutorial: 4.4%; Migrate Core and X together: 1%

472 out of 1589 answered.

  • General documentation improvement: Documentation plays a huge part in defining the developer experience. We definitely need to refine our writing, provide more examples, and offer more beginner-friendly resources.
  • Automation: We prepared codemods to help with the v5 migration, given the number of changes. This has been met with positive feedback, which is encouraging since it's our first time providing comprehensive tools to automate the migration process. However, it is becoming clear how and when the codemods weren't too effective, so we'll make sure to refine it more.

Could you share the reason why you haven't migrated yet?

No bandwidth: 28.4%; Started in v5: 14.6%; Afraid of amount of breaking changes: 12.3%; Already planned but haven't started: 9.5%; Missing incentive: 8.5%; Not a priority: 7.3%; Don't like new styling solution: 4%; Blocked by 3rd party dependencies: 3.3%; Didn't know about it: 3.3%; Migration is in process: 3.3%; Had regressions, therefore came back to v4: 1.3%; Waiting to become stable: 1.3%

441 out of 1589 answered.

  • No bandwidth / not a priority / blocked by third-party dependencies: These reasons can all be lumped together as "forces beyond your control." That's to be expected, but we'll continue to do what we can to persuade your team to migrate, and to make the migration as smooth as possible when you're ready.
  • Afraid of the amount of breaking changes: That fear is understandable, and we still have a great deal of work to do with documentation, automation, and other resources to help minimize the friction involved in migrating.
  • Don't like the new styling solution: We believe that's totally fair. Not everyone will buy every move. However, as with any open-source project, you always have the opportunity to weigh in and leave your thoughts about any given endeavor we're considering. The issue discussing the chosen styling solution was a big one, and every contribution made a difference in the ultimate decision. Please don't hesitate to participate in these open discussions—especially if you see something you disagree with.
  • Didn't know about it: That's something we really need to work on! We'll be exploring new ways to engage with our community in the coming months.
  • Regressions - had to go back to v4: If this happens to you, please open an issue regarding the problems you're facing and we'll be happy to guide you.

Have you, or anyone from your team, used any low-code tools for helping with the development of your product?

Yes: 16.1%; No: 83.9%

1542 out of 1589 answered.

We see a lot of potential in low-code tools to reach a much wider audience beyond developers, for better collaboration and faster development. Since our existing users are quite tech-literate people, it shouldn't be surprising that over 80% of you are not using low-code tools. But for the 16% who said yes, we had the following questions.

What did it help you build?

An internal tool: 22.5%; Landing pages: 22.1%; Analytics dashboard: 17.6%; A design system: 15.6%; E-commerce storefront: 8.6%; A simple customer-facing mobile app: 6.6%; Other: 7%

244 out of 1589 answered.

MUI users are mainly working with low-code tools to build internal tools, landing pages, and analytics dashboards. These findings align with what the rest of our users are building as well. But it is great to see that there are low-code tools in the market that developers trust.

If MUI considered building a low-code tool, what primary use-case would match your needs?

Deliver a React design system: 22.2%; Generate high-quality React codebase after visual building: 19.2%; Building dashboards for rapid data visualization: 18.3%; Higher fidelity prototyping and demoing for accurate design handoff: 13.6%; Building internal apps when pro-code is overkill: 11.4%; Shipping landing pages with my existing React design system: 7.3%; Shipping production simple apps before moving to pro-code: 6.2%; Other: 1.8%

1200 out of 1589 answered.

Developers are mostly interested in React design systems, codebase generators, tools for internal needs, data visualization, and prototyping. These needs are both for internal and customer-facing use-cases.

About you

How did you first hear about MUI?

Organic search: 57.8%; Word of mouth: 25.8%; Social media: 8.4%; Blog: 4.4%; Other: 3.5%

1417 out of 1589 answered.

Which of the following best describes your current job role?

Full-stack developer: 52.6%; Front-end developer: 30.5%; Entrepreneur (I do it all!): 7.5%; Beginner learning web development: 2.6%; Engineering Manager: 2.6%; Back-end developer: 1.1%; Designer: 1%; Product Manager: 0.7%; Other: 1.3%

1497 out of 1589 answered.

How many total employees work at your current place of employment?

0-1: 187; 2-10: 358; 11-20: 136; 21-50: 139; 51-100: 97; 100+: 305

1222 out of 1589 answered.

How long have you been developing with JavaScript?

Just getting started: 4.8%; 1 year +: 22.2%; 3 years +: 27.9%; 5 years +: 28.2%; 10 years +: 11.1%; 15 years +: 5.9%

1520 out of 1589 answered.

How long have you been developing with React?

Just getting started: 7%; 6 months +: 11%; 1 year +: 20.6%; 2 years +: 21.2%; 3 years +: 27.1%; 5 years +: 11.5%; Bleeding edge baby! 6 years +: 1.6%

1523 out of 1589 answered.

How long have you been developing with MUI?

Just getting started: 16.6%; 6 months +: 19.4%; 1 year +: 24.4%; 2 years +: 21.2%; 3 years +: 15.6%; I'm a pioneer! 5 years +: 2.8%

1519 out of 1589 answered.

Conclusion

The annual survey is one of the most important resources we have for deciding on our next steps. We appreciate all the time you invested in answering our questions, and we can't stress enough how much we value your input.

In 2021, we released the largest update that MUI has ever seen. We also began investing in complementary products, such as MUI X, our design kits, and premium templates.

Your feedback from this survey helped us to better understand the areas where we need to improve:

  • Documentation: You've asked for more examples, more tutorials, more learning materials, and more comprehensive docs. Most third-party content about Material UI became outdated with the release of v5, so we have much work to do to pick up the slack.
  • Customization: A new styling tool was an important step in the right direction for more customizability. We recognize that there are still many more opportunities to improve the experience of customizing MUI components.
  • Design quality: Design continues to be the main driving aspect that guides a decision towards a given component library. A growing number of developers are moving away from MUI because of Material Design being the only design direction provided out-of-the-box, and that's a huge warning sign for us to explore other roads.
  • Breaking changes: The need for fewer breaking changes does highlight one very positive point: numerous applications depend on MUI as their component library of choice. To continue supporting your products, we'll look for ways to minimize the number of breaking changes in future updates. We'll also continue exploring automation tools to ease the pain of any breaking changes that do come up.
  • Commercial vs. MIT balance: MUI will always be an OSS project first and foremost, but we are getting a lot of positive feedback from our paid products and support services, which tells us that we're heading in the right direction. We are rapidly expanding our team to better address the needs of all of our users, and we look forward to making both our MIT-licensed and commercial offerings even more robust and compelling. If you want to understand more about our view of the MIT/open-source balance, check our Stewardship page.
  • Performance: We're still looking for the most effective ways to optimize performance. TypeScript has potential, and MUI System's speed needs work. This is especially important for mobile experiences. We welcome your suggestions!

If you want to continue to influence our roadmap, you can visit the MUI Core and MUI X repositories, open issues, upvote the ones you're most interested in, or leave your thoughts about anything else you want to be improved. We'd love to hear from you.

Thanks again and until the next survey!

Read more

Here is some additional content related to the topics covered throughout this post:

Lastly, check out the last two iterations on the MUI Developer Survey: