Platform Contributor Guide
[Legacy v3] Platform
[Legacy v3] Platform
  • ๐Ÿ‘‹[Legacy v3] Welcome | README
  • Contributing | Getting Involved
    • Specific tasks needed for COVID19-support
    • Add code to Ushahidi
    • Encouraging contribution from non-developers
  • Frequently Asked Questions
  • Join the Ushahidi community
  • Contributors โœจ
  • ๐Ÿ›ฃ๏ธ The Ushahidi Platform Roadmap
    • V2-V3+ Migration tool
  • Privacy and security best practices
    • Security as a user
    • Security for deployment admins
    • Security for deployment hosts
  • Development & Code
    • Development: Overview
    • How to get the source code
    • Setup Guides
      • Installing for production environments
      • Development environment with XAMPP
      • Development environment setup with Vagrant
      • [Client] Setting up the Platform Client for development
        • Migration from AngularJS
      • Setting up the Pattern Library for development
      • [API & Client] Bundled release install
    • Add code to Ushahidi
    • Development process
    • Coding Standards
    • Track and submit issues in Github
    • Upgrading Ushahidi
      • Upgrading to latest release
      • Upgrading from V3.x.x to V4.x.x
    • โš™๏ธ Installation Helperโ€Œ
  • Tech Stack
    • API Documentation
    • Third party app development
      • Web hooks
    • Database | Tables overview
    • Database | Database Schema Diagram
    • Database | Table details
    • ๐Ÿ“Architecture
    • Use case internals
  • QA & Testing
    • The QA process
    • How to run QA tests
    • Defect Management
    • How to write QA test scripts
    • Hotfixes
  • Front-end development
    • Changing UI styles: introduction to the pattern library
      • File-structure
      • Installing new packages
      • How to Apply to the Platform
      • Using the changed styles in platform-client
      • Syntax and Formatting
      • Grid, Breakpoints, & Media Queries
      • Variables
      • Mixins
      • Helpers
      • Icons
      • Create a New Component from Scratch
      • Read Direction
  • Design
    • ๐ŸŽจDesign: overview
    • 'Best practice' design
    • Ushahidi Platform 'Sticker Sheet'
    • User testing process
    • User testing script examples
    • Synthesising user testing results examples
      • Synthesis example 1
      • Synthesis example 2
      • Synthesis example 3
      • Synthesis recommendations example 1
      • Synthesis recommendations example 2
    • Open Source Design
  • Documentation
    • Documentation
    • Contributing docs via GitHub
  • Translation
    • Localization and Translation
  • The Ushahidi Platform Facebook bot
    • The Facebook bot
      • Installing the bot
      • The bot script
  • Hackathon and events
    • Installathon, May 2019
      • Welcome to the hackathon!
    • Write/Speak/Code 2019
    • Open Design: Bangalore
    • Open Design: Taipei
    • ๐Ÿ“‘Google season of docs
    • ๐Ÿ’ปGoogle Summer of Code
      • GSoC 2024
  • Enhancement Proposals
    • Exchange Format
    • Importing data from previous versions
Powered by GitBook
On this page
  1. Design

'Best practice' design

Guidance on how to design well for Ushahidi.

PreviousDesign: overviewNextUshahidi Platform 'Sticker Sheet'

Best practice design

Ushahidi encourages everyone who wants to contribute to their OSS products regardless of perceived skill level. As an OSS contributor, you should be able to receive feedback and guidance with your contribution in order for your work to be merged into the project regardless if it is code, documentation or design.

We do expect you to be ready to discuss, collaborate and support your design efforts with appropriate user insight and research or good sound design logic.

We expect consideration of several aspects when designing for Ushahidi's products:

1 - Understanding of the Ushahidi product by using and investigating the tool yourself as well as the varied use cases of the tool. You can learn more about varied use cases by visiting our website and . Familiarity with the tool will help you understand how to design with the users in front of your mind. Reviewing the is also very useful.

Ushahidi's products are used in high-stress scenarios. From natural disasters to trauma survivors and human rights activists. Always be aware of the vulnerability of these kinds of users and their safety.

2 - Make appropriate consideration of accessibility needs like colour impairments, sight-impairments, low connectivity/download speeds, older devices that might not run complex systems well, literacy levels, physical impairments etc. Learn more about designing inclusively with accessibility in mind at .

3 - The user comes first and balancing a tech build is important. If the choice between a good user experience that works and is inclusive or what is 'easiset' to build technologically then is it best to not build or take longer to build than build something which at best, doesn't work well or at worst could potentially harm human life.

4 - When the above criteria have been met, design beautiful, engaging, visually pleasing work. Be mindful of design fashion and trends that will not age well.

grassroots section
case studies like Quakemap
Pattern library
A11y