SlideShare une entreprise Scribd logo
1  sur  65
Serenity for Android
Design tips for making your App work well on
Android TV devices
COJUG 2014
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
Serenity for Android
Serenity for 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.
Android TV – Google TV Boxes
Televisions
Other Android Based Devices
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!!
Plex on Google TV before Redesign
Android TV apps suck 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!
Google TV/Amazon 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.
● Holo themes and color schemes work well.
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.
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
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.
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 with
horizontal layouts.
Horizontal Zone Pattern
With Sliding Menu
Horizontal 3 Zone with Sliding Menu
Vertical 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
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
● 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 app. Easier for
user to learn. If changing the pattern make it a user
choice to do so (i.e. multiple layouts)
Emulator
Use a Nexus 7 screen resolution. Also use
the Google TV Add On.
You may want to use a Nexus 10 emulator
to test for XLarge displays.
Use Intel Images (Much faster)
Enable D-Pad with Google TV Add On.
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)
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.
Avoid Proprietary Extensions
● Avoid using undocumented APIs. You'll
back yourself into a corner.
● Consider supporting older Google TV
devices. You can survive in Honeycomb.
Unless.....
– You require NDK support. Then target at least
ICS devices.
– Compatibility library works well when needed.
Most native Android views D-Pad friendly.
– Plenty of Open source widgets and libraries
that can be used. Adds negligible size. If
necessary use ProGuard to remove
extraneous classes.
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.
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
Android-Universal-Image-Loader
Helps with Cache Images and Loading
Images in the Background
Highly configurable.
https://github.com/nostra13/Android-
Universal-Image-Loader
TwoWayGridView
Provides a horizontal scrolling grid.
Child views don't get focus. Minor bug.
https://github.com/jess-anders/two-
way-gridview
Android-MenuDrawer
https://github.com/SimonVT/android-
menudrawer
● Position along all four edges.
● Supports attaching an always visible, non-
draggable menu (i.e. Left Nav Bar)
● Can wrap entire window or specific content
● Allows the drawer to be opened by dragging the
edge, the entire screen or not at all.
● Can be used in XML layouts.
● Indicator that shows which screen is currently
visible.
Serenity Logo Designed By
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

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
 
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
 
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
 
Android nougat 7.1 | Top Mobile App Development Company
Android nougat 7.1 | Top Mobile App Development CompanyAndroid nougat 7.1 | Top Mobile App Development Company
Android nougat 7.1 | Top Mobile App Development Companytechugo
 
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
 
Social App Development with Qt
Social App Development with QtSocial App Development with Qt
Social App Development with QtAndri Yadi
 
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
 
App for that April 15 2013
App for that April 15 2013App for that April 15 2013
App for that April 15 2013Tracy Smith
 
Blackmagic camera manual
Blackmagic camera manualBlackmagic camera manual
Blackmagic camera manualSang-Dae Jung
 
Camera mouse2011manual
Camera mouse2011manualCamera mouse2011manual
Camera mouse2011manualKate Ahern
 
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
 
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
 
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
 
Ugnius vaznys tesonet
Ugnius vaznys   tesonetUgnius vaznys   tesonet
Ugnius vaznys tesonetUgniusVaznys
 
Video recording of classes
Video recording of classesVideo recording of classes
Video recording of classesKrupakar Reddy
 
Oppo N1 Mini review in pictures
Oppo N1 Mini review in picturesOppo N1 Mini review in pictures
Oppo N1 Mini review in pictures91mobiles
 
Nokia x review in pictures
Nokia x review in picturesNokia x review in pictures
Nokia x review in pictures91mobiles
 
Project 3 [Adult Swim] Presentation
Project 3 [Adult Swim] PresentationProject 3 [Adult Swim] Presentation
Project 3 [Adult Swim] PresentationJenna Fitzpatrick
 

Tendances (19)

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
 
iOS 10 or Android Nougat? Who is leading the era
iOS 10 or Android Nougat? Who is leading the eraiOS 10 or Android Nougat? Who is leading the era
iOS 10 or Android Nougat? Who is leading the era
 
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
 
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.
 
