Back to work
Where to: the route card with the pickup and the typed destination, results with distance and a from‑fare, and a Choose on map button above the keyboard.Choose ride: Piqla and Local drivers as tabs, Economy, Comfort and Premium with pickup time, seats and fixed fares, payment and promo as rows, and Book Economy MGA 24,000.Driver on the way: Arriving in 3 min, the meeting point named, one card with the driver, the car and the plate 5824 TBK, and Free to cancel for 1:58, then MGA 1,000.Trip complete: the receipt with fare, promo, waiting and total MGA 24,000 paid with Mvola, then a separate rating card with stars, chips and a comment field.

00 · Introduction

Three decisions a rider has to trust

Piqla is a ride‑hailing app in Antananarivo with a company fleet and local drivers. This concept redesigns the customer booking flow around the price, the cost of cancelling and recognising the right car.

Role
Product designer · personal conceptAudit of the live app, flow, interaction design, visual system and prototype. No client or team involvement.
Timeline
Two‑week redesign · October 2026From audit to prototype
Scope
9 booking screens · fixed‑fare pool · 5 edge statesCustomer app, Piqla fleet only. Local‑driver bidding is out of detailed scope.
Status
Concept · four rounds of heuristic self‑review76 items logged; applied, declined with a reason, or deferred to build

Challenge

The live app shows the fare only after a driver pool is chosen, states the cancellation fee only after acceptance, and lists driver, plate and car in a hierarchy that is hard to scan at the kerb.

Objective

State the estimated fare before the pool is chosen, state what cancelling costs on every screen where it is possible, and make driver, car and plate one scannable card.

A personal concept, not affiliated with Piqla. Fee rules come from the live app, marked as proposals where they go further; section 13 compares one task under one rule.

01 · The case in brief

The whole case, before the details

Problem

Price, fee and car arrive late

The fare appears only after the pool is chosen, the cancellation fee only after it applies, and the car details are present but low in the hierarchy.

Key decision

Every cost shown before the choice.

Three decisions: price before commitment, the cost of cancelling and waiting stated where it applies, and one scannable driver card.

Evidence

Reading the live app, four rounds of heuristic self‑review on the prototype, and the fee rules reconstructed from the app’s own screens.

What the concept delivers

Same four screens to request a ride, with the estimated fare moved from step four to step three; promo and payment become rows; cancelling shows its cost and a line‑item confirmation.

02 · The baseline

What the live app asks of the rider (old design)

The original flow asks for pickup and destination on separate screens, prices the ride only after the pool is chosen, and keeps identity and fee information present but easy to miss. It works; it asks the rider to notice a lot.

The old Home screen: separate pickup and drop‑off fields under a map, with Book For Later and Find a driver.
Home
The old Choose drop‑off screen: pickup and drop‑off fields, Find a driver, and favourite locations above the keyboard.
Choose drop‑off
The old Ride request screen: Piqla Economy, Comfort, Premium, Tana Taxi and Piqla Open with prices, and Payment and Promo code as separate buttons.
Ride request
The old Driver has arrived screen: the driver row, the car and plate in small grey text, a waiting timer with MGA 100 per minute, and On My Way.
Extra waiting time

The original flow has 13 screens; four are shown here.

01 · Choose

The fare arrives last

The pool is picked first; Economy, Comfort and Premium are priced only after it.

  • AThe pool is chosen blind
  • BThe request does not repeat the route

02 · Wait

The fee comes late

The free window and the MGA 1,000 fee appear only after the cancel popup opens.

  • CFees arrive one screen too late

03 · Meet

Identification is hard to scan

Name, rating, car and plate sit together, but the plate is 12px grey text.

  • DIdentification is present but easy to miss

These are interface findings from reading the live app. No riders were observed; section 13 describes the review that followed.

03 · Product audit

What the audit found

I read the live app as a first‑time rider, as a daily rider and as the trip it produces. Four findings recurred; each is stated as what the screens show, not as what they lack.

