SlideShare une entreprise Scribd logo
1  sur  57
Serenity for Android
Design Tips for making your App work well on
Android TV devices
Big Android BBQ 2013
David Carver
Gplus: David Carver or Serenity for Android
Twitter: @kingargyle
https://github.com/NineWorlds/serenity-android
What is Serenity
● Plex Media Server Client for Androd TV
Devices, Game consoles, and tablets.
● Optimized for Remote and D-Pad navigation
● Open Source project available on github
https://github.com/NineWorlds/serenity-app
● Available in the Google Play store.
● MIT Licensed
Android TV what does it include?
● Google TV devices
– Sony NS7/8, Vizio Co-Star, Asus Cube
● Android TV sticks and HDMI devices
● Tablets connected to the TV
● Gaming consoles like the OUYA
● Anything that supports the android.tv system
feature!
Why Design for TV???
I had an Itch that Needed Scratched
● Plex App was constantly crashing
● The UI was 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.
● Wanted a more Media Center layout for Plex.
● Apps designed for TV don't need to SUCK!!
Android TV apps suck because
Developers let them suck!
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.
Plex on Google TV before Redesign
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.
Guidelines?
We don't need no stinking
guidelines!
Google TV 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)
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.
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.
● Holo themes and color schemes work well.
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.
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.
That great tablet embeddable card layout may
not work as well with a Remote or D-Pad.
Avoid the Card Design with
Embeddable Clickable Items.
Avoid the Embedded Clickable Item
Avoid Horizontal Scroll with Side
Menu (There is an exception)
Avoid Search at top of Page, Place
it in Left Nav Bar or Sliding Menu
Horizontal Zone Pattern
Horizontal 2 Zone Pattern
Horizontal Two Zone, Horizontal
Grid Scroll View
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
Horizontal Zone Pattern
With Sliding Menu
Horizontal 3 Zone with Sliding Menu
Veritcal Zone Pattern
The Good and the Ugly
Good Use of 3 Zone Vertical Layout
Use Vertical Scroll Grid View with
Side Menu / Left Nav Bar
Fewer clicks to get to the Side Content
Avoid Vertical and Horizontal Scrolling
When in Content Zone don't scroll both
directions.
Top Items Hard to get too. Due to
Vertical scrolling center content.
Left Nav Bar hard to get to due to
Horizontal Scrolling content
New Plex has same issue.
Horizontal and Vertical Scroll
content
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.
Tips for Developing and Testing
You must unlearn....what you
have learned.
AndroidManifest.xml
● <uses-feature
android:name="android.hardware.touchscreen
" android:required="false" />
● Allows for the Play Store to allow the app to be
installed on a Android TV device.
● <uses-sdk android:minSdkVersion="13"/>
● For Honeycomb Google TV devices.
General UI Consideration
● TV's are always at least layout-large and layout-
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 app. Easier for
user to learn. If changing the pattern make it a user
choice to do so (i.e. multiple layouts)
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)
Emulator
Use a Nexus 7 screen resolution. Also use
the Google TV Add On.
Use Intel Images (Much faster)
Enable D-Pad with Google TV Add On.
Dog Food your App
● Get an Android Smart TV 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
Avoid Proprietary Extensions
● Avoid using undocumented APIs. You'll back
yourself into a corner.
● You can survive in Honeycomb.
– NDK support comign with Jelly Bean update for
Android TVs
– Compatibility library works well when needed
– Plenty of Open source widgets and libraries that
can be used. Adds negligible size.
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 content
– 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.
Performance
● Use Animations sparingly
– TV Devices are typically slower than Phones/Tablets
– Can appear to slow down the app.
● Becareful of views that always fire an OnSelect
event. Design views that can ignore on select
during fling operations.
● Network is always on, less concern about wifi
usage and consumption.
● Do implement caches, devices still have limited
storage
Open Source Widgets that
Work well for the TV
TwoWayGridView
Provides a horizontal scrolling grid.
Child views don't get focus. Minor bug.
https://github.com/jess-anders/two-
way-gridview
Menu-Drawer
Sliding Menu with easy configuration
Respects focus. Not all do.
https://github.com/SimonVT/android-
menudrawer
Thanks To
● Spiderfly Studios – for Logo and some graphic
design work
– http://www.spiderflystudios.com
● Google TV Friends for initial promotion of the
app and helping get the word out.
● Stackoverflow community for the many helpful
tips

Contenu connexe

Tendances

Video productsupremacy video_production by drag and drop.
Video productsupremacy video_production by drag and drop.Video productsupremacy video_production by drag and drop.
Video productsupremacy video_production by drag and drop.vikaastrivedi
 
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
 
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
 
Video editing cheat_sheet_2_2_compressed
Video editing cheat_sheet_2_2_compressedVideo editing cheat_sheet_2_2_compressed
Video editing cheat_sheet_2_2_compressedCJ Joiner
 
Blackmagic camera manual
Blackmagic camera manualBlackmagic camera manual
Blackmagic camera manualSang-Dae Jung
 
