SlideShare a Scribd company logo
1 of 54
Download to read offline
Qt World Summit Berlin 2015
7.10.2015
by Christian Feldbacher, MSc
Co-Founder V-Play GmbH
Qt Responsive Design
&
How to Boost User Retention
(Tech Talk)
cross-platform 2D game development in days
import VPlay 2.0
V-Play Game Engine
Same Code, Multiple Screen Sizes
V-Play App Engine / V-Play Apps
Now available on www.v-play.net/apps
the easiest to use mobile app development framework
Powered by
import VPlayApps 1.0
Part 1: Responsive Design with
Qt & V-Play Apps
Goal: Native User Experience
Screen Sizes, Portrait / Landscape
Goal: Shared Code
iOS Android
QML & JavaScript
C++
…
Android
Goal: Shared Code
C++
…iOS
QML & JavaScript
Fixed Ratio, Percentage
• Use multiplication for sizes
• Use Image.PreserveAspectFit
• Use font.pixelSize * height for Text
• Useful for apps that shall/can have the
same UI ratio on all devices
• Simple to implement
Fixed Ratio, Percentage
• Will look OK on most devices, but sizes
are not „native“ UX
• Landscape & Portrait not both
supportable
• Ugly syntax: dependent on the height of
parent items
• Hard to change: all sizes depend on
parent height
Problems with Fixed Ratio
• Items shall be same physical size
(millimeters) across all devices
• Pixels not usable
• Use dp instead – how to do that in QML?
Density-Independence
Calculate screenDpi
Example screenDpi values are:
– 326 for iPhone Retina
– 212 for Nexus 7
– 143 for 13“ fullHd notebook
Density-Independence
At a 160 dpi screen, 1 dp = 1 pixel
At a 320 dpi screen, 1 dp = 2 pixels
Still the same physical space!
Implementation Guide & Usage:
Density-Independence
Remaining DPI Tasks:
• Read system font size settings
• Provide additional scaling constants
– for PC
– Custom user scale settings possible (both sp and dp)
 Implemented in V-Play already!
Text Sizes
• Problem with 1 image:
– Low res image: blurs at upscaling
– High res image: space & memory waste,
performance issues at loading time
• Solution: Choose image based on screen
size or dpi
• Bad Approach:
Dynamic Image Switching
• File access generalized across platforms
• Works behind the scenes
• V-Play Approach:
 Less code & easier to read (no ifdefs)
 Same physical size thanks to dp()
Dynamic Image Switching
+hd2/imageSwitching.png
+hd/imageSwitching.png
imageSwitching.png
• Also use per platform, e.g. +ios, +android
• Together with QML Singletons set font
sizes, dimensions, layouts
• Disadvantages File Selectors:
– Must be set before QmlEngine.load()
– Cannot be changed at runtime
 to do that, use Loader
