SlideShare une entreprise Scribd logo
1  sur  54
Migrating to Android TV
Design tips for Android TV
CodeMash 2015
David Carver
Gplus: +David Carver
Twitter: @kingargyle
https://github.com/NineWorlds/serenity-android
What constitutes Android TV
Internet Enabled Devices running Android 3.2 or
Higher.
2nd
Screen/Remote Control/Game Pad support
Ment to be used primarily with a TV.
Google TV Boxes
Android TV
Televisions
Other Android Based Devices
Why Design for TV???
I had an Itch that Needed Scratched
● Existing TV UIs were frustrating to use with a
Remote
● Wanted to learn Android Development and
seemed like a good thing to do at the time.
● Tired of TV Apps getting second class
treatment.
● Apps designed for TV don't need to SUCK!!
Android apps running on a TV
sucked because Developers let
them suck!
Myth: A Tablet App will work fine on
a TV!
The truth...Maybe
An app designed for Landscape mode on a tablet
may work, but the user experience will probably
suffer.
Failure Points
● The app may run, but will probably provide a
frustrating user experience.
● These apps are designed for Touch and
typically do not take into account other ways to
interact with the app.
● Using a Mouse is frustrating on the TV. If the
user has to use the mouse pointer, it is a
design failure.
● Need to design with the TV environment or
Accessibility in mind.
Why not just Chromecast
Everything?
● You need a Phone/Tablet/PC that supports it.
● Not everybody likes having to use a
Phone/Tablet as a second screen device.
● Not everybody has a supported Chromecast
device.
● Some prefer using a Remote. It's familiar.
● Limited to very basic playback or interaction.
Not designed for more complicated
applications and interactions.
Guidelines?
We don't need no stinking
guidelines!
Android TV / Fire TV / OUYA
Design Guidelines
● Design for D-PAD not for Touch interface
● Avoid the use of the Mouse or Touchpad.
● Emphasize obvious items that can be selected
or interacted with.
● Back Button should exit or take back to
previous screen.
● Give visual indicators when more information
is provided off screen (i.e. scrolling required)
● Compensate for Overscan on TVs
Visually Appealing
● Design with Visual Appeal
– Apps are going to be in people's living rooms.
– TVs are ment to be visual displays
– You want the wow factor to help bring people
back.
– However it needs to be simple and functional.
● Limit the number of clicks that a person has to
get to anything on the screen.
– The fewer the clicks the better.
Visually Appealing
● Prefer darker themes.
– Lighter themes tend to be to bright and harder to
read
– TV Brightness varies greatly, and depends on
room environments.
● Leanback or Holo themes and color schemes
work well.
Android TV Leanback Library
Patterns and Anti Patterns
Zones
Design with Zones in mind.
Anti Pattern
D-Pad Navigation can't skip zones. The long scrolling list in the
center has to be navigated through to get to the bottom zone.
You can make this Work
Limit the center content to Detail information or focusable items that
don't scroll. This allows navigation through the zone quickly.
Google Recommends Vertical
Zones
Create Quick Navigation Keys
● Provide ways to Navigate quickly through long
lists.
● Provide ways to get back to the top of a list
quickly.
● To get to the bottom quickly.
● Break Long Lists into separate screens.
● Provide Filtering/Search to narrow scope of
items.
● Devices may have Bluethooth enabled
keyboards or remotes with keybads
connected.
Remember to Focus
Focus
Focus will be the most important and time
consuming aspect of your app. Getting
Focus and the navigation around on screen
focusable items is just as important if not
more important than the look of the app.
Android TV Leanback support library provides
this for free in many cases.
Avoid the Card Design with
Embeddable Clickable Items.
Avoid the Embedded Clickable Item
If you do this, make sure
a person can navigate to
it! There is no touch
screen, and if they have
to resort to a mouse
pointer you have failed in
your design and user
experience.
Prefer Android TV Leanback Cards
Horizontal Zone Pattern
Horizontal 2 Zone Pattern
Horizontal Two Zone, Horizontal
Grid Scroll View
Horizontal Grid Views
Android TV Leanback
Horizontal 3 Zone Pattern
Horizontal 3 Zone. Zone 2 and 3 are
Side Scrolling
Avoid Content that Scrolls Vertically
in Zone 2!
In general avoid vertical scrolling with
horizontal layouts.
Horizontal Zone Pattern
With Sliding Menu
Horizontal 3 Zone with Sliding Menu
Text and Icons
● Provide large readable fonts.
● Screen space is at a premium. Even at
1920x1080p.
– User is sitting about 10ft away so need to make
text and fonts legible from that distance.
– Set up your Google TV development device from
that distance.
General UI Consideration
● TVs are always at least layout-large and
layout-landscape-notouch resources.
● Drawables are HDPI resolution or higher.
● TV's are always Landscape.
● Darker themes are easier to view than lighter.
● TV Apps should be Full Screen Apps. The
app will be used on the largest most popular
device in the house. Give it that special
treatment.
● Keep your design consistent. Stick with either
Vertical or Horizontal pattern throughout the
Android TV Leanback Features
● Support Library with Android Lollipop designed
for TVs.
– BrowseFragment
– SearchFragment
– DetailsFragment
– PlaybackOverlayFragment
● Provides support back to API 17 Jelly Bean
devices.
● Layouts are optimized for TVs by providing a
10% margin on all sides. TVs have overscan.
Android TV Leanback Features
● Contribute Recommendations to the Android
TV Leanback Launcher via a Service.
● Provide in App Voice Search
● Contribute Global Search Results via a
Content Provider
● Model – View – Presenter
– ObjectAdapter
– Presenter
– RecycleView
– Fragments responsible for Click Events
AndroidManifest.xml
● RECEIVE_BOOT_COMPLETED – if your app
provides recommendations.
● RECORD_AUDIO – for in App Voice Search
● TOUCHSCREEN – false – signifies that this
app is designed to run devices that don't
require a touch screen.
Leanback Launcher
Necessary otherwise the app will not
show up on the Android TV Launcher
Leanback Theme
● Activities that support Leanback must extend
from the Theme.Leanback theme. This helps
optimize the activity and layouts for the TV.
Leanback Recommendations
● Intent Service that is scheduled to provide
Recommendations to the Leanback Launcher
● Launched after Boot is completed.
● Uses Notification Manager
● Content Providers for background images for
cards
Voice Search
● Extend SearchFragment
● Create a CardPresenter
● Create a Layout for Search that includes the
custom search fragment.
● Override onSearchRequested – the built in
Search provider is disabled in Android TV
devices.
Dog Food your App
● Get an Android Smart TV, Amazon Fire TV, or
OUYA device and test your app there.
– Screen resolutions will vary due to Overscan
● Use your own App. If you get frustrated,
others will.
● Test both for Touch and for various controller
inputs. Remote, Game Controller, Voice
– Not all Remotes are created equal
– Not all Game Controllers are mapped the same.
Remember to Focus
android:focusable="true"
android:focusableInTouchMode="true"
android:descendantFocusability="afterDescendants"
android:nextFocusDown="@+id/mainGalleryMenu"
android:nextFocusUp="@+id/menu_button"
android:nextFocusRight="@+id/mainGalleryMenu"
android:nextFocusLeft="@+id/mainGalleryMenu">
● View.requestFocus()
● View.requestFocusFromTouch()
● View.requestFocus(int direction)
● Remember to specifically set focus when hiding
and showing off screen views (i.e Sliding Menu
Drawers)
KeyCode Events
● Android supports a wide variety of Media Key
Codes
– Play, Skip Forward, Pause, Stop, Skip Back
● Channel Up and Channel Down make good
Page Up and Page Down alternatives for
quick navigation.
● Remember many Android TVs do have
keyboards in the remote. Provide keyboard
short cuts for your app.
Context Menus
● Use Context Menus to provide context
sensitive information.
– Don't use the Action Bar especially with Grid or
Scrollable contentl. Prefer LeftNav pattern.
– Beware of the dreaded onItemLongClick bug with
Remotes and Game Controllers. It'll fire both Click
and Long Click events.
● Give option to map Menu key to context menu
● Provide alternatives to bring up context menu
● Don't embed your context menus into clickable
drop down menus in cards or list items!!!
– Users need to reach for mouse or touch pad.
Automatic failure at this point.
What About Testing???
Come to the talk on Friday
Unit Testing Android without Going Bald!
You can use existing Testing Tools to Test your
Android TV applications.
Code Examples
How do you do it???
Android TV Leanback Resources
● https://github.com/googlesamples/androidtv-
leanback – sample application that
implements most Android TV Leanback
functionality.
● https://developer.android.com/training/tv/start/i
ndex.html – Examples and guidelines for
implementing Recommendations and In App
Search.
● https://www.youtube.com/watch?
v=72K1VhjoL98 – DevBytes Using Android TV
Leanback

