Designing
Science and CAD tools

Three out of many...
for a Physics Simulation Web App

Designing
Science and CAD tools


Three out of many...

Designing
Science and CAD tools

Three out of many...
for a Physics Simulation Web App

3DOptix is a physics simulation web app in the field of optics and light. Its made for physics professionals, optical designers, students, and anyone that's into cool optics experiments.

I had the pleasure to work at 3DOptix as the sole and first inhouse designer, and I designed dozens of unique tools and features for the program. This is a small selection of the most interesting ones.

The Measure Tool

Problem: Users had no way to measure anything in their optical setups!

Optical designers building their optical setups in 3DOptix needed a tool for measuring distances and dimensions in their designs. I was tasked with conceptualizing and designing a tool for that.

What will the Measure Tool do?

Measure, record and clearly organize measurements of all distances, angles and dimensions of an optical design and ensure the perfect alignment of the light paths in the setup in order to create an optimal image quality outcome. (For example in telescope designs, microscope designs, camera objective designs etc…)

3D Optix with the Measure Tool

The Polarization Analyzer

Problem: Users had no way to measure and analyzepolarization in their optical setups

In order to understand the behaviour of the light in an optical setup, optical designers need to measure and analyze polarization. I conceptualized and designed a tool for that.

What does the Polarization Analyzer do?

Enables users to precisely analyze and capture the polarization state of any point along a simulated light beam (Necessary for optimizing optical designs and ensuring accurate polarization control in order to enhancing the performance of complex optical systems.)

The Polarization Analyzer in action

The Advanced Screen Source

Problem: Users need more sophisticated light sources than the current simple lasers

Previously, 3DOptix only had a simple system of lasers as sources of light for optical designers to use in their setups, and no screen objects. I was tasked to design the UX UI for a system that can be used to create any custom light source or screen an optical designer can think of.

What does the Advanced Screen Source do?

Enables users to simulate a lightsource using a screen where every pixel can to be fine-tuned to emit light at a different wavelength, intensity and other attributes, thus enabling the creation of any type of exotic light source imaginable.

Configuring an Advanced Screen Source

3DOptix and Me

3DOptix and Me

The 3DOptix Software

  • The only cloud based 3D optics and laser simulation software in the world

  • Contains catalog with thousands of CAD objects that mirror real world optical and optomechanical products

  • Allows scientists and engineers to create and simulate realistic 3D setups of their designs, visualize and refine their work before moving into physical production

  • The only cloud based 3D optics and laser simulation software in the world

  • Contains catalog with thousands of CAD objects that mirror real world optical and optomechanical products

  • Allows scientists and engineers to create and simulate realistic 3D setups of their designs, visualize and refine their work before moving into physical production

3DOptix Users

  • Optical engineers

  • Physicists

  • Research scientists and labs

  • Academics, students, labs and educators

  • Optical engineers

  • Physicists

  • Research scientists and labs

  • Academics, students, labs and educators

My Role and Process at 3DOptix

  • Collaborate closely with stakeholders (physicists and scientists that were also the CEO and founders at 3DOptix) to clarify feature requirements

  • Getting very good support from a great team, that was always willing and able to answer my many questions

  • Perform research and heuristic evaluations

  • Propose solutions, create detailed user flows and prototypes and iterate on designs through discussions and revisions

  • Presenting the designs to stakeholders and developers, physicists and other subject matter experts

  • Deliver interactive Figma prototypes, assets and flow charts to development

  • Do usability testing and UX reviews on prototypes and dev versions

  • Collaborate closely with stakeholders (physicists and scientists that were also the CEO and founders at 3DOptix) to clarify feature requirements

  • Getting very good support from a great team, that was always willing and able to answer my many questions

  • Perform research and heuristic evaluations

  • Propose solutions, create detailed user flows and prototypes and iterate on designs through discussions and revisions

  • Presenting the designs to stakeholders and developers, physicists and other subject matter experts

  • Deliver interactive Figma prototypes, assets and flow charts to development

  • Do usability testing and UX reviews on prototypes and dev versions

Duration: 5 Weeks

Duration: 5 Weeks

Measure Tool

Measure Tool

Measure Tool

Objective: Optical engineers need to ensure that the light paths in their setups are correctly aligned to achieve optimal image quality.


Problem: Misalignment of optical components can cause image distortion or loss of light, affecting the setup's performance.