Observed · live app

A · The pool is chosen blind

Piqla or Non Piqla has to be chosen before any price appears. The pools differ in how the fare is set, fixed by Piqla or offered by a local driver, but the screen that asks for the choice explains neither.

Observed · live app

B · The request does not repeat the route

Pickup and drop‑off are entered on separate screens; the ride request shows categories and prices but not the route. The rider confirms a fare for a trip they can no longer see.

Observed · live app

C · Fees arrive one screen too late

The free window and the MGA 1,000 charge are not stated before the cancel popup. The MGA 100/min waiting rate is on the arrival screen, but not on the screens where the rider decides whether to wait or leave.

Observed · live app

D · Identification is present but easy to miss

Name, rating, car and plate are on the arrival screen together, but the plate is small grey text in a line with the colour. The facts are there; they are not what the eye lands on first.

Supporting principles, not rider validation

  1. 01

    Choice architecture

    Supports finding A

    When options are labelled by brand rather than by consequence, people default to the first one. Fixed versus bid fares is the consequence that matters.

  2. 02

    A persistent summary

    Supports finding B

    A persistent summary reduces the state a person has to hold while deciding; the live app had none between step three and the fare summary.

  3. 03

    Fee rules, reconstructed

    Rule behind finding C

    Rules reconstructed from the live app: free before a driver accepts, MGA 1,000 after, MGA 100 per minute after five minutes of waiting. Whether paid waiting is charged on top of a cancellation is stated nowhere; this concept proposes a rule and shows it in section 09.

  4. 04

    Hierarchy before information

    Direction for finding D

    Photo, model and colour, plate: the fix is hierarchy and legibility, not more information. The plate becomes a chip; the car gets a picture; the card is the same on three screens.

04 · Strategy

Four moves that carried the redesign

Each move answers one finding. Together they put the price, the cost of cancelling and the car where the rider decides.

Move 01

Answers A

Price before pool

The fare appears on the destination screen as an estimate and is fixed on the ride screen. Piqla and local drivers become tabs on the same list, each with one line that says how its price is set.

Before

The pool is picked first; the price arrives on screen 4

After

An estimate on screen 3, the fixed fare on screen 4

Move 02

Answers B

Trip details stay accessible

A grey route card holds pickup, destination, fare and promo while booking. After booking it compacts: the driver screens lead with the next decision and keep the trip one tap away. The principle is access, not repetition.

Before

The request screen shows prices, not the route

After

One route card from screen 2, compact after booking

Move 03

Answers C

State the fee where it applies

Every screen with a cancel button says what cancelling costs now, and the confirmation itemises it: cancellation, any paid waiting, the total added to the next ride.

Before

The free window and the fee appear only after the cancel popup

After

Each cancel states its cost; the confirmation itemises it

Move 04

Answers D

Identify the car in one card

Photo, name, trust line, car picture and the plate as a chip in one card, identical on the arriving, arrived and in‑trip screens.

Before

The plate is small grey text in a line with the colour

After

Photo, car picture and plate chip, the same on three screens

05 · The flow and its rules

One path, one branch, one ending

The flow is linear. The only branch is the driver pool on screen 4; this concept designs the fixed‑fare pool and marks the other. Cancel is a confirmation sheet over screens 5 to 7 that itemises the cost before anything happens.

The rules the flow depends on

Nothing here was agreed with Piqla; each rule would need its owner before build

