Featured author for InsideRIA
Tech Reviewer for O’Reilly’s Flex 4 Cookbook
Contributed just under 150 bugs/features for Flash CS5
Co-organizer of the Flash and the City conference in NYC
kevinsuttle.com |
@kevinSuttle
KEVIN SUTTLE
Channel Developer - litl
Slide 3
Slide 3 text
kevinsuttle.com |
@kevinSuttle
KEVIN SUTTLE
User Experience Designer
Interaction Designer
User Interface Designer
Usability Engineer
Information Architect
Honest, people-centered, holistic approach. No nonsense.
UNOFFICIAL JOB TITLES
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
CONTEXT
“the interrelated conditions in which something
exists or occurs”
- dictionary.com
Kind of generic.
Slide 6
Slide 6 text
MULTI-SCREEN
is a good description,
but I don’t think it’s a good definition.
There is a difference.
Slide 7
Slide 7 text
MULTI-SCREEN
seems to infer that the screen size,
screen resolution and screen density
are the main considerations.
...at least to me.
Slide 8
Slide 8 text
I PREFER THE TERM
Contextual Applications (or Contextual Experiences)
Slide 9
Slide 9 text
ADOBE’S DESCRIPTION
”These solutions are broader in scope than a device, a
campaign, or a single service; rather, they encapsulate
the
various contexts in which the end user exists, interacts,
thinks, consumes, and purchases.”
Slide 10
Slide 10 text
WHY IT MATTERS
As developers today, we are more and more likely to
port our applications to multiple devices and runtimes
than ever before.
One-offs are becoming increasingly less common.
Slide 11
Slide 11 text
WHY IT MATTERS
Context is much more than being aware of screen sizes.
the user’s surroundings/location
runtime/hardware capabilities
time-sensitivity
user presence
social interaction
... plus much more
Slide 12
Slide 12 text
FURTHER TO THE POINT
”Your content is of little value to its users if it ignores
the context in which it was viewed, manipulated
and processed.”
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
FAMILIAR TERRITORY
The desktop has been our stomping grounds for years
Slide 15
Slide 15 text
DESKTOP ADVANTAGES
96% of monitors today are higher than 1024 x 768
422 million broadband households in the US alone
Multiple inputs (hands and peripherals)
Slide 16
Slide 16 text
MODERN RENAISSANCE
The desktop of 2000 is not the desktop of today
Slide 17
Slide 17 text
NEW FEATURES
- Native Process API - extending AIR natively
- Mass Storage Detection
- Drag and Drop Remote Files
- P2P, UDP, Secure Sockets
- Global error handling
- Screen reader support
- IME Text
- Default ‘open-with’ settings OS-wide
Slide 18
Slide 18 text
THE LINE IS BLURRING
Web experiences and desktop experiences are
converging more and more.
With the advances of HTML5 and Flash,
the differences between AIR, browser, and native
applications are going to be a lot less noticable.
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
ALL OF A SUDDEN
BAM. We’re all mobile developers.
AIR on Android spawns a whole new set of developers
‘Full Flash’ on mobile handsets
Slide 21
Slide 21 text
MOBILE EDUCATION
Unless you’ve been doing mobile for a long time,
it’s not as simple as you may think,
and it is constantly changing.
Slide 22
Slide 22 text
MOBILIZED
Not minimized
The key is to leverage the device-specific advantages.
Provide immediate, relevant value with a planned,
deliberately short list of interactions.
Data should be readily accessible, and meet the needs of
a mobile user.
Simple != minimal.
Slide 23
Slide 23 text
MOBILE FIRST
Many are joining the ‘Mobile First Revolution’.
It allows a team to focus on the most important
features, specifically those that add the most contextual
value.
Slide 24
Slide 24 text
ELEMENTS OF MOBILE CONTEXT
Slide 25
Slide 25 text
MOBILE = SOCIAL
”The mobile handset is, by its own nature,
a social artifact; an object made and used by people,
to connect with people.”
- C. Enrique Ortiz
Slide 26
Slide 26 text
THE 7th MASS MEDIUM
1. Printing Press
2. Recordings
3. Cinema
4. Radio
5. TV
6. The internet
7. Mobile
Slide 27
Slide 27 text
5 UNIQUE BENEFITS
1. First truly personal mass media
2. First always-on mass media
3. First always carried mass media
4. Only mass media with a built-in payment channel
5. Offers point of thought (ability to create or consume
content whenever the mood strikes)
Slide 28
Slide 28 text
LOCATION IS IMPERATIVE
Easy to underestimate, but locational context is crucial.
- Your application should adapt to handle many light
sources and viewing angles
- If sound is important to your application, think about
noisy public places, use more text instead
- Be prepared to handle network interruptions
- Be prepared to handle phone interruptions
- Consider privacy (user is home vs in public)
Slide 29
Slide 29 text
MOBILE GOTCHAS
Screensaver mode*
Battery-life
Hardware performance limitations
Saving state upon interruptions*
* can be remedied in Flash Player 10.1
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
THE DIGITAL HOME
Modern experiences for modern families
Slide 32
Slide 32 text
KNOWS THEIR AUDIENCE
The litl family computing platform is meant to be used
specifically in the home, with a focus on content.
Slide 33
Slide 33 text
AN ENTIRE OS
Powered-by Flash, at your disposal.
This allows you to take advantage of unique, tailored
hardware that has context at the forefront of it’s
design.
Slide 34
Slide 34 text
MULTIPLE CONTEXTS
With the litl SDK, you can design channels that handle 3
different types on contexts.
1. Card view
2. Focus view
3. Channel view (a.k.a. Easel Mode)
Allows you to be creative in developing content that is
both passive and interactive; consuming and creating.
Slide 35
Slide 35 text
FLASH ON YOUR TV
Average American watches 4.5 hours of TV a day
65% of homes have broadband
70% want internet on TV
Slide 36
Slide 36 text
litl’s 4th CONTEXT
The TV
Slide 37
Slide 37 text
A NEW FRONTIER
- Full keyboard
- Touch/Gesturing
- Accelerometer
- Microphone
Slide 38
Slide 38 text
FLASH ON YOUR TV!
Not just widgets
You now have entire HD television screens for your full
Flash-powered games, content, and media!
Slide 39
Slide 39 text
WHY litlOS MAKES SENSE
The web book and upcoming set-top box are hardware
that is laser-focused on user’s context.
The SDK is straight-forward, well-documented, tested
Support is readily available
Open and clear submission guidelines for custom
channels
litl is ready for your creativity (developer.litl.com)
Develop how YOU want to.
Slide 40
Slide 40 text
OPEN FOR SUBMISSION!
Our channel store is now accepting submissions.
Visit developer.litl.com for details and to register ideas!
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
CONTEXT-AGNOSTIC
There is no such thing as ”write once, deploy
everywhere,” unless you want your application to suck.
However, there are many aspects of contextual
application development that will be the same no matter
where you choose to deploy.
Slide 43
Slide 43 text
PERFORMANCE
Performance is no longer an option.
No matter where you deploy, your application needs to
perform exceedingly well.
Slide 44
Slide 44 text
RESPONSIBILITIES
“With great power comes great CPU usage” - ME
Slide 45
Slide 45 text
SERIOUSLY THOUGH
It’s very easy to forget about, but performance is a
lynchpin across all contexts.
Optimization MUST be a part
of your iterations/sprints.
Slide 46
Slide 46 text
GOOD NEWS
AIR 2+ and Flash Player 10.1 rescind control back to you.
Dynamic Framerates
Flash Player Throttling
- SWF is in a hidden tab
- SWF is scrolled out of the viewing area
- GPU Video acceleration
Slide 47
Slide 47 text
GOOD NEWS
Support for many types of hardware rendering
- Vector graphics
- Bitmaps
- 3D effects
- Filters/Shaders
- Color transforms
- Alpha transparency
- Device/embedded text fonts
- Bitmap caching
Slide 48
Slide 48 text
BAD NEWS
Some performance tuning methods are dependent on
browser support, though it shouldn’t hurt to include
them.
Progressively enhanced Flash will become common
soon.
You should check each browser/device
for support details.
Slide 49
Slide 49 text
ARCHITECTURE
In a typical MVC(S) architecture, the view is the only
thing that should have to significantly change.
Slide 50
Slide 50 text
MODEL and CONTROLLER
Your data structure and value objects should already
be scalable enough to not impact performance on
mobile and other non-desktop devices.
Slide 51
Slide 51 text
SERVICES
Tread carefully here.
Server calls can be costly in terms of memory, battery
and even actual money in the case of mobile. Not
everyone has unlimited data plans.
Make good use of push, or asynchronous calls when it
makes sense to.
Slide 52
Slide 52 text
SHARED OBJECTS
You can minimize server calls
SQLLite is not available in all cases
SharedObjects seem to ‘just work’
On litlOS, SharedObjects are available, but it makes
more sense to explore the shared properties model in
Slide 53
Slide 53 text
LAYOUT
One of the most fun objectives to handle.
- Stage.Scalemode
- Stage.Resize (best option)
- Stage.OrientationChange (flash.sensors)*
*Limited to accelerometer, doesn’t always behave how
you’d expect.
Slide 54
Slide 54 text
IT’S ALL RELATIVE
Or at least it used to be.
- Pixels are a relative unit of measurement.
- Screen density and PPI/DPI are the most crucial and is
the property that will change the most
(Capabilities.ScreenDPI)
Christian Cantrell suggests investing in a ruler to make
sure your measurements are consistent
Slide 55
Slide 55 text
GET PHYSICAL
Many of your users will only be using one hand to
interact with your mobile application (typically the right
hand).
When you’re designing assets, use your own hand as a
guide on the screen to judge how accessible and
ergonomic your application is, as well as what might be
covered up by a user’s hand.
Rule of finger: 10mm (44px) for finger touch,
but that’s an average. Never hurts to make it bigger.
Slide 56
Slide 56 text
DON’T GET TOUCHY
unless you have to.
Multitouch is great, but not always necessary.
Unless you need specific multitouch gesture support,
mouse events ‘just work’ on multiple devices.
Slide 57
Slide 57 text
GET VIRTUAL
Many mobile devices have native keyboards,
some have physical keyboards only, and some have
both.
Be sure to account for this when designing your
application, as it could easily go awry.
You don’t want a native keyboard covering up your
screen assets.
Slide 58
Slide 58 text
GO GLOBAL
Globalization API in Flash Player 10.1
- Text language/orientation (RTL)
- Date/Time
- Currency formatting/parsing
- Number formatting/parsing
- String comparison for sorting or searching for text
- Upper and lower case conversions
Slide 59
Slide 59 text
TAKE CONTROL
With AIR on Android, you can control your desktop
client with a controller app.
With the litl OS, you’ll be able to control a channel on
the web book with an iPhone or native Android
device.*
*See more about this in October, at the litl-sponsored
FITC Unconference at MAX + (Free beer!) as well as
RIAUnleashed Boston in November
Slide 60
Slide 60 text
FOR MORE INFO
@kevinSuttle
kevinsuttle.com
developer.litl.com
@litl
@litlDev