Wind River Studio
Redesigning notifications for faster decision-making and improved focus in high-risk systems
B2B Product Design
Usability testing
Developer Environments




Wind River Studio is a platform that helps engineers manage complex software systems used in critical industries like aerospace and telecom. The notification system alerts users when something needs their attention—like a failed test or important update.
I led a redesign effort to reduce notification overload, improve clarity, and eliminate redundant features ahead of the next product release.
Wind River Studio is a platform that helps engineers manage complex software systems used in critical industries like aerospace and telecom. The notification system alerts users when something needs their attention—like a failed test or important update.
I led a redesign effort to reduce notification overload, improve clarity, and eliminate redundant features ahead of the next product release.
Wind River Studio is a platform that helps engineers manage complex software systems used in critical industries like aerospace and telecom. The notification system alerts users when something needs their attention—like a failed test or important update.
I led a redesign effort to reduce notification overload, improve clarity, and eliminate redundant features ahead of the next product release.
project Background
project Background
project Background
Overview
Overview
Overview
At Wind River Systems, I led the end-to-end research and design of a redesigned internal notification system used by senior engineers working on mission-critical projects.
Impact: Directly shaped Wind River Studio's next release roadmap by eliminating unnecessary complexity, reducing cognitive load, and streamlining how engineers receive critical system alerts.
At Wind River Systems, I led the end-to-end research and design of a redesigned internal notification system used by senior engineers working on mission-critical projects.
Impact: Directly shaped Wind River Studio's next release roadmap by eliminating unnecessary complexity, reducing cognitive load, and streamlining how engineers receive critical system alerts.
At Wind River Systems, I led the end-to-end research and design of a redesigned internal notification system used by senior engineers working on mission-critical projects.
Impact: Directly shaped Wind River Studio's next release roadmap by eliminating unnecessary complexity, reducing cognitive load, and streamlining how engineers receive critical system alerts.
Role
Role
Role
UX Designer
UX Designer
UX Designer
Research
Research
Research
Prototyping
Prototyping
Prototyping
Outcome
Outcome
Redesigned protoype
Redesigned protoype
Redesigned protoype
Dev implementation list
Dev implementation list
Dev implementation list
Team
Team
UX Designer (Myself + 1)
UX Designer (Myself + 1)
UX Designer (Myself + 1)
Director of UX
Director of UX
Director of UX
Type
Type
B2B, internal tools
B2B, internal tools
B2B, internal tools
PROBLEM
PROBLEM
PROBLEM
Notification Overload: When Critical Alerts Get Lost in the Noise
Notification Overload: When Critical Alerts Get Lost in the Noise
Notification Overload: When Critical Alerts Get Lost in the Noise
Engineers struggled with notifications spread across three competing layers:
Popovers: Transient workspace alerts
Notification Panel: Quick-access recent notifications
Notification Center: Complete notification history
As a result, critical alerts were missed while non-urgent ones interrupted workflow.
Engineers struggled with notifications spread across three competing layers:
Popovers: Transient workspace alerts
Notification Panel: Quick-access recent notifications
Notification Center: Complete notification history
As a result, critical alerts were missed while non-urgent ones interrupted workflow.
Engineers struggled with notifications spread across three competing layers:
Popovers: Transient workspace alerts
Notification Panel: Quick-access recent notifications
Notification Center: Complete notification history
As a result, critical alerts were missed while non-urgent ones interrupted workflow.
Popovers
Popovers
Popovers
Popovers are transient workspace alerts and updates sent to developers in Wind River Studio.
Popovers are transient workspace alerts and updates sent to developers in Wind River Studio.
Popovers are transient workspace alerts and updates sent to developers in Wind River Studio.




Notification Panel
Notification Panel
Notification Panel
The notification panel allows WR Studio users to see a list of recent notifications by clicking the bell icon.
The notification panel allows WR Studio users to see a list of recent notifications by clicking the bell icon.
The notification panel allows WR Studio users to see a list of recent notifications by clicking the bell icon.




Notification Center
Notification Center
Notification Center
The Notification Center acts as a long-term notification archive that Wind River Studio users can access if they missed a notification or need to review historical logs.
The Notification Center acts as a long-term notification archive that Wind River Studio users can access if they missed a notification or need to review historical logs.
The Notification Center acts as a long-term notification archive that Wind River Studio users can access if they missed a notification or need to review historical logs.