RuleStatusWhat it saysWhere it showsSign‑off from
FareRead from the appPiqla fleet: fixed by Piqla. Local drivers: set by the driver.The pool tabs, screen 4—
CancellationRead from the appFree before a driver accepts; MGA 1,000 after.Screens 5, 6 and 7Operations
WaitingRead from the appFive minutes free, then MGA 100 per minute.Screen 7, the timer cardOperations
Grace windowProposedTwo minutes after acceptance are also free, so a mis‑tap costs nothing. Drivers lose a little certainty early on.Screen 6, the countdownOperations, driver relations
Fee stackingProposedIf paid waiting has started, it is added to the cancellation fee and itemised before confirming.The cancel sheetOperations, payments
Payment and promoAssumedMvola by default; one promo per ride, and a new one replaces it.Screen 4 rows, screen 9 receiptPayments
IdentificationAssumedPhoto, car and plate come from the driver record, which the card assumes is verified.Screens 6, 7 and 8, the driver cardNot assigned
Local‑driver pricingOut of scopeDrivers set their own price; how an offer is made, accepted or expires is not designed here.The local drivers tab, screen 4Marketplace

06 · Choosing a destination

The destination, priced before the pool

Screens 1 to 3 take the rider from the map to a priced trip: the pickup is detected, results carry a from‑fare, and one sheet states the estimate before any pool is chosen.

  1. Screen 1 · Rider

    Pickup detected, destination asked

    Pickup is detected and shown as a callout on the pin, not a form field. Saved places sit as two segments with their addresses in full, and recents follow beneath.

    1. Pickup as a labelled calloutThe address is auto‑detected and marked as such; Change is the only action.
    2. Saved places with addressesHome and Work show where they go. “Ankorondrano” fits without truncation.
    3. One tap starts the searchThe search bar is the single entry point; no separate pickup screen.
    Home: the pickup detected and shown as a callout on the map pin, with Change beside it; a search field asks Where are you going, with Home, Work and recent places below.
    After
    The old Home screen: separate pickup and drop‑off fields under a map, with Book For Later and Find a driver.
    Before · old app
  2. Screen 2 · Rider

    Results with an estimated fare

    The route card appears here and never leaves. Results show distance and a “from” fare so the first commitment is informed. Choose on map is the fallback, not the default.

    1. The route card beginsPickup with its landmark, destination as typed. The same card returns on every screen.
    2. Results carry a from‑fareDistance and a “from” fare per result, quieter than the name. It is an estimate; the fixed fare comes on screen 4.
    3. Choose on map as a buttonA full‑width action with a gold pin instead of an icon‑only chip.
    Where to: the route card with the pickup and the typed destination, results with distance and a from‑fare, and a Choose on map button above the keyboard.
    After
    The old Choose drop‑off screen: pickup and drop‑off fields, Find a driver, and favourite locations above the keyboard.
    Before · old app
  3. Screen 3 · Rider

    One glance before the ride list

    Pickup, destination, distance, time and the estimated fare on one sheet, with the route previewed above. Both rows are editable; the only action is Choose ride.

    1. Both rows editableA pencil on pickup and on destination, so neither needs its own screen.
    2. Trip summary in one line“2.1 km · 12 min trip” is explicitly trip time, not driver ETA.
    3. Fare framed as an estimate“Est. from MGA 24,000 · extras may apply”, before any pool is chosen and before the fare is fixed.
    Destination selected: the route drawn on the map, both stops editable, 2.1 km · 12 min trip and Est. from MGA 24,000 · extras may apply, then Choose ride.
    After

    No equivalent screen in the old app

    Before · old app

What the first three screens change

  • Pickup

    Detected and shown on the pin

    Before: typed into its own field
  • Saved places

    Home and Work, with their addresses

    Before: favourites under the drop‑off field
  • The fare

    An estimate before any pool

    Before: priced only after the pool, on screen 4
  • The route

    One card, both rows editable

    Before: pickup and drop‑off on separate screens

07 · Choosing a ride

A fixed fare, and tiers that say what the money buys

Screen 4 is the one choice the old app asked the rider to make blind. The pool now explains how its price is set, every tier says what the extra money buys, and the fare is fixed before booking.

Screen 4 · Rider

Fixed fare, tiers that explain themselves