Solution: Provide users of the 3DOptix platform with a flexible way to measure and record all distances, angles and dimensions of their designs.

Objective: Optical engineers need to ensure that the light paths in their setups are correctly aligned to achieve optimal image quality.


Problem: Misalignment of optical components can cause image distortion or loss of light, affecting the setup's performance.


Solution: Provide users of the 3DOptix platform with a flexible way to measure and record all distances, angles and dimensions of their designs.

Discovery, Definition and Prototype Design

In order to discover the requirements for this tool I interviewed the physicists and engineers at 3DOptix. Many were revealed through an iterative process of designing mock ups and user flows.

In order to discover the requirements for this tool I interviewed the physicists and engineers at 3DOptix. Many were revealed through an iterative process of designing mock ups and user flows.

Some of the design iterations

Some of the design iterations

Challenges and Solutions

Challenge:

  • Create a way to accurately measure distances and angles between optical elements in a setup, including sub-objects like faces, edges and vertices

  • Create a way to accurately measure distances and angles between optical elements in a setup, including sub-objects like faces, edges and vertices

Solution:

  • Contextual Measure Tool selection modes with mode specific markers and display of selection points according to mouse cursor location. The mode "Distances" is for measuring distances and angles. Any selected entity in this mode will display a distance marker with 3D coordinates. Any two selected entities will have the distances between them displayed, and any three will also have the angles between them displayed.

  • Angles are displayed with the vertex of the angle as the middle marker in the Measure Tool window

  • Contextual Measure Tool selection modes with mode specific markers and display of selection points according to mouse cursor location. The mode "Distances" is for measuring distances and angles. Any selected entity in this mode will display a distance marker with 3D coordinates. Any two selected entities will have the distances between them displayed, and any three will also have the angles between them displayed.

  • Angles are displayed with the vertex of the angle as the middle marker in the Measure Tool window

Challenge:

  • Create a way to accurately measure the dimensions (area, length, radius, diameter) of optical elements in a setup, including sub-objects like faces and edges

  • Create a way to accurately measure the dimensions (area, length, radius, diameter) of optical elements in a setup, including sub-objects like faces and edges

Solution:

  • Contextual Measure Tool selection modes with mode specific markers and display of selection points according to mouse cursor location. The mode "Dimensions" is for measuring areas, radii, lengths and diameters. The measurements displayed for the selected entities will be context dependent (area for surfaces, radii or diameters for circles, lengths for edges)

  • Contextual Measure Tool selection modes with mode specific markers and display of selection points according to mouse cursor location. The mode "Dimensions" is for measuring areas, radii, lengths and diameters. The measurements displayed for the selected entities will be context dependent (area for surfaces, radii or diameters for circles, lengths for edges)

Challenge:

  • Create a way to accurately measure the angles between surface normals (average direction of a flat surface)

  • Create a way to accurately measure the angles between surface normals (average direction of a flat surface)

Solution:

  • Automatically display the angle measurement between any two selected object faces (surfaces) in Dimensions mode.

  • Automatically display the angle measurement between any two selected object faces (surfaces) in Dimensions mode.

Challenge:

  • Enable users to group and save measurements as flexibly as possible.

  • Enable users to group and save measurements as flexibly as possible.

Solution:

  • Layers interface with options to create new layers, target layers, change layer visibility, rearrange layers order and measurements order on a layer, open and collapse layers, rename layers and detach and reattach them to the main tool window.

  • Layers interface with options to create new layers, target layers, change layer visibility, rearrange layers order and measurements order on a layer, open and collapse layers, rename layers and detach and reattach them to the main tool window.

Challenge:

  • Enable users to select free end points (create markers) for measurements that exist along the length of edges and along the surface of faces of objects.

  • Enable users to select free end points (create markers) for measurements that exist along the length of edges and along the surface of faces of objects.

Solution:

  • In Distances mode, hovering on object faces and edges will highlight them and constrain the cursor to the face or the edge and thus enable creating measure markers that lay on them precisely.

  • In Distances mode, hovering on object faces and edges will highlight them and constrain the cursor to the face or the edge and thus enable creating measure markers that lay on them precisely.

Challenge:

  • Sometimes the interface can get crowded with too many measure markers so they cover each other and it becomes hard to understand which markers belong to which measures

  • Sometimes the interface can get crowded with too many measure markers so they cover each other and it becomes hard to understand which markers belong to which measures

