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 several 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.
The sample code generally uses JavaScript ES6 programming techniques, such as modules, classes and asynchronous programming, but all the sample code can be adapted into ES5 apps. See the banner-es5 and tears-es5 repos for examples.
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.
Video
Here's a video walkthrough of all the sample apps if you want to just lean back and watch!
Unified Player
- Technologies: Video
- Source code: https://github.com/synamedia-senza/unified-player
- Demo: https://senzadev.net/unified-player/
- Tutorial: Playing Video
- Video tutorial: Running a sample app
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
- Technologies: Video
- Source code: https://github.com/synamedia-senza/video-tutorials/
- Demo: https://senzadev.net/video-tutorials/
- Tutorial: Video Tutorials (yes, a tutorial on the tutorials)
- See also: Video Tutorials, Encoding Video
Watch video tutorials that explain how to develop on the Senza platform, right on Senza. How very meta.
About This Device
- Technologies: Device Info
- Source code: https://github.com/synamedia-senza/about
- Demo: https://senzadev.net/about/
- Tutorial: Coming Soon
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
- Technologies: PDF
- Source code: https://github.com/synamedia-senza/artwork
- Demo: https://senzadev.net/artwork/
- Tutorial: Coming Soon
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.
Chocolate
- Technologies: Video, digital signage, fonts, animation
- Source code: https://github.com/synamedia-senza/chocolate
- Demo: https://senzadev.net/chocolate/
- Tutorial: Video Signage
A digital signage demo that alternates between HTML content and streaming video in a loop.
Dunnet
- Technologies: PDF
- Source code: https://github.com/synamedia-senza/dunnet
- Demo: https://senzadev.net/dunnet/
- Tutorial: Adapting a text-based adventure game
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.
Eagles
- Technologies: Video, YouTube
- Source code: https://github.com/synamedia-senza/eagles
- Demo: https://senzadev.net/eagles/
- Tutorial: YouTube
Watch full screen streaming video from YouTube, featuring the eagles of Big Bear Valley. Use OK to play/pause.
Flags
- Technologies: Geolocation
- Source code: https://github.com/synamedia-senza/flags/
- Demo: https://senzadev.net/flags/
- Tutorial: Geolocation
Shows the flag of the country where the user's device is located.
Flights
- Technologies: Digital signage, animation, fonts, localization
- Source code: https://github.com/synamedia-senza/flights/
- Demo: https://senzadev.net/flights/
- Tutorial: Flight Departures
View the flight information display system.
Fresco
- Technologies: Video, Multiscreen
- Source code: https://github.com/synamedia-senza/fresco
- Demo: https://senzadev.net/fresco/
- Tutorial: Displaying a video across multiple screens
Plays a video tiled across four screens, each of which shows one quarter of the whole video.
Hello
- Technologies: Device authentication
- Source code: https://github.com/synamedia-senza/hello
- Demo: https://senzadev.net/hello
- Tutorials: Device Authentication, QR Code Authentication
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.
iConquer
- Technologies: Remote control
- Source code: https://github.com/synamedia-senza/iconquer
- Demo: https://senzadev.net/iconquer
- Tutorial: Adapting a board game
Example of adapting a board game to use remote control navigation with non-grid based content. Use arrow buttons to move between countries.
Imagine
- Technologies: Voice, QR codes, Mobile, Generative AI
- Source code: https://github.com/synamedia-senza/imagine
- Demo: https://senzadev.net/imagine/
- Tutorial: Voice Input
- Video tutorial: Speech Recognition
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.
Mosaic
- Technologies: Video
- Source code: https://github.com/synamedia-senza/mosaic
- Demo: https://senzadev.net/mosaic/
- Tutorial: Displaying multiple videos tiled across one screen
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.
Signs
- Technologies: Digital signage, Multiscreen, Animations
- Source code: https://github.com/synamedia-senza/signs
- Demo: https://senzadev.net/signs/
- Tutorial: Creating a multi-screen slideshow
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!
Smart Remote
- Technologies: Remote control, Text input, Gesture input, Speech Recognition
- Source code: https://github.com/synamedia-senza/remote
- Demo: https://senzadev.net/remote/
- Tutorial: Smart Remote
- Video tutorial: 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!
Stream Saver
- Technologies: Video, Screen saver
- Source code: https://github.com/synamedia-senza/stream-saver
- Demo: https://senzadev.net/stream-saver/
- Tutorial: 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.
Stopwatch
- Technologies: Video
- Source code: https://github.com/synamedia-senza/stopwatch
- Demo: https://senzadev.net/stopwatch/
- Tutorial: Stopwatch
- Video tutorial:
This app demonstrates a technique for Profiling Your App, with banner that displays the amount of time spend in foreground and background mode, along with the percent of total time in foreground.
Subway Status
- Technologies: Digital signage
- Source code: https://github.com/synamedia-senza/subway-status
- Demo: https://senzadev.net/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.
Tears of Steel
- Technologies: Video, encrypted content
- Source code: https://github.com/synamedia-senza/tears (see also ES5 version)
- Demo: https://senzadev.net/tears/
- Tutorial: Playing encrypted content by requesting a license from the Widevine server
Demonstrates how to play encrypted video in the remote player by requesting a license from the Widevine server.
Three.js
- Technologies: 3D
- Source code: https://github.com/synamedia-senza/three.js
- Demo: https://senzadev.net/three.js/examples/
Browse through hundreds of 3D scenes created using the Three.js library. Use up/down to select scenes.
Tic Tac Toe
- Technologies: Remote control
- Source code: https://github.com/synamedia-senza/tic-tac-toe
- Demo: https://senzadev.net/tic-tac-toe/
- Tutorial: Making your website remote-control friendly
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.
Vertical
- Technologies: Digital signage, animations
- Source code: https://github.com/synamedia-senza/vertical
- Demo: https://senzadev.net/vertical/
- Tutorial: Vertical Screens
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.
WebGL Globe
- Technologies: 3D, Remote control
- Source code: https://github.com/synamedia-senza/artwork
- Demo: https://senzadev.net/webgl-globe/
- Tutorial: Adding 3D navigation to a WebGL model
Demonstrates how to adapt an existing 3D web app to use remote control input.
Zombies
- Technologies: Group messaging
- Source code: https://github.com/synamedia-senza/zombies
- Demo: https://senzadev.net/zombies/
- Tutorial: Sending emergency alert notifications
- Video Tutorial: Emergency Alerts
Demonstrates how to send emergency alert notifications using the Group Messaging API.
Zoom
- Technologies: Video, animations
- Source code: https://github.com/synamedia-senza/zoom
- Demo: https://senzadev.net/zoom/
- Tutorial: Picture in Picture
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.
Updated 6 days ago