Flutter Dev Sticking to MD2, My MD3 UI is Stuck: How to Fix?

Erik ChenErik Chen
8 min read

My UI is MD3, new dev wants MD2. Seriously? Why though & what's the fix? Help!

Key Points

  • It seems likely the developer prefers Material Design 2 due to API stability concerns and familiarity, though this is debated among developers.

  • Research suggests sticking with Material Design 3 may save redesign effort, but team alignment is key.

  • The evidence leans toward discussing with the developer to find a balanced solution, considering project needs.

Why the Developer Might Prefer Material Design 2

Your developer might prefer Material Design 2 over Material Design 3 for several reasons, including concerns about the stability of Material Design 3's APIs, which were marked as experimental during early adoption, potentially leading to future changes. They might also be more familiar with Material Design 2, reducing the learning curve, especially under tight deadlines. Additionally, if the project needs to support older Android versions, Material Design 2 could be more compatible. Some developers might also prefer its aesthetic, like flatter designs, though this is subjective.

What You Should Do

Since you've already designed with Material Design 3, consider discussing with the developer to understand their specific concerns, such as API risks or familiarity. Assess if the project needs Material Design 3's features, like dynamic theming, and evaluate the effort to switch. Involve the team to decide collectively, ensuring alignment with project goals. If needed, explore official resources, like Android Developers, for guidance on choosing between the systems.


Survey Note: Detailed Analysis on Material Design Preferences and Decision-Making

This note provides a comprehensive analysis of why a developer might prefer Material Design 2 over Material Design 3, and offers detailed guidance on how to address the situation, given that you have already designed the UI based on Material Design 3. The analysis is informed by recent research and industry discussions, with a focus on practical implications for your project as of May 14, 2025.

Background on Material Design Systems

Material Design is Google's design language for creating consistent and intuitive user interfaces across platforms. Material Design 2, introduced with Android Pie in 2018, emphasized customization, white space, rounded corners, and branding adaptability. Material Design 3, also known as Material You, was announced in May 2021 with Android 12, focusing on modern features like increased animation, larger buttons, and dynamic theming based on the user's wallpaper. As of 2025, Material Design 3 is the latest iteration, but Material Design 2 remains relevant for legacy support and developer preferences.

Reasons for Preferring Material Design 2 Over Material Design 3

Based on recent analyses, several factors might explain why your new developer insists on using Material Design 2:

  1. API Stability Concerns:

    • Material Design 3 introduced new APIs and components, but during its early adoption, many were marked with @ExperimentalM3Api annotations, indicating they were still experimental. This suggests a higher risk of future deprecations or changes, which could require significant rework. For instance, a 2023 article on Medium, "Material design 2 vs 3 - an assessment apparatus" (Material Design 2 vs 3 Assessment), highlighted developer concerns about the lack of significant visual differences justifying the extra work, given the unstable APIs.
  2. Risk from Unstable APIs:

    • Migrating to Material Design 3 involves risks due to its evolving nature. The same article introduced an evaluation equation, M3R (Risk from Migrating to M3 with unstable APIs), suggesting that developers might prefer Material Design 2 to avoid these risks, especially for projects with tight timelines or limited resources.
  3. Cost-Benefit Analysis:

    • Staying with Material Design 2 might incur less immediate cost in terms of technical debt (M2TD) and knowledge debt (M2KD) compared to the immediate cost (M3IC) and risk (M3R) of migrating to Material Design 3. The equation M2TD + M2KD < M3IC + M3R was considered, depending on company-specific weightings, as noted in the assessment apparatus. This makes Material Design 2 appealing for projects aiming to minimize short-term development costs.
  4. Familiarity and Experience:

    • Developers with experience in Material Design 2 might prefer it due to familiarity, reducing the learning curve. This is particularly relevant if the developer has worked on projects using older Android versions or legacy systems, where Material Design 2 is more established. A 2022 Reddit discussion, "Should my app use Material Design 2 or 3?" (Reddit Android Dev Discussion), noted some developers found Material Design 2's corner styles easier to work with, suggesting a preference for known workflows.
  5. Project-Specific Requirements:

    • If the project needs to support older Android versions (e.g., below Android 12), Material Design 2 might be more compatible. The official Android Developers page, "Design systems in Compose" (Android Developers Design Systems), mentions migration guides from Material Design 2 to 3, implying that Material Design 2 is still relevant for legacy support as of 2025.
  6. Design Preferences:

    • Some developers or designers might prefer the aesthetic of Material Design 2, which emphasizes white space, rounded corners, and a more minimalist look, as noted in "Material Design 1 vs Material Design 2" (Material Design Comparison). This contrasts with Material Design 3's focus on dynamic theming and larger buttons, which might not align with all design visions.