Solution:

  • Move markers independently from their associated objects with Ctr + LMB

  • Change active marker colors and their associated measurements

  • Move markers independently from their associated objects with Ctr + LMB

  • Change active marker colors and their associated measurements

Challenge:

  • Enable users to move measure markers to exact coordinates in 3D space

  • Enable users to move measure markers to exact coordinates in 3D space

Solution:

  • Type marker coordinates directly in the 3D viewport by double clicking on the marker

  • Type marker coordinates inside the coordinates dropdown under each measurement in the Measure Tool window

  • Type marker coordinates directly in the 3D viewport by double clicking on the marker

  • Type marker coordinates inside the coordinates dropdown under each measurement in the Measure Tool window

Challenge:

  • Enable users to quickly measure something without saving the measurement

  • Enable users to quickly measure something without saving the measurement

Solution:

  • Switch off "Measure Layers" and the tool becomes a Quick Measures tool that contains no layers and saves nothing.

  • Switch off "Measure Layers" and the tool becomes a Quick Measures tool that contains no layers and saves nothing.

Challenge:

  • Add an option to display the sum of a selected set of distance measurements in order to measure the total optical path lengths

  • Add an option to display the sum of a selected set of distance measurements in order to measure the total optical path lengths

Solution:

  • Add the option to display the TOTR (Total Optical Transmission and Reflection) for some or all layers. Users can then put each set of measurements on a separate layer and get a dynamic display of the TOTR for each.

  • Add the option to display the TOTR (Total Optical Transmission and Reflection) for some or all layers. Users can then put each set of measurements on a separate layer and get a dynamic display of the TOTR for each.

Group Actions

One of the requirements that came up very early in the process was the need for organizing measurements, so specific groups of them can be made visible/ invisible, saved for later and exported.

For this I took inspiration from Adobe Illustrator’s layers feature, specifically the “targeting” functionality. Only when a layer is “targeted” (the blue radio button clicked) will a taken measure land on this layer. This allows for the flexibility of performing different actions on all layers while only having one of them “targeted”

One of the requirements that came up very early in the process was the need for organizing measurements, so specific groups of them can be made visible/ invisible, saved for later and exported.

For this I took inspiration from Adobe Illustrator’s layers feature, specifically the “targeting” functionality. Only when a layer is “targeted” (the blue radio button clicked) will a taken measure land on this layer. This allows for the flexibility of performing different actions on all layers while only having one of them “targeted”

Distances and Dimensions

Since the same tool is required to measure distances between objects as well as dimensions of objects, and since these two require very different actions by the user, I had to think of a way to differentiate between them.

The solution is having two different modes that users can switch between on the modes bar, and that use differently shaped measure markers (distances: diamond shape, dimensions: square shape) both inside the viewport window and the Measure Tool window.

Since the same tool is required to measure distances between objects as well as dimensions of objects, and since these two require very different actions by the user, I had to think of a way to differentiate between them.

The solution is having two different modes that users can switch between on the modes bar, and that use differently shaped measure markers (distances: diamond shape, dimensions: square shape) both inside the viewport window and the Measure Tool window.

Full version vs. MVP

Full version vs. MVP

With such a long list of requirements, the tool was about to become quite complex. We decided that I will design a full version of the tool first, and then prioritize for development phases. For example the layers functionality is not absolutely necessary for the measure tool to be useful.

With such a long list of requirements, the tool was about to become quite complex. We decided that I will design a full version of the tool first, and then prioritize for development phases. For example the layers functionality is not absolutely necessary for the measure tool to be useful.

Full Version

Full Version

That answers all requirements

That answers all requirements

MVP

MVP

The first useful version that the developer developed (left) and my redesign of it (right). We decided to make this the MVP.

The first useful version that the developer developed (left) and my redesign of it (right). We decided to make this the MVP.

The MVP in Action - Screen Recording