Android nougat 7.1 | Top Mobile App Development Company
Android nougat 7.1 | Top Mobile App Development CompanyAndroid nougat 7.1 | Top Mobile App Development Company
Android nougat 7.1 | Top Mobile App Development Company
 
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
 
Social App Development with Qt
Social App Development with QtSocial App Development with Qt
Social App Development with Qt
 
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
 
App for that April 15 2013
App for that April 15 2013App for that April 15 2013
App for that April 15 2013
 
Blackmagic camera manual
Blackmagic camera manualBlackmagic camera manual
Blackmagic camera manual
 
Camera mouse2011manual
Camera mouse2011manualCamera mouse2011manual
Camera mouse2011manual
 
TDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material designTDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material design
 
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)
 
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
 
Ugnius vaznys tesonet
Ugnius vaznys   tesonetUgnius vaznys   tesonet
Ugnius vaznys tesonet
 
Video recording of classes
Video recording of classesVideo recording of classes
Video recording of classes
 
Oppo N1 Mini review in pictures
Oppo N1 Mini review in picturesOppo N1 Mini review in pictures
Oppo N1 Mini review in pictures
 
Nokia x review in pictures
Nokia x review in picturesNokia x review in pictures
Nokia x review in pictures
 
Project 3 [Adult Swim] Presentation
Project 3 [Adult Swim] PresentationProject 3 [Adult Swim] Presentation
Project 3 [Adult Swim] Presentation
 

Similaire à Serenity for Android: Design Tips for Android TV

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
 
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
 
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
 
Excellence in the Android User Experience
Excellence in the Android User ExperienceExcellence in the Android User Experience
Excellence in the Android User Experiencemobilegui
 
Designing responsive web design in FIGMA
Designing responsive web design in FIGMADesigning responsive web design in FIGMA
Designing responsive web design in FIGMAFibonalabs
 
Tizen mobile design_guidelines
Tizen mobile design_guidelinesTizen mobile design_guidelines
Tizen mobile design_guidelinesSaima Ashiq
 
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
 
iOS 7 UI Guidelines
iOS 7 UI GuidelinesiOS 7 UI Guidelines
iOS 7 UI GuidelinesAneeq Anwar
 
Android N multi window
Android N multi windowAndroid N multi window
Android N multi windowYu-Wei Chuang
 
Mobile First Approach - The key to cross platform interface design
Mobile First Approach - The key to cross platform interface designMobile First Approach - The key to cross platform interface design
Mobile First Approach - The key to cross platform interface designVivek Parihar
 
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.
 
DroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant meDroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant meDaniela Mogini
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overviewBin Yang
 
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
 
Guidelines for Android application design.pptx
Guidelines for Android application design.pptxGuidelines for Android application design.pptx
Guidelines for Android application design.pptxdebasish duarah
 

