Short answer
Design a 'Design System' for functionality, not just visuals; ensure that the logic of how a user interacts with 'Feature A' is identical to 'Feature B' even if their purposes differ.
- Field
- User-Centred Design
- Source
- The Journal of Open Source Software (2019)
- Method
- Software architecture analysis and case study
- Evidence
- Strong effect
A shared underlying philosophy and syntax allow users to transfer mental models between different functional modules without relearning core interaction patterns. This user-centred design research insight is drawn from a 2019 study published in The Journal of Open Source Software. Using Software architecture analysis and case study, researchers explored how this design variable affects real-world outcomes. The key design takeaway: Design a 'Design System' for functionality, not just visuals; ensure that the logic of how a user interacts with 'Feature A' is identical to 'Feature B' even if their purposes differ.
Consistent API grammar across toolsets accelerates user proficiency and reduces cognitive friction
A shared underlying philosophy and syntax allow users to transfer mental models between different functional modules without relearning core interaction patterns.
The Journal of Open Source Software · 2019
Key Findings
- 01Uniform data structures (tidy data) eliminate the need for 'reformatting' steps between different tasks
- 02Functional programming patterns reduce side effects and make system behavior more predictable for users
- 03Human-centered naming (verbs for functions) improves code readability and discoverability
Application
Design takeaway
Design a 'Design System' for functionality, not just visuals; ensure that the logic of how a user interacts with 'Feature A' is identical to 'Feature B' even if their purposes differ.
How to apply
In a complex SaaS platform, ensure that 'Filter', 'Sort', and 'Export' actions use the same iconography, placement, and interaction logic across every module (e.g., CRM, Billing, and Analytics).
Project actions
- 01Create a 'dictionary' of actions for your app to ensure you don't use different words for the same thing
- 02Map out how data flows from one screen to another to ensure no 'translation' is needed by the user
- 03Focus on making your interface 'composable'—can the user combine features to create their own workflow?
Method & Evidence
Strengths & Limitations
Limitations
A system that is too rigid might be hard for beginners to enter if the initial 'grammar' is complex.
Think critically
Is it better to have a tool that is perfectly optimized for one specific task, or a tool that is slightly less efficient but works exactly like every other tool the user knows?
Design Principles
"Consistency in functional grammar enables skill transferability."
When software ecosystems share a 'grammar' (verbs and nouns), users spend less cognitive energy on syntax and more on problem-solving. This creates a 'pit of success' where the most intuitive path is also the most technically correct one.
What This Means for Your Design
If you make all the tools in a toolbox work the same way, people can learn one tool and immediately understand how to use the rest.
How to use in your project
- 1.Reference this when justifying the use of a consistent Design System
- 2.Use it to explain why you chose specific naming conventions for navigation items
Add to My Project
Quick Cite
Paragraph starter
According to Wickham et al. (2019), a shared underlying philosophy and consistent functional grammar across a suite of tools significantly reduces the learning curve by allowing for the transfer of mental models.
Source
Questions About This Research
- What does the research say about consistent api grammar across toolsets accelerates user proficiency and reduces cognitive friction?
- Design a 'Design System' for functionality, not just visuals; ensure that the logic of how a user interacts with 'Feature A' is identical to 'Feature B' even if their purposes differ. Evidence: The Journal of Open Source Software (2019).
- Why does "Consistent API grammar across toolsets accelerates user proficiency and reduces cognitive friction" matter for design?
- When software ecosystems share a 'grammar' (verbs and nouns), users spend less cognitive energy on syntax and more on problem-solving. This creates a 'pit of success' where the most intuitive path is also the most technically correct one.
- How can designers apply this research?
- Design a 'Design System' for functionality, not just visuals; ensure that the logic of how a user interacts with 'Feature A' is identical to 'Feature B' even if their purposes differ.
- What were the main findings?
- Uniform data structures (tidy data) eliminate the need for 'reformatting' steps between different tasks. Functional programming patterns reduce side effects and make system behavior more predictable for users. Human-centered naming (verbs for functions) improves code readability and discoverability
- What research method was used?
- Software architecture analysis and case study.
- How strong is the evidence?
- Evidence strength is rated Strong effect, based on a 2019 journal from The Journal of Open Source Software.
- What should I do differently in my next project?
- In a complex SaaS platform, ensure that 'Filter', 'Sort', and 'Export' actions use the same iconography, placement, and interaction logic across every module (e.g., CRM, Billing, and Analytics).
- What are the limitations?
- Strict adherence to a single philosophy can sometimes lead to performance overhead or make it difficult to integrate with legacy systems that do not follow the same rules.