Success Metrics to Measure

  • Feature usage frequency: Measures how often users engage with the Measure Tool, showing its perceived value and necessity.

  • Interaction with specific functions: Tracks usage of core functions like measuring distances, angles, and dimensions to understand which features users find most helpful.

  • User accuracy and error rate: Monitors if the tool helps users align optical components correctly by reducing errors or misalignments.

  • Time spent using the Measure Tool: Indicates whether the tool improves workflow efficiency or requires too much effort to operate.

  • Retention rate on complex measurement tasks: Tracks if users consistently use the tool for advanced tasks, such as managing layers or applying edge constraints, indicating trust in its reliability.

  • Feature usage frequency: Measures how often users engage with the Measure Tool, showing its perceived value and necessity.

  • Interaction with specific functions: Tracks usage of core functions like measuring distances, angles, and dimensions to understand which features users find most helpful.

  • User accuracy and error rate: Monitors if the tool helps users align optical components correctly by reducing errors or misalignments.

  • Time spent using the Measure Tool: Indicates whether the tool improves workflow efficiency or requires too much effort to operate.

  • Retention rate on complex measurement tasks: Tracks if users consistently use the tool for advanced tasks, such as managing layers or applying edge constraints, indicating trust in its reliability.

Duration: 2 weeks

Polarization Analyzer

Duration: 2 weeks

Polarization Analyzer

Duration: 2 weeks

Polarization Analyzer

Main objective: Improve the 3DOptix app's usability by creating a tool that will allow users to collect and save information about the polarization state of any point on any ray of any simulated light beam.

Main objective: Improve the 3DOptix app's usability by creating a tool that will allow users to collect and save information about the polarization state of any point on any ray of any simulated light beam.

The Tool

The Tool

Versions

Versions

At my first try at this, I created a special mode, called Ray View, that contains the Polarization Analyzer plus additional information about the ray.

At my first try at this, I created a special mode, called Ray View, that contains the Polarization Analyzer plus additional information about the ray.

After further considerations we decided against the full mode and for a creating a tool instead - here is a screenshot of a medium fidelity prototype of the Polarization Tool

After further considerations we decided to simplify and create a free standing dedicated Polarization Analyzer tool, the final design can be seen below.

Challenges and Solutions

Challenges and Solutions

Challenge:

  • Users need a flexible method to mix and match between picking rays across multiple light sources and picking points on these rays. The picked rays and points need to be organized in an interface that allows users to see and compare their properties clearly and be saved with the file.

  • Users need a flexible method to mix and match between picking rays across multiple light sources and picking points on these rays. The picked rays and points need to be organized in an interface that allows users to see and compare their properties clearly and be saved with the file.

Solution:

  • Pick ray in scene mode is active for picking rays, until and unless the "Press to pick a point on Ray" button is pressed and becomes active and changes into "Pick a point on ray", which turns on point picking mode and deactivates ray picking mode

  • Picking rays create new ray tabs and picking points on rays create new point tabs inside their respective ray tabs

  • Pick ray in scene mode is active for picking rays, until and unless the "Press to pick a point on Ray" button is pressed and becomes active and changes into "Pick a point on ray", which turns on point picking mode and deactivates ray picking mode

  • Picking rays create new ray tabs and picking points on rays create new point tabs inside their respective ray tabs

Challenge:

  • Users need a method to change the location of selected points on the ray

  • Users need a method to change the location of selected points on the ray

Solution:

  • Option to change the distance of the point from the lightsource by typing it in the text field

  • Option to change the object from which the distance is measured by picking it in the setup after activating the pick button by deleting the existing distance object from the point tab

  • Option to change the distance of the point from the lightsource by typing it in the text field

  • Option to change the object from which the distance is measured by picking it in the setup after activating the pick button by deleting the existing distance object from the point tab

Challenge:

  • Users need a method to select rays from a map instead of picking them directly in the setup

  • Users need a method to select rays from a map instead of picking them directly in the setup

Solution:

  • "Select ray from map" mode that opens a map of all existing rays in the laser beam including coordinate information

  • "Select ray from map" mode that opens a map of all existing rays in the laser beam including coordinate information

Challenge:

  • Since the Polarization Analyzer window can contain a large number of rays and points, it sometimes becomes necessary to directly compare points from different rays and see them laid out side by side

  • Since the Polarization Analyzer window can contain a large number of rays and points, it sometimes becomes necessary to directly compare points from different rays and see them laid out side by side

Solution:

  • A duplicate button on every point tab that duplicates them into their separate small windows that can be laid out side by side and enlarged/ maximized

  • A duplicate button on every point tab that duplicates them into their separate small windows that can be laid out side by side and enlarged/ maximized

Challenge:

  • Sometimes users need to analyze ray points that lay exactly on the point where an optical surface intersects with a ray

  • Sometimes users need to analyze ray points that lay exactly on the point where an optical surface intersects with a ray