Contenu connexe

Tendances

How to create Content for Instagram - July 2018
How to create Content for Instagram - July 2018 How to create Content for Instagram - July 2018
How to create Content for Instagram - July 2018 Lucio Ribeiro
 
Game Development for Asha and Windows Phone 8
Game Development for Asha and Windows Phone 8Game Development for Asha and Windows Phone 8
Game Development for Asha and Windows Phone 8Aditia Dwiperdana
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TVBeMyApp
 
Nougat 7.0 seminar
Nougat 7.0 seminarNougat 7.0 seminar
Nougat 7.0 seminarVen Esh
 
Social App Development with Qt
Social App Development with QtSocial App Development with Qt
Social App Development with QtAndri Yadi
 
TDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material designTDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material designJackson F. de A. Mafra
 
Reach More Players: Smart Design for Streaming Media Devices
Reach More Players: Smart Design for Streaming Media DevicesReach More Players: Smart Design for Streaming Media Devices
Reach More Players: Smart Design for Streaming Media DevicesAmazon Appstore Developers
 
Google I/O 2016 Highlights That You Should Know
Google I/O 2016 Highlights That You Should KnowGoogle I/O 2016 Highlights That You Should Know
Google I/O 2016 Highlights That You Should KnowAppinventiv
 
Designing UIs for phones and tablets - Android Developr Lab Q3 2011
Designing UIs for phones and tablets - Android Developr Lab Q3 2011Designing UIs for phones and tablets - Android Developr Lab Q3 2011
Designing UIs for phones and tablets - Android Developr Lab Q3 2011Paris Android User Group
 
