Bringing Word of the Day by LookUp to Apple TV

How an action-centered-design framework and SwiftUI helped me build the Apple TV app for Word of the Day by LookUp in an afternoon’s worth of work.

Bringing Word of the Day by LookUp to Apple TV


About 10 months ago, I launched Word of the Day by LookUp. A companion application of sorts that’s meant for the people who would like to see LookUp’s Word of the Day, but don’t want to pay for the rest of the vocabulary building feature set or dictionary features of LookUp.

I structured the app into four actions. Get today’s Word of the Day, get previous words of the day; and for each of those word of the day graphics, there are two additional functions i.e. pronounce the word, and share it with friends.

The app supports four actions


These actions are abstracted from the interface itself. Each action has a perform logic, an information layer (in this case the word of the day file or files) and an interface layer which can then take any shape.

This is an app that follows my Action-Centered-Framework where the interface is abstracted from the actions

This is an app that follows my Action-Centered-Framework.

So when a friend of mine met me a couple of weeks ago and suggested I bring the app to Apple TV, I thought to myself that this is going to be an interesting opportunity to test the flexibility of my own platform and I couldn’t have been happier with the results. I was able to bring the app to Apple TV within an afternoon’s work.

Bringing LookUp's Actions to the Apple TV with platform considerations in mind, the pronounce action evolved into a complete sentence that the app would read out to the viewer

Since each of the actions were in their own central system. I didn’t have to touch the perform logic at all. It was merely the interface logic that I was looking at, and SwiftUI helps with the rest. I figured the visionOS UI would look great on the TV as well since the two are similar media in terms of consumption of such content. I made a couple of tweaks that made the app tvOS specific; again my information layer proved to be malleable enough to transform into a new, similar view I wrote for tvOS, and voila! I had something on the tvOS running. A few tweaks later the app was ready.

What would’ve otherwise been a painfully re-drawing of views, and writing boiler plate code, was eased by abstracting the actions from the platforms. So I could focus on adapting the interface for a different platform.

The app scales across different platforms and different modals

An app is not just an interface on a phone screen anymore. It’s a multi-modal and multi platform experience, that goes from widgets on a phone screen to TV or mixed reality experiences. Why should we then design our apps centered around the phone or platform specific interface?

Apps are available across multiple platforms
And across modalities on each of those platforms

One more thing

As you can see with the UI here. This is a UI that’s consistent across different modalities and platforms. However it’s not same. it’s a UI that adapts and transforms into the platform it’s being displayed upon.

The same is true for the app’s icons which take shape of the platform they’re designed for. Consistent? Yes, Same? No.