Professional Documents
Culture Documents
D101 Traganos
D101 Traganos
®
©2015 Roku Inc. All rights reserved. 1
Session Overview @ #SMWest
Business focus: Developer focus:
• Roku at-a-glance • The Roku platform
• Features of Roku OS 7 • SDK & Technical Concepts
• Monetization • How to: Build a Channel
• Channel Store 101 • Q&A
®
©2015 Roku Inc. All rights reserved. 2
{Quick Note:}
Steps to follow along
in the 2nd half of workshop
®
©2015 Roku Inc. All rights reserved. 3
Developer Steps: Building on the Roku Platform
Prep work for the Roku Channel dev walk-through:
1. Create your Roku Account: my.roku.com/signup
2. Join Dev Program developer.roku.com/home
3. Download samples at bit.ly/rokudevxml
®
©2015 Roku Inc. All rights reserved. 4
{Part 1:}
Opportunities, features, monetization,
and the Roku Channel Store
®
©2015 Roku Inc. All rights reserved. 5
Roku at-a-glance
• Roku OS is purpose-built for the TV
• Runs across Roku streaming players and (smart) Roku TVs
• Players sold in the US, UK, Ireland, Canada, Mexico & France
• Now with 4K UHD capable devices too
• Nearly 3,000 channels across 20+ genres (in the U.S.)
• Roku has 7.5M active accounts today
• Roku accounts stream an average of 60 hours per month
®
©2015 Roku Inc. All rights reserved. 6
A broadly deployed platform
®
©2015 Roku Inc. All rights reserved. 7
We focus on the
User Experience
Top Entertainment
Easy to Use
®
©2015 Roku Inc. All rights reserved. 8
Wide breadth of content across all genres
The top shows, movies, and networks all streaming on the Roku platform
Movies &
Sports News & Weather Music
TV episodes
64.4 64.3
57.5
34.4
26.4
23.1
20.4
18.8
14.7
Microsoft Xbox Sony PlayStation Roku Players/ Samsung Smart Amazon Fire TV/ Vizio Smart TV Google Apple TV LG Smart TV
Stick TV Stick Chromecast
®
©2015 Roku Inc. All rights reserved. 12
Roku OS 7 – Containers and Codecs
Specs: Approach:
• Codecs: H.264, H.265, • All commonly used
AAC, PCM, WMA, MP3 formats are supported
Streaming: MP4, DASH, on our platform
HLS, Smooth, MPEG-TS • Codec support is driven
by developer demand
®
©2015 Roku Inc. All rights reserved. 13
Roku Billing: Frictionless signup + conversions
®
©2015 Roku Inc. All rights reserved. 14
Ads: TV Ads on an OTT Platform
• Roku offers a rich toolset to
acquire, grow and monetize
your audience
• Roku Ad Framework (RAF) –
Integrates advanced video ad
functionality into the Roku OS
• 1st streaming platform to
integrate Nielsen Digital Ad
Ratings
®
©2015 Roku Inc. All rights reserved. 15
Channel Store 101
channelstore.roku.com
®
©2015 Roku Inc. All rights reserved. 16
®
©2015 Roku Inc. All rights reserved. 17
®
©2015 Roku Inc. All rights reserved. 18
®
©2015 Roku Inc. All rights reserved. 19
Details for Roku Channels
Public Channels:
• QA certification process
• Listed in Roku Channel Store
• Ratings, description,
screenshots, & “+add
channel”
Note: Private channels are available for beta testing
®
©2015 Roku Inc. All rights reserved. 20
Add/Remove Channels:
©2015 Roku Inc. All rights reserved. developer.roku.com/apps
®
21
{Part 2:}
How to Build a Channel
on the Roku Platform
®
©2015 Roku Inc. All rights reserved. 22
Building a Roku Channel
Core Requirements:
• Roku player
• Roku user account
• Internet access
• sdkdocs.roku.com
®
©2015 Roku Inc. All rights reserved. 23
Building a Roku Channel
Software Requirements:
• Text Editor / IDE
• Ability to “zip” files
• Command line app +
telnet access
®
©2015 Roku Inc. All rights reserved. 24
Basic Roku Development
Core Concepts:
• BrightScript: Roku’s scripting language similar to
Visual Basic in which Roku channels are built
• Roku SceneGraph: an XML based rendering
framework for building channels with Roku OS
• Side-Loading: Devs build + test apps on Roku devices
• Packaging: Roku devices prepare apps for publishing
®
©2015 Roku Inc. All rights reserved. 25
Get your Roku device into “Developer Mode”!
Using our super secret code on your Roku remote:
®
©2015 Roku Inc. All rights reserved. 26
Save your Roku’s URL
®
©2015 Roku Inc. All rights reserved. 27
Read agreement +
agree to continue
®
©2015 Roku Inc. All rights reserved. 28
Reboot the Roku
in “Dev Mode”
®
©2015 Roku Inc. All rights reserved. 29
Go to your Roku device URL in a browser
®
©2015 Roku Inc. All rights reserved. 30
“Side Loading” a Roku Channel
Core Concepts:
• Channel sent to Roku device as .zip via uploader
• Only one developer channel at a time, new
uploads replace the previous one
• Script runs and if successful, channel will launch
• Dev channel lives in “My Channels”
®
©2015 Roku Inc. All rights reserved. 31
Debug Feature:
Roku’s Telnet Console
Get direct access to breakpoints,
error logs, and app details
®
©2015 Roku Inc. All rights reserved. 32
What’s inside a Roku Channel?
File structure of a .zip directory
®
©2015 Roku Inc. All rights reserved. 33
What’s inside a Roku Channel?
File structure of a .zip directory
Optional Items
®
©2015 Roku Inc. All rights reserved. 34
The channel Manifest file
Attributes + versioning for channel
®
©2015 Roku Inc. All rights reserved. 35
The channel source files
The starting point for Roku channels
®
©2015 Roku Inc. All rights reserved. 36
The XML components
Loading SceneGraph to draw screens
®
©2015 Roku Inc. All rights reserved. 37
Roku BrightScript
®
©2015 Roku Inc. All rights reserved. 38
Roku BrightScript
• Roku’s interpreted • Booleans, Integers,
language Floats, Doubles, Strings
• Optimized for our (ASCII), Objects
hardware & OS • Loops, OOP patterns,
• Dynamically typed associative arrays
®
©2015 Roku Inc. All rights reserved. 39
BrightScript flow control
Loops:
• If / else
• For
• For each
• While
®
©2015 Roku Inc. All rights reserved. 40
Roku SceneGraph
(RSG)
®
©2015 Roku Inc. All rights reserved. 41
Roku SceneGraph
• XML-based framework • Multi-resolution
for building apps on support w/ fallbacks for
Roku devices legacy screens
• Screens are rendered • Custom fonts, XML tree
from XML markup inheritance, animations
• Pre-built components
®
©2015 Roku Inc. All rights reserved. 42
SceneGraph: There are four visible “nodes”
Block level elements in the XML tree
®
©2015 Roku Inc. All rights reserved. 43
SceneGraph Draws multiple nodes on screen
®
©2015 Roku Inc. All rights reserved. 44
Combining nodes, we get pre-built components
• Lists
• Buttons
• In-app Keyboards
• Number pads
• Dialog boxes
®
©2015 Roku Inc. All rights reserved. 45
Dialog Boxes
®
©2015 Roku Inc. All rights reserved. 46
Pin keypad
®
©2015 Roku Inc. All rights reserved. 47
In-app Keyboards
®
©2015 Roku Inc. All rights reserved. 48
Containers for the channel are “Scenes”
®
©2015 Roku Inc. All rights reserved. 49
Channel Spotlight
®
©2015 Roku Inc. All rights reserved. 50
®
©2015 Roku Inc. All rights reserved. 51
®
©2015 Roku Inc. All rights reserved. 52
®
©2015 Roku Inc. All rights reserved. 53
®
©2015 Roku Inc. All rights reserved. 54
®
©2015 Roku Inc. All rights reserved. 55
®
©2015 Roku Inc. All rights reserved. 56
For more RSG, dig into our developer docs
sdkdocs.roku.com
®
©2015 Roku Inc. All rights reserved. 57
Conclusion
®
©2015 Roku Inc. All rights reserved. 58
Wrapping up
®
©2015 Roku Inc. All rights reserved. 59
Thanks for Building
on the Roku Platform!
Questions?
Chris Traganos @ctraganos
@rokudev
®
©2015 Roku Inc. All rights reserved. 60
®
©2015 Roku Inc. All rights reserved. 61