Google Glass - Wearable Technology
Google Glass - Wearable TechnologyGoogle Glass - Wearable Technology
Google Glass - Wearable TechnologyClinton Dsouza
 
Presentation android 7.0 nougat
Presentation android 7.0 nougatPresentation android 7.0 nougat
Presentation android 7.0 nougatMayank Sharma
 
Blackmagic Design Cinema Camera user manual
Blackmagic Design Cinema Camera user manualBlackmagic Design Cinema Camera user manual
Blackmagic Design Cinema Camera user manualAV ProfShop
 
iBall Andi Enigma - The Perfect Selfie Phone
iBall Andi Enigma - The Perfect Selfie PhoneiBall Andi Enigma - The Perfect Selfie Phone
iBall Andi Enigma - The Perfect Selfie PhoneiBall
 
UX beers – Designing for TV – Sjoera Roggeman & Tine Lavrysen
UX beers – Designing for TV – Sjoera Roggeman & Tine LavrysenUX beers – Designing for TV – Sjoera Roggeman & Tine Lavrysen
UX beers – Designing for TV – Sjoera Roggeman & Tine LavrysenUX Antwerp Meetup
 
Android Best Practises
Android Best PractisesAndroid Best Practises
Android Best PractisesRamesh Akula
 
Google Assistant Overview
Google Assistant Overview  Google Assistant Overview
Google Assistant Overview AI.academy
 
