How does a business make informed decisions around taking their desktop apps to the mobile world? Elan Tanzer will share some of the experiences in exploring which functionality makes sense to port to mobile devices, what the differences in human/computer interaction will be, and whether it makes sense to go native to each OS or to use a more portable solution such as HTML5.
5. Desktop Software
What is it good for?
Users are comfortable with long
hours spent creating and editing
documents on their desktop
computers.
Each user has most likely set up
their system exactly how they
prefer, making interaction as
comfortable for them as possible.
Usage
• Creating & editing
documents
• Interacting with multiple
systems
Attributes
• Keyboard & mouse driven
• Large screens
• Powerful CPU & video card
• Lots of storage
• Multiple windows
6. Apps on Tablets
How are they used?
Tablet devices are more
powerful then ever, and with
the BYOD trend, workers across
many sectors are adopting
them for daily tasks.
Users on tablets are prone to
short attention spans and
expect fewer steps to achieve
their goals.
Usage
• Reviewing documents
• Light system interaction
Attributes
• Touch driven
• Mid-size, high quality
screens
• Fast CPU & GPU
• Challenges with power
consumption
• Single window
7. Apps on Smartphones
Interactions on the go
The days of only using mobile
phones for phone calls are
gone. In some countries, web
usage on smartphones has
surpassed that on desktop PCs.
Users on smartphones expect
to be able to perform small
tasks quickly, and applications
often have to be aware of each
other (camera, social media).
Usage
• Sending short messages
• Completing small tasks
Attributes
• Touch & button driven
• Small screens
• CPU & GPU
• Challenges with power
consumption
• Single window
8. tanzer.com
The desktop version of
Evernote is feature-
rich.
Users are expected to
create, edit & organise
notes and notebooks
The iPad version has
fewer features than the
desktop version.
Users are expected to
create and edit notes,
but not organise.
Evernote on mobile
phones is aimed
towards basic use.
Panes have their
own view with
simple
functionality
Case Study Evernote
12. Be Prepared!
Intended use of the product…
…seldom equals actual use
Prepare for usage beyond what you expect
• Ease of use
• Boundary Testing
• Disaster Recovery
14. tanzer.com
Powerful Multi-core CPUs
• Parallel Processing
Multi-core GPUs
• OpenGL ES or DirectX
Large capacity SSD
• Fast Memory Access
Never enough battery
• Infrequent Memory Access
Typical Device Under The Hood
16. tanzer.com
Take Advantage of Evolution
With evolution of hardware, software also has to
evolve
Simply putting a GPU in a device doesn’t
automatically add graphics acceleration
Take advantage of the GPU by coding in a language
the GPU understands such as OpenGL ES
17. tanzer.com
Taking Advantage Of The GPU
Applications
benefiting
from
graphics
acceleration
Mobile User Interfaces
Games
Automobile Dashboard
Font Rendering
Televisions & Set-top Boxes
Animation-intensive Presentations
18. tanzer.com
Learn About Graphics Acceleration
Many
resources are
available
(often at no
charge)
Example code, SDKs, Debuggers
Shader Libraries
Khronos Open Standards
Development Boards
Drivers
Documentation
20. tanzer.com
Native App
• Exploit GPU
• Add sophisticated
features
• Write custom
functions
• Control
performance
• Requires app store
HTML5
• Portable across
devices
• Easy to update
apps
• Standard buttons
& Widgets
• Requires server or
installation
Native or HTML5
26. tanzer.com
Case Study Binder Functionality
• Spent 8 developer months creating an SVG Document
Export plug-in and an HTML5 wrapper
• Discovered half-way through that customers required
functionality available only in native iOS
Quick &
Dirty
• Trust the stats showing that iPad is the tablet market
• Start with native from the beginning
• Perform usability tests on desktop and iPad
• Include the functionality that makes the product special
Investing
in
Longevity
27. tanzer.com
Case Study Infrastructure
• Made assumptions about user behaviour
• Mapped out cloud architecture
• Finger in the air estimates (never correct!)
• Realised we need the following experts to help us take
our desktop application to mobile devices:
• Solutions architect for cloud infrastructure
• Web Applications Developer for ensuring correct
behaviour
• User account database architect to ensure binders are
shared with the right people
Cloud
Scenario
28. tanzer.com
Finally Conclusion
If your goal is long term success, invest early in:
• Determining your target users’ pain points
• Focus on mobilising the portions of your application
that solve those pain points
• Interview users in order to develop user scenarios to
ensure you’ve not forgotten anything
• Create prototypes and run usability tests
• Don’t focus on short-term gain at the cost of bringing
the best product to market