Filter View Hierarchy

UIApplication

UIScreen

UIWindowScene

UIWindow

Gesture Recognizers

Constraints

UICollectionView

Gesture Recognizers

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "Last Week"

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "This Week"

Constraints

Film Photos App

iPhone 16 Pro (iOS 26)

UIApplication

UIScreen

UIWindowScene

UIWindow

UICollectionView

UICollectionViewCell

@cjmlgrto

Film Photos

This Week

3

Last Week

8

2 Weeks Ago

5

Oct 20 to 26

4

Oct 13 to 19

7

Oct 6 to 12

2

View

Layer

CALayer

Color

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Border

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Shadow

Opacity

1

Background

(Resolved Color)

#000000FF

HEX

RGB

Offset

W

0

H

2

Radius

6

Masking

Masked to Bounds

Corner Curve

Continuous

Min X + Min Y

Max X + Min Y

Min X + Max Y

Max X + Max Y

Filter View Hierarchy

UIApplication

UIScreen

UIWindowScene

UIWindow

Gesture Recognizers

Constraints

UICollectionView

Gesture Recognizers

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "Last Week"

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "This Week"

Constraints

Film Photos App

iPhone 16 Pro (iOS 26)

UIApplication

UIScreen

UIWindowScene

UIWindow

UICollectionView

UICollectionViewCell

@cjmlgrto

Film Photos

This Week

3

Last Week

8

2 Weeks Ago

5

Oct 20 to 26

4

Oct 13 to 19

7

Oct 6 to 12

2

View

Layer

CALayer

Color

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Border

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Shadow

Opacity

1

Background

(Resolved Color)

#000000FF

HEX

RGB

Offset

W

0

H

2

Radius

6

Masking

Masked to Bounds

Corner Curve

Continuous

Min X + Min Y

Max X + Min Y

Min X + Max Y

Max X + Max Y

Filter View Hierarchy

UIApplication

UIScreen

UIWindowScene

UIWindow

Gesture Recognizers

Constraints

UICollectionView

Gesture Recognizers

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "Last Week"

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "This Week"

Constraints

Film Photos App

iPhone 16 Pro (iOS 26)

UIApplication

UIScreen

UIWindowScene

UIWindow

UICollectionView

UICollectionViewCell

@cjmlgrto

Film Photos

This Week

3

Last Week

8

2 Weeks Ago

5

Oct 20 to 26

4

Oct 13 to 19

7

Oct 6 to 12

2

View

Layer

CALayer

Color

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Border

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Shadow

Opacity

1

Background

(Resolved Color)

#000000FF

HEX

RGB

Offset

W

0

H

2

Radius

6

Masking

Masked to Bounds

Corner Curve

Continuous

Min X + Min Y

Max X + Min Y

Min X + Max Y

Max X + Max Y

Reveal for macOS

Rivalled by Xcode, Reveal is a pro desktop tool helps developers visualise the complex layers within an iOS app, inspect its properties, and debug a connected app in real-time. (A little like “inspect element” on the web, but for native apps on your iPhone).

type

Interface Design

company

Itty Bitty Apps

Shipped

2021

Team

Sean Woodhouse, Tony Arnold, Oliver Jones, Chris Kolbu

Filter View Hierarchy

UIApplication

UIScreen

UIWindowScene

UIWindow

Gesture Recognizers

Constraints

UICollectionView

Gesture Recognizers

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "Last Week"

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "This Week"

Constraints

Filter View Hierarchy

UIApplication

UIScreen

UIWindowScene

UIWindow

Gesture Recognizers

Constraints

UICollectionView

Gesture Recognizers

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "Last Week"

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "This Week"

Constraints

Filter View Hierarchy

UIApplication

UIScreen

UIWindowScene

UIWindow

Gesture Recognizers

Constraints

UICollectionView

Gesture Recognizers

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "Last Week"

Constraints

UICollectionViewCell

Gesture Recognizers

Constraints

UIView

Constraints

UIImageView

UIView

Constraints

Width

Top

Label: "This Week"

Constraints

The Outline

An iOS app is composed of layers upon layers of subviews in a tree called the View Hierarchy.

Reveal's Outline sidebar was designed to help developers scan complex hierarchies at a glance with the right amount of information density.

Film Photos App