Challenges
Challenges
Challenges
01
01
01
Users missed critical alerts or were interrupted by non-urgent ones.
Users missed critical alerts or were interrupted by non-urgent ones.
Users missed critical alerts or were interrupted by non-urgent ones.
02
02
02
Redundant messages showed up across layers, creating confusion.
Redundant messages showed up across layers, creating confusion.
Redundant messages showed up across layers, creating confusion.
03
03
03
Maintaining all three layers increased dev time and complexity.
Maintaining all three layers increased dev time and complexity.
Maintaining all three layers increased dev time and complexity.
Research Goals: Validating User Needs vs. System Complexity
Research Goals: Validating User Needs vs. System Complexity
Research Goals: Validating User Needs vs. System Complexity
With a major system update on the horizon, I was tasked with validating whether the Notification Center was worth keeping and how the entire system could be improved for speed, signal clarity, and control.
With a major system update on the horizon, I was tasked with validating whether the Notification Center was worth keeping and how the entire system could be improved for speed, signal clarity, and control.
With a major system update on the horizon, I was tasked with validating whether the Notification Center was worth keeping and how the entire system could be improved for speed, signal clarity, and control.
Three key questions guided my research:
Necessity: Can we eliminate the Notification Center?
Retrieval: When do engineers need dismissed notifications?
Priority: How do engineers distinguish between urgent vs. non-urgent alerts?
Three key questions guided my research:
Necessity: Can we eliminate the Notification Center?
Retrieval: When do engineers need dismissed notifications?
Priority: How do engineers distinguish between urgent vs. non-urgent alerts?
Three key questions guided my research:
Necessity: Can we eliminate the Notification Center?
Retrieval: When do engineers need dismissed notifications?
Priority: How do engineers distinguish between urgent vs. non-urgent alerts?
The notification architecture had become a dual burden:
The notification architecture had become a dual burden:
The notification architecture had become a dual burden:
For users: Decision fatigue when triaging alerts across three separate layers, increasing the risk of overlooking system-critical updates
For development: Significant technical debt and feature duplication that slowed V2 development velocity
For users: Decision fatigue when triaging alerts across three separate layers, increasing the risk of overlooking system-critical updates
For development: Significant technical debt and feature duplication that slowed V2 development velocity
For users: Decision fatigue when triaging alerts across three separate layers, increasing the risk of overlooking system-critical updates
For development: Significant technical debt and feature duplication that slowed V2 development velocity
01
01
01
Notification Center was redundant
Notification Center was redundant
Notification Center was redundant
Most users preferred using the Notification panel and test/pipeline logs
Most users preferred using the Notification panel and test/pipeline logs
Most users preferred using the Notification panel and test/pipeline logs
02
02
02
Panel: Collapsed view preferred over expanded
Panel: Collapsed view preferred over expanded
Panel: Collapsed view preferred over expanded
users wanted scannable alerts with the option to drill down
users wanted scannable alerts with the option to drill down
users wanted scannable alerts with the option to drill down
03
Mixed opinions on Snooze function
Mixed opinions on Snooze function
Snooze function was unclear or disliked: Many wanted a "focus mode" to silence a notification type for the day.
Snooze function was unclear or disliked: Many wanted a "focus mode" to silence a notification type for the day.
Problem Statement
Problem Statement
How might we give engineers more control over how, when, and where they receive alerts, so they stay focused without missing what matters?
methodology
methodology
Research Approach: Getting Inside Engineers' Decision-Making Process
Research Approach: Getting Inside Engineers' Decision-Making Process
To evaluate the effectiveness and usability of the current notification system, I conducted a structured study using:
To evaluate the effectiveness and usability of the current notification system, I conducted a structured study using:
Usability Testing
Usability Testing
I prompted participants to carry out a series of structured tasks that mirrored real-life notification scenarios in a working prototype of Wind River Studio.
Each session was moderated using a think-aloud protocol, encouraging users to verbalize their thought process.
I prompted participants to carry out a series of structured tasks that mirrored real-life notification scenarios in a working prototype of Wind River Studio.
Each session was moderated using a think-aloud protocol, encouraging users to verbalize their thought process.
Participants included Field application engineers, test automation architects, systems architects.
These participants worked on high-risk, high-impact systems. Many were responsible for keeping pipelines, builds, and test environments stable for aerospace, telecom, and industrial-grade products.
Participants included Field application engineers, test automation architects, systems architects.
These participants worked on high-risk, high-impact systems. Many were responsible for keeping pipelines, builds, and test environments stable for aerospace, telecom, and industrial-grade products.
Key Task Themes
Key Task Themes
01
01
Interpret a popover notification and identify what action (if any) should be taken.
Interpret a popover notification and identify what action (if any) should be taken.
02
02
Explore collapse/expand states and determine whether additional context is discoverable.
Explore collapse/expand states and determine whether additional context is discoverable.
03
03
Compare the Notification Panel and Notification Center to determine preferred access patterns.
Compare the Notification Panel and Notification Center to determine preferred access patterns.
04
04
Engage with Settings and Advanced Overrides to adjust delivery preferences.
Engage with Settings and Advanced Overrides to adjust delivery preferences.
Affinity Mapping
Affinity Mapping
Post-testing, I facilitated a synthesis session using affinity mapping with the Director of UX, another designer, and a senior UX researcher. We clustered recurring themes, pain points, and opportunities across all sessions to identify actionable patterns.
Post-testing, I facilitated a synthesis session using affinity mapping with the Director of UX, another designer, and a senior UX researcher. We clustered recurring themes, pain points, and opportunities across all sessions to identify actionable patterns.
research findings
research findings
Findings Overview
Findings Overview
Through usability testing, it was evident that the notification center was redundant for Wind River Studio users. Some other aspects had mixed opinions, but overall, users wanted low distraction and the ability to customize their alerts based on the type of work they were doing.
Through usability testing, it was evident that the notification center was redundant for Wind River Studio users. Some other aspects had mixed opinions, but overall, users wanted low distraction and the ability to customize their alerts based on the type of work they were doing.
01
01
Notification Center was underused and caused confusion
Notification Center was underused and caused confusion
Most users preferred using the Notification panel and test/pipeline logs
Most users preferred using the Notification panel and test/pipeline logs
Most users preferred using the Notification panel and test/pipeline logs
02
02
Panel: Collapsed view preferred over expanded but lacked context
Panel: Collapsed view preferred over expanded but lacked context
Users wanted scannable alerts with the option to drill down
Users wanted scannable alerts with the option to drill down
Users wanted scannable alerts with the option to drill down
03
03
Users wanted control over when, how, and where alerts are delivered
Users wanted control over when, how, and where alerts are delivered
Snooze function was unclear or disliked: Many wanted a "focus mode" to silence a notification type for the day.
Snooze function was unclear or disliked: Many wanted a "focus mode" to silence a notification type for the day.
Snooze function was unclear or disliked: Many wanted a "focus mode" to silence a notification type for the day.
design interventions
design interventions
Strategic Design Solutions: Simplifying Without Sacrificing Control
Strategic Design Solutions: Simplifying Without Sacrificing Control
01
Remove Notification Center
Remove Notification Center
Users preferred the Notification Panel + logs. Notification Center was underused and caused confusion.
Users preferred the Notification Panel + logs. Notification Center was underused and caused confusion.
💬 “I never go there. If I miss something, I check the logs anyway.”
💬 “I never go there. If I miss something, I check the logs anyway.”
Profile
Notifications
Preferences
/
Notification Center
app central
7