I phone app slideshow
I phone app slideshowI phone app slideshow
I phone app slideshowEuanW
 

Tendances (20)

How to create Content for Instagram - July 2018
How to create Content for Instagram - July 2018 How to create Content for Instagram - July 2018
How to create Content for Instagram - July 2018
 
Game Development for Asha and Windows Phone 8
Game Development for Asha and Windows Phone 8Game Development for Asha and Windows Phone 8
Game Development for Asha and Windows Phone 8
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
 
Nougat 7.0 seminar
Nougat 7.0 seminarNougat 7.0 seminar
Nougat 7.0 seminar
 
Social App Development with Qt
Social App Development with QtSocial App Development with Qt
Social App Development with Qt
 
Look Presentation
Look PresentationLook Presentation
Look Presentation
 
TDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material designTDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material design
 
Reach More Players: Smart Design for Streaming Media Devices
Reach More Players: Smart Design for Streaming Media DevicesReach More Players: Smart Design for Streaming Media Devices
Reach More Players: Smart Design for Streaming Media Devices
 
Google I/O 2016 Highlights That You Should Know
Google I/O 2016 Highlights That You Should KnowGoogle I/O 2016 Highlights That You Should Know
Google I/O 2016 Highlights That You Should Know
 
Designing UIs for phones and tablets - Android Developr Lab Q3 2011
Designing UIs for phones and tablets - Android Developr Lab Q3 2011Designing UIs for phones and tablets - Android Developr Lab Q3 2011
Designing UIs for phones and tablets - Android Developr Lab Q3 2011
 
Android
AndroidAndroid
Android
 
Google Glass - Wearable Technology
Google Glass - Wearable TechnologyGoogle Glass - Wearable Technology
Google Glass - Wearable Technology
 
Presentation android 7.0 nougat
Presentation android 7.0 nougatPresentation android 7.0 nougat
Presentation android 7.0 nougat
 
Blackmagic Design Cinema Camera user manual
Blackmagic Design Cinema Camera user manualBlackmagic Design Cinema Camera user manual
Blackmagic Design Cinema Camera user manual
 
iBall Andi Enigma - The Perfect Selfie Phone
iBall Andi Enigma - The Perfect Selfie PhoneiBall Andi Enigma - The Perfect Selfie Phone
iBall Andi Enigma - The Perfect Selfie Phone
 
UX beers – Designing for TV – Sjoera Roggeman & Tine Lavrysen
UX beers – Designing for TV – Sjoera Roggeman & Tine LavrysenUX beers – Designing for TV – Sjoera Roggeman & Tine Lavrysen
UX beers – Designing for TV – Sjoera Roggeman & Tine Lavrysen
 
Android Best Practises
Android Best PractisesAndroid Best Practises
Android Best Practises
 
Android evolution
Android evolutionAndroid evolution
Android evolution
 
Google Assistant Overview
Google Assistant Overview  Google Assistant Overview
Google Assistant Overview
 
I phone app slideshow
I phone app slideshowI phone app slideshow
I phone app slideshow
 

Similaire à Migrating to Android TV

Tubi tv mobile designs
Tubi tv   mobile designsTubi tv   mobile designs
Tubi tv mobile designsJeff Bayer
 
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011Paris Android User Group
 
Christian Kurzke; Getting Your Content on the Big Screen
Christian Kurzke; Getting Your Content on the Big ScreenChristian Kurzke; Getting Your Content on the Big Screen
Christian Kurzke; Getting Your Content on the Big ScreenDroidcon Berlin
 
DroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant meDroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant meDaniela Mogini
 
Teaching Your Client Android Design, or, Don't Be An iPhoney
Teaching Your Client Android Design, or, Don't Be An iPhoneyTeaching Your Client Android Design, or, Don't Be An iPhoney
Teaching Your Client Android Design, or, Don't Be An iPhoneyKenton Price
 