Camera mouse2011manual
Camera mouse2011manualCamera mouse2011manual
Camera mouse2011manualKate Ahern
 
Designing and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsDesigning and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsTeddy Koornia
 
Google Cast for iOS and Android using Xamarin
Google Cast for iOS and Android using XamarinGoogle Cast for iOS and Android using Xamarin
Google Cast for iOS and Android using XamarinPeter Major
 
Oppo N1 Mini review in pictures
Oppo N1 Mini review in picturesOppo N1 Mini review in pictures
Oppo N1 Mini review in pictures91mobiles
 
Adobe Premiere CC 2015 cheat sheet (windows)
Adobe Premiere CC 2015 cheat sheet (windows)Adobe Premiere CC 2015 cheat sheet (windows)
Adobe Premiere CC 2015 cheat sheet (windows)Freelance
 

Tendances (10)

Video productsupremacy video_production by drag and drop.
Video productsupremacy video_production by drag and drop.Video productsupremacy video_production by drag and drop.
Video productsupremacy video_production by drag and drop.
 
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
 
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
 
Video editing cheat_sheet_2_2_compressed
Video editing cheat_sheet_2_2_compressedVideo editing cheat_sheet_2_2_compressed
Video editing cheat_sheet_2_2_compressed
 
Blackmagic camera manual
Blackmagic camera manualBlackmagic camera manual
Blackmagic camera manual
 
Camera mouse2011manual
Camera mouse2011manualCamera mouse2011manual
Camera mouse2011manual
 
Designing and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsDesigning and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tablets
 
Google Cast for iOS and Android using Xamarin
Google Cast for iOS and Android using XamarinGoogle Cast for iOS and Android using Xamarin
Google Cast for iOS and Android using Xamarin
 
Oppo N1 Mini review in pictures
Oppo N1 Mini review in picturesOppo N1 Mini review in pictures
Oppo N1 Mini review in pictures
 
Adobe Premiere CC 2015 cheat sheet (windows)
Adobe Premiere CC 2015 cheat sheet (windows)Adobe Premiere CC 2015 cheat sheet (windows)
Adobe Premiere CC 2015 cheat sheet (windows)
 

Similaire à Serenity for Android: Designing for Android TV Devices

Tubi tv mobile designs
Tubi tv   mobile designsTubi tv   mobile designs
Tubi tv mobile designsJeff Bayer
 
From desktop to big screens
From desktop to big screens From desktop to big screens
From desktop to big screens Zdenek Zenger
 
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
 
Native Mobile Testing for Newbies
Native Mobile Testing for NewbiesNative Mobile Testing for Newbies
Native Mobile Testing for NewbiesSusan Hewitt
 
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
 
Screencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptxScreencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptxHammadRao5
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overviewBin Yang
 
Designing and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsDesigning and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsCường Doãn
 
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.
 
Best UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdf
Best UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdfBest UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdf
Best UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdfHarssh Trivedi
 
UX UI & Design Case Studies from Happy Dog
UX UI & Design Case Studies from Happy DogUX UI & Design Case Studies from Happy Dog
UX UI & Design Case Studies from Happy DogHappyDogWebProductions
 
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
 
Lesson 2 - IA for small screens
Lesson 2 - IA for small screensLesson 2 - IA for small screens
Lesson 2 - IA for small screensHanna-Liisa Pender
 

Similaire à Serenity for Android: Designing for Android TV Devices (20)

Tubi tv mobile designs
Tubi tv   mobile designsTubi tv   mobile designs
Tubi tv mobile designs
 
From desktop to big screens
From desktop to big screens From desktop to big screens
From desktop to big screens
 
React Native on Android TV
React Native on Android TVReact Native on Android TV
React Native on Android TV
 
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
 
En gb kitkat-1.11
En gb kitkat-1.11En gb kitkat-1.11
En gb kitkat-1.11
 
Native Mobile Testing for Newbies
Native Mobile Testing for NewbiesNative Mobile Testing for Newbies
Native Mobile Testing for Newbies
 
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
 
Screencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptxScreencasting Presentation - Example.pptx
Screencasting Presentation - Example.pptx
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overview
 
Designing and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsDesigning and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tablets
 
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
 
Android N Features You Need to Know
Android N Features You Need to KnowAndroid N Features You Need to Know
Android N Features You Need to Know
 
Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
 
Best UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdf
Best UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdfBest UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdf
Best UI UX Practices for Mobile App & Website Design by Harssh Trivedi.pdf
 
UX UI & Design Case Studies from Happy Dog
UX UI & Design Case Studies from Happy DogUX UI & Design Case Studies from Happy Dog
UX UI & Design Case Studies from Happy Dog
 
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
 
Lesson 2 - IA for small screens
Lesson 2 - IA for small screensLesson 2 - IA for small screens
Lesson 2 - IA for small screens
 

Dernier

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 

