This document discusses how to deal with fragmentation on Android. It begins by explaining the types of fragmentation including software, hardware, screen sizes and resolutions, CPUs and GPUs. It then provides tips for developers such as targeting Android 2.2+, using different drawables for different densities, avoiding pixel values and instead using dp units, supporting a range of screen sizes, and handling memory and performance issues. The document stresses that perfect compatibility across all devices is not possible and provides strategies for prioritizing device support.
When I learn more about Android's graphics system, and do more work about how to use CPU/GPU in more parallelized way to improve the graphics performance in Android,
I start to think that there are actually some big design mistakes in Android graphics system, especially the rendering architecture in the client side.Some mistakes have been solved after 3.x, especially above 4.1, but others can never be solved due to the compatible reason.
As developers, we need to know how the Android graphics system work, how to utilize the new features Android 3.x and 4.x provided, and how to do the optimization and overcome the shortage of Android.
I siti di social network da fenomeni di costume per adolescenti stanno acquisendo sempre maggiore rilievo economico. Quali sono i motivi del loro successo e come il mondo del business e la pubblica amministrazione possono trarre giovamento dalle possibilità che essi offrono?
What’s Firebase you might ask. Basically it’s a cloud service storing your data and feeds your web application with real-time data. It can act as a normal REST endpoint and scales with your project. Firebase will act as your backend and in most cases you won’t have to bother with backend and servers at all. Sounds interesting right?!
The presentation can be viewed in Swedish here: http://lanhed.se/firebase-presentation/
When I learn more about Android's graphics system, and do more work about how to use CPU/GPU in more parallelized way to improve the graphics performance in Android,
I start to think that there are actually some big design mistakes in Android graphics system, especially the rendering architecture in the client side.Some mistakes have been solved after 3.x, especially above 4.1, but others can never be solved due to the compatible reason.
As developers, we need to know how the Android graphics system work, how to utilize the new features Android 3.x and 4.x provided, and how to do the optimization and overcome the shortage of Android.
I siti di social network da fenomeni di costume per adolescenti stanno acquisendo sempre maggiore rilievo economico. Quali sono i motivi del loro successo e come il mondo del business e la pubblica amministrazione possono trarre giovamento dalle possibilità che essi offrono?
What’s Firebase you might ask. Basically it’s a cloud service storing your data and feeds your web application with real-time data. It can act as a normal REST endpoint and scales with your project. Firebase will act as your backend and in most cases you won’t have to bother with backend and servers at all. Sounds interesting right?!
The presentation can be viewed in Swedish here: http://lanhed.se/firebase-presentation/
The web you were used to is gone. Architecture and strategy for your content.Alberta Soranzo
Information architecture and content strategy are the foundation of any website but, when it comes to mobile, they can literally mean the life or death of a product. The truth is that even the best-designed and well-engineered mobile products can still fail if their IA is not sound, and that’s because mobile information architecture doesn’t only define the structure of content, but also determines how users will interact with it. And speaking of content, do you know what content should go on your mobile sites and apps? Are your users finding what they came for?In this talk we will take a look at the thought process that drives mobile content strategy, the specific challenges and opportunities of the mobile space and how information architecture and content strategy contribute to the creation of outstanding cross-channel experiences.
75 Tutorial presented at UX Scotland 2014
Part of the Mobile Communications Resource Center, this is one of several presentations created by Sara Quinn for The Knight Center and shared with Ball State University's College of Communication, Information and Media. All rights are reserved.
"60 Apps in 60 Minutes Redux: The Next 60 Apps You Need To Know."
Spotlight Session at the Special Libraries Association SLA 2012 conference in Chicago, update to last year's wildly successful session.
Co-presented with Scott Brown.
With an impressive 70% viewing mobile ads as a personal invitation from brands rather than an invasion, it opens up new opportunities for brand advertisers to engage with their consumers.
Mobile Marketing Stats Automotive Dealers Should Knowcreativeeyeball
Exmosi is a digital lead provider for SMS text marketing. Our mobile friendly content is triggered by SMS technology. Exmosi enhances all of your current marketing channels.
Mobile Marketing Association - Mobile et tablettes 2nd écran de la TVPascal Dasseux
cette key note a été faite en introduction de la 1ère journée de la Mobile Marketing Association organisée à Paris sur le thème complémentarité TV et Mobile - Tablettes
Content marketing world_mobile and tablet content distribution_8_17_2012interlinkONE
Mobile and Tablet Content Distribution
September 6th – 10:30am
There is no doubt that mobile devices such as smartphones and tablets are changing the way that people consume information. The speed at which people are purchasing those items and making them part of their daily routines is happening faster than most marketers are prepared for! In this presentation, John Foley, CEO of interlinkONE and Grow Socially, will provide an overview of what needs to be done to prepare, deliver, and measure content that is tailored for the mobile audience.
John will cover items such as:
How to develop a strategy to reach your mobile audience
Options for building mobile websites, landing pages, blogs, and more
Best practices for integrating mobile with other distribution channels, such as print and email
Considerations regarding building a mobile App vs. a mobile website
And more!
We hope that you will join us as you look for ways to reach the growing mobile audience!
By www.TechAheadCorp.com
(Global developer of customized mobile applications & software designed with creativity & innovation) TechAhead has been recognised as top 15 mobile app development company by SourcingLine and is a part of leadership quadrant in mobile. Being a leading mobile app development company, we at TechAhead work tirelessly to give you the world's most innovative apps.
Android Auto – With a simple and intuitive interface, integrated steering wheel controls, and powerful new voice actions, it’s designed to minimize distraction so you can stay focused on the road. Android Auto automatically brings you useful information, and organizes it into simple cards that appear just when they're needed.
Android Wear – Android Wear organizes your information, suggests what you need, and shows it to you before you even ask. Get messages from your friends, appointment notifications, and weather updates at a glance.
Android TV – Watch hit shows, timeless movies, and viral videos from Google Play, YouTube, and your favorite apps like Netflix. Android games shine on your HDTV with a gamepad. Discover personalized recommendations right on your home screen. No more endless digging through your channel guide and apps.
Google Play – Whether you love to play games, be a social butterfly, or keep up with the latest news, Google Play has apps and games that let you make your Android device uniquely yours.
Contrary to popular belief, it is indeed possible to create great-looking UIs for apps that target very low-priced phones. This presentation shows you how to apply solid UX guidelines and application-design principles that work great even on very low-cost hardware. Juhani Haaparanta, principal interaction designer with Nokia in Tampere, Finland, explains how to design the right type of interaction architecture, apply the appropriate UI style, and add a twist of visual excellence to applications for budget phones. The resulting apps will deliver better user experience and thus better reviews, usage numbers, and return on investment.
I've got 10 million songs in my pocket. Now what? Paul Lamere
The proverbial 'celestial jukebox' has become a reality. With today's online music services a music fan is never more than a few clicks away from being able to listen to nearly any song that has ever been recorded. Recommender systems can play a key role in this new music ecosystem, helping listeners explore, discover, organize and share music. However, in many ways music recommendation is very different than recommendation in other well-studied domains such as books and movies. In this talk we explore how recommender systems can be used in the music space, and the particular challenges that the music domain presents to the designers of recommender systems.
The web you were used to is gone. Architecture and strategy for your content.Alberta Soranzo
Information architecture and content strategy are the foundation of any website but, when it comes to mobile, they can literally mean the life or death of a product. The truth is that even the best-designed and well-engineered mobile products can still fail if their IA is not sound, and that’s because mobile information architecture doesn’t only define the structure of content, but also determines how users will interact with it. And speaking of content, do you know what content should go on your mobile sites and apps? Are your users finding what they came for?In this talk we will take a look at the thought process that drives mobile content strategy, the specific challenges and opportunities of the mobile space and how information architecture and content strategy contribute to the creation of outstanding cross-channel experiences.
75 Tutorial presented at UX Scotland 2014
Part of the Mobile Communications Resource Center, this is one of several presentations created by Sara Quinn for The Knight Center and shared with Ball State University's College of Communication, Information and Media. All rights are reserved.
"60 Apps in 60 Minutes Redux: The Next 60 Apps You Need To Know."
Spotlight Session at the Special Libraries Association SLA 2012 conference in Chicago, update to last year's wildly successful session.
Co-presented with Scott Brown.
With an impressive 70% viewing mobile ads as a personal invitation from brands rather than an invasion, it opens up new opportunities for brand advertisers to engage with their consumers.
Mobile Marketing Stats Automotive Dealers Should Knowcreativeeyeball
Exmosi is a digital lead provider for SMS text marketing. Our mobile friendly content is triggered by SMS technology. Exmosi enhances all of your current marketing channels.
Mobile Marketing Association - Mobile et tablettes 2nd écran de la TVPascal Dasseux
cette key note a été faite en introduction de la 1ère journée de la Mobile Marketing Association organisée à Paris sur le thème complémentarité TV et Mobile - Tablettes
Content marketing world_mobile and tablet content distribution_8_17_2012interlinkONE
Mobile and Tablet Content Distribution
September 6th – 10:30am
There is no doubt that mobile devices such as smartphones and tablets are changing the way that people consume information. The speed at which people are purchasing those items and making them part of their daily routines is happening faster than most marketers are prepared for! In this presentation, John Foley, CEO of interlinkONE and Grow Socially, will provide an overview of what needs to be done to prepare, deliver, and measure content that is tailored for the mobile audience.
John will cover items such as:
How to develop a strategy to reach your mobile audience
Options for building mobile websites, landing pages, blogs, and more
Best practices for integrating mobile with other distribution channels, such as print and email
Considerations regarding building a mobile App vs. a mobile website
And more!
We hope that you will join us as you look for ways to reach the growing mobile audience!
By www.TechAheadCorp.com
(Global developer of customized mobile applications & software designed with creativity & innovation) TechAhead has been recognised as top 15 mobile app development company by SourcingLine and is a part of leadership quadrant in mobile. Being a leading mobile app development company, we at TechAhead work tirelessly to give you the world's most innovative apps.
Android Auto – With a simple and intuitive interface, integrated steering wheel controls, and powerful new voice actions, it’s designed to minimize distraction so you can stay focused on the road. Android Auto automatically brings you useful information, and organizes it into simple cards that appear just when they're needed.
Android Wear – Android Wear organizes your information, suggests what you need, and shows it to you before you even ask. Get messages from your friends, appointment notifications, and weather updates at a glance.
Android TV – Watch hit shows, timeless movies, and viral videos from Google Play, YouTube, and your favorite apps like Netflix. Android games shine on your HDTV with a gamepad. Discover personalized recommendations right on your home screen. No more endless digging through your channel guide and apps.
Google Play – Whether you love to play games, be a social butterfly, or keep up with the latest news, Google Play has apps and games that let you make your Android device uniquely yours.
Contrary to popular belief, it is indeed possible to create great-looking UIs for apps that target very low-priced phones. This presentation shows you how to apply solid UX guidelines and application-design principles that work great even on very low-cost hardware. Juhani Haaparanta, principal interaction designer with Nokia in Tampere, Finland, explains how to design the right type of interaction architecture, apply the appropriate UI style, and add a twist of visual excellence to applications for budget phones. The resulting apps will deliver better user experience and thus better reviews, usage numbers, and return on investment.
I've got 10 million songs in my pocket. Now what? Paul Lamere
The proverbial 'celestial jukebox' has become a reality. With today's online music services a music fan is never more than a few clicks away from being able to listen to nearly any song that has ever been recorded. Recommender systems can play a key role in this new music ecosystem, helping listeners explore, discover, organize and share music. However, in many ways music recommendation is very different than recommendation in other well-studied domains such as books and movies. In this talk we explore how recommender systems can be used in the music space, and the particular challenges that the music domain presents to the designers of recommender systems.
From custom hardware to Android TV and beyond. A brief introduction on how to develop apps for Android TV using React Native.
Talk at Reat Native London Meetup - July 2019: https://youtu.be/wm56XCtMw40
Creating apps that work on all screen sizesRavi Vyas
My presentation at droidcon. Please note , the slides by themselves are pretty mute , I would be pinning down some blogposts soon.
Also note on slide 8 the image on the top is incorrect [ and was on droidcon too :( ]
Designing for the web is no longer what it used to be.
The number of devices with web-browsing capabilities is
growing at an increasing speed.
RWD is an approach aimed to provide a solid viewing
experience for a multiple of screens with one set of code.
Slides from my talk at FrameworksDays Android Saturday technical meetup. More details about this event: http://frameworksdays.com/event/android-it-saturday
Сергей Жук "Android Performance Tips & Tricks"Fwdays
В докладе пойдет речь о простых, но далеко не всем известных приёмах оптимизации приложений и повышения продуктивности разработчика.
Будут рассмотрены такие темы :
Effective Java в Android
Оптимальное использование файлов ресурсов
Правильная работа с лейаутами - Отзывчивый UI
Настройка инструментов разработчика и эмуляторов
Полезные ссылки и тематические ресурсы
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
1. How to deal with Fragmentation
on Android
Sittiphol Phanvilai
Managing Director
Hua Lampong Co.,Ltd.
2. Who am I
• Sittiphol Phanvilai
• nuuneoi
• Cross Platform Mobile
Application Developer
• Managing Director at
Hua Lampong Co.,Ltd.
• Founder of DroidSans.com
the Android Community
• Founder of MOLOME™
3. MOLOME ™
• Share our experience how
we beat fragmentation on
Android
• Who should concern?
– Designer
– Developer
26. That's why …
• That’s why
– There are a lot of junk apps on Google Play
– UI of Android Application is not so beautiful (in
average)
27.
28.
29.
30. Deal with Software Fragmentation
Build application based on Android 2.2 Froyo
No need to support Android 2.1 Eclair
31. API Level
• FACT: You could compile with higher API level
and run in lower OS version
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="14" />
32. How to run new API on old OS
• Sorry you couldn’t but you could do the trick
if (android.os.Build.VERSION.SDK_INT > 8)
{
camera = Camera.open(camera_id);
}
else
{
camera = Camera.open();
}
33. Deal with Screen Fragmentation
320x480 540x960 720x1280 600x1024 800x1280
34. Deal with Screen Fragmentation
Recommended lowest supported screen:
normal-mdpi
Care a bit for lower but no need
Hard-hearted you need to be
35. Multiple drawable
• Android provides mechanic to
use different resource for
different dpi / screen size
• I suggest you to go for
drawable-hdpi only, others
will be scaled automatically
• As same as layout
• Unless you have to
36. Designing Step
• Always snap each component to screen or
another component
• Use
– LinearLayout
– RelativeLayout
– FrameLayout
• Don’t fix the position
37. Snap Component to Screen
Snap to Top of Screen Snap to the right
Snap to the left
Snap to the left
Snap to Bottom of Screen
43. Never trust in “Pixel”
• Actual Pixel on Screen
– px Don’t use it!
• Physical Size of the Screen
– dp, dip (Relative to 160dpi) Recommended for UI
– sp Recommended for font
– pt (1/72 inch)
– in
– mm
45. Designing Step: Component Size
Fixed dp Screen Width-Related px
– Use for the “Exact Size” – To make the design fit
component for example any screen
button (since your Finger – To please designer
is always in the same
size)
– This will make final
product different from
design
– To please developer
52. Screen Width-Related px
• Inherit View or Layout and set the size on
initializing
• Override onLayout if you wish to manage the
children’s position manually
• Don’t override onMeasure if not neccessary
60. Common Problem with ImageView
How to show this image
fitting the screen in
aspect ratio?
61. Common Problem with ImageView
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/img"
/>
62. Common Problem with ImageView
// Inherits ImageView
protected void onMeasure(int widthMeasureSpec,
int heightMeasureSpec) {
if (getDrawable() == null)
{
setMeasuredDimension(0, 0);
return;
}
int width = MeasureSpec.getSize(widthMeasureSpec);
setMeasuredDimension(width, width *
getDrawable().getIntrinsicHeight() /
getDrawable().getIntrinsicWidth());
}
// xml
<com.hlpth.fragmentation.AspectRatioImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/img"
/>
63. More Common Problem
• Please note that you will see this kind of
problem a lot on Android Application
Development
• You need to check one by one unavoidably
64. Deal with CPU Fragmentation
• Directly effect Native Code (NDK)
• Don’t use any platform-specific code or
assembly code
• Compile for every single CPU architecture
// Application.mk
APP_ABI := armeabi armeabi-v7a x86
APP_PLATFORM := android-9
67. RAM
• Each phone has different amount of free RAM
• Always use AdapterView. It will help you
reduce memory consumption
– ListView
– Gallery
– GridView
68. Memory Leak
• First reason of app crashing in large-scale
application
• Don’t 100% trust in Garbage Collector
• Use Context wisely, it holds all of UI
component inside. If there is still some
variable point to context, say hello to memory
leak
• Use Heap monitoring tools comes with ADT
plugin. Your life will be easier.
69. Bitmap.recycle()
• If you fully take control the Bitmap object,
don’t forget to recycle() it when you don’t
need it anymore.
• Not necessary, just recommended
70. Nested Layout
• Don’t implement more than 6 levels of nested
Layout
• There is always the way to reduce level of
nested Layout. Just need to put more effort.
• LayoutInflater and <merge> is one of the key
to implement complicated UI with high
performance
71. Caching
• Normally there is so limited amount of
Storage
• But some has so many
• If you wish to cache anything, limit cache size
to 2-4 MB
72. OpenGL
• OpenGL could limit number of target devices,
don’t use it unless you have to.
• Better use OpenGL 1.1 over OpenGL 2.0
73. Service
• If you need to do some background task, go
for Service
• Launch when needed only and terminate once
the task has finished
74. Multiple APK
• Google Play Store provides feature to use
multiple apk
• Don’t use it. It will ruin your life in long run.
75. Target Devices
• You can’t please everybody. If you have to
scope down the number of target devices, do
it with hard-hearted.
• To make your application fully compatible with
3000 THB phone might costs your time double
76. Custom ROM
• Don’t care a lot about phone with Custom
ROM. There is always a problem.
• Care only major Custom ROM.
77. Message to Designer
• Don’t expect what you design and the final
product will be 100% exactly
• You could expect that on iOS but not on
Android
• Designer DO need to know Android’s UI
guideline before design or it might not be able
to implement