Piqla and local drivers are tabs with a line stating how each sets its price. Every tier shows pickup time, seats and what the rider gains. Payment and promo are rows, not screens.

Choose ride: Piqla and Local drivers as tabs, Economy, Comfort and Premium with pickup time, seats and fixed fares, payment and promo as rows, and Book Economy MGA 24,000.
The tiers, with the fixed fare
The three tiers at full size: Economy MGA 24,000, pickup about 2 min, 4 seats without AC; Comfort MGA 29,000, newer car with AC; Premium MGA 49,000, 6 seats, luxury car with AC; each with its old price struck beside it.
Before · old app

Pool first, then price

Piqla or Non Piqla is chosen before any price appears; Economy, Comfort and Premium are priced only after it.

The old Ride request screen: Piqla Economy, Comfort, Premium, Tana Taxi and Piqla Open with prices, and Payment and Promo code as separate buttons.

The pool explained

“Fixed fare · waiting over 5 min and tolls are extra” under the Piqla tab. The local‑driver tab states that drivers set their own price; that flow is not designed here.

Tiers that justify their price

Economy: 4 seats, no AC. Comfort: newer car, AC. Premium: 6 seats, luxury car, AC. Each tier says what the extra money buys.

Payment and promo as rows

Mvola and PIQLA1000 with pencil edits, on the same grey card as the route.

08 · Waiting for the driver

Searching, arriving, arrived: one card, one rule

Screens 5 to 7 cover the wait. The trip card stays, one identification card carries the driver, the car and the plate, and every cancel says what it costs at that moment.

Screen 5 · System

Searching, with the fee rule in view

A segmented tracker names the three states. The trip card repeats the route and fare. Cancel is free until a driver accepts, and the screen says so.

Finding driver: a three‑step tracker, 3 available, the trip card with route and fare, and Cancel request with Free to cancel until a driver accepts.
After
The old Finding your Driver screen: a pulsing map, the pickup and drop‑off, booking details and Cancel Request.
Before
  1. Three named statesRequest sent, Matching, Driver found. The bar is the only indicator; section 13 explains why the partial fill should become milestone‑based.
  2. Availability, not proximity“3 available” counts drivers who can accept, not cars on the map.
  3. Free to cancel, stated“Free to cancel until a driver accepts” sits under the button and changes the moment a driver does.
Screen 6 · Driver

Driver, car and plate in one card

The driver card is the same on this screen, on arrival and in trip: photo, name, trust line, car at list scale, plate as a chip. The live car marker sits on the route to the pickup.

Driver on the way: Arriving in 3 min, the meeting point named, one card with the driver, the car and the plate 5824 TBK, and Free to cancel for 1:58, then MGA 1,000.
After
The old ride on the way screen: Your Driver is 2 mins away, the driver’s name and rating, the car and plate in a line of small text, and Cancel Ride.
Before
  1. One identification cardPhoto, “4.9 ★ · 1,240 trips · 3 yrs on Piqla”, White Corolla, 5824 TBK.
  2. The route leads to the driverThe live marker is on the end of the gold line, not floating beside it.
  3. Cancel with a countdown“Free to cancel for 1:58 · then MGA 1,000”: a proposed two‑minute grace after acceptance, so a mis‑tap costs nothing.
Screen 7 · Rider

Meet here; this is what waiting costs

The meeting point is named in the subtitle and on the map. The waiting timer explains the rule in one line. “I’m coming” is the primary action and becomes a confirmed state when sent.

Driver arrived: the meeting point named, Free waiting 3:42 left, then MGA 100 a minute, the driver card, I’m coming as the primary action, and the cancel cost stated.
After
The old Driver has arrived screen: the driver row, the car and plate in small grey text, a waiting timer with MGA 100 per minute, and On My Way.
Before
  1. Meeting point named twice“Meet at main entrance · Rue Jean Jaurès, Isoraka” and the callout by the pin.
  2. Waiting as one rule“Free waiting · 3:42 left / Then MGA 100/min, added to your fare”. The rate was on the old screen too; here it is next to the countdown it applies to.
  3. Cancel says the price now“Cancel now: MGA 1,000 + any paid waiting”. The two charges do add; the next screen itemises them before anything is charged.