– Not as mature as Android (e.g. sw600dp)
File Selectors
• To achieve this:
Density-Independence Summary
• Use Fixed Ratio when possible:
– Pixel values based on parent.height ratio
– Easiest & fastest to develop & test
– File Selectors are auto-supported by V-Play
– Mostly in Games, not well suited for mobile
apps!
• If(FixedRatio !== possible):
– For equal physical Item sizes use dp()
– For Text use font.pixelSize: sp()
• Supply sd (default), +hd, +hd2 graphics
• Never use pixels!
QML Responsive Design Summary
Portrait & Landscape
Portrait & Landscape Code
Android vs. iOS
• Page Transitions
• List Views
• Dialogs
• Input
• Controls
• Fonts
• Default Sizes
Android vs. iOS
iOS vs. Android Navigation
Navigation Component
Platform Changing at Runtime
Showcase App Live Demo
• Messaging App like Facebook: 140 loc
• Twitter App: 840 loc
• Weather App: 150 loc
• Widgets: 330 loc
Lines of Code
No platform-specific application code!
„Qt 5 Showcases by V-Play Apps“
www.v-play.net/showcase-app
Open Source with all App Samples in V-Play SDK
For Windows, Mac, Linux, iOS, Android, Win Phone
• Powerful Animations, User Interfaces with Qt Quick
• Very few lines of Code
• Build on proven tech: C++, JavaScript
• Native Performance
• Easy & clean to integrate Scripting (QML) with C++
V-Play Apps
• Native UX across platforms, single code base
• Mobile First! (iOS, Android)
• Auto Adapting UI Elements (Master/Detail View)
• Density Independence
• Advanced Lists (Pull-to-refresh, Scroll Indicator,
VisibilityRefresh), Page Transitions, …
Strengths of Qt & V-Play Apps
Part 2: How to Increase User Retention
Of mobile apps & games
Push Notifications
V-Play Plugins
Available on www.plugins.v-play.net
Samples on GitHub & in V-Play SDK
• Provide content worth sharing
– Success moments in your app/game
– User Image Upload
– User Generated Content
• Share in-app and via
Social Networks
User-Generated Content
V-Play Sample Launcher
v-play.net/samples
User-Generated Content
User-Generated Content
User-Generated Content
V-Play Level Editor & Level Sharing
Squaby Particle Editor
• Save time in internal development
• Let users create levels
• Social Sharing & Rating of Levels  Community
• Monetize content packs with In-App Purchases
• Customizable Look
Add app store for user generated content to your
own apps/games easily.
Examples (in App Stores):
Stack And Friends
• Achievement & Leaderboard integration
in 60 Lines of Code! Also useful for apps!
V-Play Game Network
V-Play Game Network
V-Play Game Network
• GameCenter on steroids made for/with Qt
• True cross-platform:
– Leaderboards
– Achievements
– Cloud storage & syncing
• Deep Facebook connection
• Full offline support
• Skinnable
• Add Gamification also for
„normal apps“
V-Play Game Network
• Embed in your app/game
• Chat
• Smart Matchmaking: Friends, ELO Ranking
• Real-time & turn-based
Chat / Multiplayer
In-App Chat Matchmaking
Multiplayer Game Template
Retention Measurement
Google Analytics Integration
• Push Notifications
• Social Integrations like Facebook
• User-Generated Content
• Gamification elements:
– Leaderboards
– Achievements
– Multiplayer & In-App Chat
 Measure with Analytics from Day 1!
User Retention Summary
Final Slide 
Meet us outside @ the V-Play / Gimasi Booth!
We will show you Qt games & apps that shine 
www.v-play.net/apps
www.v-play.net
• V-Play Apps: http://v-play.net/apps
• V-Play Resources about Level Editor & User-Generated Content:
http://v-play.net/level-editor
• Android Guide – „Supporting Multiple Screens“:
http://developer.android.com/guide/practices/screens_support.html
• V-Play Guide - „How to create mobile games for different screen sizes and resolutions”:
http://v-play.net/doc/vplay-different-screen-sizes/
• Windows Dev Center Guide – „DPI and Device-Independent Pixels“:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff684173%28v=vs.85%29.aspx
• V-Play Tutorial - „How to increase player retention & downloads in 10 minutes”:
http://v-play.net/doc/lesson-5/
• V-Play Tutorial – „How to add Facebook & Game Center sharing to your game”:
http://v-play.net/doc/lesson-6/
• V-Play Tutorial – „How to boost level creation and balancing of your game with V-Play
Level Editor”:
http://v-play.net/doc/lesson-7/
• V-Play Tutorial – „How to benefit from user-generated content in your game with V-Play
Level Store”:
http://v-play.net/doc/lesson-8/
References

More Related Content

What's hot

Intel XDK in Brief
Intel XDK in BriefIntel XDK in Brief
Intel XDK in BriefCamilo Corea
 
What is codename one
What is codename oneWhat is codename one
What is codename oneShai Almog
 
