SlideShare une entreprise Scribd logo
1  sur  49
Progressive Mobile Strategy Map
1
Objectives:
Goals:
Strategies:
Tactics:
Provide access to
information that will
support job
performance
Extend the traditional
classroom
Connect people to
expertise and
resources
Increase peer to
peer connections
among CF
members
Deliver 50 quality
applications for the
CF by Dec 2013
Reach 1000
registered users
by Dec 2013
Allow users to
use their own
devices
Establish a single
point of secure
entry
Leverage knowledge
and experience of
“like” organizations
Initiate policy
discussions to support
a BYOD strategy
Partner with IM/IT
security to develop
supportable and
scalable solutions
Work with industry
and CF SME’s to
bring in high quality
applications
Communicate
strategy and plans
widely to build user-
base
Provide tools and
processes to help
build applications
internally
Develop a CF
expertise locator App
Mobile Design Considerations
LCdr Remi Tremblay
CDA Learning Technologies
Outline
• Mobile Design Concepts / Terms
• Design Considerations for the Mobile Web
• So you want to build an app …
• Practical Guidelines and Technical Considerations
• What about mobile learning?
• Resources / Conclusion
Responsive design
• Responsive design, as originally outlined is based on
three core techniques:
• A flexible grid—making sure that the underlying page
grid scales nicely with screen resolution rather than
using fixed pixel dimensions
• Flexible images—images that work well within a
flexible grid
• CSS media queries—using CSS styling tailored to
ranges of resolutions or types of device
• By using these techniques it is possible to serve a
single HTML document to a wide range of devices and
expect a reasonable result: with a bit of hackery to
support older browsers, sites built using this technique
will typically work well on all desktop browsers and most
smartphones.
Mobile First Responsive Design
• A number of people have pointed out that responsive design
may make more sense if used in an inverted manner: if you
design your site such that the default rendering of a page is
mobile-friendly some of the issues with responsive design appear
to go away. In particular, the issue with unnecessarily large
images being downloaded by mobile devices can be solved with
this approach.
• Mobile-first responsive design is a compelling update to the
original set of techniques, but not without its problems:
• Again, it achieves only resolution independence, does not
facilitate content adaptation
• It requires that the desktop site be redesigned from scratch
also, though you could argue that this is a good thing.
• In summary, if your goal is to create a mobile website, mobile-
first progressive design is the only really useful variant of
responsive design, since it is truly able to scale from low-end
devices all the way to desktop browsers.
Progressive Enhancement
• The idea behind progressive enhancement is to serve a
single base page to every device, with associated
JavaScript enhancement logic.
• If the device is very rudimentary, it will ignore or fail to run
the JavaScript and be left with a reasonable low-end
experience; if the device is a smartphone or desktop
browser the JavaScript code will add functionality
progressively to the page, until it is built up to the optimal
level for the device in question.
• In theory there is no upper bound to the richness that can
be layered onto the base, and you could scale page
richness smoothly from feature phone to desktop browser.
Progressive Enhancement
• PE is the approach used by the just-released jQuery
Mobile library. In effect, PE moves the logic of content
adaptation from the server to the client. This approach
has two problems:
• The progressive build-up that is at the core of this
technique necessarily takes time to execute, and this
delay is very much dependent on the device in
question, and possibly the network. As an example,
certain models of Blackberry support the requisite
JavaScript in theory, but in practice run it too slowly to
be useful.
• Again, as with previous techniques, using a single
base HTML file across a number of use-cases feels
like a limiting approach.
Server-Side Adaptation
• Server-side adaptation is a technique that has been in use
since the dawn of the mobile web, over twelve years ago. It
relies on a device detection library or database installed on
the web server (or a remote web service) to detect the device
accessing the web site and return its capabilities.
•This set of capabilities allows the web developer to fine-tune
the resulting page to match the device's capabilities with a
very high level of control. Due to the device detection
involved, this technique of adapting to the device is
sometimes called "browser sniffing".
•Despite the claims of its detractors, browser sniffing is
extremely reliable and accurate, with good solutions typically
reporting in excess of 99.5% accuracy in detecting devices in
the wild.
Server-Side Adaptation
• Server-side adaptation is not without its problems,
however. There are two main issues:
• It requires the web developer to use a device
detection solution which needs to be kept up to date.
Most device detection solutions are now commercial.
• It doesn't assist you in utilising real-time information
from the browser to help you better serve the context
of the user e.g. using GPS coordinates or device
orientation to better tailor the information that you
serve to the user
Hybrid Approach
• Combines elements of server-side adaptation and
progressive enhancement. In essence, this
approach works by delivering an initial page based
on server-side adaptation principles, but then
enhances the result by capturing device properties
via client-side JavaScript, and using the captured
information to fine-tune subsequent pages
delivered to the device.
Hybrid Approach
• You get the benefits of high-speed server-side adaptation,
combined with the ability to fine-tune the results based on
properties sourced from the device itself. The user gets an initial
page that is well-suited to the device, with no performance
overhead, and subsequent visits to pages on the site may improve
on this experience.
• It is relatively complex to implement. This complexity is due to
two factors:
• 1) you need to implement a database to store the browser-
sourced properties and,
• 2) you need to build the JavaScript to extract these properties
from the browser and get them into this database.
• On first visit, a full round-trip is required between the server and
the browser before you get to benefit from the properties sourced
from the browser. This delay can be removed on subsequent
requests by using cookies.
Recommendation
In summary, if all you want to do is make sure that your
site works on a few high end mobile devices, and you
don't care particularly about catering for the mobile web
user, try the progressive enhancement approach, or the
mobile-first responsive design. If the use cases for your
site are limited this might actually work quite well.
Recommendation
If, on the other hand, you want to deliver a full
designed-for-mobile experience or you want to cater for
all mobile devices out there and not just smartphones,
you don't really have a choice: server-side adaptation or
a hybrid approach is the only solution that will work.
There is a reason why essentially all of the top internet
brands use this approach.
Mobile Design Considerations
9 Best Design Practices for the Mobile Web
Mobile detection: When people visit your main website
there should be a script that checks if they are using a
mobile browser. If so, they should be redirected to your
mobile site.
Ability to switch from mobile to full site: Unless you
are confident that your mobile site completely replicates
the functionality and content of your desktop site, there
should be a link on your mobile site to switch back to
your desktop site.
9 Best Design Practices for the Mobile Web
Button size: The buttons on your mobile site should be
uniform in shape and color, and stand out from the rest
of the content on the page. You’ll want buttons to be
large enough for people to hit easily, at least 30 x 30
pixels.
Easily clickable links: Ease of use in clicking is
important with text links as well. If two links are placed
near each other (either horizontally or vertically), there
should be enough space between them to not make
accidental selections.
9 Best Design Practices for the Mobile Web
Non-hover based navigation: Many websites use hover
menus, but these won’t work on most mobile devices. If
your standard website doesn’t have an easy way to
navigate to subpages, outside of a hover-based menu,
that is a significant reason by itself to start thinking about
designing a mobile version of your site.
Minimalist approach to form input: Entering information
is much more difficult on a mobile device, so reduce the
fields required to a bare minimum.
9 Best Design Practices for the Mobile Web
Form usability: Many of the best practices of desktop
site design become even more important on a mobile
form. For example, all checkboxes and radio buttons
should allow users to select the text labels next to them,
rather than only allowing people to click on the button /
box.
Large images containing text: If you have a large
image, be aware that it will be sized down significantly
on a mobile device, and any text contained within it may
no longer be readable (think infographics, for
example)… or will require a lot of zooming and panning!
Images should be designed to resize without breaking.
9 Best Design Practices for the Mobile Web
• Links to files: If there are links to files on the
website, those files shouldn’t be essential to any
primary user tasks. (An example of this is downloading
and filling in a word document registration form that
needs to be emailed in.)
• File types should be clearly indicated near the file
download links, as well as an indication of file size
(especially for larger files).
So you want to build an App …
Purpose & Organization
• Define your purpose. What is your app: purpose, goals, and
most important elements? The purpose of an app has a
huge impact on how it is built. Write out one sentence that
communicates what your app is all about.
• Collect information about the tactical goals, tools, and
friction points associated with the purpose of your app. Do
user research, and make sure key members of team
participate. This research gives you context for your design.
• Decide on and organize the content of your application.
Functional places and goals uncovered during research
provide a guide for structuring the flow of your app.
•Making a diagram of functional places and goals that
includes key content and actions can give you an overview
of the app you’re building.
Interaction & Visual Design
• Start with the top-level screen of your app. It’s the entry point
of your app and where people will spend the most time. Ask:
What will help people be successful? Use your research to
decide.
• Add an action bar at the top with branding, key actions, rest in
a “more” option. Lower-level screens allow you to: browse
deeper into data, edit data, consume data, etc.
• Tablet-sized interfaces can allow you to cut down on jumping
back and forth between screens (pogo-sticking).
• Make simple images that illustrate the content and features in
your app. Many people use wireframes because they are
lightweight, low fidelity sketches of what will be on each screen.
Interaction & Visual Design
• Android’s Design Guide has a number of stencils available
as vector art for the core building blocks inside Android
including UI elements, icons, and fonts.
• The Design Guide also has key information about design
principles, app structure, and building block.
• Action Bar: navigation, identity, views, and actions are
integrated in this pattern. Using this pattern will help people
use your app as system apps use this pattern heavily so
people are already familiar with it.
Interaction & Visual Design
• Move your early sketches to higher fidelity visual designs.
Pick a reference device for your initial visual designs and
make sure you are working from one of the Android or
Apple themes. Once you have a reference device and a
theme set, start laying out the key screens.
• By using the Design Guide, you can get a great looking
app quickly and take advantage of the design work done by
the Android team. A few small tweaks to these patterns can
differentiate your app.
Practical Guidelines and Technical
Considerations
Touch Targets
• Touchable is different than touch-enabled. For touch enabled
controls, we generally want to make things bigger. That is, we
are aiming for around 10mm in physical size for our touch
targets.
• This number isn't arbitrary. It comes from studies which found
the size of the average human finger pad is 10-14mm and the
average human fingertip is 8-10mm.
• It's especially important for commonly used controls and
elements that could result in significant errors if touched
erroneously to fit in the 10mm range -sometimes even bigger.
• For both touchable and touch-enabled controls, we need to
consider the spacing between targets as well. A minimum of
2mm of space between targets should do the trick.
IOS Touch Gestures
Android Supported Gestures
Platform Platform Gesture
Platform
Description
Core Gesture
Android Tap None provided Tap
Android Double Tap None provided Double Tap
Android Flick None provided Flick
Android Drag None provided Drag
Android (only 2.1) Pinch None provided Spread
Android (only 2.1) Pinch None provided Pinch
Android Touch and hold None provided Press
Touch Gesture Reference Guide
Screen Size and Pixel Density
•Predictable hardware configurations
•Relatively few resolutions and aspect ratios:
(480x320, 960x640, 1024x768, 2048x1536)
•Closed platform
IOS Resolutions
•Diverse hardware (CPU, GPU, memory, storage)
•Numerous device resolutions and aspect ratios:
(240x300, 320x240, 320x480, 360x640, 480x640,
480x800, 480x854, 540x960, 640x960, 800x400,
800x600, 1024x600, 1024x768, 1280x720,
1280x800)
•Disparate UI experiences & limitations
Android Resolutions
Recommendation
•Use wrap_content, fill_parent, or dp units when specifying
dimensions if using an XML layout file
•Do not use hard coded pixel values in your application code
•Do not use Absolute Layout (it's deprecated)
•Supply alternative bitmap drawables for different screen
densities
Optimising for High Pixel Density Displays
• Start with a basic fluid CSS design. Tweak for specific ‘device-
width’ ranges with Media Queries.
• The text-rendering CSS options, specifically ‘optimizeLegibility’
are worth enabling on high pixel density screens.
• Create one large (2x resolution) image and then scale down by
50% (in-browser) via CSS for all pixel density displays. Devices
without a perfect ‘2’ pixel ratio will still produce better results
than a low-resolution image, for far less work.
• Use the CSS tools at your disposal. They're resolution
independent and bandwidth friendly.
Video Playback
• The underlying issue is processing power. Today's desktop
computers and laptops are powerful enough to decode just
about any video format and size. Sometimes they can do it in
hardware, meaning the graphics card (GPU) decodes the video.
If a format is not supported by the hardware, desktops can
fallback to software decoding. At that point, the player software
itself will decode the video frames. Software decoding is slower
than hardware decoding, but either option works.
• Phones, netbooks and tablets on the other hand are not that
powerful yet. Most are only able to do hardware decoding of
video. It means the range of supported formats is narrowed
down to what the GPU chip supports. Additionally, devices
generally have an upper limit on the frame size of the video. For
example, while the iPhone 4 supports HD video (1280x720
pixels), older models only supported video up to about 480x270
pixels
Recommendation
• Container format: MP4, headers at the beginning of the file
(for seeking)
•Video format: H.264, Baseline profile, 480x270 pixels,
around 400/600 kbps (kilobits per second)
• Audio format: AAC, Low Complexity profile, 44.1 kHz
stereo, 96 kbps
• It is important to realize these settings do not result in the
perfect transcode. Both H.264 and AAC support higher-
quality profiles that result into smaller files (but more
decoding complexity).
• More Info: http://blog.zencoder.com/2010/09/30/how-to-
encode-video-for-mobile-use/
Font Size and Readability
•Readability is one of the most important aspects to
consider when you are designing your application.
•iOS font size Apple uses a 20 pt font for titles and
button labels, 17 pt for list labels, 16 pt for text, 13 pt for
the top bar, 12 pt for the App icons and 10 pt for the
dock.
•It is recommended that you don't go below 13 pt for
short and rather unimportant snippets, and 15 pt for
normal body text. Also, you should work with high
contrast if you want to provide good readability in bright
sunlight or, if there are a lot of reflections on the screen.
Android Hint for Fonts
Specify all your fonts using dips (e.g. 14dp) rather than pixels
(e.g. 14px) and you won't need to worry about screen density.
Android will scale your fonts (and layout) accordingly.
dp Density-independent Pixels - an abstract unit that is based
on the physical density of the screen. These units are relative
to a 160 dpi (dots per inch) screen, so 160dp is always one
inch regardless of the screen density. The ratio of dp-to-pixel
will change with the screen density, but not necessarily in direct
proportion. You should use these units when specifying view
dimensions in your layout, so the UI properly scales to render
at the same actual size on different screens.
sp Scale-independent Pixels - this is like the dp unit, but it is
also scaled by the user's font size preference. It is recommend
you use this unit when specifying font sizes, so they will be
adjusted for both the screen density and the user's preference.
What about Mobile Learning?
M-Learning Design Guidelines
• Keep it short: in our view, e-learning courses do not port
well ‘as is’ to mobile devices. Recognising that mobile
learners on probably on the move and may be fitting
learning around other things, we believe in keeping any
individual module to 5-10 minutes maximum.
• Keep it simple: Screen size restrictions mean that we
need to keep the number of options and interactions on the
screen to a minimum for usability. We typically aim to have
no more than 1-2 options at any one time available to the
user.
• Make the most of media: one of the great advantages
that modern smart phones bring is the ability to integrate
rich media well. Our designs make full use of this and use
audio, video and animations where relevant to illustrate
learning points.
M-Learning Design Guidelines
•Use the features: Mobile devices enable us to do a lot more
then receive learning. We can communicate with each other,
upload information, use geo location to get place-specific
guidance, create and share your own content e.g. photos, audio,
video, SMS and text – yes even make phone calls!
•Keep it current: Updating mobile learning is relatively simple,
and it’s a great way to push updates on product knowledge,
legislation and key information to learners - they’re more likely to
check their phone for 2 minutes for a quick refresher than to go
into the LMS to find it.
•Blend with the rest: Mobile learning in our view is often best
deployed as part of a blend. For example, our Health and Safety
e-learning mobile app is designed to complement our Health and
Safety e-learning module. It is designed to provide fast access to
key information and to act as performance support tool.
Resources
•http://developer.android.com/design/get-
started/principles.html
•iOS Human Interface Guidelines describes the guidelines
and principles that help you design a superlative user
interface and user experience for your iOS app.
•http://msdn.microsoft.com/en-
us/library/windows/desktop/cc872774.aspx
•http://www.tripwiremagazine.com/2012/10/mobile-apps-
inspiration-design-patterns.html
Cross Platform Development Considerations
One major factor that cross-platform developers need to be
aware of — whether you use a framework or not — is app
design. Designing an app for the iPhone is different than
designing one for Android; The UI and UX conventions are
different, and touch points and menus work in different ways.
A good cross-platform application looks at home on whatever
platform it is used on. A bad cross-platform tries to look
identical everywhere. For instance, if your Android app has
navigation controls at the bottom of the screen, iPhone style,
you're doing it wrong.
Mobile Design Considerations for Canadian Forces App Development

Contenu connexe

Dernier

Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
nirzagarg
 
Minimalist Orange Portfolio by Slidesgo.pptx
Minimalist Orange Portfolio by Slidesgo.pptxMinimalist Orange Portfolio by Slidesgo.pptx
Minimalist Orange Portfolio by Slidesgo.pptx
balqisyamutia
 
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
eeanqy
 
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
eeanqy
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
saipriyacoool
 
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
wpkuukw
 
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
wpkuukw
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
sriharipichandi
 
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
HyderabadDolls
 

Dernier (20)

Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
 
Minimalist Orange Portfolio by Slidesgo.pptx
Minimalist Orange Portfolio by Slidesgo.pptxMinimalist Orange Portfolio by Slidesgo.pptx
Minimalist Orange Portfolio by Slidesgo.pptx
 
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
怎样办理伦敦国王学院毕业证(KCL毕业证书)成绩单留信认证
 
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
怎样办理巴斯大学毕业证(Bath毕业证书)成绩单留信认证
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
 
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
 
How to Turn a Picture Into a Line Drawing in Photoshop
How to Turn a Picture Into a Line Drawing in PhotoshopHow to Turn a Picture Into a Line Drawing in Photoshop
How to Turn a Picture Into a Line Drawing in Photoshop
 
LANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEK
LANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEKLANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEK
LANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEK
 
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
 
Raebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for Friendship
Raebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for FriendshipRaebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for Friendship
Raebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for Friendship
 
BLOCK CHAIN PROJECT block chain project
BLOCK CHAIN  PROJECT block chain projectBLOCK CHAIN  PROJECT block chain project
BLOCK CHAIN PROJECT block chain project
 
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
 
Lecture 01 Introduction To Multimedia.pptx
Lecture 01 Introduction To Multimedia.pptxLecture 01 Introduction To Multimedia.pptx
Lecture 01 Introduction To Multimedia.pptx
 
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
 
TRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptxTRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptx
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
Gamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad IbrahimGamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad Ibrahim
 
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best ServiceHigh Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
 

En vedette

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

En vedette (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Mobile Design Considerations for Canadian Forces App Development

  • 1. Progressive Mobile Strategy Map 1 Objectives: Goals: Strategies: Tactics: Provide access to information that will support job performance Extend the traditional classroom Connect people to expertise and resources Increase peer to peer connections among CF members Deliver 50 quality applications for the CF by Dec 2013 Reach 1000 registered users by Dec 2013 Allow users to use their own devices Establish a single point of secure entry Leverage knowledge and experience of “like” organizations Initiate policy discussions to support a BYOD strategy Partner with IM/IT security to develop supportable and scalable solutions Work with industry and CF SME’s to bring in high quality applications Communicate strategy and plans widely to build user- base Provide tools and processes to help build applications internally Develop a CF expertise locator App
  • 2. Mobile Design Considerations LCdr Remi Tremblay CDA Learning Technologies
  • 3. Outline • Mobile Design Concepts / Terms • Design Considerations for the Mobile Web • So you want to build an app … • Practical Guidelines and Technical Considerations • What about mobile learning? • Resources / Conclusion
  • 4. Responsive design • Responsive design, as originally outlined is based on three core techniques: • A flexible grid—making sure that the underlying page grid scales nicely with screen resolution rather than using fixed pixel dimensions • Flexible images—images that work well within a flexible grid • CSS media queries—using CSS styling tailored to ranges of resolutions or types of device • By using these techniques it is possible to serve a single HTML document to a wide range of devices and expect a reasonable result: with a bit of hackery to support older browsers, sites built using this technique will typically work well on all desktop browsers and most smartphones.
  • 5. Mobile First Responsive Design • A number of people have pointed out that responsive design may make more sense if used in an inverted manner: if you design your site such that the default rendering of a page is mobile-friendly some of the issues with responsive design appear to go away. In particular, the issue with unnecessarily large images being downloaded by mobile devices can be solved with this approach. • Mobile-first responsive design is a compelling update to the original set of techniques, but not without its problems: • Again, it achieves only resolution independence, does not facilitate content adaptation • It requires that the desktop site be redesigned from scratch also, though you could argue that this is a good thing. • In summary, if your goal is to create a mobile website, mobile- first progressive design is the only really useful variant of responsive design, since it is truly able to scale from low-end devices all the way to desktop browsers.
  • 6. Progressive Enhancement • The idea behind progressive enhancement is to serve a single base page to every device, with associated JavaScript enhancement logic. • If the device is very rudimentary, it will ignore or fail to run the JavaScript and be left with a reasonable low-end experience; if the device is a smartphone or desktop browser the JavaScript code will add functionality progressively to the page, until it is built up to the optimal level for the device in question. • In theory there is no upper bound to the richness that can be layered onto the base, and you could scale page richness smoothly from feature phone to desktop browser.
  • 7. Progressive Enhancement • PE is the approach used by the just-released jQuery Mobile library. In effect, PE moves the logic of content adaptation from the server to the client. This approach has two problems: • The progressive build-up that is at the core of this technique necessarily takes time to execute, and this delay is very much dependent on the device in question, and possibly the network. As an example, certain models of Blackberry support the requisite JavaScript in theory, but in practice run it too slowly to be useful. • Again, as with previous techniques, using a single base HTML file across a number of use-cases feels like a limiting approach.
  • 8. Server-Side Adaptation • Server-side adaptation is a technique that has been in use since the dawn of the mobile web, over twelve years ago. It relies on a device detection library or database installed on the web server (or a remote web service) to detect the device accessing the web site and return its capabilities. •This set of capabilities allows the web developer to fine-tune the resulting page to match the device's capabilities with a very high level of control. Due to the device detection involved, this technique of adapting to the device is sometimes called "browser sniffing". •Despite the claims of its detractors, browser sniffing is extremely reliable and accurate, with good solutions typically reporting in excess of 99.5% accuracy in detecting devices in the wild.
  • 9. Server-Side Adaptation • Server-side adaptation is not without its problems, however. There are two main issues: • It requires the web developer to use a device detection solution which needs to be kept up to date. Most device detection solutions are now commercial. • It doesn't assist you in utilising real-time information from the browser to help you better serve the context of the user e.g. using GPS coordinates or device orientation to better tailor the information that you serve to the user
  • 10. Hybrid Approach • Combines elements of server-side adaptation and progressive enhancement. In essence, this approach works by delivering an initial page based on server-side adaptation principles, but then enhances the result by capturing device properties via client-side JavaScript, and using the captured information to fine-tune subsequent pages delivered to the device.
  • 11. Hybrid Approach • You get the benefits of high-speed server-side adaptation, combined with the ability to fine-tune the results based on properties sourced from the device itself. The user gets an initial page that is well-suited to the device, with no performance overhead, and subsequent visits to pages on the site may improve on this experience. • It is relatively complex to implement. This complexity is due to two factors: • 1) you need to implement a database to store the browser- sourced properties and, • 2) you need to build the JavaScript to extract these properties from the browser and get them into this database. • On first visit, a full round-trip is required between the server and the browser before you get to benefit from the properties sourced from the browser. This delay can be removed on subsequent requests by using cookies.
  • 12. Recommendation In summary, if all you want to do is make sure that your site works on a few high end mobile devices, and you don't care particularly about catering for the mobile web user, try the progressive enhancement approach, or the mobile-first responsive design. If the use cases for your site are limited this might actually work quite well.
  • 13. Recommendation If, on the other hand, you want to deliver a full designed-for-mobile experience or you want to cater for all mobile devices out there and not just smartphones, you don't really have a choice: server-side adaptation or a hybrid approach is the only solution that will work. There is a reason why essentially all of the top internet brands use this approach.
  • 15. 9 Best Design Practices for the Mobile Web Mobile detection: When people visit your main website there should be a script that checks if they are using a mobile browser. If so, they should be redirected to your mobile site. Ability to switch from mobile to full site: Unless you are confident that your mobile site completely replicates the functionality and content of your desktop site, there should be a link on your mobile site to switch back to your desktop site.
  • 16. 9 Best Design Practices for the Mobile Web Button size: The buttons on your mobile site should be uniform in shape and color, and stand out from the rest of the content on the page. You’ll want buttons to be large enough for people to hit easily, at least 30 x 30 pixels. Easily clickable links: Ease of use in clicking is important with text links as well. If two links are placed near each other (either horizontally or vertically), there should be enough space between them to not make accidental selections.
  • 17. 9 Best Design Practices for the Mobile Web Non-hover based navigation: Many websites use hover menus, but these won’t work on most mobile devices. If your standard website doesn’t have an easy way to navigate to subpages, outside of a hover-based menu, that is a significant reason by itself to start thinking about designing a mobile version of your site. Minimalist approach to form input: Entering information is much more difficult on a mobile device, so reduce the fields required to a bare minimum.
  • 18. 9 Best Design Practices for the Mobile Web Form usability: Many of the best practices of desktop site design become even more important on a mobile form. For example, all checkboxes and radio buttons should allow users to select the text labels next to them, rather than only allowing people to click on the button / box. Large images containing text: If you have a large image, be aware that it will be sized down significantly on a mobile device, and any text contained within it may no longer be readable (think infographics, for example)… or will require a lot of zooming and panning! Images should be designed to resize without breaking.
  • 19. 9 Best Design Practices for the Mobile Web • Links to files: If there are links to files on the website, those files shouldn’t be essential to any primary user tasks. (An example of this is downloading and filling in a word document registration form that needs to be emailed in.) • File types should be clearly indicated near the file download links, as well as an indication of file size (especially for larger files).
  • 20. So you want to build an App …
  • 21. Purpose & Organization • Define your purpose. What is your app: purpose, goals, and most important elements? The purpose of an app has a huge impact on how it is built. Write out one sentence that communicates what your app is all about. • Collect information about the tactical goals, tools, and friction points associated with the purpose of your app. Do user research, and make sure key members of team participate. This research gives you context for your design. • Decide on and organize the content of your application. Functional places and goals uncovered during research provide a guide for structuring the flow of your app. •Making a diagram of functional places and goals that includes key content and actions can give you an overview of the app you’re building.
  • 22. Interaction & Visual Design • Start with the top-level screen of your app. It’s the entry point of your app and where people will spend the most time. Ask: What will help people be successful? Use your research to decide. • Add an action bar at the top with branding, key actions, rest in a “more” option. Lower-level screens allow you to: browse deeper into data, edit data, consume data, etc. • Tablet-sized interfaces can allow you to cut down on jumping back and forth between screens (pogo-sticking). • Make simple images that illustrate the content and features in your app. Many people use wireframes because they are lightweight, low fidelity sketches of what will be on each screen.
  • 23.
  • 24. Interaction & Visual Design • Android’s Design Guide has a number of stencils available as vector art for the core building blocks inside Android including UI elements, icons, and fonts. • The Design Guide also has key information about design principles, app structure, and building block. • Action Bar: navigation, identity, views, and actions are integrated in this pattern. Using this pattern will help people use your app as system apps use this pattern heavily so people are already familiar with it.
  • 25. Interaction & Visual Design • Move your early sketches to higher fidelity visual designs. Pick a reference device for your initial visual designs and make sure you are working from one of the Android or Apple themes. Once you have a reference device and a theme set, start laying out the key screens. • By using the Design Guide, you can get a great looking app quickly and take advantage of the design work done by the Android team. A few small tweaks to these patterns can differentiate your app.
  • 26. Practical Guidelines and Technical Considerations
  • 27. Touch Targets • Touchable is different than touch-enabled. For touch enabled controls, we generally want to make things bigger. That is, we are aiming for around 10mm in physical size for our touch targets. • This number isn't arbitrary. It comes from studies which found the size of the average human finger pad is 10-14mm and the average human fingertip is 8-10mm. • It's especially important for commonly used controls and elements that could result in significant errors if touched erroneously to fit in the 10mm range -sometimes even bigger. • For both touchable and touch-enabled controls, we need to consider the spacing between targets as well. A minimum of 2mm of space between targets should do the trick.
  • 28.
  • 29.
  • 31. Android Supported Gestures Platform Platform Gesture Platform Description Core Gesture Android Tap None provided Tap Android Double Tap None provided Double Tap Android Flick None provided Flick Android Drag None provided Drag Android (only 2.1) Pinch None provided Spread Android (only 2.1) Pinch None provided Pinch Android Touch and hold None provided Press
  • 33. Screen Size and Pixel Density
  • 34. •Predictable hardware configurations •Relatively few resolutions and aspect ratios: (480x320, 960x640, 1024x768, 2048x1536) •Closed platform
  • 36. •Diverse hardware (CPU, GPU, memory, storage) •Numerous device resolutions and aspect ratios: (240x300, 320x240, 320x480, 360x640, 480x640, 480x800, 480x854, 540x960, 640x960, 800x400, 800x600, 1024x600, 1024x768, 1280x720, 1280x800) •Disparate UI experiences & limitations
  • 38. Recommendation •Use wrap_content, fill_parent, or dp units when specifying dimensions if using an XML layout file •Do not use hard coded pixel values in your application code •Do not use Absolute Layout (it's deprecated) •Supply alternative bitmap drawables for different screen densities
  • 39. Optimising for High Pixel Density Displays • Start with a basic fluid CSS design. Tweak for specific ‘device- width’ ranges with Media Queries. • The text-rendering CSS options, specifically ‘optimizeLegibility’ are worth enabling on high pixel density screens. • Create one large (2x resolution) image and then scale down by 50% (in-browser) via CSS for all pixel density displays. Devices without a perfect ‘2’ pixel ratio will still produce better results than a low-resolution image, for far less work. • Use the CSS tools at your disposal. They're resolution independent and bandwidth friendly.
  • 40. Video Playback • The underlying issue is processing power. Today's desktop computers and laptops are powerful enough to decode just about any video format and size. Sometimes they can do it in hardware, meaning the graphics card (GPU) decodes the video. If a format is not supported by the hardware, desktops can fallback to software decoding. At that point, the player software itself will decode the video frames. Software decoding is slower than hardware decoding, but either option works. • Phones, netbooks and tablets on the other hand are not that powerful yet. Most are only able to do hardware decoding of video. It means the range of supported formats is narrowed down to what the GPU chip supports. Additionally, devices generally have an upper limit on the frame size of the video. For example, while the iPhone 4 supports HD video (1280x720 pixels), older models only supported video up to about 480x270 pixels
  • 41. Recommendation • Container format: MP4, headers at the beginning of the file (for seeking) •Video format: H.264, Baseline profile, 480x270 pixels, around 400/600 kbps (kilobits per second) • Audio format: AAC, Low Complexity profile, 44.1 kHz stereo, 96 kbps • It is important to realize these settings do not result in the perfect transcode. Both H.264 and AAC support higher- quality profiles that result into smaller files (but more decoding complexity). • More Info: http://blog.zencoder.com/2010/09/30/how-to- encode-video-for-mobile-use/
  • 42. Font Size and Readability •Readability is one of the most important aspects to consider when you are designing your application. •iOS font size Apple uses a 20 pt font for titles and button labels, 17 pt for list labels, 16 pt for text, 13 pt for the top bar, 12 pt for the App icons and 10 pt for the dock. •It is recommended that you don't go below 13 pt for short and rather unimportant snippets, and 15 pt for normal body text. Also, you should work with high contrast if you want to provide good readability in bright sunlight or, if there are a lot of reflections on the screen.
  • 43. Android Hint for Fonts Specify all your fonts using dips (e.g. 14dp) rather than pixels (e.g. 14px) and you won't need to worry about screen density. Android will scale your fonts (and layout) accordingly. dp Density-independent Pixels - an abstract unit that is based on the physical density of the screen. These units are relative to a 160 dpi (dots per inch) screen, so 160dp is always one inch regardless of the screen density. The ratio of dp-to-pixel will change with the screen density, but not necessarily in direct proportion. You should use these units when specifying view dimensions in your layout, so the UI properly scales to render at the same actual size on different screens. sp Scale-independent Pixels - this is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.
  • 44. What about Mobile Learning?
  • 45. M-Learning Design Guidelines • Keep it short: in our view, e-learning courses do not port well ‘as is’ to mobile devices. Recognising that mobile learners on probably on the move and may be fitting learning around other things, we believe in keeping any individual module to 5-10 minutes maximum. • Keep it simple: Screen size restrictions mean that we need to keep the number of options and interactions on the screen to a minimum for usability. We typically aim to have no more than 1-2 options at any one time available to the user. • Make the most of media: one of the great advantages that modern smart phones bring is the ability to integrate rich media well. Our designs make full use of this and use audio, video and animations where relevant to illustrate learning points.
  • 46. M-Learning Design Guidelines •Use the features: Mobile devices enable us to do a lot more then receive learning. We can communicate with each other, upload information, use geo location to get place-specific guidance, create and share your own content e.g. photos, audio, video, SMS and text – yes even make phone calls! •Keep it current: Updating mobile learning is relatively simple, and it’s a great way to push updates on product knowledge, legislation and key information to learners - they’re more likely to check their phone for 2 minutes for a quick refresher than to go into the LMS to find it. •Blend with the rest: Mobile learning in our view is often best deployed as part of a blend. For example, our Health and Safety e-learning mobile app is designed to complement our Health and Safety e-learning module. It is designed to provide fast access to key information and to act as performance support tool.
  • 47. Resources •http://developer.android.com/design/get- started/principles.html •iOS Human Interface Guidelines describes the guidelines and principles that help you design a superlative user interface and user experience for your iOS app. •http://msdn.microsoft.com/en- us/library/windows/desktop/cc872774.aspx •http://www.tripwiremagazine.com/2012/10/mobile-apps- inspiration-design-patterns.html
  • 48. Cross Platform Development Considerations One major factor that cross-platform developers need to be aware of — whether you use a framework or not — is app design. Designing an app for the iPhone is different than designing one for Android; The UI and UX conventions are different, and touch points and menus work in different ways. A good cross-platform application looks at home on whatever platform it is used on. A bad cross-platform tries to look identical everywhere. For instance, if your Android app has navigation controls at the bottom of the screen, iPhone style, you're doing it wrong.

Notes de l'éditeur

  1. The term responsive design is an appropriate label for the technique—it is a set of design principles designed to achieve resolution independence. Unfortunately, responsive design often gets confused with building a "proper" mobile site leading to the unfortunate effect of developers assuming that, because they've used responsive design, their site is now mobile-friendly and they've "done" their mobile site. Granted, building a responsive site is far better than doing nothing at all, but falls short of a true mobile solution that harnesses the power of mobile
  2. http://www.beaconfire.com/blog/2011/10/ten-best-practices-for-mobile-design-usability/
  3. Touch is all about direct interactions with content. And at a high level that's what we want to push for. But how do we actually allow people to interact with touch? Our fingers aren't nearly as precise as our mice. And without a cursor, making sure people can actually interact with the elements in our applications is an important consideration. http://static.lukew.com/TouchGestureTemplate.pdf
  4. http://www.lukew.com/ff/entry.asp?1071
  5. When screens are considered, two factors are taken into account when it comes to measurements: 1) the size, and 2) the resolution. The size is generally measured diagonally in inches, and the resolution is on the number of pixels displayed on the screen But first, why is it an issue? Because of PPI (pixels per inch) or pixel density variations. "A screen with lower density has fewer available pixels spread across the screen width and height, where a screen with higher density has more — sometimes significantly more — pixels spread across the same area. The density of a screen is important because, other things being equal, a UI element (such as a button) whose height and width are defined in terms of screen pixels will appear larger on the lower density screen and smaller on the higher density screen." CSS3 Media queries With the introduction of CSS3 Media queries, it is possible to target devices through many other variables including device width, device orientation, and aspect ratio. Using Media queries, it’s possible to load specific styles on specific devices (or collections of devices). This is what Ethan Marcotte refers to as responsive web design.
  6. Your application achieves "density independence" when it preserves the physical size (from the user's point of view) of user interface elements when displayed on screens with different densities. Maintaining density independence is important because, without it, a UI element (such as a button) appears physically larger on a low density screen and smaller on a high density screen. Such density-related size changes can cause problems in your application layout and usability.
  7. If you don't have a tool for encoding to MP4/H264/AAC, you should download Handbrake. It is free, works on cross-platforms and produces high-quality results. Handbrake has a built-in present called iPhone & iPod Touch, which has exactly the right settings. Note that Handbrake supports a constant quality feature, which offers smaller files than a target size or target bitrate.
  8. The pros of using a cross-platform framework: Code Is Reusable: Rather than having to write the specific action or sequence for each platform, a developer can just write the code once and then reuse those bits in later projects or on other platforms. Plugins: Major frameworks, including Appcelerator and PhoneGap offer easy access to plugins and modules that can easily plug into other services or tools. Easy for Web Developers: Because most frameworks are dynamic or scripting languages, they are easy for web developers to jump in and use. Moreover, most frameworks also support HTML5 and CSS3 alongside the calls to more native functions. Reduced Development Costs: This is perhaps the biggest advantage because it allows companies or brands to get an app onto other platforms without having to invest in a team or developer specific to that ecosystem. Support for Enterprise and Cloud Services: In addition to plugins and modules for specific functions, most frameworks also have the option to directly integrate with cloud services, including Salesforce.com, AWS, Box.net and others. Easy Deployment: Deploying and compiling apps is much faster in a cross-platform scenario. This is especially true with many of the new cloud-based build tools that various frameworks are starting to push out. Some of the cons include: The Framework Might Not Support Every Feature of an Operating System or Device: If Google, Apple or Microsoft adds a new feature, the framework you are using will need to be updated to support those new additions. You Can't Always Use Your Own Tools: Most frameworks want users to use their own development tools and suites, and that can mean that a developer has to forgo his or her own IDE preferences and use something else. PhoneGap (which Adobe acquired last summer) is different in this regard, in that it uses the native IDE for each platform it supports (XCode for iOS, Eclipse for Android, Visual Studio for Windows Phone) Code Might Not Run as Fast: The cross-compilation process can sometimes be slower than using native tools and calls for an app. High-End Graphics and 3D Support is Often Limited: Fortunately, game-centric development platforms, like Unity are here to help fill in those gaps. Vendor Lock-In: Most of the cross-platform frameworks build using their own subsets of JavaScript, which means that if you want to switch to another platform, that code you wrote before is likely not going to be reusable without a lot of work.