Notification Center
/
settings
Sort: Date
Include dismissed
dismiss all
Today
1 min ago
8:58 AM
Test Complete
Windshield_Regression_Test_Lorem_Ipsum_Dolar_Sit_Amet_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
8 hours ago
12:58 AM
Pipeline Abort
Vehicle_ABC_Deployment_23.09_Lorem_Ipsum_Dolar_Sit_Amet_Consectetur_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
open Pipeline results
open results
8 hours ago
12:58 AM
Test Complete
Windshield_Regression_Test_Lorem_Ipsum_Dolar_Sit_Amet_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
Failure at temp.app.route line 127
123
124
125
126
127
128
129
130
temperature = data.get('temperature')
humidity = data.get('humidity')
if temperature is None or humidity is None:
return jsonify({"error": "Missing temperature or humidity data"}), 400
try:
with sqlite3.connect("iot_data.db") as con:
cur = con.cursor()
cur.execute("INSERT INTO data (temperature, humidity) VALUES (?, ?)", (temperature, humidity))
con.commit()
return jsonify({"message": "Data successfully stored"}), 201
except Exception as e:
print(str(e))
return jsonify({"error": "An error occurred while storing data"}), 500
@app.route('/api/data', methods=['GET'])
def get_data():
try:
with sqlite3.connect("iot_data.db") as con:
con.row_factory = sqlite3.Row
cur = con.cursor()
cur.execute("SELECT * FROM data")
rows = cur.fetchall()
data = [dict(row) for row in rows]
return jsonify({"data": data}), 200
except Exception as e:
print(str(e))
return jsonify({"error": "An error occurred while retrieving data"}), 500
open Pipeline results
open results
8 hours ago
12:58 AM
Test Complete
Windshield_Regression_Test_Lorem_Ipsum_Dolar_Sit_Amet_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
open Pipeline results
open results
Yesterday
Yesterday
12:58 AM
Test Complete
Windshield_Regression_Test_Lorem_Ipsum_Dolar_Sit_Amet_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
Yesterday
12:58 AM
Test Complete
Windshield_Regression_Test_Lorem_Ipsum_Dolar_Sit_Amet_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
Yesterday
12:58 AM
Test Complete
Windshield_Regression_Test_Lorem_Ipsum_Dolar_Sit_Amet_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
Yesterday
12:58 AM
Test Complete
Windshield_Regression_Test_Lorem_Ipsum_Dolar_Sit_Amet_2022-12-14 T21:09
Notification message Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget risus vitae massa semper aliquam quis mattis quam.
Logs deemed unnecessary
Participants stated that test logs, test and pipeline logs could be retrieved from their code environment





