<div class="env-inform">You are currently viewing PRODUCTION environment.</div><!DOCTYPE html>

<html lang="en-US" prefix="og: http://ogp.me/ns#" xmlns:fb="//www.facebook.com/2008/fbml" xmlns:og="//ogp.me/ns#">

<head>
<!-- Roku Theme v3.1 -->
<!-- 242.70.253.36 -->
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />


<link rel="profile" href="//gmpg.org/xfn/11" />
<link rel="stylesheet" type="text/css" media="all" href="https://image.roku.com/blog/wp-content/themes/roku3-1/style.css" />

<link rel="pingback" href="https://www.roku.com/blog/xmlrpc.php" />

<script type="text/javascript">
	var site_url = 'https://www.roku.com/blog';
	// Handle GTM dataLayer
	dataLayer = [];
	dataLayer.push({'roles':""});
</script>

<script type="text/javascript">
window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o?o:e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({QJf3ax:[function(t,e){function n(t){function e(e,n,a){t&&t(e,n,a),a||(a={});for(var c=s(e),f=c.length,u=i(a,o,r),d=0;f>d;d++)c[d].apply(u,n);return u}function a(t,e){f[t]=s(t).concat(e)}function s(t){return f[t]||[]}function c(){return n(e)}var f={};return{on:a,emit:e,create:c,listeners:s,_events:f}}function r(){return{}}var o="nr@context",i=t("gos");e.exports=n()},{gos:"7eSDFh"}],ee:[function(t,e){e.exports=t("QJf3ax")},{}],3:[function(t){function e(t){try{i.console&&console.log(t)}catch(e){}}var n,r=t("ee"),o=t(1),i={};try{n=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(i.console=!0,-1!==n.indexOf("dev")&&(i.dev=!0),-1!==n.indexOf("nr_dev")&&(i.nrDev=!0))}catch(a){}i.nrDev&&r.on("internal-error",function(t){e(t.stack)}),i.dev&&r.on("fn-err",function(t,n,r){e(r.stack)}),i.dev&&(e("NR AGENT IN DEVELOPMENT MODE"),e("flags: "+o(i,function(t){return t}).join(", ")))},{1:22,ee:"QJf3ax"}],4:[function(t){function e(t,e,n,i,s){try{c?c-=1:r("err",[s||new UncaughtException(t,e,n)])}catch(f){try{r("ierr",[f,(new Date).getTime(),!0])}catch(u){}}return"function"==typeof a?a.apply(this,o(arguments)):!1}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function n(t){r("err",[t,(new Date).getTime()])}var r=t("handle"),o=t(6),i=t("ee"),a=window.onerror,s=!1,c=0;t("loader").features.err=!0,t(5),window.onerror=e;try{throw new Error}catch(f){"stack"in f&&(t(1),t(2),"addEventListener"in window&&t(3),window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent)&&t(4),s=!0)}i.on("fn-start",function(){s&&(c+=1)}),i.on("fn-err",function(t,e,r){s&&(this.thrown=!0,n(r))}),i.on("fn-end",function(){s&&!this.thrown&&c>0&&(c-=1)}),i.on("internal-error",function(t){r("ierr",[t,(new Date).getTime(),!0])})},{1:9,2:8,3:6,4:10,5:3,6:23,ee:"QJf3ax",handle:"D5DuLP",loader:"G9z0Bl"}],5:[function(t){function e(){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var n=t("ee"),r=t("handle"),o=t(1),i=t(2);t("loader").features.stn=!0,t(3),n.on("fn-start",function(t){var e=t[0];e instanceof Event&&(this.bstStart=Date.now())}),n.on("fn-end",function(t,e){var n=t[0];n instanceof Event&&r("bst",[n,e,this.bstStart,Date.now()])}),o.on("fn-start",function(t,e,n){this.bstStart=Date.now(),this.bstType=n}),o.on("fn-end",function(t,e){r("bstTimer",[e,this.bstStart,Date.now(),this.bstType])}),i.on("fn-start",function(){this.bstStart=Date.now()}),i.on("fn-end",function(t,e){r("bstTimer",[e,this.bstStart,Date.now(),"requestAnimationFrame"])}),n.on("pushState-start",function(){this.time=Date.now(),this.startPath=location.pathname+location.hash}),n.on("pushState-end",function(){r("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),"addEventListener"in window.performance&&(window.performance.addEventListener("webkitresourcetimingbufferfull",function(){r("bstResource",[window.performance.getEntriesByType("resource")]),window.performance.webkitClearResourceTimings()},!1),window.performance.addEventListener("resourcetimingbufferfull",function(){r("bstResource",[window.performance.getEntriesByType("resource")]),window.performance.clearResourceTimings()},!1)),document.addEventListener("scroll",e,!1),document.addEventListener("keypress",e,!1),document.addEventListener("click",e,!1)}},{1:9,2:8,3:7,ee:"QJf3ax",handle:"D5DuLP",loader:"G9z0Bl"}],6:[function(t,e){function n(t){i.inPlace(t,["addEventListener","removeEventListener"],"-",r)}function r(t){return t[1]}var o=(t(1),t("ee").create()),i=t(2)(o),a=t("gos");if(e.exports=o,n(window),"getPrototypeOf"in Object){for(var s=document;s&&!s.hasOwnProperty("addEventListener");)s=Object.getPrototypeOf(s);s&&n(s);for(var c=XMLHttpRequest.prototype;c&&!c.hasOwnProperty("addEventListener");)c=Object.getPrototypeOf(c);c&&n(c)}else XMLHttpRequest.prototype.hasOwnProperty("addEventListener")&&n(XMLHttpRequest.prototype);o.on("addEventListener-start",function(t){if(t[1]){var e=t[1];"function"==typeof e?this.wrapped=t[1]=a(e,"nr@wrapped",function(){return i(e,"fn-",null,e.name||"anonymous")}):"function"==typeof e.handleEvent&&i.inPlace(e,["handleEvent"],"fn-")}}),o.on("removeEventListener-start",function(t){var e=this.wrapped;e&&(t[1]=e)})},{1:23,2:24,ee:"QJf3ax",gos:"7eSDFh"}],7:[function(t,e){var n=(t(2),t("ee").create()),r=t(1)(n);e.exports=n,r.inPlace(window.history,["pushState"],"-")},{1:24,2:23,ee:"QJf3ax"}],8:[function(t,e){var n=(t(2),t("ee").create()),r=t(1)(n);e.exports=n,r.inPlace(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame"],"raf-"),n.on("raf-start",function(t){t[0]=r(t[0],"fn-")})},{1:24,2:23,ee:"QJf3ax"}],9:[function(t,e){function n(t,e,n){t[0]=o(t[0],"fn-",null,n)}var r=(t(2),t("ee").create()),o=t(1)(r);e.exports=r,o.inPlace(window,["setTimeout","setInterval","setImmediate"],"setTimer-"),r.on("setTimer-start",n)},{1:24,2:23,ee:"QJf3ax"}],10:[function(t,e){function n(){f.inPlace(this,p,"fn-")}function r(t,e){f.inPlace(e,["onreadystatechange"],"fn-")}function o(t,e){return e}function i(t,e){for(var n in t)e[n]=t[n];return e}var a=t("ee").create(),s=t(1),c=t(2),f=c(a),u=c(s),d=window.XMLHttpRequest,p=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"];e.exports=a,window.XMLHttpRequest=function(t){var e=new d(t);try{a.emit("new-xhr",[],e),u.inPlace(e,["addEventListener","removeEventListener"],"-",o),e.addEventListener("readystatechange",n,!1)}catch(r){try{a.emit("internal-error",[r])}catch(i){}}return e},i(d,XMLHttpRequest),XMLHttpRequest.prototype=d.prototype,f.inPlace(XMLHttpRequest.prototype,["open","send"],"-xhr-",o),a.on("send-xhr-start",r),a.on("open-xhr-start",r)},{1:6,2:24,ee:"QJf3ax"}],11:[function(t){function e(t){var e=this.params,r=this.metrics;if(!this.ended){this.ended=!0;for(var i=0;c>i;i++)t.removeEventListener(s[i],this.listener,!1);if(!e.aborted){if(r.duration=(new Date).getTime()-this.startTime,4===t.readyState){e.status=t.status;var a=t.responseType,f="arraybuffer"===a||"blob"===a||"json"===a?t.response:t.responseText,u=n(f);if(u&&(r.rxSize=u),this.sameOrigin){var d=t.getResponseHeader("X-NewRelic-App-Data");d&&(e.cat=d.split(", ").pop())}}else e.status=0;r.cbTime=this.cbTime,o("xhr",[e,r,this.startTime])}}}function n(t){if("string"==typeof t&&t.length)return t.length;if("object"!=typeof t)return void 0;if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if("undefined"!=typeof FormData&&t instanceof FormData)return void 0;try{return JSON.stringify(t).length}catch(e){return void 0}}function r(t,e){var n=i(e),r=t.params;r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.sameOrigin=n.sameOrigin}if(window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent)){t("loader").features.xhr=!0;var o=t("handle"),i=t(2),a=t("ee"),s=["load","error","abort","timeout"],c=s.length,f=t(1);t(4),t(3),a.on("new-xhr",function(){this.totalCbs=0,this.called=0,this.cbTime=0,this.end=e,this.ended=!1,this.xhrGuids={}}),a.on("open-xhr-start",function(t){this.params={method:t[0]},r(this,t[1]),this.metrics={}}),a.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid)}),a.on("send-xhr-start",function(t,e){var r=this.metrics,o=t[0],i=this;if(r&&o){var f=n(o);f&&(r.txSize=f)}this.startTime=(new Date).getTime(),this.listener=function(t){try{"abort"===t.type&&(i.params.aborted=!0),("load"!==t.type||i.called===i.totalCbs&&(i.onloadCalled||"function"!=typeof e.onload))&&i.end(e)}catch(n){try{a.emit("internal-error",[n])}catch(r){}}};for(var u=0;c>u;u++)e.addEventListener(s[u],this.listener,!1)}),a.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),a.on("xhr-load-added",function(t,e){var n=""+f(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),a.on("xhr-load-removed",function(t,e){var n=""+f(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),a.on("addEventListener-end",function(t,e){e instanceof XMLHttpRequest&&"load"===t[0]&&a.emit("xhr-load-added",[t[1],t[2]],e)}),a.on("removeEventListener-end",function(t,e){e instanceof XMLHttpRequest&&"load"===t[0]&&a.emit("xhr-load-removed",[t[1],t[2]],e)}),a.on("fn-start",function(t,e,n){e instanceof XMLHttpRequest&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=(new Date).getTime()))}),a.on("fn-end",function(t,e){this.xhrCbStart&&a.emit("xhr-cb-time",[(new Date).getTime()-this.xhrCbStart,this.onload,e],e)})}},{1:"XL7HBI",2:12,3:10,4:6,ee:"QJf3ax",handle:"D5DuLP",loader:"G9z0Bl"}],12:[function(t,e){e.exports=function(t){var e=document.createElement("a"),n=window.location,r={};e.href=t,r.port=e.port;var o=e.href.split("://");return!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=e.hostname||n.hostname,r.pathname=e.pathname,r.protocol=o[0],"/"!==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname),r.sameOrigin=!e.hostname||e.hostname===document.domain&&e.port===n.port&&e.protocol===n.protocol,r}},{}],13:[function(t,e){function n(t){return function(){r(t,[(new Date).getTime()].concat(i(arguments)))}}var r=t("handle"),o=t(1),i=t(2);"undefined"==typeof window.newrelic&&(newrelic=window.NREUM);var a=["setPageViewName","addPageAction","setCustomAttribute","finished","addToTrace","inlineHit","noticeError"];o(a,function(t,e){window.NREUM[e]=n("api-"+e)}),e.exports=window.NREUM},{1:22,2:23,handle:"D5DuLP"}],"7eSDFh":[function(t,e){function n(t,e,n){if(r.call(t,e))return t[e];var o=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:o,writable:!0,enumerable:!1}),o}catch(i){}return t[e]=o,o}var r=Object.prototype.hasOwnProperty;e.exports=n},{}],gos:[function(t,e){e.exports=t("7eSDFh")},{}],handle:[function(t,e){e.exports=t("D5DuLP")},{}],D5DuLP:[function(t,e){function n(t,e,n){return r.listeners(t).length?r.emit(t,e,n):(o[t]||(o[t]=[]),void o[t].push(e))}var r=t("ee").create(),o={};e.exports=n,n.ee=r,r.q=o},{ee:"QJf3ax"}],id:[function(t,e){e.exports=t("XL7HBI")},{}],XL7HBI:[function(t,e){function n(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:i(t,o,function(){return r++})}var r=1,o="nr@id",i=t("gos");e.exports=n},{gos:"7eSDFh"}],G9z0Bl:[function(t,e){function n(){var t=p.info=NREUM.info,e=f.getElementsByTagName("script")[0];if(t&&t.licenseKey&&t.applicationID&&e){s(d,function(e,n){e in t||(t[e]=n)});var n="https"===u.split(":")[0]||t.sslForHttp;p.proto=n?"https://":"http://",a("mark",["onload",i()]);var r=f.createElement("script");r.src=p.proto+t.agent,e.parentNode.insertBefore(r,e)}}function r(){"complete"===f.readyState&&o()}function o(){a("mark",["domContent",i()])}function i(){return(new Date).getTime()}var a=t("handle"),s=t(1),c=(t(2),window),f=c.document,u=(""+location).split("?")[0],d={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-632.min.js"},p=e.exports={offset:i(),origin:u,features:{}};f.addEventListener?(f.addEventListener("DOMContentLoaded",o,!1),c.addEventListener("load",n,!1)):(f.attachEvent("onreadystatechange",r),c.attachEvent("onload",n)),a("mark",["firstbyte",i()])},{1:22,2:13,handle:"D5DuLP"}],loader:[function(t,e){e.exports=t("G9z0Bl")},{}],22:[function(t,e){function n(t,e){var n=[],o="",i=0;for(o in t)r.call(t,o)&&(n[i]=e(o,t[o]),i+=1);return n}var r=Object.prototype.hasOwnProperty;e.exports=n},{}],23:[function(t,e){function n(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=Array(0>o?0:o);++r<o;)i[r]=t[e+r];return i}e.exports=n},{}],24:[function(t,e){function n(t){return!(t&&"function"==typeof t&&t.apply&&!t[i])}var r=t("ee"),o=t(1),i="nr@wrapper",a=Object.prototype.hasOwnProperty;e.exports=function(t){function e(t,e,r,a){function nrWrapper(){var n,i,s,f;try{i=this,n=o(arguments),s=r&&r(n,i)||{}}catch(d){u([d,"",[n,i,a],s])}c(e+"start",[n,i,a],s);try{return f=t.apply(i,n)}catch(p){throw c(e+"err",[n,i,p],s),p}finally{c(e+"end",[n,i,f],s)}}return n(t)?t:(e||(e=""),nrWrapper[i]=!0,f(t,nrWrapper),nrWrapper)}function s(t,r,o,i){o||(o="");var a,s,c,f="-"===o.charAt(0);for(c=0;c<r.length;c++)s=r[c],a=t[s],n(a)||(t[s]=e(a,f?s+o:o,i,s))}function c(e,n,r){try{t.emit(e,n,r)}catch(o){u([o,e,n,r])}}function f(t,e){if(Object.defineProperty&&Object.keys)try{var n=Object.keys(t);return n.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(r){u([r])}for(var o in t)a.call(t,o)&&(e[o]=t[o]);return e}function u(e){try{t.emit("internal-error",e)}catch(n){}}return t||(t=r),e.inPlace=s,e.flag=i,e}},{1:23,ee:"QJf3ax"}]},{},["G9z0Bl",4,11,5]);
;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"2acbd9030c",applicationID:"6651781",sa:1,agent:"js-agent.newrelic.com/nr-632.min.js"}
</script>

<!-- This site is optimized with the Yoast SEO plugin v7.0.1 - https://yoast.com/wordpress/plugins/seo/ -->
<title>Page not found - The Official Roku Blog</title>
<meta name="robots" content="noindex,follow"/>
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="object" />
<meta property="og:title" content="Page not found - The Official Roku Blog" />
<meta property="og:site_name" content="The Official Roku Blog" />
<meta property="og:image" content="https://blog-admin.roku.com/wp-content/uploads/2016/02/roku-logo.jpg" />
<meta property="og:image:secure_url" content="https://blog-admin.roku.com/wp-content/uploads/2016/02/roku-logo.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Page not found - The Official Roku Blog" />
<meta name="twitter:site" content="@Rokuplayer" />
<meta name="twitter:image" content="https://blog-admin.roku.com/wp-content/uploads/2016/02/roku-logo.jpg" />
<script type='application/ld+json'>{"@context":"https:\/\/schema.org","@type":"Organization","url":"https:\/\/blog-admin.web.roku.com\/","sameAs":["https:\/\/www.facebook.com\/roku\/","https:\/\/www.instagram.com\/rokuplayer\/","https:\/\/www.linkedin.com\/company\/50076","https:\/\/www.youtube.com\/roku","https:\/\/twitter.com\/Rokuplayer"],"@id":"#organization","name":"Roku","logo":"https:\/\/blog-admin.roku.com\/wp-content\/uploads\/2016\/02\/roku-logo.jpg"}</script>
<!-- / Yoast SEO plugin. -->

<link rel='dns-prefetch' href='https://www.roku.com/blog' />
<link rel='dns-prefetch' href='//s.w.org' />
<link rel="alternate" type="application/rss+xml" title="The Official Roku Blog &raquo; Feed" href="https://www.roku.com/blog/feed" />
<link rel="alternate" type="application/rss+xml" title="The Official Roku Blog &raquo; Comments Feed" href="https://www.roku.com/blog/comments/feed" />
		<script type="text/javascript">
			window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/blog-admin.web.roku.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.6"}};
			!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55357,56692,8205,9792,65039],[55357,56692,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
		</script>
		<style type="text/css">
img.wp-smiley,
img.emoji {
	display: inline !important;
	border: none !important;
	box-shadow: none !important;
	height: 1em !important;
	width: 1em !important;
	margin: 0 .07em !important;
	vertical-align: -0.1em !important;
	background: none !important;
	padding: 0 !important;
}
</style>
<link rel='stylesheet' id='roku-toolbox-styles-css'  href='https://image.roku.com/blog/wp-content/plugins/roku-toolbox/styles.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='bcct_style-css'  href='https://image.roku.com/blog/wp-content/plugins/better-click-to-tweet/assets/css/styles.css?ver=3.0' type='text/css' media='all' />
<link rel='stylesheet' id='tablepress-default-css'  href='https://image.roku.com/blog/wp-content/plugins/tablepress/css/default.min.css?ver=1.8' type='text/css' media='all' />
<style id='tablepress-default-inline-css' type='text/css'>
.tablepress-id-7 .row-25 td{background-color:#662d91}
</style>
<script type='text/javascript' src='https://www.roku.com/blog/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
<script type='text/javascript' src='https://www.roku.com/blog/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
<script type='text/javascript' src='https://image.roku.com/blog/wp-content/plugins/roku-toolbox/functions.js?ver=4.9.6'></script>
<link rel='https://api.w.org/' href='https://www.roku.com/blog/wp-json/' />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.roku.com/blog/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.roku.com/blog/wp-includes/wlwmanifest.xml" /> 
<meta name="generator" content="WordPress 4.9.6" />
</head>

<body class="error404" ng-app="blogApp">
<div id="wrapper" class="hfeed">
<!-- Begin Header -->
	<header id="header">
<div class="container-fluid" style="position: relative;">
<div sticky-top class="container-fluid logo-wrapper">
<div class="container">
<button type="button" class="navbar-toggle" nav-toggle>
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
<a class="logo-brand" href="https://www.roku.com">&nbsp;</a>
<a class="logo-text" href="https://www.roku.com">Now this is TV&trade;</a>
</div>
</div>
<a href="https://www.roku.com/blog"><img class="img-header" src="https://blog-admin.roku.com/wp-content/uploads/2017/01/Roku-Stream-Blog_Hero_Lifestyle_1500x463_c.jpg" /></a>
</div>
<div class="container" style="overflow:visible;">
<div id="menuBar">
    
    <search-bar></search-bar>
    <div id="mainMenu">
	<search-button></search-button>
        <ul>
        <li>
		<div accordion class="accordion no-body">
		<div class="accordion-tab"><a href="https://www.roku.com/blog/blog/category/roku-product-news/">Product news</a></div>
		</div>
        </li>
        <li>
		<div accordion class="accordion">
		<div class="accordion-tab">Streaming channels</div>
		<div class="accordion-body">
            		<ul class="subMenu">
                		<li><a href="https://www.roku.com/blog/blog/category/new-roku-channels/us-roku-channels/">US channels</a></li>
                		<li><a href="https://www.roku.com/blog/blog/category/new-roku-channels/canada-roku-channels/">CA channels</a></li>
                		<li><a href="https://www.roku.com/blog/blog/category/new-roku-channels/uk-roku-channels/">UK channels</a></li>
            		</ul>
		</div>
		</div>
	</li>
        <li>
		<div accordion class="accordion no-body">
		<div class="accordion-tab"><a href="https://www.roku.com/blog/blog/category/roku-mobile-apps/">Mobile apps</a></div>
		</div>
        </li>
        <li>
		<div accordion class="accordion no-body">
			<div class="accordion-tab"><a href="https://www.roku.com/blog/blog/category/roku-company-news/">Company news</a></div>
		</div>
        </li>
	<li>
		<div accordion class="accordion no-body">
			<div class="accordion-tab"><a href="https://www.roku.com/blog/blog/category/roku-tips-and-tricks/">Roku tips</a></div>
		</div>
	</li>
        </ul>

    </div>
    </div>
</div>
<div class="container-fluid" id="subMenuWrapper">
<div class="container" id="subMenuContainer">
</div>
</div>
</header>
<!-- End header -->
<!-- Begin main content -->
	<div id="main">

	<div id="container">
		<div id="content" role="main">

			<div id="post-0" class="post error404 not-found">
				<h1 class="entry-title">Not Found</h1>
				<div class="entry-content">
					<p>Apologies, but the page you requested could not be found. Perhaps searching will help.</p>
					<form role="search" method="get" id="searchform" class="searchform" action="https://www.roku.com/blog/">
				<div>
					<label class="screen-reader-text" for="s">Search for:</label>
					<input type="text" value="" name="s" id="s" />
					<input type="submit" id="searchsubmit" value="Search" />
				</div>
			</form>				</div><!-- .entry-content -->
			</div><!-- #post-0 -->

		</div><!-- #content -->
	</div><!-- #container -->
	<script type="text/javascript">
		// focus on search field after it has loaded
		document.getElementById('s') && document.getElementById('s').focus();
	</script>

	</div><!-- #main -->
<!-- End main content -->
<!-- Begin footer -->
<div id="footer-image"></div>
</div><!-- #wrapper -->
<footer id="footer" class="container-fluid" x-ga-cat="Footer">
<div class="container">
  <div class="row">
    <div accordion class="accordion">
      <div class="accordion-tab">
        <h4>Our company</h4>
      </div>
      <div class="accordion-body">
	<div class="menu-footer-our-company-container"><ul id="menu-footer-our-company" class="menu"><li id="menu-item-8740" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8740"><a href="https://www.roku.com/about/company">About us</a></li>
<li id="menu-item-8741" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8741"><a href="https://www.roku.com/about/executive-team">Executive team</a></li>
<li id="menu-item-8742" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8742"><a href="https://www.roku.com/about/contact">Contact us</a></li>
<li id="menu-item-8743" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8743"><a href="https://www.roku.com/advertising">Advertise</a></li>
<li id="menu-item-8744" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8744"><a href="https://www.roku.com/developer">Developers</a></li>
<li id="menu-item-8745" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8745"><a href="https://www.roku.com/about/pressroom">Press room</a></li>
<li id="menu-item-8747" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8747"><a href="https://www.roku.com/about/employment">Jobs</a></li>
<li id="menu-item-8746" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8746"><a href="https://www.roku.com/betatesting">Become a Beta tester</a></li>
</ul></div>      </div>
    </div>
    <div accordion class="accordion">
      <div class="accordion-tab">
        <h4>Shop products</h4>
      </div>
      <div class="accordion-body">
	<div class="menu-footer-shop-products-container"><ul id="menu-footer-shop-products" class="menu"><li id="menu-item-8748" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8748"><a href="https://www.roku.com/reviews/press">Reviews</a></li>
<li id="menu-item-8749" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8749"><a href="https://www.roku.com/products/compare">Roku players</a></li>
<li id="menu-item-8751" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8751"><a href="https://www.roku.com/roku-tv">Roku TV</a></li>
<li id="menu-item-8752" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8752"><a href="https://www.roku.com/accessories">Accessories</a></li>
<li id="menu-item-8753" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8753"><a href="https://www.roku.com/offers">Special offers</a></li>
<li id="menu-item-8754" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8754"><a href="https://www.roku.com/refurbished-deals">Refurbished and clearance</a></li>
<li id="menu-item-8750" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8750"><a href="https://www.roku.com/retail">Retail locations</a></li>
<li id="menu-item-8755" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8755"><a href="https://www.roku.com/roku-vs-appletv-vs-firetv">Roku vs the competition</a></li>
<li id="menu-item-8756" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8756"><a href="https://www.roku.com/sling">Sling TV</a></li>
</ul></div>      </div>
    </div>
    <div accordion class="accordion">
      <div class="accordion-tab">
        <h4>Connect with us</h4>
      </div>
      <div class="accordion-body">
        <div class="no-pad">
          <div class="connect-social clearfix">
              <a href="//www.facebook.com/roku" target="_blank" class="glyphicon glyphicon-facebook widget-connect" x-ga="Facebook"></a>
              <a href="//twitter.com/rokuplayer" target="_blank" class="glyphicon glyphicon-twitter widget-connect" x-ga="Twitter"></a>
              <a href="//www.youtube.com/roku" target="_blank" class="glyphicon glyphicon-youtube widget-connect" x-ga="YouTube"></a>
              <a href="//blog.roku.com/" x-ga="Blog" class="glyphicon glyphicon-roku-blog widget-connect"></a> </div>
          <h5 style="margin-top: 2rem;">Newsletter</h5>
		<div class="newsletter" ng-controller="strongViewController">

			<form name="form" ng-class="{submitted:submitted}">
				<p>Receive news and special offers from Roku and its partners.</p>
				<input type="email" name="email" class="rounded" placeholder="Email address" ng-model="email" ng-required="true" />
				<div class="select-wrapper">
				<select name="locale" ng-model="locale" ng-required="true">
				<option value="" disabled selected="selected" style="display:none;">Select your region</option>
				<option value="en_US">United States</option>
				<option value="en_CA">Canada</option>
				<option value="en_GB">United Kingdom</option>
				<option value="en_GB">Republic of Ireland</option>
				<option value="ROW">Other</option>
				</select>
				</div>
				<div>				
				<button class="glyphicon glyphicon-chevron-right-sm-after" ng-click="signUp()">Sign up</button>
				</div>			
				<div ng-show="form.email.$error.required && submitted" class="error">Please fill out all required fields.</div>
				<div ng-show="form.email.$error.email && submitted" class="error">Please enter a valid email address.</div>
				<div ng-show="message || error">
				<div ng-if="message" class="message">{{message}}</p>
				<div ng-if="error" class="error">{{error}}</div>
				</div>
			</form>
		</div>
            <h4 style="margin-top: 3rem;">Mobile apps</h4>
            <div class="menu-footer-mobile-apps-container"><ul id="menu-footer-mobile-apps" class="menu"><li id="menu-item-8737" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8737"><a target="_blank" href="https://itunes.apple.com/us/app/roku/id482066631?mt=8">iOS</a></li>
<li id="menu-item-8738" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8738"><a target="_blank" href="https://play.google.com/store/apps/details?id=com.roku.remote&#038;hl=en">Android</a></li>
<li id="menu-item-8739" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8739"><a target="_blank" href="http://www.windowsphone.com/en-us/store/app/roku/9fdb2473-403d-434e-93ca-6c8c7225ef73">Windows</a></li>
</ul></div>          </div>
        </div>
      </div>
    </div>
    <div class="logo"><a href="/" x-ga="Footer Logo"><img src="/wp-content/themes/roku3-1/images/logo-footer.png" class="img-responsive footer-logo"></a> </div>
  </div>
  <div class="row addendum">
  <div class="bbb show-bp2"> <a href="//www.bbb.org/sanjose/business-reviews/electronic-equipment-and-supplies-wholesale-and-manufacturers/roku-in-saratoga-ca-223541" target="_blank" x-ga="BBB Logo"><img src="//wwwimg.roku.com/assets/bbb-footer.png" /></a> </div>
  <div class="legal">
	<p>©2026 Roku, Inc. All rights reserved.<span class="hidden-xs">ROKU, the ROKU Logo, ROKU READY, ROKU TV, ROKU POWERED, the ROKU READY logo, "Streaming Stick," "HAPPY STREAMING" and "NOW THIS IS TV" are trademarks and/or registered trademarks of Roku, Inc. in the United States.</span></p>
	<p><strong><a href="//www.roku.com/about/sitemap">Site Map</a> | <a href="//docs.roku.com/doc/userprivacypolicy/en-us">Updated privacy policy</a> | <a href="//docs.roku.com/doc/tos/en-us">Terms of use</a> <span class="hidden-xs">| <a href="//docs.roku.com/doc/dmca/en-us">DMCA policy</a></span> <span class="hidden-xs">| <a href="//docs.roku.com/doc/deviceplayereula/en-us">EULA</a></span> | <a href="//docs.roku.com/doc/disputeresolution/en-us">Dispute Resolution</a></strong></p>
   </div>
</div>
</div>
</footer>
<!-- End footer content -->

<div id="modal">
<div id="modal-wrapper">
	<div id="modal-container">
		<a onclick="jQuery('#modal').toggleClass('open');" id="modal-close" class="icon-link glyphicon glyphicon-close"></a>
		<div id="modal-content"></div>
	</div>
</div>
</div>
<script type='text/javascript' src='https://www.roku.com/blog/wp-includes/js/wp-embed.min.js?ver=4.9.6'></script>
</body>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
<script src="//wwwimg.roku.com/blog/js/sha256.js" type="text/javascript"></script>
<!--script src="//wwwimg.roku.com/blog/js/strong-view-api-v2.js"></script>
<script src="//wwwimg.roku.com/blog/js/blogApp.js"></script-->
<script src="//wwwimg.roku.com/blog/js/strong-view-api-v3.js"></script>
<script type="text/javascript">
var app = angular.module("blogApp", ["strongViewApp"]);
app.controller("strongViewController", ["$scope", "strongViewFactory", function($scope, strongViewFactory) {
		$scope.submitted = false;
		$scope.locale = ''; // Initialize region (default United States)
		$scope.signUp = function() {
			$scope.submitted = true;
			if($scope.form.$valid) {
				$scope.message = '';
				$scope.error = '';
				strongViewFactory.setEmail($scope.email);
				strongViewFactory.setSite('Newsletter Signup');
				strongViewFactory.setLocale($scope.locale);
				strongViewFactory.upsert()
					.success(function(data) { 
						$scope.message = 'Thank you for signing up for the Roku newsletter';
						// Send Page Event to New Relic
  						dataLayer.push({
    							'event': 'nrEvent',
    							'nr_action': 'Blog: Newsletter Signup'
  						});
					})
					.error(function(data) { $scope.error = 'We are sorry. We were unable to add you to our mailing list. Please contact our support for further assistance.'; });
			}
		}
}]);
app.directive('searchButton', ['$rootScope', function($rootScope) {
	return {
		restrict: 'E',
		replace: true,
		transclude: false,
		template: '<a class="searchButton" ng-click="open()">Search</a>',
		link: function(scope, elem, attrs) {
			scope.open = function() {
				$rootScope.$broadcast('searchToggle');
			}
		}
	}
}]);
app.directive('searchBar', ['$rootScope', '$window', function($rootScope, $window) {
	return {
		restrict: 'E',
		replace: true,
		transclude: false,
		template: '<div id="searchDrawer">' +
			'    <input ng-model="search" ng-enter="doSearch()" type="search" />' +
        	'    <a class="search" ng-click="doSearch()">Search</a>' +
        	'    <a class="close glyphicon glyphicon-close" ng-click="close()"></a>' +
		'</div>',
		link: function(scope, elem, attrs) {
			$rootScope.$on('searchToggle', function(event, data) {
				angular.element(elem).addClass('open');
				angular.element(elem).find('input')[0].focus();
			});
			scope.close = function() {
				angular.element(elem).removeClass('open');
			}
			scope.doSearch = function() {
				if(scope.search) {
					$window.location = site_url + '?s='+$window.escape(scope.search);
				}
			}
		}
	};
}]);
app.directive('accordion', ['$window', function($window) {
	return {
		restrict: 'A',
		replace: false,
		transclude: false,
		link: function(scope, elem, attrs) {
			var tab = angular.element(elem).find('div')[0];
			angular.element(tab).on('click', function() {
				elem.toggleClass('open');
			});
		}
	}
}]);
app.directive('stickyTop', ['$window', function($window) {
	return {
		restrict: 'A',
		replace: false,
		transclude: false,
		link: function(scope, elem, attrs) {
   			angular.element($window).bind("scroll", function() {
				if(this.pageYOffset > 0) { 
					angular.element(elem).addClass('fixedTop');
				} else { angular.element(elem).removeClass('fixedTop'); }
   			});	
		}
	}
}]);
app.directive('subMenu', ['$window', function() {
	return {
		restrict: 'A',
		replace: false,
		transclude: false,
		link: function(scope, elem, attrs) {
			scope.open = function() {
				angular.element(elem).find('div').toggleClass('open');
			}
		}
	}
}]);
app.directive('ngEnter', function () {
    return function (scope, element, attrs) {
        element.bind("keydown keypress", function (event) {
            if(event.which === 13) {
                scope.$apply(function (){
                    scope.$eval(attrs.ngEnter);
                });

                event.preventDefault();
            }
        });
    };
});
app.directive('navToggle', ['$document', function($document) {
	return {
		restrict: 'A',
		link: function(scope, elem, attrs) {
			elem.on('click', function() { angular.element($document[0].body).toggleClass('open'); });
		}
	}
}]);
</script>
<script type="text/javascript">
	/* Some JS is included in the footer here for some simple things that need to be handled */
	/* Set up click events on main menu */
	jQuery('#mainMenu .accordion-tab').each(function(index) {
		if(!jQuery(this).parent().hasClass('no-body')) {
			jQuery(this).click(function(event) {
				
				//console.log(jQuery('#mainMenu .accordion.open').toggleClass('open'));
				if(jQuery(this).parent().hasClass('open')) {
					jQuery('#subMenuContainer').html('');
				} else {
					jQuery('#mainMenu .accordion.open').toggleClass('open')
					jQuery('#subMenuContainer').html(jQuery(this).siblings().html());
				}
			});
		};
	});
	/* Set up click events for collapsible widgets */
	jQuery('.widget_archive').addClass('widget-collapsible');
	jQuery('.widget-collapsible h3').click(function(event) { jQuery(this).parent().stop(true, true).toggleClass('open'); });
</script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-T82ZWF"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-T82ZWF');</script>
<!-- End Google Tag Manager -->
</html>
