chris mckillop: all right. hello, everyone. [cheering and applause] my name's chris mckillop. i'm the engineeringmanager for android tv.
Android TV and google home, i've got behind mehere leo baghdassarian. he's the head ux designerfor the android tv stuff. and andrew jeon,who runs the team responsible for the live tvintegration in the platform.
we're going to talk toyou guys a little bit today about exactlywhy we bothered doing android tv to beginwith and get into a little bit more detail than the demowe did during the keynote. and we'll have some morefun surprises at the end. so some facts and figures. average american watches30 hours of tv a week. that is a lot of eyeball time. 120 million smart tvsare shipped every year,
and more than five billionhours are watched daily worldwide in front of their tv. this is a lot of timefor people to be engaged in content fromgoogle applications, from your applications. and these arecomputing devices now. these aren't just dumb panelspicking up over-the-air signal. so but there's nostandard platform today. this is a huge problem forgoogle's app developers,
for app developersaround the world. you either needto do custom work for every single tvthat ships or fall back to just doing html. in-app purchasingand monetization? nonexistent on a standardplatform across tv, unlike in mobile. tv looks a lot likethe mobile space did in 2006, where you haveall these manufacturers, all
building their own platform,and all asking app developers to support them withno unified story. so android to the rescue. yay! established eco-system,thanks to you guys and thanks to the devicemanufacturers out there. a billion-plus30-day active users, a million-plusapps on play store, 50 billion app downloads.
it's incrediblewhat you guys have helped us accomplishover the last few years. we have a huge supportfrom the industry, both for socs and for networkingand across apis and protocols. and more importantly, playstore brings everything together so that you cando multi-device installs, in-app purchasing, and billing. so everyone can actually makemoney off this eco-system. so what is an android tv?
it is just a new formfactor for android. we've announcedseveral today at i/o, and so i wanted to welcome tvto the family with you guys. and so going forward, startingwith l and going forward, tv is going to besupported right alongside phones,tablets, and wearables. my goal internally at googleis actually that no one talks about android tv in a year,that it's just assumed. like no one talks, really, aboutandroid tablets and phones.
like, it's just android. and that's what i'mtrying to accomplish inside and hopefullywith you guys, too. you know, we've added a lot ofgreat features for developers in l to make itreally easy for you to bring your applicationsto the television. so i'm going to really quicklygo through some of these, and then leo's goingto jump into ux. we've set reallyaggressive hardware specs
for android tv devices. we want to make surethat there's enough cpu and gpu in the devicesthat claim to be android tvs to have really greatperformance for apps and games. minimum of 1 gig of ramand 8 gigs of flash, so there's lots ofstorage for apps. wi-fi and ethernetfor connectivity, so there'll alwaysbe fast pipes in. bluetooth 4 and bluetoothle, which i think
is going to be reallyimportant going forward, for both accessories andfor things like co-presence and things that could happen. also wanted to ensure that therewas a very high level of drm. these are primarily mediaconsumption devices. android's always requiredwidevine level 2, which is fine for sd,which is ok on a phone. but we require widevinelevel 1 on all tv devices. that's already studioapproved in most
of the world for hd content. you know, we're not justtargeting tv panels. i've been watching the pressafter the keynote today, and a lot of people are asking,hey, this is just for tvs. we don't understand. it's not. it's also for media streamers. i'm not going to mention brandnames, but media streamers, set-top boxes.
and when we sayset-top boxes, we're talking about cableset-top boxes-- so carriers likecomcast or bwig or sfr, who are bringing premiumcontent over their lines into your house. and also microconsoles,you're going to see a lot of boxes thatcome with a game controller over the course of the nextyear running android tv. and we differentiate thosefrom media streamers,
both from the point of viewthat a microconsole tends to have a higher cpu performanceas well as a higher price, and also not as approachablebecause of the game controller. we're standardizinginput devices across all of androidtv, so there's a minimum set of controls. we have a virtualremote control app that you'll be able to getoff the play store to interact with your developer devicesif you request them online.
we're also standardizing ongame controller button mapping. we think one of thebiggest problems we've had with adoption of gamecontrollers on android is the lack of astandard button mapping. it means that app developershad to worry about whether it was thiscontroller or that game controller in their game. no more. so we're mapping all the popularones to the standard for you
in l, and we're publishing aspec for both game controller manufacturers andgame developers, so everyone can work together. so this will be across not justtv, but phones and tablets, as well, so it'll bereally, really powerful. we're also really pushinghard on all the hardware oems to have microphonesin all their devices. we think that inthe living room, no one wants totype on a keyboard.
we have a keyboard. you notice we didn'tshow it during the demo? no one wants to type ona keyboard on their sofa. so being able to use yourvoice to really quickly get to the details of what youwant is super powerful. we've done multimediaimprovements. we've added newmedia components. we've build a tvinput framework, and andrew's going to go intogreat detail on that for you
in a bit. we've switched tochrome webview, and it actually supportshtml5 video with drm. so for folks that havean investment there, you'll be able tokeep your playback. it's completelygoogle cast-supported. so all android tv devices willalso be google cast receivers. that means all existing castapplications will just work. this is actually supportedby the cast team.
this isn't a strangething the android team's doing on the side. the cat team supports this. and in l, which isn't in thepreview, but at l release, we're going to be adding apisto allow your apks to talk to each other through cast. we'll call it cast-to-nativeor cast-to-apps. and that meansthat you'd actually be able to have first-screenand second-screen experiences
at equal levels. probably the meat of what we'veadded for tv in the l release is a new leanbackframework and launcher. and when we say leanback,we're talking about, you know, you're on yoursofa and you're leaning back. and youtube coinedthe phrase as a way to think about howpeople want to interact with tvs in the living room. and you're going to get alot of details and background
on that from leo here in a sec. but we've added a new optimizedhome screen and system ui. we sort of merged them together. sort of think of thenotification shade, all apps, and your home screen allbeing in one place on tv. and we're requiring thatall hardware manufacturers use our launcher. so there will be a consistencyacross these devices for developers,and developers can
be guaranteed that certainbehaviors are there. and we'll get into thatwith how the content recommendations work. we've also build anew set of fragments that you can use to reallyquickly take your existing apk and bring it to the television. i think this is thefirst time we've offered a standard elementin the framework library that operates at such a high level.
you can really justtreat it almost like it's a data-levelapi, if you want to. it's going to be completelyopen source with the l developer preview. you can go in and change itaround any way you want to. but you'll be able to really,really quickly get your app up and running. and for a bonus, for allyou google tv developers out there-- i don't know ifthere are any in the house.
but if you want to supportyour google tv v4 devices, our framework actuallyworks on that. so there's millionsof google tv version 4 devices out there,already installed, and this will giveyou a path forward. we've also been optimizing fortv google's own internal apis that you guys getthrough play services, so things like in-app purchaseflow, play games services, g+ sign-in.
and we're going to begoing through and updating all of them. so you can use the same apisyou use on phone and tablets and, basically forfree from google, get a tv-optimized experiencefor your customers. our studious head ofdesign, matias duarte, who did a great job thismorning in our keynote, always likes to say this whenwe start talking about tv. "when your butt hits thesofa you lose 20 iq points."
you don't want tothink about it. you don't want to usea computer, right? you don't want yourtv to be a computer. you want it to entertain you. and so on that, i'mgoing to bring up leo to talk a little bit aboutdesigning for android tv. [applause] leo baghdassarian:thanks, chris. thanks, chris.
so people love tv. not the demo yet, guys. when we begandesigning android tv, we looked at thequalities that made tv so easy and approachable. we notice a few qualities thatmade the content unique to tv. like when you turn it on, you'reinstantly watching something. you're already in content. and how when it'splaying, even when
you're looking at a guide ora menu, it continues along. it continues the experience. and how, at its core,it really is simple. browsing's effortless. it's just channelup and channel down. and on top of that, moviesand tv can be so emotional. they're so immersiveand engaging. so when we really thoughtabout bringing android to tv, we wanted to do justthat, bring android to tv
and keep those content-centric,immersive qualities that make tv so great. so how are we going to do that? well, we needed to designcomponents optimized for browsing andwatching content. one of the most criticalaspects of design is how and where peopleinteract with it. so with tv, that couldbe from 10 feet away, with food or drink inyour hand, or with a baby,
and even sometimes half-asleep. for android tv, westandardized the minimum button set to the five-way directionalpad, plus home and back. there's no menu buttonand there's no pointer. so how does thisaffect app design? well, of course,there's no touch screen. so you don't have thatrandom quick access to different elementsin your interface. so for most layouts, likeon tablets and phone,
you're going to have to kind ofrethink how that kind of gets adapted to tv. with the d-pad, you havefocus-based navigation. you move around by moving focusfrom one element to the other. so when you designyour apps, you want to take advantage ofthose two axes of direction. align your objectsin rows and grids, so it's really intuitive tonavigate inside your app. in the past, androidhad basic support
for focus-basednavigation, but today we're announcing the leanbacksupport library. this is a collectionof framework components that are optimized to buildfast, fluid apps for tv. they're focused oncontent browsing, with smooth animations andcenter-pinned scrolling. so your focus is alwaysright there, center in view. but we went one step further. we built full applicationstructure fragments
which can be used tocreate end-to-end apps. let's take a look at thestructure for a typical android tv-based app. most successful apps on tv arecontent consumption-centric, so they offer media likemovies, music, tv, and pictures. typically, a userenters, looks around, and finds something ofinterest, either by search or just browsing the hierarchy. then they get more detail,like a description or price,
and ultimately finally play it. included in leanback are thesefull app structure fragments, as chris mentioned, somethingthat android hasn't really done before. these can be usedas-is or customized to suit your app's needs. they're optimized fortv, overscan safe, with fast, fluid animations andsupport for immersive imagery. so bringing it all together.
using this navigation model andthe new components of leanback, we wanted to createan interface that was focused for entertainment. thanks to all ofyou guys, there's a ton of great contentin the play store that's just begging tobe on the big screen. but we wanted to go beyondjust the grid of apps. the tv in living room isabout fun and entertainment. as you've seen from the keynote,there is a theme across android
to bring these contextuallyrelevant notifications to different form factors. and that applies to tv, as well. but these notifications,they're not the same notificationsyou're used to. they come as contentrecommendations. we wanted a home screenthat gave you quick access to a blend of contentfrom the sources you use most, one thatencourages the simple leanback
browsing andserendipitous discovery. and one that got to knowyou and made it easier to access your most-usedapps and games. and ultimately one thatfelt immersive and engaging. and with that, let'sgo to the demos. [video playback] -and your job is totackle, dismantle-- [end video playback] chris mckillop: whenyou turn on your tv,
you want to see content. so we bring live tv andmovies right to the forefront. if you're watching yourcontent and you hit home, like you would do onany android device, we overlay that on topof the live content. these are new apisthat are coming in l to allow you toindicate that your app is-- we call it gregarious. and so if your app isgregarious and willing to share
its content with the launcher,it will show through. otherwise, it'sgoing to be hidden. so when you first land in thehome screen of an android tv device, you're going to seethese really rich content recommendations. so these are comingfrom apps on the system and are being rankedand sorted based on the user's usageof the device. so we rely on each of you toprovide the right content,
based on how you know youruser's using your application. that's stuff we don't know. but we know, basedoff the aggregate, how people areusing their device. and so we will sort and rank. i was showing pictures. i was showing tommy emmanuel todave burke after the keynote, and so youtube's nowrecommending more tommy emmanuel for me.
and i use youtubea lot, so you'll see there's actually twoof them on the screen here. because we know thati use youtube a lot. this is my account. this is my personal device,so if you see something weird, it's just becausei'm kind of weird. so the goal is that you comethis content recommendation stream, you see exactlywhat you want to watch, and you start watchingit, and you're done.
one click to play. but what if you don't findsomething that you want? we decided to make surethat both search and all your applications are available. so there's a common patternthroughout the platform. you go up to search. so if you move up to the searchaffordance on the home screen, or you'll see when wego into the applications that search is alsoin the up position.
so you can do search. so i'm going to usethis, see if this works. it's always very dangerousto demo things with wi-fi, so forgive me. let me see. movie starring tom cruise. [ding] thank you. so pretend this ismy remote control,
and i've got my virtual remotethat has the microphone button. hopefully when you'reusing this on your tv, you're just using the remotecontrol that's in your hand and picking it up and searching. so that search exists atthe top of your home screen. you can go look for content thatyou're specifically interested in. or you can look foractors or actresses. and of course, as daveshowed during the keynote,
there's a ton of ways inwhich you can then pivot on both those actors and actresses,using google's knowledge graph to find things. i'm not going tospend a lot of time on search, because searchis more of a google feature and not necessarilya developer feature. i think it's much moreinteresting to start looking at what happens. how do you actually makecontent recommendations?
how do you getinto the apps row? 'cause you'll notice these appslook a little bit different than you're used to seeing appson a launcher on an android phone. we've standardizedon a 16x9 poster for doing yourapplication launchers. you'll see that we've workedwith these first app developers and game developersto show and set the standard for howthe app should work.
have the text of your name ofyour application in your icon. have it big and bright andbold and on-brand coloring. and make sure that it hassome movement and contrast. and that's true in both thegames row and the apps row. so you want to know howyou get in the apps row? so we're making a prettystrong statement with tv. we don't believethat tv should just be tablet apps on television. and so we actually aregoing to require developers
to make a few changesto their application in order to show up in thisnew launching experience. so you have to addto your manifest the statement that"i support leanback." you don't have touse our framework, but you do you have to declarethat you support leanback. and that way theleanback launcher knows that thisapplication's going to work for the user that hasa d-pad or a game controller.
we don't want to offer upapplications that immediately say, "please touch hereto continue," on a tv where you can't touch anything. the same goes for games. if you want to be a game, youcan declare yourself a game, and that's how we sort andseparate the games and apps section. you might ask, whyare we doing that? i use a lot of youtube, alot of play movies and tv.
i've been watchingted and showtime. and you'll see those are allin the left-hand position. they're the easiestfor me to get to. i don't have to think so much. again 20 iq points lostwhen you hit the sofa. so we make sure that theapps you use the most are at the left. games and mediaconsumption applications have very differentaccess patterns.
they have verydifferent use models. when you play a game,you tend to play it a lot for a period oftime, and then maybe you don't ever play it again. and that's not true with mediaconsumption applications, where you're going in and outof them based on what shows or what things you want to do. so we didn't want the gamesto get pushed away just because you're very rapidlyand frequently entering
a series of applications. so we promoted them to betheir own top-level entity. so that's how you do that. so the recommendations come inthrough the standard android notification system. we've added somenew tags so that we can tell the differencebetween a notification that would show up inthe notification shade on your phone and tablet,and these notifications.
we thought it was powerfulto use the existing apis and not try toinvent something new, when this would work just fine. everyone is free to post this. this is a totallydemocratic system. and we watch how the useruses the device and sort and rank appropriately. we're recommending, i think,five to ten notifications and content recommendationsfrom different apps.
leo hates it wheni do this, but i'm going to launch thee24 app for a second. they've done a really great job. and if it'll load thecontent from their app here, i should start seeingfood recommendations, like "order a pizza" in mycontent recommendation row. which is pretty great. you're sitting on thesofa, watching a movie, you want to order a pizza.
but it doesn't justneed to be movies. the key to this,though, is we want these to be one-click access. we don't want people clickingon things on the content recommendation row and havingto go through a big flow. so for example, ifi'm sitting here and i want to see"now you see me," i can click on "now you see me." i've been watchingit previously,
so it's going toresume, and it's going to kick rightback into that movie. our networking seems tobe pretty slow in here. -and count from one to ten-- chris mckillop: there we go. -one two, three, four, five-- -stop. so i'm going to now dive in. that actually, thatmovie's playing
from play movies, as youcan see from the the content recommendation. i'm going to go into the toplevel of play movies now. play movies fromgoogle is probably sort of a canonicalexample of a leanback app, using those leanback componentsthat leo was talking about. this is thebrowsefragment, which we have set fullscreenfor play movies, because we're happy touse our own apis directly.
you can see that you can veryquickly move through what we call the fast lane on theside, which will move you through all the differentcontent on the right-hand side. you can move over to the left. you notice very smoothanimation, transitions, fade-ins. these all come for free when usethe leanback framework library. and then you can scrollthrough this same content again, but nowwith a little more
details, with ratings and thetitle of the show showing up on the cards, whichdidn't show up in this more compressed form. so if you go into one ofthese tv shows or movies-- so let's go into "silverlinings playbook"-- this is what we callthe detailsfragment. it has a background. it has the ability to putsome text and some artwork. lets you play the traileror buy it, and also
then have additional browserows built right in there. so reusing the samecomponents that we had from the previousscreen in the details view, so that users havea grounding point where they can understandwhere they're coming from. besides these sort oftwo, browsing and details, if you have something likegenres, like action/adventure, you might want to throw upa whole bunch of content. so we actually have a gridview where you can just
put tons and tonsand tons of content. so if you try outpbs kids, you'll see they use thatas their only ui. perfect for kids. just all the cover shotsfor all the shows for kids, really brightly colored. they don't need lotsof text on the screen. they know what showthey want to watch. when they want towatch "caillou,"
they want to go there. and so that worksout really well. let's see here. now in addition, notin the l preview, but coming withthe full l release, we're going to have contentplayback controls for you in the frameworklibrary, as well. so play movies is usingan early version of this. so if i hit the a button orthe center click on the thing,
i bring up thetransport controls. i can fast-forward, ican rewind, i can play, i can pause. and you also get, just likeeverywhere else in the system, you get browse rows. let me see if i can actuallyget woody harrelson's face on the screen here. oh, come on. all right, well, i can't gethis face, screen on face.
play movies does some neatthings when you do that. but additionally, you'llget additional browse rows below the transport controls,where you can get info cards, you can put up additionalinformation, reviews. there's info cards onthe actors in play movies that i'm tryingto show you here. it's not beingterribly cooperative. oh well. so those transportcontrols are going
to be coming with the l release. so i want to go throughsome different examples now. so that's the canonical formof all the different screens that we give you forfree in leanback. what i'd like to showyou now is youtube. so i don't know if any ofyou have used youtube on a tv before. youtube has a prettystandard application that they put on smart tvs.
and they workedwith us to bring you the youtube experience usingthe leanback framework. now they really likehaving the fast lane down the side for going throughall the different playlists i subscribe to, and allthe different content. but they didn't want itto just be browse rows. they wanted it to be a grid. so they made that modificationusing standard framework components, so that theycould have a grid of content.
because they have somuch content in youtube, simple rows wasn'tenough for them. so you can very quicklymove through the content. it still feels likea leanback app. it still feels like anandroid tv experience. but they are usingslightly modified versions of the framework. so the tunein radio guys havesupported google tv for years. and so we reachedout to them when
we were getting readyto do this launch. and they said, well, yeah, we'llbring our google tva app over, and it'll be fine. and then they saw all theapps we were building. they said, well, we wantour app to look like that. and so a week beforei/o, they said, we're gonna rewrite it all. and so they did. and so they wrote this appthat uses the framework
components in one week. it looks just like play movies,which is what you'd expect, because they haven't hada chance to go in and make big changes to the app. but it just showsyou that they were able to bring a fluid,fast-operating application to android tv, one developer,i think, in like about a week. it'll be on play store inthe preview play store. pretty impressive, that theywere able to pull that off.
now the ted guys have sort ofa very distinct set of design guidelines that they want touse for their applications. so although they're usingthe same leanback framework that everyone elseis using, they have a totally and radicallydifferent look and feel. so but this is still usingthe same browse-based rows, but they've changedthe cards, and they've changed the card-to-cardanimation, which is all possible.
they've clipped where therows are on the screen so that they can have thefull-bleed art that you see as you go throughthe different movies. so it's completely compliantwith the design guidelines. it's using the framework. but it looks likea ted experience. this is one of the biggoals we had for this, was to have that kind offlexibility for app developers, to both quicklyget on the platform
and get [inaudible] tv,while also have the ability to make those sort ofcustomized brand-on changes. and the last one i'm goingto show you is showtime. now the folks at showtimehave a very strong design for their application on tv. this is completelycustom widgetry. so they don't use anypiece of leanback. but the showtime guysunderstand living room. and so it's ok.
they've written anandroid application that uses low-level androidframework components to do focus management, but they'renot using leanback. but that's ok,because they're fully compliant with theleft-to-right navigation, the up-down browse paradigms,and everything's usable with a d-pad. so this just sort ofshows you just sort of the levels and the degreesto which you can make changes.
so on that note, i'm goingto end my part of the demo and switch back over to slides,and let andrew come and talk a little bit about the livetv integration on the android framework. thank you, everyone. andrew jeon: thanks, chris. so with the framework, we expectyou guys can build as quickly. and then these apps will mostlyserve audio/video content. and then we believeit could fulfill
all the user's [inaudible]. but if you think aboutit, actually, there are some things bit missing. so if you think abouttv device for tv set, and set-top boxes fromoperators, and even streamer boxes, a lot ofpeople recently believed that the tv experience-- videocontent, watching experience in the living room-- willmove from broadcast tv to online streaming.
however the datashows that still, in many parts of the world,majority of the time user spends on watching videocontent is live tv. so we wanted tobuild a framework to support properlive tv integration, to build a device like this. and as we mentioned in aprevious slide, earlier, there are still hundredsof billions of tvs and tens of billionsof set-top boxes
being produced inthe world every year. and if we want to claim androidto be an operating system to do the tv andset-top box, we need to have a framework tosupport these kind of devices. so when it comes to makinga tv or set-top box, first problem everydevice maker faces is that are a lot ofdifferent tv standards. like it's not [inaudible]fragmented, but this the one layer of it.
it's only thebroadcasting standard. but if you to lookinto more substandard, there are many more. it's very complicated. and then each device makerchooses their own solution to fulfill the requirementsfor each market, and it only works forthat device types. so we thought that in order tomake android as an operating system to supportthese device makers,
we thought we had to havesome kind of good framework. and then in additionto tv standard, if you look at thetv device especially, there are a lot of differentphysical input ports-- hdmi, component, avport, and built-in tuner. so what does thatmean, is people usually hook up lotof device to tv. and of course, still,for example, in the us, more than 80% ofthe people living
in us watches tv from paidtv operator's set-top box. what does that mean? it's that if you look atyour living room today, there are a lot of remotecontrols lying around. and whenever you playgame, or play blu-ray disk, or watch tv-- dependson your activity-- you have to pick up theright remote control. and a lot of devicesare competing against your timefor each hdmi input.
so this is quite frustrating. so we've been thinking about asolution, how we can fix this. but we cannot fixit ourselves alone, so we need some supportfrom the developers. so let's take a lookat what we've built, so that we can give youan idea of what we expect as a whole eco-system, includingourselves and developers, can do to solve this problem. so during the keynote today--should i press something?
it's stuck. chris mckillop: tellthem to switch to demo. andrew jeon: oh. so that was not demo. so that was ascreenshot somehow. [laughter] sorry, it come [inaudible],so i was confused. so you can see theicon called tv. and if you click it,you can watch tv.
in the sandbox, if youvisit the sandbox today, you can actually watch reallive tv over the air upstairs. but here for keynote and demo,we are using a mock-up demo. basically we areusing some local fire to demonstratemultiple channels. so as we can see, you havea standard channel banner shows off title of theprogram and timing and things like that. and then if you bringup a menu, these
are channels a user hasbeen watching recently. and it's beenautomatically ordered by the frequency,and then ranking. we thought user may wantto go back to the channel. then these are the menus. this is a preview version. we just spent a few weeksto put together this ui. so it's going to be muchbetter in the future. but for now, we havesome essential options.
and the one thing i want toshow you is the tv input menu. so the concept of tv inputis very important to us. we wanted to come upwith a single application to watch everysingle live channel. but there are multiple waysto get live tv sources. so we defined a conceptcalled tv input. tv input represents a methodto provide list of channels. so in this case, we actuallycalled out unified tv input. but in the future, therewill be no unified input.
tv app itself will runin a unified input mode all the time. but just for now, to separate. and we have threedifferent tv input sources. if you go to each one ofthem, each one of them will have their ownchannels, fake channels. so the first onehas two channels. and then let's go back. and then the second one,if i choose the second one,
this is to demonstratehls-based stream. this is very common test video. most streaming contentdeveloper knows about. and then here we just havethree different fake channels. so this shows you each inputcan have a different channel. if i go back toour demo tv input, you can see fourchannels, which look nice, because we fake them. it should be nice.
so concept is when youswitch different tv input, you can see different channels. but in ideal world,users shouldn't have to change input fromhdmi1 to hdmi2 or something. it shouldn't happen. or built-in tuner. so the idea is we wantedto unify all of that. so this mode, unifiedinput, demonstrates how we merge all the channels.
so if i go back toa channel listing, you can see every singlechannel from every single input. that's the concept we've built. and this should be the basisto anything on top of it, around live tv. that's why i wanted to show. let's go back to slides totalk about it a little more. slide, please? ok.
so this is the ui you saw. i thought it wasalive, but it's not. so basically, thereare multiple ways that live tv source canbe delivered to user. first of all, many partsof the world still, over-the-air broadcastis very popular. you have antenna orcable to get the antenna feed to your living roomand hook-up, and the scan. second is paying somemoney to a pay tv operator,
and they deliveryou a set-top box. and set-top box actuallygets you a live tv feed. up until recently, cableoperator or satellite was popular, but thesedays, iptv operators are getting more popular. so this second type. third type is justpurely from ip. and in this case, therecould be a pay tv operator which uses ip, ip tv operator,or some online sources.
but we wanted to be ableto unify all of this, if user has multiple access. let's say in some countries likeluxembourg, this crazy country where you have access tofour different countries' tv feed, and then threedifferent types of tv standard, and online service. and people in europe movea lot, so germany people live in france, and they wantto watch a germany channel. and english peoplelive in sweden
and want to watchthe english channel. so it's all mixed. so especially ineurope, and even in some other partof the world, people has a demand to watch live tvchannels from different worlds. how we can serve that? so let's say we unify, we builda frame so some application, as a plug-in to a live tv app,can support a live tv feed. then we just unifyinto a single lineup.
and then we can filterthem by category or quality or by users' preferenceon top of it. so the reason why i'm talkingto you today is we cannot build this unified channelourselves alone. so there are a few use cases. we can get some helpfrom developers. first use case is let's sayyou're just getting the tv signal from pay tvoperator set-top box, like mostpeople in america.
then how can we unify that? how can we use a single remotecontrol to watch live tv and, at the same time, enjoya bunch of online streaming content and play games? so in this case, we expect somedevelopers to write a module, and we just categorizeit as a virtual tv input. it is a sub-apk whichincludes tv input service. you'll learn thedetails about it tomorrow, once thesdk is published.
so virtual input cantalk to set-top box if they understandhow to talk to. i mean, recently,many pay tv operators are publishing the protocolto talk to set-top box, or cloud api to check thelineup of the subscriber and fetch data. and then it will senda command to tune. so this virtual input modulecan translate the command from the single system,like tvf, to tune.
and then get thatcommand, translate to proprietary commandthe set-top box understands, and actual a/vdata can come from set-top box through hdmi port to tv device. so then from user'spoint of view, user is using tvapp you just saw to watch tv fromset-top box, and change the channel to android tv. but actually, changingchannel action
will happen on the set-top box. that's what we call two-wayparity, two-way connection. so that is actually possibletoday with many pay tv operator set-top box, and we dohave a close partner, some third-partydeveloper partners, who are working on afew versions of this. and we hope somepeople in the room or in the world to buildthese kind of things, to bring [inaudible] experience.
second case is as youcan see in the sandbox today, the device we havehere doesn't have any tuner, but it can actuallywatch live tv. how can it be possible? because there's an externaldevice which converts broadcast feed from antenna orcable provider into ip feed. so in this case, ip inputdevice can get the a/v data from the device, which we callas a place-shifting device. shifting place meansthat-- let's say
you have an antenna comingdown the corner of the house, that you placed it there. and then once youconvert to ip, anywhere in your house where your wi-ficonnection can be reached, you can get that signal. so that's why we callit place-shifting. so there are many typesof device like this. but today, in thesandbox, we were using a device called hdhomerun,made by a company neamed
silicondust, in livermore. so it was very smalland easy-to-use device we are using. so that device has itsown command set for us to fetch ap data and alsosend a command to tune. and then we canpublish the ap data to the common databasein the android tv device. then live tv app can renderchannels and watch tv. lastly, in case where live tvsignal is delivered via ip,
one can write a tv input modulethat gets the feed via ip, push they a/v data to the ip,and send a command over ip. so there are twocases of ip inputs. one is multicast ip inputon the managed network. for example, ip tv operatorhas their own managed high-quality network,so this input connection is joining broadcastnetwork and streamed tv. the other case is that if anycontent provider or broadcaster has a sub somewhere in internet,provides adaptive streaming
base to live tv, then thisinput can go fetch it. basically it's streaming,but from user's perspective, it's live tv. so that is actually quitecommon by many operators. let's say you are a timewarner customer, or a pay tv operator's customer insome part of the world. then as a subscriber, youget access to their ip feed, so that you can watch tvon your tablet or phone. the same type ofsources can be used
to power live tv on android tv. so as a visual, weimagine one day, no matter where you'regetting live tv sources, we hope the user toenjoy all the content, including live tvand streaming content and games using single remotecontrol and game controller. that's our hope. but there's more. so there are many peoplewho've seen me multiple times.
i've been pushingthe android framework to enhance the a/vpipeline for many years. and now we are reallygetting close with l release. we are asking developersto build their apps to deliver content,especially video and audio. the problem is, ifandroid platform itself is not capable ofsupporting your streaming protocol, or closed caption,or high-quality video playback, even if we've beenbuilding the framework,
it's actually noteasy to write apps. so what we've been working on isenhancing the video framework. so first of all, in terms ofsupporting streaming protocol, we have a separate session goingon, either today or tomorrow, about exoplayer. exoplayer will beopen-sourced media player, uses low-level primitives,such as videocrypt, video drm, and video codec. and it's a javaimplementational video player.
and it gives you mpeg-dashand smooth streaming protocol implementation by default. and since it's open-sourced,you can take the source code and then implement your owncustom streaming protocol, if you have. so that we will notbe the blocking factor for you to support yourcontent in your backend, so that you can write an appthat streams your content. and on top of that,there has been
a lot of requeststo support more various types of subtitles. so in l release, we areadding ttml and cea-608. especially cea-608 washigh demand request from many content providers,because especially tv shows being captured frombroadcast and then delivered as a streaming media, theirclosed-captions source is encoded in cea-608 format. so unless we support that, thosecontent cannot be supported.
and now we already supportwebvtt since kitkat. so we have three formats. maybe there are someother formats, too, but these are whatwe can support by l. and when users play content onphone versus on the tv device, tvs couldn't speak. so if there's any glitch interms of audio/video sync or video rendering,user can notice easily. so the bar for video playbackquality is very high on tv.
so we spent a lot of energyon making audio/video playback quality to be tv qualityby using tv associates feature to turn audio and video. and we started vp9 and hevccodec to support 4k content. and ac3, obviously, tosupport ac3 content. and as chris mentioned,we support widevine level 1 and playready. thanks. chris mckillop:thank you, andrew.
so during thekeynote this morning, and also in the sandbox,if you've seen it, and up here, right here,we've been doing all this on real hardware. and we call that hardware adt-1. so some old guyonce said, "which came first, thechicken or the egg?" this is an importantstatement when you're building a new platformor adding a new device
type to an existing platform. app developers don'twant to support you if you don't havea piece of hardware for them to developtheir apps against. and hardwaremanufacturers don't want to support your new platformunless you show them running it on another piece of hardware. and so we were the onlyones that could fix this. so what we did was build adt-1.
this is a mediastreaming microconsole. choose your acronymthat you want to have. but we built it for developers. we built it originallyfor inside of google. this chicken-and-egg problemexists with everybody. everyone has too-busy schedulesand doesn't have time, and doesn't necessarily believethat what you're building is real, unless you givethem something to play with. so what we'vedecided to do is take
that box, which is ategra4 cpu, 2 gigs of ram, 16 gigs of flash,2x2 mimo wi-fi, hdmi. it's running ldeveloper preview, and it's fully unlocked,comes with a developer cable so that you can reflash itand do whatever you want. it's essentially the same levelof openness as a nexus device. and so everyone hereat the session today is going to get one of them. so everyone watching the livestream, starting tomorrow,
you're going to be able togo online and request one. we have a smallnumber that we're going to give to existingandroid developers. please go online tothe url there-- it won't be live till tomorrow--and request your device, and we'll get those out to you. so this should let everyonehere in the room experience what we've been showing you. start bringing your apps overto android tv, and really
sort of see what'snext for android. there's going to be vouchers. you'll get the device tomorrowwith all the other hardware. there's vouchersthat'll be at the doors. make sure you get yourvoucher on the way out. and don't rush. there's lots for everybody. so just get your voucher. you'll be able to pick itup tomorrow, downstairs
at registration. it won't be a problem at all. so i want to thank everyonefor coming to the presentation today.
we'll have all thedocumentation-- screenshots, example code, githubprojects-- up online tomorrow for you to get moving. so enjoy, and thank you.