top of page

AIRMETs

Weather hazard indicator tool for Jeppesen Flitedeck Pro

Adobe Express - file (4).png
ToggleThumbnail.png
TurbThumbnail.png
Role
Design Lead
Tools
Figma, Miro
Timeline
Jul 2024 - Oct 2024

Background

AIRMETs (Airmen's Meteorological Information) are weather advisories issued by meteorological authorities to inform pilots of potentially hazardous weather conditions that are particularly relevant to light aircraft over North America. There are six types of AIRMETs: Icing, Turbulence, Wind Shear, Surface Winds, IFR, and Mountain Obscuration.

Our sister product, Aviator, currently has their own AIRMETs weather layer. The Flitedeck Pro product team is looking to incorporate this layer into our product to allow users to access more weather information in one place.

Understanding the Problem

I began by conducting discovery interviews with a few pilots from one of our European customers to understans their grievances and needs.  

Easel.png

1) Desire for Map Depiction

Users are familiar with text-based AIRMETs, but would like to see them visually depicted as polygons on the map.

Colors.png

3) Color Expectations

Users expect the following color/hazard pairs: blue for icing, orange for turbulence, and green for heavy precipitation.

2) Necessary Context

trading-graph--Streamline-Freehand.png

It is essential to see the associated altitude of an AIRMET in order to assess the threat it poses.

hierarchy--Streamline-Freehand.png

4) Hierarchy of Importance

Users at this airline care most about icing and turbulence hazards; IFR and mountain obscuration are less relevant.

Design & Iteration

Based on my user research and understanding of Aviator's AIRMETs layer, I began working on the following designs:

Precedented Color Legend

I began with the same colors that Aviator uses for their AIRMETs layer in my first iteration. While these colors are not entirely consistent with the guesses I heard in my discovery interviews, I wanted to start by assessing the effectivity of our precedent.

Aviator AIRMETs Legend

AviatorColorProto.png

Raw AIRMET data contains a plethora of information. For the first round of designs, I parsed through the data and pulled out key values that I expected users to find helpful based on the data we provide in our pre-existing weather layers.

OldAIRMETLegend.png

Object Details

GeoJSON Data

Presented Data

{"sourceName":"HWS4","rawDataHashValue":9075056164669707763,"rawData":"FAIT WA 141215\nAIRMET
TANGO FOR TURB/STG SFC WINDS VALID UNTIL 142015\nNORTH SLOPES OF BROOKS RANGE FH\nAFT 18Z W
ATIGUN PASS OCNL MOD TURB BLW 060. NC
","created":"2024-08-
14T14:11:00.511Z","airmetId":"2","validFrom":"2024-08-14T12:15:00Z","validTo":"2024-08-
14T20:15:00Z
","issuedAt":"2024-08-14T12:03:00Z","icaoSite":"PAFA","rawType":"MOD
TURB","type":"TURB","phenomenon":"TURB","lowerLevel":"SFC","upperLevel":"FL060","description":
"Turbulence","cacheTimestamp":"2024-08-14T14:11:00.001588Z","identifier":"2"},"geometry":
{"type":"MultiPolygon","coordinates":[[[[-163.63,68.48],[-160.37,70.03],[-158.09,70.02],
[-156.95,69.63],[-153.1,69.45],[-151.22,69.15],[-149.7,69.46],[-148.69,69.41],[-147.56,69.52],
[-142.64,69.35],[-141.21,69.45],[-141.0,69.4],[-141.0,68.5],[-142.2,68.58],[-142.63,68.87],
[-143.12,68.77],[-143.9,69.02],[-148.1,68.43],[-148.48,68.25],[-151.27,67.92],[-151.86,68.18],
[-152.99,68.04],[-152.7,67.77],[-154.1,67.85],[-154.6,67.88],[-155.57,68.05],[-158.78,68.48],
[-160.32,68.56],[-162.93,68.31],[-163.63,68.48]]]]},"id":"98563828-6b18-48dc-81ce-
8f0fa6606575"},{"type":"Feature","properties":

brackets.png
MauveArrow.png

Coordinate data indicating affected region

Issued Time

Validity Period

AIRMET Type

Altitiude

Remarks

TurbDetails.png

Selected State

Adobe Express - GreenTurbSelection.gif

Because users had emphasized the importance of seeing AIRMETs' altitudes, I also included an altitude flag in the selected state to make this data more salient.

For the selection treatment, I followed our precedent for a similar weather layer that already exists in FliteDeck Pro: a #00B362 fill and border.

SelectedTurbGreen.png

AIRMET Labeling

While I wanted to see whether users would be able to guess which color paired with which AIRMET type without guidance, I anticipated that colors alone might not be enough. At the end of the session, I included a brief A/B test with two options of text labeling on each AIRMET. 

Option A

InsideLabelProto.png

Option B

BorderLabelproto.png

First Test: Takeaways

A few usability sessions yielded the following results:

color-palette-sample-2--Streamline-Freehand.png
  • Users assume that blue AIRMETs are icing and orange AIRMETs are turbulence, but they don't know what the other colors mean.

  • Reddish brown (used for Wind Shear) causes confusion because it looks similar to labeled airspace regions.

  • Green (used for Surface Winds) is misleading because the color is generally associated with "good" conditions, whereas in this scenario, it indicates hazard.

