Jack Alford (UX)  |  Jun An (UI)  |  Michael Davis (FED)  |  Iftekharul Islam (FED)  |  Stefanie Owens (Research/UX)  |  Karl Vochatzer (Lead) 


OpenBMC is an initiative being led by IBM to create the first ever open-source codebase for baseboard management controllers. 




11 months

Project Objective

OpenBMC is a project originally born out of a 4-day hackathon at Facebook, where a number of developers created an open method for controlling switches on their hardware in the Facebook data center.  As the project entered the open-source community, IBM took interest in the idea and is now collaborating with other tech industry thought leaders to bring OpenBMC to life in the enterprise world via the OpenPOWER Foundation. 

OpenBMC is a basic Linux distribution for controlling embedded baseboard management controllers (BMCs) using a variety of open-source technologies.  Baseboard management controllers themselves are a type of service processor that monitor a physical piece of hardware (server, computer, etc.) using various sensors, and communicate different status back to the system administrator.  You can view the details of the OpenBMC project on Github. 

A system administrator will communicate with the BMC in order to gather information about their hardware via: 

  • Command line interfaces (CLI)

  • Graphical user interfaces (GUI)

  • Aggregator tooling (like xCAT, Nagios, Zenoss, etc.)

  • Custom cluster management software

My team and I were responsible for building out the OpenBMC graphical user interface.  

Action Shots 1.jpg

Design Workshop

We started with an IBM design workshop in order to first understand the scope of work we would each undertake, as well as gain alignment on priority, as seen above.  The workshop involved stakeholders across engineering, offering management and design disciplines in IBM in order to cover the breadth of perspectives needed for OpenBMC.  As a design team, we came to the workshop prepared with a competitive analysis of other BMC interfaces, as well as a market segmentation mapping with results from generative user research that identified the biggest pain points and use cases for a BMC via a GUI.  That research was originally consolidated with affinity diagramming (small excerpts seen below).  


Feature Prioritization

We also employed a prioritization survey where users had to pick which features of BMCs they think are the most critical to their everyday use.  This research affected how the extended team scoped the initial release of the OpenBMC GUI, knowing what features we should put first, while what features could be added after the launch date.  Blue indicates responses indicating the feature was most important, while red indicates responses saying the feature was least important. 

Information Architecture 

As a first step in the UX design, I created the following information architecture (IA) for the OpenBMC GUI using a variety of means.  After collaborating with the engineering team to figure out what features would be in the first release of OpenBMC, I conducted card sort tests with various Sponsor Users to learn how our target system administrator user would organize the content themselves.  I also conducted a tree test of the current information architecture on the Power8 line of servers that uses an alternate structure and menu hierarchy; the tree test helped to identify where people currently got confused when trying to navigate through their own BMC GUIs. 

A screenshot from the Optimal Workshop backend, you can see the results for one tree test task above.  The user was asked to perform a basic function of the BMC via the GUi, however many struggled to find where to actually complete this task in the current Power8 information architecture.  

The information architecture above for the first release of OpenBMC was determined by card sort and tree test data collected from user research, and can be enlarged by clicking. 

openBMC research timeline.001.jpeg

Overall, here is a glimpse of many of the research activities that have gone into formulating OpenBMC. At each stage of the project, I crafted the research plans and proposals as well as conducted the research with a wide variety of end users. In addition to my role in research, I also played a heavier role in the actual user experience design of the final OpenBMC GUI. 

A more thorough review of the design materials created throughout our OpenBMC design process can be discussed in a one-on-one presentation.