Unite Los Angeles 2018 - Unity 2019 R&D Roadmap
Unite Los Angeles 2018 - Unity 2019 R&D RoadmapUnite Los Angeles 2018 - Unity 2019 R&D Roadmap
Unite Los Angeles 2018 - Unity 2019 R&D RoadmapUnity Technologies
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKIntel® Software
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1Usman Chaudhry
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDKIntel® Software
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Backwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and TacticsBackwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and TacticsCommonsWare
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKIntel® Software
 
Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3Bruce Pentreath
 
Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014Tomáš Kypta
 
From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4Martin Pernica
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopPeter Robinett
 
Embedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIEmbedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIOpersys inc.
 
How HDRP unlocks graphics – Unite Copenhagen 2019
How HDRP unlocks graphics – Unite Copenhagen 2019How HDRP unlocks graphics – Unite Copenhagen 2019
How HDRP unlocks graphics – Unite Copenhagen 2019Unity Technologies
 
AIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationAIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationBeMyApp
 
Droidcon2013 miracast final2
Droidcon2013 miracast final2Droidcon2013 miracast final2
Droidcon2013 miracast final2Droidcon Berlin
 

What's hot (20)

Intel XDK in Brief
Intel XDK in BriefIntel XDK in Brief
Intel XDK in Brief
 
What is codename one
What is codename oneWhat is codename one
What is codename one
 
Unite Los Angeles 2018 - Unity 2019 R&D Roadmap
Unite Los Angeles 2018 - Unity 2019 R&D RoadmapUnite Los Angeles 2018 - Unity 2019 R&D Roadmap
Unite Los Angeles 2018 - Unity 2019 R&D Roadmap
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Backwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and TacticsBackwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and Tactics
 
Android Development Tutorial V3
Android Development Tutorial   V3Android Development Tutorial   V3
Android Development Tutorial V3
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDK
 
Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3
 
Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014Android development - the basics, MFF UK, 2014
Android development - the basics, MFF UK, 2014
 
From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
Introdução ao Tizen
Introdução ao TizenIntrodução ao Tizen
Introdução ao Tizen
 
Embedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIEmbedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConII
 
How HDRP unlocks graphics – Unite Copenhagen 2019
How HDRP unlocks graphics – Unite Copenhagen 2019How HDRP unlocks graphics – Unite Copenhagen 2019
How HDRP unlocks graphics – Unite Copenhagen 2019
 
AIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationAIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentation
 
Droidcon2013 miracast final2
Droidcon2013 miracast final2Droidcon2013 miracast final2
Droidcon2013 miracast final2
 

Similar to Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Screen Resolutions and Increase & Measure your Cross-Platform App Success (In-Depth Tech Session)

Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingGlobant
 
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-PlatformVisual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-PlatformStefano Ottaviani
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
For Business Success, Choose Cross Platform App Development
For Business Success, Choose Cross Platform App DevelopmentFor Business Success, Choose Cross Platform App Development
For Business Success, Choose Cross Platform App DevelopmentChromeInfo Technologies
 
ProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate ProfileProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate ProfileProtoTech Solutions
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development OverviewDevGAMM Conference
 
Mobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey SeletskyMobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey SeletskySoftServe
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderJeffrey T. Fritz
 
Mobile development with visual studio
Mobile development with visual studioMobile development with visual studio
Mobile development with visual studioSergey Seletsky
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected DevelopmentJim McKeeth
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...Heiko Voigt
 
Niko Sévoz – Game designer
Niko Sévoz – Game designerNiko Sévoz – Game designer
Niko Sévoz – Game designerNiko S
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopmentPrabhat gangwar
 

Similar to Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Screen Resolutions and Increase & Measure your Cross-Platform App Success (In-Depth Tech Session) (20)

Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
 
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-PlatformVisual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
POV | Unity vs HTML5 | Affle Enterprise
POV | Unity vs HTML5 | Affle EnterprisePOV | Unity vs HTML5 | Affle Enterprise
POV | Unity vs HTML5 | Affle Enterprise
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Resume_Haran21 mca
Resume_Haran21 mcaResume_Haran21 mca
Resume_Haran21 mca
 