What cancelling costs, moment by moment

  1. Screen 5

    While searching

    Free

    Until a driver accepts.

    Read from the app
  2. Screen 6

    First 2 minutes after acceptance

    Free

    A mis‑tap costs nothing; the screen counts down from 1:58.

    Proposed
  3. Screens 6–7

    After the grace window

    MGA 1,000

    The cancellation fee, stated beside every cancel button.

    Read from the app
  4. Screen 7

    Driver waiting over 5 min

    + MGA 100/min

    Paid waiting; added to the fee if the rider cancels, itemised first.

    Rate read · stacking proposed

Detail · the identification card

The identification card

The same card on screens 6, 7 and 8: photo, name, trust line, car picture, plate as a chip.

The identification card: a photo of the driver, Ando Hery, 4.9 stars, 1,240 trips, 3 years on Piqla; beneath it a white Toyota Corolla, Economy, and the plate 5824 TBK as a chip.

Detail · the waiting rule

The waiting rule

One line beside the countdown it applies to; the rate was on the old screen too.

The waiting rule: a 3:42 countdown ring beside Free waiting, 3:42 left, then MGA 100 a minute, added to your fare.

09 · Cancelling with fees

What cancelling costs, itemised before the charge

The sheet sits over screens 5 to 7 and shows the rule the old app never stated: after acceptance the cancellation fee applies, and if paid waiting has already started it is added. Seven minutes after arrival that is MGA 1,000 plus two minutes at MGA 100. Both rules are proposals; the block below shows what moves if either is declined.

Sheet · proposed rule

The cancel sheet

Over screens 5 to 7. Seven minutes after arrival: MGA 1,000 plus two minutes at MGA 100.

Cancel sheet: cancellation after acceptance MGA 1,000, paid waiting 2 min × MGA 100, added to your next ride MGA 1,200, with Keep my ride as the gold button.

Line items before the charge

Cancellation after acceptance MGA 1,000 · paid waiting 2 min × MGA 100 = MGA 200 · total MGA 1,200.

The fee card: cancellation after acceptance MGA 1,000; paid waiting, 2 min × MGA 100, MGA 200; added to your next ride MGA 1,200.

Where the money goes

“Added to your next ride”, the live app’s own mechanism, stated on the sheet instead of discovered on the next booking.

Keep is primary

Keep my ride is the gold button; Cancel and pay MGA 1,200 is the quiet one, with the amount in its label.

Before · old app

A reasons popup, no price

Cancelling opened a list of reasons. The free window and the MGA 1,000 charge were not shown before it, and paid waiting was never mentioned.

If the rule changes

What moves on screen if a proposal is declined

Proposed rule

The grace window is rejected

The countdown on screen 6 disappears and the cancel note reads “MGA 1,000 after acceptance”; nothing else moves.

Proposed rule

Waiting is not stacked

The confirmation drops its second line and the total becomes the flat MGA 1,000.

Out of scope today

Local pricing comes into scope

Screen 4 needs an offer state: a price arrives after the request, with accept, decline and expiry. That is a separate piece of work.

10 · The trip and its ending

From the kerb to the receipt

Screens 8 and 9 end the ride. The numbers in the trip agree with the car, the driver card compacts so the journey leads, and the receipt stays apart from the rating.

Screen 8 · Trip

Progress you can read, drop‑off you can change

Arrival, distance and time left agree with the car’s position. The driver card compacts to one row so the journey leads. Edit drop‑off and Call share one outline row.