Table: Comparison of Material Design 2 and Material Design 3 Features

FeatureMaterial Design 2Material Design 3 (Material You)
Release Year2018 (with Android Pie)2021 (with Android 12)
API StabilityMore stable, fewer experimental annotationsSome APIs marked experimental, higher risk of change
Key FocusCustomization, white space, rounded cornersDynamic theming, increased animation, larger buttons
CompatibilityBetter for older Android versions (pre-Android 12)Optimized for Android 12 and above
Learning CurveLower for developers familiar with older systemsHigher, requires learning new components
AestheticMinimalist, flatter designsModern, dynamic, wallpaper-based theming

What You Should Do: A Step-by-Step Approach

Given that you have already designed the UI based on Material Design 3, but the developer prefers Material Design 2, here’s a detailed plan to address the situation:

  1. Understand the Developer's Perspective:

    • Initiate a discussion with the developer to clarify their reasons for preferring Material Design 2. Ask about specific concerns, such as API stability, familiarity, or project compatibility. This empathetic approach can help identify whether their preference is technical, practical, or aesthetic.
  2. Assess Project Requirements:

    • Evaluate whether the project needs the features of Material Design 3, such as dynamic theming or modern animations. If these are not critical, Material Design 2 might suffice. Conversely, if the project aims to align with the latest Google design trends or leverage Android 12+ features, Material Design 3 is likely more appropriate.
  3. Evaluate the Cost of Switching:

    • Consider the effort required to redesign the UI from Material Design 3 to Material Design 2 (or vice versa). Since you've already invested time in Material Design 3, switching might not be efficient unless there are compelling reasons, such as significant compatibility issues. The cost-benefit analysis from the assessment apparatus suggests that staying with Material Design 3 could save redesign effort, but this depends on the project's timeline and resources.
  4. Check for Compatibility:

    • Ensure the chosen design system aligns with the target platforms and Android versions. If the app needs to support older systems, Material Design 2 might be necessary. The Android Developers page (Android Developers Design Systems) provides migration guides that can help assess compatibility.
  5. Consider a Team Discussion:

    • Involve the entire team, including designers and other developers, in the decision-making process. Discuss the pros and cons of each design system, using the table above as a reference. A collective decision can help avoid conflicts and ensure alignment with project goals. For example, if the team agrees that dynamic theming is a priority, Material Design 3 might be favored despite the developer's concerns.
  6. Explore a Hybrid Approach:

    • If feasible, consider whether you can use elements from both design systems. For instance, you might retain some Material Design 3 features (like larger buttons) while implementing the core UI with Material Design 2 components. However, ensure this doesn't compromise consistency or usability, as mixing systems can lead to a fragmented user experience.
  7. Leverage Official Resources:

    • Consult official documentation for guidance. The Android Developers website (Android Developers Design Systems) offers resources on migrating from Material Design 2 to 3, which can clarify the differences and trade-offs. Additionally, the official Material Design website (Material Design) provides guidelines for both systems, which can help in decision-making.
  8. Make a Decision Based on Project Needs:

    • Ultimately, choose the design system that best aligns with the project's requirements, timeline, and team expertise. If the developer's concerns are valid (e.g., stability or compatibility), it might be worth adjusting your design to Material Design 2. However, if the project benefits significantly from Material Design 3's features, advocate for it while addressing the developer's concerns, perhaps by allocating time for training or phased migration.

Additional Considerations

  • Migration Strategy: The assessment apparatus mentioned an option to migrate to Jetpack Compose first and then to Material Design 3 later, reducing developer risk by using stable APIs in the future. This could be a middle ground if the team is open to a phased approach, though it might incur more tech debt and knowledge debt initially, potentially increasing designer frustration.

  • Community Insights: Discussions on platforms like Reddit (Reddit Android Dev Discussion) show a divide among developers, with some preferring Material Design 2 for its simplicity and others advocating for Material Design 3's modernity. This controversy highlights the importance of aligning with your project's specific needs.

Conclusion

The decision between Material Design 2 and 3 should balance technical, practical, and aesthetic factors, with a focus on project goals and team alignment. By understanding the developer's perspective, assessing requirements, and leveraging official resources, you can find a solution that minimizes risks and maximizes efficiency. As of May 14, 2025, Material Design 3 is the latest standard, but Material Design 2 remains a viable option for legacy support and developer comfort.

Key Citations

0
Subscribe to my newsletter

Read articles from Erik Chen directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Erik Chen
Erik Chen