10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App DevelopersJigyasa Makkar
 
From desktop to big screens
From desktop to big screens From desktop to big screens
From desktop to big screens Zdenek Zenger
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overviewBin Yang
 
Droidcon 2013 accessible android apps sharma_google
Droidcon 2013 accessible android apps sharma_googleDroidcon 2013 accessible android apps sharma_google
Droidcon 2013 accessible android apps sharma_googleDroidcon Berlin
 
Screencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptxScreencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptxHammadRao5
 
Android Design Guidelines
Android Design GuidelinesAndroid Design Guidelines
Android Design GuidelinesSam Gaddis
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidEmbarcadero Technologies
 
Google tv gdg_devfest_firenze2012
Google tv gdg_devfest_firenze2012Google tv gdg_devfest_firenze2012
Google tv gdg_devfest_firenze2012firenze-gtug
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVStefano Sanna
 
Good Design Principles for App Developer (UAB) 2017
Good Design Principles for App Developer (UAB) 2017Good Design Principles for App Developer (UAB) 2017
Good Design Principles for App Developer (UAB) 2017Marçal P.
 
UX on the big screen - MobX Conference 2016
UX on the big screen - MobX Conference 2016UX on the big screen - MobX Conference 2016
UX on the big screen - MobX Conference 2016Thorsten Jonas
 

Similaire à Migrating to Android TV (20)

Tubi tv mobile designs
Tubi tv   mobile designsTubi tv   mobile designs
Tubi tv mobile designs
 
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
 
React Native on Android TV
React Native on Android TVReact Native on Android TV
React Native on Android TV
 
Christian Kurzke; Getting Your Content on the Big Screen
Christian Kurzke; Getting Your Content on the Big ScreenChristian Kurzke; Getting Your Content on the Big Screen
Christian Kurzke; Getting Your Content on the Big Screen
 
DroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant meDroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant me
 
Teaching Your Client Android Design, or, Don't Be An iPhoney
Teaching Your Client Android Design, or, Don't Be An iPhoneyTeaching Your Client Android Design, or, Don't Be An iPhoney
Teaching Your Client Android Design, or, Don't Be An iPhoney
 
UXD portfolio
UXD portfolioUXD portfolio
UXD portfolio
 
10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers
 
Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
 
From desktop to big screens
From desktop to big screens From desktop to big screens
From desktop to big screens
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overview
 
Droidcon 2013 accessible android apps sharma_google
Droidcon 2013 accessible android apps sharma_googleDroidcon 2013 accessible android apps sharma_google
Droidcon 2013 accessible android apps sharma_google
 
Screencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptxScreencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptx
 
Android Design Guidelines
Android Design GuidelinesAndroid Design Guidelines
Android Design Guidelines
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and Android
 
Enlarge your screen
Enlarge your screenEnlarge your screen
Enlarge your screen
 
Google tv gdg_devfest_firenze2012
Google tv gdg_devfest_firenze2012Google tv gdg_devfest_firenze2012
Google tv gdg_devfest_firenze2012
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TV
 
Good Design Principles for App Developer (UAB) 2017
Good Design Principles for App Developer (UAB) 2017Good Design Principles for App Developer (UAB) 2017
Good Design Principles for App Developer (UAB) 2017
 
UX on the big screen - MobX Conference 2016
UX on the big screen - MobX Conference 2016UX on the big screen - MobX Conference 2016
UX on the big screen - MobX Conference 2016
 