Similaire à Serenity for Android: Design Tips for Android TV (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
 
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
 
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
 
Excellence in the Android User Experience
Excellence in the Android User ExperienceExcellence in the Android User Experience
Excellence in the Android User Experience
 
Designing responsive web design in FIGMA
Designing responsive web design in FIGMADesigning responsive web design in FIGMA
Designing responsive web design in FIGMA
 
Tizen mobile design_guidelines
Tizen mobile design_guidelinesTizen mobile design_guidelines
Tizen mobile 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
 
iOS 7 UI Guidelines
iOS 7 UI GuidelinesiOS 7 UI Guidelines
iOS 7 UI Guidelines
 
Android N multi window
Android N multi windowAndroid N multi window
Android N multi window
 
Droidcon2014 - Android UX
Droidcon2014 - Android UXDroidcon2014 - Android UX
Droidcon2014 - Android UX
 
Mobile First Approach - The key to cross platform interface design
Mobile First Approach - The key to cross platform interface designMobile First Approach - The key to cross platform interface design
Mobile First Approach - The key to cross platform interface design
 
UI and UX for Mobile Developers
UI and UX for Mobile DevelopersUI and UX for Mobile Developers
UI and UX for Mobile Developers
 
En gb kitkat-1.11
En gb kitkat-1.11En gb kitkat-1.11
En gb kitkat-1.11
 
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
 
User Experience Design for Tablets
User Experience Design for TabletsUser Experience Design for Tablets
User Experience Design for Tablets
 
DroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant meDroidConIT Wrap-up - Enchant me
DroidConIT Wrap-up - Enchant me
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overview
 
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
 
Guidelines for Android application design.pptx
Guidelines for Android application design.pptxGuidelines for Android application design.pptx
Guidelines for Android application design.pptx
 

Dernier

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Dernier (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+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...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Serenity for Android: Design Tips for Android TV

  • 1. Serenity for Android Design tips for making your App work well on Android TV devices COJUG 2014 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
  • 5. 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.
  • 6. Android TV – Google TV Boxes
  • 10. 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!!
  • 11. Plex on Google TV before Redesign
  • 12. Android TV apps suck because Developers let them suck!
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 16. Guidelines? We don't need no stinking guidelines!
  • 17. Google TV/Amazon 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
  • 18. 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.
  • 19. 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.
  • 20. Patterns and Anti Patterns
  • 22. 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.
  • 23. 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.
  • 25. 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.
  • 27. 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.
  • 28. Avoid the Card Design with Embeddable Clickable Items.
  • 29. 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.
  • 30. Avoid Horizontal Scroll with Side Menu (There is an exception)
  • 31. Avoid Search at top of Page, Place it in Left Nav Bar or Sliding Menu
  • 33. Horizontal 2 Zone Pattern
  • 34. Horizontal Two Zone, Horizontal Grid Scroll View
  • 35. Horizontal 3 Zone Pattern
  • 36. Horizontal 3 Zone. Zone 2 and 3 are Side Scrolling
  • 37. Avoid Content that Scrolls Vertically in Zone 2! In general avoid vertical scrolling with horizontal layouts.
  • 39. Horizontal 3 Zone with Sliding Menu
  • 40. Vertical Zone Pattern The Good and the Ugly
  • 41.
  • 42. Good Use of 3 Zone Vertical Layout
  • 43. Use Vertical Scroll Grid View with Side Menu / Left Nav Bar Fewer clicks to get to the Side Content
  • 44. Avoid Vertical and Horizontal Scrolling When in Content Zone don't scroll both directions.
  • 45. Top Items Hard to get too. Due to Vertical scrolling center content.
  • 46. Left Nav Bar hard to get to due to Horizontal Scrolling content
  • 47. New Plex has same issue. Horizontal and Vertical Scroll content
  • 48. 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.
  • 49. Tips for Developing and Testing
  • 50.
  • 51. 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.
  • 52. 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 app. Easier for user to learn. If changing the pattern make it a user choice to do so (i.e. multiple layouts)
  • 53. Emulator Use a Nexus 7 screen resolution. Also use the Google TV Add On. You may want to use a Nexus 10 emulator to test for XLarge displays. Use Intel Images (Much faster) Enable D-Pad with Google TV Add On.
  • 55. 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.
  • 56. Avoid Proprietary Extensions ● Avoid using undocumented APIs. You'll back yourself into a corner. ● Consider supporting older Google TV devices. You can survive in Honeycomb. Unless..... – You require NDK support. Then target at least ICS devices. – Compatibility library works well when needed. Most native Android views D-Pad friendly. – Plenty of Open source widgets and libraries that can be used. Adds negligible size. If necessary use ProGuard to remove extraneous classes.
  • 57. 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.
  • 58. 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.
  • 59. 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
  • 60. Open Source Widgets that Work well for the TV
  • 61. Android-Universal-Image-Loader Helps with Cache Images and Loading Images in the Background Highly configurable. https://github.com/nostra13/Android- Universal-Image-Loader
  • 62. TwoWayGridView Provides a horizontal scrolling grid. Child views don't get focus. Minor bug. https://github.com/jess-anders/two- way-gridview
  • 63. Android-MenuDrawer https://github.com/SimonVT/android- menudrawer ● Position along all four edges. ● Supports attaching an always visible, non- draggable menu (i.e. Left Nav Bar) ● Can wrap entire window or specific content ● Allows the drawer to be opened by dragging the edge, the entire screen or not at all. ● Can be used in XML layouts. ● Indicator that shows which screen is currently visible.
  • 65. 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