iPhone 16 Pro (iOS 26)

Film Photos App

iPhone 16 Pro (iOS 26)

Film Photos App

iPhone 16 Pro (iOS 26)

UIApplication

UIScreen

UIWindowScene

UIWindow

UICollectionView

UICollectionViewCell

@cjmlgrto

Film Photos

This Week

3

Last Week

8

2 Weeks Ago

5

Oct 20 to 26

4

Oct 13 to 19

7

Oct 6 to 12

2

@cjmlgrto

Film Photos

This Week

3

Last Week

8

2 Weeks Ago

5

Oct 20 to 26

4

Oct 13 to 19

7

Oct 6 to 12

2

The Toolbar

Adapting macOS design guidelines, Reveal's toolbar displays a set of controls for the window as a whole. It also shows the status of the connected iOS app.

The Canvas

Reveal's most useful, and arguably, iconic feature is the 3D canvas. Minimal interface controls adorn a snapshot of the connected iOS app, allowing to browse complex layers from a different perspective.

The Inspector

Designing the inspector was challenging, because every type of view in UIKit had a different set of properties to inspect.

As a result, a system of modular controls were designed instead, which could be programatically generated, allowing support for many different kinds of layers to inspect.

View

Layer

CALayer

Color

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Border

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Shadow

Opacity

1

Background

(Resolved Color)

#000000FF

HEX

RGB

Offset

W

0

H

2

Radius

6

Masking

Masked to Bounds

Corner Curve

Continuous

Min X + Min Y

Max X + Min Y

Min X + Max Y

Max X + Max Y

View

Layer

CALayer

Color

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Border

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Shadow

Opacity

1

Background

(Resolved Color)

#000000FF

HEX

RGB

Offset

W

0

H

2

Radius

6

Masking

Masked to Bounds

Corner Curve

Continuous

Min X + Min Y

Max X + Min Y

Min X + Max Y

Max X + Max Y

View

Layer

CALayer

Color

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Border

Opacity

1

Background

(Resolved Color)

#FFFFFFFF

HEX

RGB

Shadow

Opacity

1

Background

(Resolved Color)

#000000FF

HEX

RGB

Offset

W

0

H

2

Radius

6

Masking

Masked to Bounds

Corner Curve

Continuous

Min X + Min Y

Max X + Min Y

Min X + Max Y

Max X + Max Y

The Icons

An icon was needed to represent every type of view in UIKit that could be inspected within Reveal. Each icon had to be semantic, hierarchical, and recognisable at a glance.

The result is a harmonious library of icons, designed individually, that work across different size and colour contexts, and yet still feels right at home on the Mac.

More Case Studies

CM

Card

Lock Card

View Details

Controls

Activate

Controls

Card Ordered

It should be shipped in a day or two.

Card Shipped

It should arrive in 5 to 10 days.

Out for Delivery

Once received, activate your card.

Delivery Expected

Once received, activate your card.

View Delivery Details

Change Card PIN

For payments and withdrawals

Card on File

See who's got your card on file

Cancel and Replace Card

For lost or stolen card details

Order a New Card

Get a new copy of your physical card

CM

Card

Lock Card

View Details

Controls

Activate

Controls

Card Ordered

It should be shipped in a day or two.

Card Shipped

It should arrive in 5 to 10 days.

Out for Delivery

Once received, activate your card.

Delivery Expected

Once received, activate your card.

View Delivery Details

Change Card PIN

For payments and withdrawals

Card on File

See who's got your card on file

Cancel and Replace Card

For lost or stolen card details

Order a New Card

Get a new copy of your physical card

CM

Card

Lock Card

View Details

Controls

Activate

Controls

Card Ordered

It should be shipped in a day or two.

Card Shipped

It should arrive in 5 to 10 days.

Out for Delivery

Once received, activate your card.

Delivery Expected

Once received, activate your card.

View Delivery Details

Change Card PIN

For payments and withdrawals

Card on File

See who's got your card on file

Cancel and Replace Card

For lost or stolen card details

Order a New Card

Get a new copy of your physical card

01

Cards

01

Cards

01

Cards

02

Reveal Icon

02

Reveal Icon

02

Reveal Icon

ANZ ATM

839 Collins St

200m

03

ATM Finder

03

ATM Finder

03

ATM Finder