Dernier

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Dernier (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Migrating to Android TV

  • 1. Migrating to Android TV Design tips for Android TV CodeMash 2015 David Carver Gplus: +David Carver Twitter: @kingargyle https://github.com/NineWorlds/serenity-android
  • 2. What constitutes Android TV Internet Enabled Devices running Android 3.2 or Higher. 2nd Screen/Remote Control/Game Pad support Ment to be used primarily with a TV.
  • 8. I had an Itch that Needed Scratched ● Existing TV UIs were frustrating to use with a Remote ● Wanted to learn Android Development and seemed like a good thing to do at the time. ● Tired of TV Apps getting second class treatment. ● Apps designed for TV don't need to SUCK!!
  • 9. Android apps running on a TV sucked because Developers let them suck!
  • 10. Myth: A Tablet App will work fine on a TV! The truth...Maybe An app designed for Landscape mode on a tablet may work, but the user experience will probably suffer.
  • 11. Failure Points ● The app may run, but will probably provide a frustrating user experience. ● These apps are designed for Touch and typically do not take into account other ways to interact with the app. ● Using a Mouse is frustrating on the TV. If the user has to use the mouse pointer, it is a design failure. ● Need to design with the TV environment or Accessibility in mind.
  • 12. Why not just Chromecast Everything? ● You need a Phone/Tablet/PC that supports it. ● Not everybody likes having to use a Phone/Tablet as a second screen device. ● Not everybody has a supported Chromecast device. ● Some prefer using a Remote. It's familiar. ● Limited to very basic playback or interaction. Not designed for more complicated applications and interactions.
  • 13. Guidelines? We don't need no stinking guidelines!
  • 14.
  • 15. Android TV / Fire TV / OUYA Design Guidelines ● Design for D-PAD not for Touch interface ● Avoid the use of the Mouse or Touchpad. ● Emphasize obvious items that can be selected or interacted with. ● Back Button should exit or take back to previous screen. ● Give visual indicators when more information is provided off screen (i.e. scrolling required) ● Compensate for Overscan on TVs
  • 16. Visually Appealing ● Design with Visual Appeal – Apps are going to be in people's living rooms. – TVs are ment to be visual displays – You want the wow factor to help bring people back. – However it needs to be simple and functional. ● Limit the number of clicks that a person has to get to anything on the screen. – The fewer the clicks the better.
  • 17. Visually Appealing ● Prefer darker themes. – Lighter themes tend to be to bright and harder to read – TV Brightness varies greatly, and depends on room environments. ● Leanback or Holo themes and color schemes work well.
  • 19. Patterns and Anti Patterns
  • 21. Anti Pattern D-Pad Navigation can't skip zones. The long scrolling list in the center has to be navigated through to get to the bottom zone.
  • 22. You can make this Work Limit the center content to Detail information or focusable items that don't scroll. This allows navigation through the zone quickly.
  • 24. Create Quick Navigation Keys ● Provide ways to Navigate quickly through long lists. ● Provide ways to get back to the top of a list quickly. ● To get to the bottom quickly. ● Break Long Lists into separate screens. ● Provide Filtering/Search to narrow scope of items. ● Devices may have Bluethooth enabled keyboards or remotes with keybads connected.
  • 26. Focus Focus will be the most important and time consuming aspect of your app. Getting Focus and the navigation around on screen focusable items is just as important if not more important than the look of the app. Android TV Leanback support library provides this for free in many cases.
  • 27. Avoid the Card Design with Embeddable Clickable Items.
  • 28. Avoid the Embedded Clickable Item If you do this, make sure a person can navigate to it! There is no touch screen, and if they have to resort to a mouse pointer you have failed in your design and user experience.
  • 29. Prefer Android TV Leanback Cards
  • 31. Horizontal 2 Zone Pattern
  • 32. Horizontal Two Zone, Horizontal Grid Scroll View
  • 34. Horizontal 3 Zone Pattern
  • 35. Horizontal 3 Zone. Zone 2 and 3 are Side Scrolling
  • 36. Avoid Content that Scrolls Vertically in Zone 2! In general avoid vertical scrolling with horizontal layouts.
  • 38. Horizontal 3 Zone with Sliding Menu
  • 39. Text and Icons ● Provide large readable fonts. ● Screen space is at a premium. Even at 1920x1080p. – User is sitting about 10ft away so need to make text and fonts legible from that distance. – Set up your Google TV development device from that distance.
  • 40. General UI Consideration ● TVs are always at least layout-large and layout-landscape-notouch resources. ● Drawables are HDPI resolution or higher. ● TV's are always Landscape. ● Darker themes are easier to view than lighter. ● TV Apps should be Full Screen Apps. The app will be used on the largest most popular device in the house. Give it that special treatment. ● Keep your design consistent. Stick with either Vertical or Horizontal pattern throughout the
  • 41. Android TV Leanback Features ● Support Library with Android Lollipop designed for TVs. – BrowseFragment – SearchFragment – DetailsFragment – PlaybackOverlayFragment ● Provides support back to API 17 Jelly Bean devices. ● Layouts are optimized for TVs by providing a 10% margin on all sides. TVs have overscan.
  • 42. Android TV Leanback Features ● Contribute Recommendations to the Android TV Leanback Launcher via a Service. ● Provide in App Voice Search ● Contribute Global Search Results via a Content Provider ● Model – View – Presenter – ObjectAdapter – Presenter – RecycleView – Fragments responsible for Click Events
  • 43. AndroidManifest.xml ● RECEIVE_BOOT_COMPLETED – if your app provides recommendations. ● RECORD_AUDIO – for in App Voice Search ● TOUCHSCREEN – false – signifies that this app is designed to run devices that don't require a touch screen.
  • 44. Leanback Launcher Necessary otherwise the app will not show up on the Android TV Launcher
  • 45. Leanback Theme ● Activities that support Leanback must extend from the Theme.Leanback theme. This helps optimize the activity and layouts for the TV.
  • 46. Leanback Recommendations ● Intent Service that is scheduled to provide Recommendations to the Leanback Launcher ● Launched after Boot is completed. ● Uses Notification Manager ● Content Providers for background images for cards
  • 47. Voice Search ● Extend SearchFragment ● Create a CardPresenter ● Create a Layout for Search that includes the custom search fragment. ● Override onSearchRequested – the built in Search provider is disabled in Android TV devices.
  • 48. Dog Food your App ● Get an Android Smart TV, Amazon Fire TV, or OUYA device and test your app there. – Screen resolutions will vary due to Overscan ● Use your own App. If you get frustrated, others will. ● Test both for Touch and for various controller inputs. Remote, Game Controller, Voice – Not all Remotes are created equal – Not all Game Controllers are mapped the same.
  • 50. KeyCode Events ● Android supports a wide variety of Media Key Codes – Play, Skip Forward, Pause, Stop, Skip Back ● Channel Up and Channel Down make good Page Up and Page Down alternatives for quick navigation. ● Remember many Android TVs do have keyboards in the remote. Provide keyboard short cuts for your app.
  • 51. Context Menus ● Use Context Menus to provide context sensitive information. – Don't use the Action Bar especially with Grid or Scrollable contentl. Prefer LeftNav pattern. – Beware of the dreaded onItemLongClick bug with Remotes and Game Controllers. It'll fire both Click and Long Click events. ● Give option to map Menu key to context menu ● Provide alternatives to bring up context menu ● Don't embed your context menus into clickable drop down menus in cards or list items!!! – Users need to reach for mouse or touch pad. Automatic failure at this point.
  • 52. What About Testing??? Come to the talk on Friday Unit Testing Android without Going Bald! You can use existing Testing Tools to Test your Android TV applications.
  • 53. Code Examples How do you do it???
  • 54. Android TV Leanback Resources ● https://github.com/googlesamples/androidtv- leanback – sample application that implements most Android TV Leanback functionality. ● https://developer.android.com/training/tv/start/i ndex.html – Examples and guidelines for implementing Recommendations and In App Search. ● https://www.youtube.com/watch? v=72K1VhjoL98 – DevBytes Using Android TV Leanback