A tier-1 US-based multinational company specializing in semiconductor and IC manufacturing
Creating and testing a Finite State Machine (FSM), especially one that is complex, having infinite possibilities, can obviously be a daunting task. And the end-users of our customers were no different. A lot of assistance from the Application teams was required in defining and programming the FSM.
But, of course, the pain point here was two-way. The Application engineering teams too had to spend a lot of time working with individual end-users to understand their needs, manually write the assembly program, handwrite the code, test the chip (here, a scalable PMIC chip that would program this FSM) and send it out to them.
Painstaking it was, but this entire process flow sliced away one major factor: Time. Not only did end-users face a long lead time in the ‘create-test-repeat’ process but the entire process also consumed a sizeable amount of time, ranging somewhere between 3- 6 months, or even longer before the product could go live!
The goal here was quite simple: “make the end-user independent” with a simple evaluation and integration process and thereby reduce the dependency on the Application Engineering teams.
What we did
An end customer-focused GUI was what we needed- an Intuitive, Easy-to-Use, One Point GUI solution. One that could relieve these pain points yet be customized for the various needs of all types of end-users.
So, we collaborated with the customer analyzing various workflows and complexity to understand the end-user perspective (after all, the GUI was meant for them!) and devised a workflow. With an iterative design thinking approach, the team of UX designers and developers came up with low-fidelity mock-ups, followed by iterative prototyping to high-fidelity mock-ups.
Spanning over a period of nearly 2 years of continuous iterative prototyping, A/B testing, development, and feedback from selective groups; incremental releases were executed, which were then tested in the field, finally leading to today’s PMIC GUIs.
Some of the key elements that were centered upon were
- Customer-centered user flow- Simple and organized through a one-configuration at a time approach.
- Handling complex things visually– Handle complex FSM programming through a Graphical First approach
- Allow users to save their work – Provide options to save the progress (to share & collaborate)
- Educate and Evaluate inside GUI- Provide information about the device and encourage users to evaluate ICs on the go inside the GUIS itself
- User-guided workflow- end-users could navigate step-by-step through the preset values and templates.
- Robust testing- the GUI could define the initial product configuration and provide pre-built sample programs, resulting in more robust testing.
- Graphical explanation- the right head-start could be given on development and configurability, ensuring a faster process for the user.
- Starter templates- users could now easily create their own custom FSM solutions based on their individual use cases with starter templates and a graphical workflow.
- Access across all OS platforms- thanks to the use of Web Technologies, instant access to GUI was also made possible through the Web Browser which eliminated the requirement of any prior installation.
With inbuilt templates to start with and a graphical-based workflow, customers needn’t have to depend on the App Engineer or any long document to create their programs. Now, all that he/she had to do was just click it ON, start modifying and create a solution!
While an Intuitive GUI was the solution, designing it for an FSM with infinite possibilities, was a great challenge. These possibilities along with the latency in programming due to a large number of registers posed integral issues. However, with a user-guided flow carefully tuned for different use cases through user feedback, and bulk read and write algorithm, these issues could be redressed effectively.
With independent customers and greater bandwidth, Apps Engineers could now cater to a larger spectrum of customers. The PMIC GUIs had surely resulted in an efficient win-win solution for both!