On the way: Heading to Lac Anosy, arriving around 9:55, 0.9 km and 5 min left on a 57% bar, the compact driver row, and Edit drop‑off beside Call.
After
The old in‑trip screen: Driver is on the way, the driver row, estimated distance, time and price, and Cancel Ride.
Before
  1. Numbers that agreeThe clock reads 9:50; “Arriving around 9:55 · 0.9 km · 5 min left” matches the 57% bar and the car’s position.
  2. Compact in‑trip cardPhoto, name, car and plate in one 68px row.
  3. Edit drop‑off reviewed firstThe button opens a confirm sheet with new fare and ETA before anything changes.
Screen 9 · Rider

Receipt and rating, kept apart

The fare card is the receipt: fare, promo, waiting, total, paid with Mvola, view receipt. The rating card is separate, unrated until a star is tapped, with chips and a comment field.

Trip complete: the receipt with fare, promo, waiting and total MGA 24,000 paid with Mvola, then a separate rating card with stars, chips and a comment field.
After
The old Fare summary: amount payable MGA 19000, pickup and drop‑off, distance and duration, and Pay with Cash.
Before
  1. A receipt that adds upMGA 25,000 − 1,000 promo, waiting free, total MGA 24,000, paid at 9:56.
  2. Rating is a choiceSubmit stays disabled until a star is chosen; shown after the rider picks four stars and two chips.
  3. Nothing lost on closeThe × skips the rating; the receipt stays in history.

The receipt, line by line

It adds up on screen

Economy fare
MGA 25,000
Promo PIQLA1000
− MGA 1,000
Waiting time
Free
Total, paid with Mvola at 9:56
MGA 24,000

The clocks, screen to screen

Times that agree with each other

  1. 9:41Where to
  2. 9:42Driver on the way
  3. 9:44Driver arrived
  4. 9:50On the way
  5. 9:56Trip complete

The old frames all read 9:41. Now 9:55, the arrival time shown on the way, is the pickup plus the 12‑minute trip.

11 · States and edge cases

What happens when the happy path breaks

A flow is only as good as its worst ride. These five states carry the rules that keep a trip honest. The drop‑off change is drawn in the prototype; the other four are specified here and still need frames. The cancel sheet, the other drawn exception, is in section 09.

  1. Keep the trip

    The route card stays through every stall, so nothing is ever retyped.

  2. Show a change before it lands

    A new route, fare or arrival is shown before the rider agrees.

  3. Say only what is known

    No percentage for an unknown wait, no retry while a payment may still succeed.

  4. Always a way out

    Every stall offers exits, and leaving is free when the rider did nothing.

Five states · each tagged with the rules it proves

Taking longer than usual

Specified · needs frames

When

“Usually takes under a minute” → after 60 s: “Taking longer than usual”

The three milestones stay visible; the active one animates and the subtitle changes. Three exits appear: keep waiting, widen the search, cancel free. No percentage is ever shown because the duration is not known.

Proves: say only what is known, always a way out

No driver found

Specified · needs frames

When

Matching ends with no acceptance

The screen never goes blank. It offers the same three exits and keeps the route card so the rider does not retype the trip.

Proves: keep the trip, always a way out

Driver cancels

Specified · needs frames

When

Acceptance withdrawn before arrival

Rematching starts immediately with the same route card. If the new ETA or fare differs, both are shown before the rider is asked to continue, and leaving is free because the rider did nothing.

Proves: keep the trip, show a change before it lands, always a way out

Drop‑off changed mid‑trip

Drawn in the prototype

When

Edit drop‑off tapped on screen 8

A confirm sheet shows the new route, the fare delta and the new arrival. Nothing changes until Confirm; Keep current is always one tap.

Proves: show a change before it lands

Payment pending or failed

Specified · needs frames

When

Mvola has not confirmed at arrival

Pending keeps the receipt open with “Confirming with Mvola” and no retry, because the payment may still succeed; Failed shows the reason and a retry with another method. The rating card stays available in both.

Proves: say only what is known, always a way out