Solution:

  • Each ray tab has 2 modes: XY mode for picking points on rays directly and PS mode for picking optical parts that lay in the ray's path. The point displayed in a PS mode ray tab will be the points where the picked optical parts intersect with the ray.

  • Each ray tab has 2 modes: XY mode for picking points on rays directly and PS mode for picking optical parts that lay in the ray's path. The point displayed in a PS mode ray tab will be the points where the picked optical parts intersect with the ray.

Success Metrics to Measure

  • Analyzer usage rate: Tracks how frequently users engage with the Polarization Analyzer, indicating its importance to their workflow.

  • Feature interaction rate: Measures user engagement with key functions, such as selecting rays, manipulating points, and duplicating point tabs, to identify which features users find most valuable.

  • Accuracy in polarization data interpretation: Evaluates if the tool helps users obtain accurate polarization data, essential for optimizing optical setups.

  • Time to complete polarization analysis: Assesses efficiency by measuring how long it takes users to analyze and capture polarization states, reflecting tool usability.

  • Retention rate for advanced users: Tracks usage frequency among experienced users who require complex polarization analyses, indicating tool reliability and value for in-depth tasks.

  • Analyzer usage rate: Tracks how frequently users engage with the Polarization Analyzer, indicating its importance to their workflow.

  • Feature interaction rate: Measures user engagement with key functions, such as selecting rays, manipulating points, and duplicating point tabs, to identify which features users find most valuable.

  • Accuracy in polarization data interpretation: Evaluates if the tool helps users obtain accurate polarization data, essential for optimizing optical setups.

  • Time to complete polarization analysis: Assesses efficiency by measuring how long it takes users to analyze and capture polarization states, reflecting tool usability.

  • Retention rate for advanced users: Tracks usage frequency among experienced users who require complex polarization analyses, indicating tool reliability and value for in-depth tasks.

Duration: 4 weeks

Advanced Screen Source System

Duration: 4 weeks

Advanced Screen Source System

Duration: 4 weeks

Advanced Screen Source System

What is a Screen Source?

What is a Screen Source?

The current 3DOptix system only supports light sources emitting the same wavelength across their entire surface. A screen source is a new kind of light source that simulates a screen where every pixel can to be fine-tuned to emit light at a different wavelength, intensity and other attributes. It can be used to either simulate any type of screen or any kind of exotic light source, depending on the configuration.

This is a very complex feature and I will only talk about a few select aspects of it.

The current 3DOptix system only supports light sources emitting the same wavelength across their entire surface. A screen source is a new kind of light source that simulates a screen where every pixel can to be fine-tuned to emit light at a different wavelength, intensity and other attributes. It can be used to either simulate any type of screen or any kind of exotic light source, depending on the configuration.

This is a very complex feature and I will only talk about a few select aspects of it.

Main Objectives

Main Objectives

Enhance the existing 3DOptix platform to support special light sources, “Screen Sources”, capable of emitting different spectra from each pixel, which has applications in advanced imaging, space technology, modern weapon defense systems, and medical devices, while keeping in mind the ongoing development nature of this and similar features, and design accordingly.

Enhance the existing 3DOptix platform to support special light sources, “Screen Sources”, capable of emitting different spectra from each pixel, which has applications in advanced imaging, space technology, modern weapon defense systems, and medical devices, while keeping in mind the ongoing development nature of this and similar features, and design accordingly.

Requirements

Requirements

The instructions for the feature that I received from the physicist:

The instructions for the feature that I received from the physicist:

After a meeting to discuss we decided on these requirements for the project:


  • Create databases for screen sources, spectra and spectrum collections and connect them to the configuration flow of the light source

  • Design the Advanced Screen Source configuration window

  • Design the windows and flows for configuring spectra and spectra collections

  • Connect all of the above but keep all databases flexible and separate so they can easily be integrated with other new light sources later

After a meeting to discuss we decided on these requirements for the project:

  • Create databases for screen sources, spectra and spectrum collections and connect them to the configuration flow of the light source

  • Design the Advanced Screen Source configuration window

  • Design the windows and flows for configuring spectra and spectra collections

  • Connect all of the above but keep all databases flexible and separate so they can easily be integrated with other new light sources later

Settings

Settings

This is the central configuration window for the new Screen Sources.

It is using a window layout that already exists in 3DOptix and that I had to use, but the UI patterns under Wavelength information are new designs added by me.

