Regulated dataData visualizationAccessibilityDesign systems

The brief was “add data visualization”. I decided what that meant.

The iShares comparison tool puts up to four funds side by side, on data that regulation defines, under a lot of Compliance rules. I designed the first charts it ever had, next to the figures and never in their place, and readable without colour.

The comparison on the German site, with four funds. The figures stay in the table, and each chart sits under the row it draws.
Role: Associate UX Product Designer Company: BlackRock iShares Timeline: 4 months in 2022 Based in: Budapest
In a nutshell

BlackRock runs the iShares fund websites for investors in the UK, Germany and the US, and the comparison tool is where they put funds side by side. It had never had a chart: a table of figures, on data that regulation defines.

I was the associate UX product designer on the tool, working with engineering. I ran the unmoderated tests that showed where a chart earns its place, chose the formats, specified every breakpoint, market and state, and moved the screens from Sketch to Figma.

The first chartsthe comparison tool ever had, validated in tests I set up and ran.
WCAG AAcharts readable without colour, with fill patterns a user can switch on.
Sketch → Figmaevery iShares Compare screen migrated, with accessibility built into each component.
    Where it started

    It came in as a business idea

    Charts would make the comparison tool better. Which data, in which format, and where a chart would actually help was the work.

    BlackRock runs the iShares fund websites for investors in the UK, Germany and the US, and the comparison tool is where they put funds side by side. Regulation defines that data: what can be shown, how, and with which disclaimers. There were a lot of Compliance rules, so nothing could be hidden or summarised away.

    These are technical users. They know what they are looking for and they need every figure on the page. In a regulated product you can't remove the complexity, so I changed how it was shown. All of this happened while the team moved from Sketch to Figma, a migration I was responsible for on our product, so every component I designed also had to work as a decision for the whole library.

    The comparison table on the German site with four funds: rows of figures only, currency, fees, structure and fund size.
    Figures only, the way the whole table used to be.
    The same table at the MSCI ESG rows: the figures stay in their row, and a bar chart for the four funds opens underneath.
    The figures stay in their row, and the chart opens underneath.
    What testing showed

    Start where the company was looking

    I ran round after round of unmoderated tests to find which sections of the table benefited from a visual comparison. The answer was: not all of them.

    I set up the tests on UserTesting.com, wrote the flows, ran them and analysed the results myself. The question underneath was narrower and more useful than "add charts": where does a chart earn its place, and where is it just decoration?

    Sustainable funds were a firm-wide priority, and it was the right call on the merits too: their indicators reward being compared side by side. Then the format. Pie charts looked richer and answered a question nobody was asking. Comparing several funds on one indicator is what bars do best, and I tested it instead of assuming.

    The decision I would defend

    The numbers never leave

    I placed each chart under the row it draws, next to the figures and never in their place.

    Compliance needs the number, the investor needs the pattern, and both stay on screen. The table keeps every figure the rules require, and the chart underneath shows how four funds compare on that one indicator. I defined the chart formats with engineering, instead of handing over a picture of a chart, and that is what made them buildable.

    The comparison table on the German site: four fund columns, the MSCI ESG rating and quality score rows with their figures, and below them a bar chart of the quality score for the four funds, with a checkbox to switch on chart patterns and a link to a written description.
    1. The figures

      Every required figure stays in its row. The chart is added underneath.

    2. Bars

      Chosen for comparing several funds on one indicator, and tested against pie charts.

    3. Patterns

      A second signal a user can switch on, so each fund can be told apart without colour.

    The hard part

    A second signal for every bar

    Four funds, four colours, and colour was the only thing telling you which bar was which.

    That leaves out anyone with a colour vision deficiency, and it stops working the moment the page is printed in black and white. Contrast ratios do not fix it, because the problem is identification, not legibility.

    So the bars carry a second signal: fill patterns, one per fund, matching the legend, that a user can turn on. Colour still does the fast, comfortable work for everyone who can use it, and it stops being the only thing that does. WCAG AA covered the rest of the screen too: contrast, type sizes and focus order.

    The same bar chart shown twice, one above the other: in the first the bars are told apart by colour only, in the second the pattern setting is ticked and each bar also carries a distinct fill pattern matching its legend entry.
    The same chart on the German site, with the pattern setting off and on.
    What I handed over

    Specs for every breakpoint, market and state

    Engineering told me which questions kept coming up while building, and I started answering those before they were asked.

    Most of the format was the BlackRock standard: a company with a lot of rules and real design maturity, especially around accessibility, and being held to that bar taught me what a good delivery looks like. What was mine was the migration from Sketch to Figma for iShares Compare. Rebuilding every component was the chance to update things that had not been touched in years, and to make accessibility part of what "migrated" meant.

    The specifications lived in a Figma master: you changed them there, and the change flowed down into the library. I took that idea with me, and the checkout library I later built at Jimdo works the same way.

    The master file, and five pages from it. Drag, or use the arrows.
    1 / 6
    The Figma file iShares Compare Master: rows of boards grouped by breakpoint and market, US, UK and DE, with a cover, a change log and an accessibility page at the start. The file

    One master, every market

    Each column is one breakpoint in one market, with the change log and the accessibility page at the front.

    Two full-page boards side by side: the UK comparison with a fund entered, and the German comparison in its empty state, each with the market switch and the legal disclaimers. Markets

    Every breakpoint, in every market

    Drawn separately for the UK, German and US sites: different funds, different currencies, and German strings that run about a third longer than the English ones.

    A behaviour page with ten numbered rules for the fund search field, from the placeholder text to how the suggestion list is filtered, sorted and scrolled. Behaviour

    What it does, written down

    Every step of the search field, from the placeholder to a list too long for the screen, so nobody has to invent it while building.

    The comparison table with one fund entered and three empty columns marked 2 of 4, 3 of 4 and 4 of 4. States

    One fund, three, four, or none

    A comparison tool spends most of its life part-filled, so every combination is drawn, including what happens while you remove funds.

    An accessibility page listing numbered criteria for the empty table and for the table with funds entered, each tagged with the WCAG principles it serves: perceivable, operable, understandable, robust. Accessibility

    A page of its own

    Each criterion written out, with an example, so it could be reviewed like any other part of the build.

    Redlines for the table cells in four states, empty, empty with a fund added, fund added, and remove and add cells, with spacing marked in pink. Redlines

    Down to the pixel

    Spacing and sizes marked on every state of a cell. It looks obsessive written down. It is the difference between engineering guessing and engineering building.

    What I would do differently

    The doubt we kept saying out loud

    We knew comparing several funds on a phone might not be worth much, and we built it anyway.

    The reasoning held up for what we knew: our users were overwhelmingly on desktop, that is where every round of testing ran, and parity across breakpoints was already the plan.

    What I would change is one round spent finding out. A doubt the team keeps repeating out loud is already a research question, and usually the cheapest one on the list. When we finally revisited it, the answer matched the doubt we had started with, and mobile comparison was deprecated after I left.

    What stayed

    Product
    The first data visualization the fund comparison tool ever had.
    Library
    Every iShares Compare screen in Figma, with one type scale, one spacing system and contrast checked in each component. Other teams built on it.
    Handoff
    Specifications for every breakpoint, market and state, in a master file that flowed down into the library.
    Today
    The product has been rebuilt since, and that exact view is gone.

    The first chart is the expensive one: it has to win the case that a visualization belongs on that page at all. Making that case the first time is the part I would do again.

    Lucila Di Vanni Frick

    Hola, I'm Lu. Senior Product Designer, 6+ years across different industries. I start with the real problem, make complexity understandable, and stay close to the outcome. More about me →