design-low
design-lowdesign-low
design-low
 
For Business Success, Choose Cross Platform App Development
For Business Success, Choose Cross Platform App DevelopmentFor Business Success, Choose Cross Platform App Development
For Business Success, Choose Cross Platform App Development
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
ProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate ProfileProtoTech Solutions Corporate Profile
ProtoTech Solutions Corporate Profile
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development Overview
 
Mobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey SeletskyMobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey Seletsky
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilder
 
Mobile development with visual studio
Mobile development with visual studioMobile development with visual studio
Mobile development with visual studio
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
CV
CVCV
CV
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Niko Sévoz – Game designer
Niko Sévoz – Game designerNiko Sévoz – Game designer
Niko Sévoz – Game designer
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 

Recently uploaded

Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Niamh verma
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...wyqazy
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝soniya singh
 

Recently uploaded (8)

Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Shalimar Bagh Delhi reach out to us at 🔝8264348440🔝
 

Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Screen Resolutions and Increase & Measure your Cross-Platform App Success (In-Depth Tech Session)

  • 1. Qt World Summit Berlin 2015 7.10.2015 by Christian Feldbacher, MSc Co-Founder V-Play GmbH Qt Responsive Design & How to Boost User Retention (Tech Talk)
  • 2. cross-platform 2D game development in days import VPlay 2.0
  • 4. Same Code, Multiple Screen Sizes
  • 5. V-Play App Engine / V-Play Apps Now available on www.v-play.net/apps the easiest to use mobile app development framework Powered by import VPlayApps 1.0
  • 6. Part 1: Responsive Design with Qt & V-Play Apps
  • 7. Goal: Native User Experience
  • 9. Goal: Shared Code iOS Android QML & JavaScript C++ …
  • 12. • Use multiplication for sizes • Use Image.PreserveAspectFit • Use font.pixelSize * height for Text • Useful for apps that shall/can have the same UI ratio on all devices • Simple to implement Fixed Ratio, Percentage
  • 13. • Will look OK on most devices, but sizes are not „native“ UX • Landscape & Portrait not both supportable • Ugly syntax: dependent on the height of parent items • Hard to change: all sizes depend on parent height Problems with Fixed Ratio
  • 14. • Items shall be same physical size (millimeters) across all devices • Pixels not usable • Use dp instead – how to do that in QML? Density-Independence
  • 15. Calculate screenDpi Example screenDpi values are: – 326 for iPhone Retina – 212 for Nexus 7 – 143 for 13“ fullHd notebook Density-Independence
  • 16. At a 160 dpi screen, 1 dp = 1 pixel At a 320 dpi screen, 1 dp = 2 pixels Still the same physical space! Implementation Guide & Usage: Density-Independence
  • 17. Remaining DPI Tasks: • Read system font size settings • Provide additional scaling constants – for PC – Custom user scale settings possible (both sp and dp)  Implemented in V-Play already! Text Sizes
  • 18. • Problem with 1 image: – Low res image: blurs at upscaling – High res image: space & memory waste, performance issues at loading time • Solution: Choose image based on screen size or dpi • Bad Approach: Dynamic Image Switching
  • 19. • File access generalized across platforms • Works behind the scenes • V-Play Approach:  Less code & easier to read (no ifdefs)  Same physical size thanks to dp() Dynamic Image Switching +hd2/imageSwitching.png +hd/imageSwitching.png imageSwitching.png
  • 20. • Also use per platform, e.g. +ios, +android • Together with QML Singletons set font sizes, dimensions, layouts • Disadvantages File Selectors: – Must be set before QmlEngine.load() – Cannot be changed at runtime  to do that, use Loader – Not as mature as Android (e.g. sw600dp) File Selectors
  • 21. • To achieve this: Density-Independence Summary
  • 22. • Use Fixed Ratio when possible: – Pixel values based on parent.height ratio – Easiest & fastest to develop & test – File Selectors are auto-supported by V-Play – Mostly in Games, not well suited for mobile apps! • If(FixedRatio !== possible): – For equal physical Item sizes use dp() – For Text use font.pixelSize: sp() • Supply sd (default), +hd, +hd2 graphics • Never use pixels! QML Responsive Design Summary
  • 26. • Page Transitions • List Views • Dialogs • Input • Controls • Fonts • Default Sizes Android vs. iOS
  • 27. iOS vs. Android Navigation
  • 31. • Messaging App like Facebook: 140 loc • Twitter App: 840 loc • Weather App: 150 loc • Widgets: 330 loc Lines of Code No platform-specific application code!
  • 32. „Qt 5 Showcases by V-Play Apps“ www.v-play.net/showcase-app Open Source with all App Samples in V-Play SDK For Windows, Mac, Linux, iOS, Android, Win Phone
  • 33. • Powerful Animations, User Interfaces with Qt Quick • Very few lines of Code • Build on proven tech: C++, JavaScript • Native Performance • Easy & clean to integrate Scripting (QML) with C++ V-Play Apps • Native UX across platforms, single code base • Mobile First! (iOS, Android) • Auto Adapting UI Elements (Master/Detail View) • Density Independence • Advanced Lists (Pull-to-refresh, Scroll Indicator, VisibilityRefresh), Page Transitions, … Strengths of Qt & V-Play Apps
  • 34. Part 2: How to Increase User Retention Of mobile apps & games
  • 36. V-Play Plugins Available on www.plugins.v-play.net Samples on GitHub & in V-Play SDK
  • 37. • Provide content worth sharing – Success moments in your app/game – User Image Upload – User Generated Content • Share in-app and via Social Networks
  • 43. V-Play Level Editor & Level Sharing Squaby Particle Editor • Save time in internal development • Let users create levels • Social Sharing & Rating of Levels  Community • Monetize content packs with In-App Purchases • Customizable Look Add app store for user generated content to your own apps/games easily. Examples (in App Stores): Stack And Friends
  • 44. • Achievement & Leaderboard integration in 60 Lines of Code! Also useful for apps! V-Play Game Network
  • 47. • GameCenter on steroids made for/with Qt • True cross-platform: – Leaderboards – Achievements – Cloud storage & syncing • Deep Facebook connection • Full offline support • Skinnable • Add Gamification also for „normal apps“ V-Play Game Network
  • 48. • Embed in your app/game • Chat • Smart Matchmaking: Friends, ELO Ranking • Real-time & turn-based Chat / Multiplayer In-App Chat Matchmaking
  • 52. • Push Notifications • Social Integrations like Facebook • User-Generated Content • Gamification elements: – Leaderboards – Achievements – Multiplayer & In-App Chat  Measure with Analytics from Day 1! User Retention Summary
  • 53. Final Slide  Meet us outside @ the V-Play / Gimasi Booth! We will show you Qt games & apps that shine  www.v-play.net/apps www.v-play.net
  • 54. • V-Play Apps: http://v-play.net/apps • V-Play Resources about Level Editor & User-Generated Content: http://v-play.net/level-editor • Android Guide – „Supporting Multiple Screens“: http://developer.android.com/guide/practices/screens_support.html • V-Play Guide - „How to create mobile games for different screen sizes and resolutions”: http://v-play.net/doc/vplay-different-screen-sizes/ • Windows Dev Center Guide – „DPI and Device-Independent Pixels“: http://msdn.microsoft.com/en-us/library/windows/desktop/ff684173%28v=vs.85%29.aspx • V-Play Tutorial - „How to increase player retention & downloads in 10 minutes”: http://v-play.net/doc/lesson-5/ • V-Play Tutorial – „How to add Facebook & Game Center sharing to your game”: http://v-play.net/doc/lesson-6/ • V-Play Tutorial – „How to boost level creation and balancing of your game with V-Play Level Editor”: http://v-play.net/doc/lesson-7/ • V-Play Tutorial – „How to benefit from user-generated content in your game with V-Play Level Store”: http://v-play.net/doc/lesson-8/ References