Users can decide to either create their own spectrum collection (group of colors in layman's terms) or upload one from the database.

There is a default Spectral map that comes with every new screen source, (users can download it for later use or reference with the download button next to it). But users will usually delete the default one and upload their own.

Under Source ray intensity pattern, users can either input constant values for the entire screen source, or upload image maps with a different value for different pixels.

This is the central configuration window for the new Screen Sources.

It is using a window layout that already exists in 3DOptix and that I had to use, but the UI patterns under Wavelength information are new designs added by me.

Users can decide to either create their own spectrum collection (group of colors in layman's terms) or upload one from the database.

There is a default Spectral map that comes with every new screen source, (users can download it for later use or reference with the download button next to it). But users will usually delete the default one and upload their own.

Under Source ray intensity pattern, users can either input constant values for the entire screen source, or upload image maps with a different value for different pixels.

New Data Bases

New Data Bases

I designed these new data bases as part of the new Screen source system, but the spectrum and spectrum collection data bases will be integrated with all other light sources as well. Each contains 2 sections: System items and custom items. In order to customize a system item, users select the edit icon, edit the item in the edit window that will open, give it a new name and then it will be displayed under the custom section. Filter and sorting should be added in the next version.

I designed these new data bases as part of the new Screen source system, but the spectrum and spectrum collection data bases will be integrated with all other light sources as well. Each contains 2 sections: System items and custom items. In order to customize a system item, users select the edit icon, edit the item in the edit window that will open, give it a new name and then it will be displayed under the custom section. Filter and sorting should be added in the next version.

Edit Spectra

Edit Spectra

Spectra consist of an potentially unlimited number of wavelengths, and this window is where users can create, edit and save their spectra to the data base.

Spectra consist of an potentially unlimited number of wavelengths, and this window is where users can create, edit and save their spectra to the data base.

Edit Spectrum Collections

Edit Spectrum Collections

Spectrum collections consist of potentially unlimited numbers of spectra, and this is where users can create, edit and save these collections to the database.

Spectrum collections consist of potentially unlimited numbers of spectra, and this is where users can create, edit and save these collections to the database.

Discovery

Discovery

This is a screenshot from the beginning of the project, when I combined existing and new elements (low fidelity designs) in order to figure out the required flows.

This is a screenshot from the beginning of the project, when I combined existing and new elements (low fidelity designs) in order to figure out the required flows.

MVP

MVP

As a first functional prototype we decided to implement a Simple Screen Source (as opposed to the Advanced Screen Source that is a feature for paying users only).

As a first functional prototype we decided to implement a Simple Screen Source (as opposed to the Advanced Screen Source that is a feature for paying users only).

Metaphoric user journey
and interactive task flow

Create a Screen Source with four stripes and a 3DOptix logo

Since neither I nor the developers are physicists, I had to use a metaphoric approach to create an initial user flow.

The final product will simulate screen sources for quantum cascade laser arrays or plasma display panels, but my user journey simulates an iPad. Instead of advanced spectra like nanowire or quantum cascade emissions, I use a basic spectrum collection of R, G, and B (RGB), familiar to designers, to which the user will add a fourth color and a mask.

Metaphoric Simplification

Metaphoric Simplification

Since neither I nor the developers are physicists, I had to "translate" the physics requirements into a metaphor in order to create an initial user flow.


The final product will simulate screen sources for quantum cascade laser arrays or plasma display panels, but my user journey simulates an iPad. Instead of advanced spectra like nanowire or quantum cascade emissions, I use a basic spectrum collection of R, G, and B (RGB), familiar to designers, to which the user will add a fourth color and a mask.

Since neither I nor the developers are physicists, I had to use a metaphoric approach to create an initial user flow.

The final product will simulate screen sources for quantum cascade laser arrays or plasma display panels, but my user journey simulates an iPad. Instead of advanced spectra like nanowire or quantum cascade emissions, I use a basic spectrum collection of R, G, and B (RGB), familiar to designers, to which the user will add a fourth color and a mask.

Initial Flow

Initial Flow

The user wants the 3DOptix logo colored with 4 stripes in blue, green, red and yellow and a black background to appear on their screen source.

1. User needs to add a 4th stripe to the screen source
2. User needs the 4th stripe to be yellow
3. User needs to add an intensity map with the 3DOptix logo in white on a black background

The user wants the 3DOptix logo colored with 4 stripes in blue, green, red and yellow and a black background to appear on their screen source.

1. User needs to add a 4th stripe to the screen source
2. User needs the 4th stripe to be yellow
3. User needs to add an intensity map with the 3DOptix logo in white on a black background

Flow Starting State

Flow Starting State

The user has created an iPad screen source by adding it from the new screen source data base.

It arrives preconfigured with 3 stripes in the colors red, green and blue (RGB)

The user has created an iPad screen source by adding it from the new screen source data base.

It arrives preconfigured with 3 stripes in the colors red, green and blue (RGB)

Flow End State

Flow End State

The user has edited the screen source by adding a custom Spectral collection, custom Spectral map and custom Intensity map. It now displays 4 stripes inside the 3DOptix logo.

The user has edited the screen source by adding a custom Spectral collection, custom Spectral map and custom Intensity map. It now displays 4 stripes inside the 3DOptix logo.

Challenge

Challenge

Reassign spectrum order numbers in a spectrum collection.

Reassign spectrum order numbers in a spectrum collection.

One of the physics professors at 3DOptix pointed out to me that users need the ability to reassign order numbers to spectra within the collection ((to reassign the colors (spectra) to different pixels)). To address this, I considered several options:

1. Swap numbers: If a user assigns a new number that already exists, the numbers will be swapped.
2. Display an error message: "This #number is already occupied, please choose another" or a similar message.
3. Display duplicate numbers with a warning: "Duplicate #number. Please assign a unique #number to each spectrum", highlighted with red frames around the duplicates and disabling the Save button.

The professor chose the third option. You can watch the interactive user flow video here:

One of the physics professors at 3DOptix pointed out to me that users need the ability to reassign order numbers to spectra within the collection ((to reassign the colors (spectra) to different pixels)). To address this, I considered several options:

1. Swap numbers: If a user assigns a new number that already exists, the numbers will be swapped.
2. Display an error message: "This #number is already occupied, please choose another" or a similar message.
3. Display duplicate numbers with a warning: "Duplicate #number. Please assign a unique #number to each spectrum", highlighted with red frames around the duplicates and disabling the Save button.

The professor chose the third option. You can watch the interactive user flow video here:

Screen Source Flow Chart

Success Metrics to Measure

  • Feature adoption rate: Measures how often users utilize the Advanced Screen Source, showing its relevance to their needs in creating complex light sources.

  • Customization frequency: Tracks the rate at which users interact with customization options (e.g., spectrum collection, wavelength adjustments), indicating the value of these capabilities.

  • Efficiency of setup time: Monitors how long it takes users to configure screen sources, reflecting the ease of use and intuitiveness of the system.

  • Accuracy and precision in spectrum configuration: Evaluates the tool’s effectiveness by tracking errors or corrections users make when configuring spectral maps and intensity patterns.

  • Retention for complex projects: Observes continued usage among users working on advanced projects, indicating trust and satisfaction with the tool's reliability.

  • Feature adoption rate: Measures how often users utilize the Advanced Screen Source, showing its relevance to their needs in creating complex light sources.

  • Customization frequency: Tracks the rate at which users interact with customization options (e.g., spectrum collection, wavelength adjustments), indicating the value of these capabilities.

  • Efficiency of setup time: Monitors how long it takes users to configure screen sources, reflecting the ease of use and intuitiveness of the system.

  • Accuracy and precision in spectrum configuration: Evaluates the tool’s effectiveness by tracking errors or corrections users make when configuring spectral maps and intensity patterns.

  • Retention for complex projects: Observes continued usage among users working on advanced projects, indicating trust and satisfaction with the tool's reliability.

Next Steps

Developing these tools involved making a lot of, albeit educated, but still… assumptions. Our main priority was adding all the vital features to this complex app that experts decided we needed in order to make it usable in the first place. But even though they were thoroughly tested by me, QA and team members and stakeholders, they will - further on - benefit from extensive usability testing with users from outside the company, and from further optimization.

Developing these tools involved making a lot of, albeit educated, but still… assumptions. Our main priority was adding all the vital features to this complex app that experts decided we needed in order to make it usable in the first place. But even though they were thoroughly tested by me, QA and team members and stakeholders, they will - further on - benefit from extensive usability testing with users from outside the company, and from further optimization.

More projects

Let's create something amazing together!

00972-54-6921378

Copy email

More projects

Let's create something
amazing together!

00972-54-6921378

Copy email

More projects

Let's create something amazing together!

00972-54-6921378

Copy email