Serenity for Android: Designing for Android TV Devices

  • 1. Serenity for Android Design Tips for making your App work well on Android TV devices Big Android BBQ 2013 David Carver Gplus: David Carver or Serenity for Android Twitter: @kingargyle https://github.com/NineWorlds/serenity-android
  • 2. What is Serenity ● Plex Media Server Client for Androd TV Devices, Game consoles, and tablets. ● Optimized for Remote and D-Pad navigation ● Open Source project available on github https://github.com/NineWorlds/serenity-app ● Available in the Google Play store. ● MIT Licensed
  • 3.
  • 4. Android TV what does it include? ● Google TV devices – Sony NS7/8, Vizio Co-Star, Asus Cube ● Android TV sticks and HDMI devices ● Tablets connected to the TV ● Gaming consoles like the OUYA ● Anything that supports the android.tv system feature!
  • 6. I had an Itch that Needed Scratched ● Plex App was constantly crashing ● The UI was 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. ● Wanted a more Media Center layout for Plex. ● Apps designed for TV don't need to SUCK!!
  • 7. Android TV apps suck because Developers let them suck!
  • 8. 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.
  • 9. Plex on Google TV before Redesign
  • 10. 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.
  • 11. Guidelines? We don't need no stinking guidelines!
  • 12. Google TV 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)
  • 13. 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.
  • 14. 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. ● Holo themes and color schemes work well.
  • 16. 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.
  • 17. 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.
  • 19. 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.
  • 21. 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. That great tablet embeddable card layout may not work as well with a Remote or D-Pad.
  • 22. Avoid the Card Design with Embeddable Clickable Items.
  • 23. Avoid the Embedded Clickable Item
  • 24. Avoid Horizontal Scroll with Side Menu (There is an exception)
  • 25. Avoid Search at top of Page, Place it in Left Nav Bar or Sliding Menu
  • 27. Horizontal 2 Zone Pattern
  • 28. Horizontal Two Zone, Horizontal Grid Scroll View
  • 29. Horizontal 3 Zone Pattern
  • 30. Horizontal 3 Zone. Zone 2 and 3 are Side Scrolling
  • 31. Avoid Content that Scrolls Vertically in Zone 2! In general avoid vertical scrolling
  • 33. Horizontal 3 Zone with Sliding Menu
  • 34. Veritcal Zone Pattern The Good and the Ugly
  • 35.
  • 36. Good Use of 3 Zone Vertical Layout
  • 37. Use Vertical Scroll Grid View with Side Menu / Left Nav Bar Fewer clicks to get to the Side Content
  • 38. Avoid Vertical and Horizontal Scrolling When in Content Zone don't scroll both directions.
  • 39. Top Items Hard to get too. Due to Vertical scrolling center content.
  • 40. Left Nav Bar hard to get to due to Horizontal Scrolling content
  • 41. New Plex has same issue. Horizontal and Vertical Scroll content
  • 42. 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.
  • 43. Tips for Developing and Testing
  • 44. You must unlearn....what you have learned.
  • 45. AndroidManifest.xml ● <uses-feature android:name="android.hardware.touchscreen " android:required="false" /> ● Allows for the Play Store to allow the app to be installed on a Android TV device. ● <uses-sdk android:minSdkVersion="13"/> ● For Honeycomb Google TV devices.
  • 46. General UI Consideration ● TV's are always at least layout-large and layout- 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 app. Easier for user to learn. If changing the pattern make it a user choice to do so (i.e. multiple layouts)
  • 48. Emulator Use a Nexus 7 screen resolution. Also use the Google TV Add On. Use Intel Images (Much faster) Enable D-Pad with Google TV Add On.
  • 49. Dog Food your App ● Get an Android Smart TV 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
  • 50. Avoid Proprietary Extensions ● Avoid using undocumented APIs. You'll back yourself into a corner. ● You can survive in Honeycomb. – NDK support comign with Jelly Bean update for Android TVs – Compatibility library works well when needed – Plenty of Open source widgets and libraries that can be used. Adds negligible size.
  • 51. 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.
  • 52. Context Menus ● Use Context Menus to provide context sensitive information. – Don't use the Action Bar especially with Grid or Scrollable content – 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.
  • 53. Performance ● Use Animations sparingly – TV Devices are typically slower than Phones/Tablets – Can appear to slow down the app. ● Becareful of views that always fire an OnSelect event. Design views that can ignore on select during fling operations. ● Network is always on, less concern about wifi usage and consumption. ● Do implement caches, devices still have limited storage
  • 54. Open Source Widgets that Work well for the TV
  • 55. TwoWayGridView Provides a horizontal scrolling grid. Child views don't get focus. Minor bug. https://github.com/jess-anders/two- way-gridview
  • 56. Menu-Drawer Sliding Menu with easy configuration Respects focus. Not all do. https://github.com/SimonVT/android- menudrawer
  • 57. Thanks To ● Spiderfly Studios – for Logo and some graphic design work – http://www.spiderflystudios.com ● Google TV Friends for initial promotion of the app and helping get the word out. ● Stackoverflow community for the many helpful tips