Interface Delegation


Interface delegation is a common concept in programming languages like Cobol and Delphi. "Delegation refers to one object relying upon another to provide a specified set of functionalities" — (Wikipedia: Delegation (programming)), but in our physical world is way more common than we could imagine.

Lets see an example:

Sky Set-top box Remote

The Sky remote inherits features from the set-top-box device providing the user physical access to complete tasks and perform actions.

Sky UI

Meanwhile the interface on the TV provides feedback about what you should do with your remote to interact with it.

But why this matters in design?

Interfaces are extensions of our capabilities, either physical or cognitive. They allow us to execute a really wide range of tasks in a more practical or effective way. They could be physical (like the remote) or virtual (like the GUI on the screen).

Interface delegation as "one object relying upon another to provide a specified set of functionalities" means we will have two (or more) interfaces to interact with.

But sometimes this situation always ends up in something like this:

The "grandma" paradigm

The "grandma" paradigm is nothing but an answer to the basic question: "how will user actually use this".

Our job as designers should always derive from the exhaustive analysis of data. User research, user journeys, interaction analysis, etc.

Most of "grandma" nightmares born when we "delegate interfaces" from one device to another in order "to provide more control" or "solve every single user scenario"

But lets see another example:

Apple TV Remote (latest generation)

The Apple remote features only two main blocks of inputs, a touch surface and an array of action buttons that controls the main interface (this one includes a voice recognition interface through a microphone)

Apple TV GUI

Both interfaces seem to be quite different between each other. Apple interfaces are usually quite simple and straightforward, quite contrary to the typical embedded solution used in most set-top-boxes, but why?!

Research, Design, Testing, Research, Design, Testing…

The TL;DR version is pretty simple, Apple invests on research.

The long answer involves vision, respect and methodology, but I'm not going to address that subject now.

Ok, but how it works?

Well, in Design, interface delegation helps users to extend or concentrate their interaction outside the main device, allowing them to be independent from it.

A non-digital example could be the "classic manual stick transmission" in cars versus the "modern sync paddle shift" where the user controls an interface that controls a computer who processes the action to move the transmission gears in synchronic order.

Manual Stick v/s Manual Paddle Shift

In the digital world we can see this all the time. Smartwatches are secondary devices acting as delegated surrogates who allow us to control the main interface, our phones.

I've got it, so when to use it?

When you need it!

No, seriously, Interface delegation is a concept, a tool. It will only make sense when your research shows you need to give the user that solution.

How can I learn more about it?

Here are a couple of articles related to the matter:

The Interface Segregation Principle
Interface Segregation Principle — Robert C. Martin (PDF)

Delegation Pattern
Delegation Pattern — Best Practice Software Engineering, TU Wien