02
Refine Collapsed View
Refine Collapsed View
The collapsed view lacked actionable context, and users disliked needing to expand every notification just to triage.
The collapsed view lacked actionable context, and users disliked needing to expand every notification just to triage.




💬 “I prefer the collapsed view. It's easier to see at a glance if anything needs my attention.”
💬 “I prefer the collapsed view. It's easier to see at a glance if anything needs my attention.”
03
Add advanced notification settings with delivery methods and overrides
Add advanced notification settings with delivery methods and overrides
Users wanted to control when, how, and where they receive alerts.
Users wanted to control when, how, and where they receive alerts.








💬 “I’m not going to want to get all the notifications from all the pipelines on my team. That’s noisy.”
💬 “Once it’s running, if it fails, I want an SMS right away. I can restart it sooner.”
💬 “I’m not going to want to get all the notifications from all the pipelines on my team. That’s noisy.”
💬 “Once it’s running, if it fails, I want an SMS right away. I can restart it sooner.”
04
Enhance visual prioritization
Enhance visual prioritization
Visual cues for severity were too subtle. The thin red bar didn’t communicate urgency well.
Visual cues for severity were too subtle. The thin red bar didn’t communicate urgency well.




💬 “I almost missed that this was critical — the red line’s too easy to ignore.”
💬 “I almost missed that this was critical — the red line’s too easy to ignore.”
Reflection and personal growth
Reflection and personal growth
Leadership and Ownership
Leadership and Ownership
This project allowed me to take ownership from research through to actionable change. I navigated time constraints by:
Recruiting quickly across internal teams
Running tests efficiently over 2 weeks
Synthesizing data fast enough to support decision-making in real-time
This project allowed me to take ownership from research through to actionable change. I navigated time constraints by:
Recruiting quickly across internal teams
Running tests efficiently over 2 weeks
Synthesizing data fast enough to support decision-making in real-time
Skills Demonstrated
Skills Demonstrated
UX Research Strategy & Facilitation
Cross-functional Collaboration
Internal Tool Design (B2B)
Notification System Design
Rapid Synthesis & Prioritization
UX Research Strategy & Facilitation
Cross-functional Collaboration
Internal Tool Design (B2B)
Notification System Design
Rapid Synthesis & Prioritization
Takeaways
Takeaways
This project taught me how to balance deep research insights with the realities of technical implementation in a fast-moving B2B environment.
This project taught me how to balance deep research insights with the realities of technical implementation in a fast-moving B2B environment.
CONCLUSION
CONCLUSION
Impact
Impact
01
Development streamlined
Development streamlined
Scrapping Notification Center reduced scope and saved time
Scrapping Notification Center reduced scope and saved time
02
Settings panel redesigned
Settings panel redesigned
Added severity levels, delivery method controls, and override options
Added severity levels, delivery method controls, and override options
03
Implementation
Implementation
Implementation started within weeks: Findings directly informed dev priorities
Implementation started within weeks: Findings directly informed dev priorities
Reflection and personal growth
Leadership and Ownership
This project allowed me to take ownership from research through to actionable change. I navigated time constraints by:
Recruiting quickly across internal teams
Running tests efficiently over 2 weeks
Synthesizing data fast enough to support decision-making in real-time
Skills Demonstrated
UX Research Strategy & Facilitation
Cross-functional Collaboration
Internal Tool Design (B2B)
Notification System Design
Rapid Synthesis & Prioritization
Takeaways
This project taught me how to balance deep research insights with the realities of technical implementation in a fast-moving B2B environment.