7. “ Successful
products
typically
follow
four
stages
of
crea5on:
requirements,
design,
development,
and
tes5ng.
Development
Cycle
Universal
Principles
of
Design
*
9. Development
Cycle
Requirements
Design
Development
Tes5ng
80/20
Consistency
Inverted
Pyramid
Signal
to
Noise
Ra5o
Errors
Validate
Flexibility
vs.
Layering
Usability
Trade-‐off
Visibility
Constraints
*
10. Applica5on
Developers
are
Kingmakers
App App App World of API Internal
App API
User Store Developer APIs Team Systems
11. Ques5ons
to
ask
at
each
phase:
•
What
is
the
app
developer
doing?
•
How
can
we
help?
*
12. Development
Cycle
Requirements
Design
Development
Tes5ng
80/20
Consistency
Inverted
Pyramid
Signal
to
Noise
Ra5o
Errors
Validate
Flexibility
vs.
Layering
Usability
Trade-‐off
Visibility
Constraints
*
13. “ A
high
percentage
of
effects
in
any
large
system
are
caused
by
a
low
percentage
of
variables.
80/20
Rule
Universal
Principles
of
Design
*
20. Development
Cycle
Requirements
Design
Development
Tes5ng
80/20
Consistency
Inverted
Pyramid
Signal
to
Noise
Ra5o
Errors
Validate
Flexibility
vs.
Layering
Usability
Trade-‐off
Visibility
Constraints
*
26. “ The
process
of
organizing
informa5on
into
related
groupings
in
order
to
manage
complexity
and
reinforce
rela5onships
in
the
informa5on.
Layering
Universal
Principles
of
Design
*
32. Development
Cycle
Requirements
Design
Development
Tes5ng
80/20
Consistency
Inverted
Pyramid
Signal
to
Noise
Ra5o
Errors
Validate
Flexibility
vs.
Layering
Usability
Trade-‐off
Visibility
Constraints
*
42. “ A
method
of
informa5on
presenta5on
in
which
informa5on
is
presented
in
descending
order
of
importance.
Inverted
Pyramid
Universal
Principles
of
Design
*
58. Development
Cycle
Requirements
Design
Development
Tes5ng
80/20
Consistency
Inverted
Pyramid
Signal
to
Noise
Ra5o
Errors
Validate
Flexibility
vs.
Layering
Usability
Trade-‐off
Visibility
Constraints
*
63. “ The
ra5o
of
relevant
to
irrelevant
informa5on
in
a
display.
The
highest
possible
signal-‐to-‐noise
ra5o
is
desirable
in
design.
Signal-‐to-‐Noise
Ra5o
Universal
Principles
of
Design
*
66. Universal
Principles
of
Design
• Educate
others
about
our
domain
• Cer5fy
our
partner
developers
• Inspire
with
an
app
gallery
• Guide
the
design
of
apps
• List
the
objects
in
our
system
• Engage
developers
with
an
API
console
• Be
accessible
via
forums,
social
media
&
email
• Receive
bugs
&
feature
requests
directly
from
developers
• Show
each
developer
his
API
data
• Respond
with
HTTP
status
codes
for
apps
• Respond
with
verbose
messages
for
app
developers
• Create
social
error
pages
with
details
and
hints
• Favor
flexibility
• Op5mize
usability
• Eliminate
unnecessary
choices
• Invest
in
highly-‐used
features
• Fix
high-‐impact
bugs
• List
resources
by
importance
*