Five Best Practices for Developing a Graphical User Interface (GUI)

by | Sep 23, 2020

The graphical user interface (GUI) is, arguably, the most important part of a smart product. It can enable success or ensure failure for the user’s experience. Whether the user is a doctor, consumer, or engineer, the visual way we interact with our products must instill confidence. GUI design applies to many things, including websites, software applications, and displays on embedded devices. Now, with the rise of IoT and smart products, all of these classically separate aspects must often work together in a single product - highlighting the importance of an interdisciplinary team that knows both SW and HW.

219 Design has over 15 years of experience with software, electrical, and mechanical engineering in addition to UI/UX design. They have a wide range of design and development experience, including:

  • Designing, architecting, and implementing production GUI software.
  • Incorporating system inputs like microphones, cameras, accelerometers, biometrics, accelerometers, IMU’s, light detection sensors, magnetic sensors, capacitive sensors, load cells, strain gauges, buttons, switches, etc.
  • Incorporating system outputs like actuators (motor, solenoid), displays, LEDs, and haptic feedback.
  • Simulators: develop hardware simulators to develop GUIs against.
  • Testing: develop and administer A/B tests to determine the most effective interface.

Here is a summation of 219 Design’s 5 Best Practices to ensure success when developing a GUI.

  1. Work Together Across Disciplines - 219 takes a holistic approach when designing and developing a product. Working across disciplines allows each discipline to see the bigger picture and gain a better understanding of how their portion plays a part in the whole. Software, Mechanical, and Electrical engineers collaborate, communicate, and iterate in concert to deliver a solid product that takes the entire user experience into account.

  2. Understand the Whole User Experience - It’s important to understand and delve into the entire user experience when beginning a project. Understanding how a product will best work for a user takes observation, interviews, and testing. Having this in-depth knowledge provides more efficiency in development by working on the most crucial features first, as well as, better business making decisions when understanding the strategic tradeoffs between quality of experience vs cost and timeline. Develop the User Experience Path and then build around it.

  3. Leverage Hardware Simulation - Hardware and software both require iterative development, but the rate and costs of their developments are quite different. Hardware’s physical nature means it’s generally more expensive with the slower turn around times. When software must interface with the hardware, this can lead to the software development cycle being dependent upon the hardware - wasting even more time and money. To work around this 219 Design encourages the development of a simulator as a stand-in. It can mimic anything the hardware can do, including things like bugs, and allows the software to be developed in isolation. Overall, simulators will save time, lower costs, and help fix bugs faster.

  4. Isolate Presentation Logic - To further improve the development experience, it’s important to properly separate the visual representation from the business logic of your product. With the proper boundary between the two, the functional aspects can be worked on independently from the user interface and user experience, so that each can be updated, improved upon, and tested independently.

  5. Make Your Data Work - At the heart of most any smart product is data. When it comes to data, 219 Design says software runs on the same basic principle: “Take data from here and put it there”. Creating the infrastructure around this for your use case is the true challenge when it comes to design. Additionally, data comes down to two complementary concerns: display and storage. Some data is only important to the user and what they need to do at the time while other data is only important for the ‘under the hood’ operations and making sure everything is running smoothly. Understanding what data belongs where and when leads to overall better user experience and an overall better product.
Continue to original Article >

Ioterra – Where you go for IoT Development

Find the right solutions and services for your needs from the most comprehensive marketplace for IoT projects.