12 · UI foundation

The system underneath

One gold, two inks, four greys and three surfaces. Plus Jakarta Sans at five sizes. Every control is 52 or 56px high with a 16px radius, every card is grey with an 18px radius, and every separator fades at its ends. All spacing sits on a 2px grid and nothing is set below 12px.

Colour

One gold, two inks, four greys

  • Gold · #ECAD10Primary action, route, markers, selection
  • Ink · #24211DText, destination pin, shadows
  • Icon ink · #57534BIcons, callouts, phone button
  • Grey · #736E66Secondary text
  • Surface · #F6F5F2Cards, fields
  • Cream · #FFF8E5Selected state, notices
Type

Plus Jakarta Sans, five sizes

The type scale in Plus Jakarta Sans: 22 for sheet titles, 16 for card titles and buttons, 14 for rows and labels, 13 for secondary lines, 12 for captions, the minimum.
Components

The pieces every screen reuses

The component kit: the gold Book Economy button with its fare, the Home and Work saved places with an Add chip, the map callout for the pickup, and the driver card with photo, car and plate.
Rules

Four rules the screens keep

Controls
52 or 56px high, radius 16
Cards
Grey surface, radius 18
Separators
Fade at both ends
Spacing and type
A 2px grid; nothing below 12px

13 · What this demonstrates

Where the information moved, counted on the same task

Nothing here was measured with riders. These are properties of the frames, counted on one task from app open to request sent, and the changes four rounds of heuristic self‑review made.

Before · old app

4 screens, price at step 4

  1. Home · pickup and drop‑off fields
  2. Choose drop‑off
  3. Select pickup
  4. Ride request · pool first, then pricePrice

The price appears on the fourth screen, after the pool.

After · this concept

4 screens, price at step 3

  1. Home · pickup detected, search
  2. Where to · results with estimated fare
  3. Destination selected · route, est. fare, extras notedPrice
  4. Choose ride · fixed fare, tiers, promo and payment as rows

The count is equal; the estimate moves one step earlier and promo and payment stop being screens.

One rule for both: screens a rider must pass through from app open to request sent, happy path. Cancel sheets, promo and payment are optional in both flows and excluded from both.

Estimated fare

See 06

Step 4→Step 3

where the estimate appears

Before the pool is chosen

Promo · payment

See 07

2→0

screens for promo and payment

Rows on the ride screen

Cancel cost

See 08

1→3

screens with the cost beside the button

Plus an itemised confirmation

The car

See 08

3→1

groups to read to identify the car

One card on three screens

Heuristic self‑review · not user sessions

Four rounds, 76 items, three that changed the screens most

IssueRaisedChanged
The fee was a surpriseCancel on three screens with no cost beside it; the free window and the waiting rate were never shown together, so it was unclear whether they added up.Every cancel states the current cost, and the confirmation itemises it: MGA 1,000 plus two paid minutes at MGA 100 equals MGA 1,200, added to the next ride.
“3 min” three timesMap callout, badge and title all said the ETA; the pickup point itself was never named.ETA lives in the title only. The callout names the meeting point and address; the live car marker sits on the route.
Clocks disagreedStatus bars read 9:41 on every screen while arrival said 9:55 and payment 9:56.Clocks now run 9:41 → 9:42 → 9:44 → 9:50 → 9:56, and 9:55 is pickup time plus the 12‑minute trip.

Declined with a reason: a Distance/Time/Arrival strip in the trip (the subtitle carries the same numbers), and chevrons on saved places (a tap selects at once). Reconsidered: the matching bar, which should show three milestones rather than a fill; section 11 specifies it.

What it cannot show

How riders read any of it

No sessions were run; comprehension is the open question. The screens put the price, the cost of cancelling and the car’s identity where a rider decides. Whether that is enough is what testing would tell.

Next step

A handful of sessions at a kerb in Antananarivo, with the prototype on a phone.