Sample Apps

These sample apps will help you get started with developing on the Senza platform. Each app illustrates a few key concepts, and has a relatively short amount of code that you can copy and reuse in your app.

Many of the apps have Tutorials with detailed step-by-step instructions that cover every line of code. There are also Video Tutorials for many of the apps.

You can browse the source code for all of the apps on the Senza GitHub space. Check out some of the repos, make some changes, and try running them yourself to get a real feel for the platform.

There's a feed of updates to the sample apps in the #sample-code channel in the Developer Forums.

You can conveniently launch all of the apps from the launcher at senzadev.net.

Here's a video walkthrough of all the sample apps if you want to just lean back and watch!

Reference

Banner

This app demonstrates how to switch between playing video in the browser with user interface elements on top, and streaming video directly to the device in background mode.

Program Guide

This app demonstrates how to switch between playing video in the browser with user interface elements on top, and streaming video directly to the device in background mode.

Video Tutorials

Watch video tutorials that explain how to develop on the Senza platform, right on Senza. How very meta.

Signage

These apps show some examples of how Senza can be used for digital signage.

Chocolate

A digital signage demo that alternates between HTML content and streaming video in a loop.

Flights

A digital signage demo that shows departures at an airport.

Metro

A simple digital signage app that shows realtime train arrivals for stations on the Washington Metro.

Signs

Example that shows how to coordinate a slideshow of content across multiple screens. Use up/down to change channel, left/right to change slide, back to change settings. Warning: images of delicious food may cause sudden hunger!

Subway Status

Example of a public transit signage use case for vertical screens, featuring realtime disasters from the New York City Subway. Use left/right to rotate, OK to refresh.

Featured

These featured apps demonstrate some creative use cases made possible by Senza.

Imagine

What if you could talk to your TV, and it would show a picture of whatever you can imagine? With this app you can scan a QR code on your phone, just say what you're thinking, and the TV will generate a picture for you.

Popup Ads

An app that schedules popup ads to display on top of the video using Alarm Manager.

Smart Remote

A smart remote control that emulates the buttons on the standard remote, and adds a keyboard for text input, a trackpad for gestures, and a microphone for voice commands. It's like four remotes in one!

Fresco

Plays a video tiled across four screens, each of which shows one quarter of the whole video.

Mosaic

Demonstrates the ability of the browser to play multiple instances of the same video simultaneously in a grid layout. Use up/down to change number of videos, left/right to change timecode offset between videos, OK to play/pause.

Zoom

Zoom between two videos, one playing full screen and the other in a corner. Demonstrates the capability to play back multiple videos, with smooth transition animations. Use up/down arrows to switch videos, left/right to skip, and enter to play the larger video in background mode.

Techniques

These apps demonstrate some specific techniques that may be useful in your apps.

About This Device

Shows information about the current device from the Device Management API, such as tenant name and IP address. You should implement a page with this information inside your primary app to help users get info about their cloud connector.

Artwork Guidelines

Guidelines on how to create artwork for your app for display in the Content Hub. Also demonstrates how to view a PDF file in a Senza web app.

Flags

Shows the flag of the country where the user's device is located.

Hello

Using the client authentication flow to authorize a device and get user info. Also demonstrates how to show a QR code that lets the user authenticate their device on a mobile phone.

Stopwatch

This app demonstrates a technique for Profiling Your App, with banner that displays the amount of time spent in foreground and background mode, along with the percent of total time in foreground.

Stream Saver

This app shows a video screen saver after 30 seconds of inactivity, demonstrating how you can save money by transitioning the browser into background mode if the viewer is not interacting with your app.

Tears of Steel

Demonstrates how to play encrypted video in the remote player by requesting a license from the Widevine server.

Vertical

Example that shows how to adapt content for display on vertical screens, with animations. Use left/right buttons to rotate. Warning: may cause vertical video syndrome.

Zombies

Demonstrates how to send emergency alert notifications using the Group Messaging API.

Fun

Here are a few more apps just for fun.

TV Guide

A retro-style TV guide program grid, made with vibe coding.

Dunnet

A text-based adventure game that you can play with the remote control! Use the arrows to type directions, OK to confirm. Hit back to toggle command mode, then use the arrows to browse commands.

iConquer

Example of adapting a board game to use remote control navigation with non-grid based content. Use arrow buttons to move between countries.

Three.js

Browse through hundreds of 3D scenes created using the Three.js library. Use up/down to select scenes.

Tic Tac Toe

Simple example that shows how to use the remote control to select content in a grid, featuring a game of tic tac toe. Use arrow buttons to move, OK to mark a box as X or O, back to clear.

WebGL Globe

Demonstrates how to adapt an existing 3D web app to use remote control input.


What’s Next