Hazard.png
  • Users prefer the Option B method of labeling AIRMETs (inside of the border).

  • Users want to filter out certain types of AIRMETs in order to declutter their screens when necessary.

app-window-search-text--Streamline-Freehand.png
  • Users want to tap on an individual AIRMET to learn its issued time, validity, and altitude.

  • It is confusing that the AIRMET changes color when selected.

  • Users want to filter AIRMETs by altitude so that they are only viewing AIRMETs relevant to their current or planned flight level.

filter--Streamline-Freehand.png

Iteration #2

Based on user feedback from the first round of user testing, I made the following changes:

Adobe Express - Adobe Express - LegendToggles.gif

Selective AIRMET Legend

Because users expressed an interest in filtering out AIRMETs by type, I designed a new legend that allows users to toggle each type on and off.

I decided to use the same colors as before for this iteration, but I adopted the favored AIRMET labeling style from the previous test.

Altitude Slider

Adobe Express - altitudesliderairmet.gif

This altitude slider allows users to declutter the map by filtering out AIRMETs that occur outside of the selected altitude range.

Adobe Express - OrangeSelection.gif

Selected State Color & Opacity

This revised selection treatment retains the original AIRMET color to avoid confusion, but increases the opacity and adds black & white borders to stand out.

TurbOrangeBW.png

Second Test: Takeaways

Further testing yielded the following results:

Colors.png
  • Users share the sentiment that reddish brown and green AIRMETs will cause confusion; the other colors are fine.

  • Users like the option to toggle certain AIRMET types off, but worry that they will forget which types they disabled.*

Puce Toggle.png
  • The altitude selection flag is helpful, but users would also like to see the AIRMET type in this flag.

learning-programming-flag--Streamline-Freehand.png
  • This selection treatment is preferable to the green, but users do not want the selected AIRMET to be fully opaque as it obscures the map beneath.

*E.g. a user may have the AIRMETs layer enabled and not see any turbulence AIRMETs because that specific type has been toggled off, and falsely think this means that there are no turbulence AIRMETs present.

Iteration #3

Based on the above feedback, I made a few more tweaks:

Revised Color Legend

To resolve the uncertainty caused by maroon and green AIRMETs, I changed Lower Level Wind Shear and Surface Winds to a brighter red and royal blue, respectively.

I also made Icing a slightly brighter, lighter blue to reduce confusion with Surface Winds.

AirmetLegendProto.png
Screenshot 2025-08-22 at 2.06.34 PM.png
MauveArrow.png
1stAIRMETLegend.png
MauveArrow.png
2ndAIRMETLegend.png
Adobe Express - DisabledDotVideo.gif

Disabled AIRMET Type(s) Indicator

To ensure that users do not mistakenly think a disabled AIRMET type isn't present, I added an amber dot in the AIRMETs cell of the weather selector sheet.

This dot appears when 1) the AIRMETs layer is enabled, and 2) any of the six AIRMET types are toggled off.

DisabledAirmetRow.png

When the user disables the Mountain Obscuration type and then returns to the weather layer selector, the amber dot appears in the AIRMETs cell to indicate that not all types are displayed.

Updated Selection Treatment

Per users' suggestions, I added the AIRMET type to the selection flag, and reduced the opacity of the selected AIRMET so as not to obscure the map beneath.

Adobe Express - Adobe Express - objdetailsairmet.gif
SelectTurbTranslucent.png

Stacked AIRMET Depiction

I also needed to finalize designs for when multiple AIRMETs overlap perfectly, which does occur in some regions (mainly Alaska).

Adobe Express - SelectingSurfaceWinds (1).gif

When the user taps on an area where multiple AIRMETs overlap, the location inspector appears with a preview of each present AIRMET (sorted by altitude). The z-order on the map matches.

Tapping on an AIRMET's cell from the location inspector invokes that AIRMET's object details. That AIRMET then enters the selected state (heightened opacity + borders) and moves to the top of the stack.

After the third round of testing went smoothly, I decided we had met our MVP and were ready for implementation.

Takeaways

When working on a product that is already robust and comprehensive, it can be easy to fall into the pattern of following precedents blindly. Because the AIRMETs weather layer already exists in our sister product, Aviator, I initially assumed that the most logical course of action would be to mimic their design.

However, this project reminded me that when a precedented design is not meeting users' needs, it is better to deviate than to stick with a subpar design for consistency's sake. While these new designs may cause growing pains for users who are used to Aviator's depiction of AIRMETs, I ultimately decided that this potential learning curve was justified by the users' feedback. Towing the line between improving outdated designs and maintaining consistency is a constant challenge in UX design, and this was a great chance for me to practice that balancing act.

Maintaining consistency with precedents

business-cash-scale-balance--Streamline-Freehand.png

Improving mediocre designs

Thanks for reading!

PinkWave.png

Thanks for stopping by – let's chat!

LinkedIn.png
Envelope.png

2026 Audrey Mock. Made with lots of       and lots of

☕️

🩷

bottom of page