Making the case for the consideration of network topologies on the performance of UI technologies, and presenting some sample measurements across traditional SAP GUI, WebDynpro for ABAP, and the UI5-based Fiori apps.
27. Off-‐The
Shelf
• Helps
to
set
expectaRons
• “Eyes
wide
open”
• Buy
Rme
– configure
WAN
accelerators
properly
– deploy
caching
proxies
in
remote
locaRons
– consider
internet
access
strategies
28. Custom
Development
• Conscious
decisions
and
trade-‐offs
• Iterate
and
improve
• Rough
&
ready,
informal
is
fine
– As
long
as
you
start
early
– And
improve
as
you
go
29. Rule
1
-‐
Make
Fewer
HTTP
Requests
Rule
2
-‐
Use
a
Content
Delivery
Network
Rule
3
-‐
Add
an
Expires
Header
Rule
4
-‐
Gzip
Components
Rule
5
-‐
Put
Stylesheets
at
the
Top
Rule
6
-‐
Put
Scripts
at
the
Bo<om
Rule
7
-‐
Avoid
CSS
Expressions
Rule
8
-‐
Make
JavaScript
and
CSS
External
Rule
9
-‐
Reduce
DNS
Lookups
Rule
10
-‐
Minify
JavaScript
Rule
11
-‐
Avoid
Redirects
Rule
12
-‐
Remove
Duplicate
Scripts
Rule
13
-‐
Configure
ETags
Rule
14
-‐
Make
AJAX
Cacheable
30. Rule
1
-‐
Make
Fewer
HTTP
Requests
Rule
2
-‐
Use
a
Content
Delivery
Network
Rule
3
-‐
Add
an
Expires
Header
Rule
4
-‐
Gzip
Components
Rule
5
-‐
Put
Stylesheets
at
the
Top
Rule
6
-‐
Put
Scripts
at
the
Bo<om
Rule
7
-‐
Avoid
CSS
Expressions
Rule
8
-‐
Make
JavaScript
and
CSS
External
Rule
9
-‐
Reduce
DNS
Lookups
Rule
10
-‐
Minify
JavaScript
Rule
11
-‐
Avoid
Redirects
Rule
12
-‐
Remove
Duplicate
Scripts
Rule
13
-‐
Configure
ETags
Rule
14
-‐
Make
AJAX
Cacheable
Make
Fewer
Requests
31. Rule
1
-‐
Make
Fewer
HTTP
Requests
Rule
2
-‐
Use
a
Content
Delivery
Network
Rule
3
-‐
Add
an
Expires
Header
Rule
4
-‐
Gzip
Components
Rule
5
-‐
Put
Stylesheets
at
the
Top
Rule
6
-‐
Put
Scripts
at
the
Bo<om
Rule
7
-‐
Avoid
CSS
Expressions
Rule
8
-‐
Make
JavaScript
and
CSS
External
Rule
9
-‐
Reduce
DNS
Lookups
Rule
10
-‐
Minify
JavaScript
Rule
11
-‐
Avoid
Redirects
Rule
12
-‐
Remove
Duplicate
Scripts
Rule
13
-‐
Configure
ETags
Rule
14
-‐
Make
AJAX
Cacheable
Make
Fewer
Requests
Speed
up
Round-‐Trips
32. Rule
1
-‐
Make
Fewer
HTTP
Requests
Rule
2
-‐
Use
a
Content
Delivery
Network
Rule
3
-‐
Add
an
Expires
Header
Rule
4
-‐
Gzip
Components
Rule
5
-‐
Put
Stylesheets
at
the
Top
Rule
6
-‐
Put
Scripts
at
the
Bo<om
Rule
7
-‐
Avoid
CSS
Expressions
Rule
8
-‐
Make
JavaScript
and
CSS
External
Rule
9
-‐
Reduce
DNS
Lookups
Rule
10
-‐
Minify
JavaScript
Rule
11
-‐
Avoid
Redirects
Rule
12
-‐
Remove
Duplicate
Scripts
Rule
13
-‐
Configure
ETags
Rule
14
-‐
Make
AJAX
Cacheable
Make
Fewer
Requests
Speed
up
Round-‐Trips
Reduce
Payloads
33. Rule
1
-‐
Make
Fewer
HTTP
Requests
Rule
2
-‐
Use
a
Content
Delivery
Network
Rule
3
-‐
Add
an
Expires
Header
Rule
4
-‐
Gzip
Components
Rule
5
-‐
Put
Stylesheets
at
the
Top
Rule
6
-‐
Put
Scripts
at
the
Bo<om
Rule
7
-‐
Avoid
CSS
Expressions
Rule
8
-‐
Make
JavaScript
and
CSS
External
Rule
9
-‐
Reduce
DNS
Lookups
Rule
10
-‐
Minify
JavaScript
Rule
11
-‐
Avoid
Redirects
Rule
12
-‐
Remove
Duplicate
Scripts
Rule
13
-‐
Configure
ETags
Rule
14
-‐
Make
AJAX
Cacheable
Make
Fewer
Requests
Speed
up
Round-‐Trips
Reduce
Payloads
Browser
Efficiencies
34. Make
Fewer
Requests
Speed
up
Round-‐Trips
Reduce
Payloads
Browser
Efficiencies
43. Google’s
mod_pagespeed
Automagic
server-‐side
web
page
opRmisaRon
• Recompresses
images
• Combines
CSS
&
JavaScript
files
• Applies
minificaRon
• etc.
etc.
44. 37%
Fewer
Requests
Google
PageSpeed
Score:
88
!
98
YSlow
Score:
83
!
93
It
works:
45. • Fiori
is
JavaScript-‐driven:
– Very
minimal
HTML
– JS
loads
more
JS,
other
resources
to
build
page
• PageSpeed
can
only
opRmise
HTML
&
references
• <10%
reducRon
in
load
Rme,
resources
Mastering SAP Technologies 2014 | 45
…but
not
with
Fiori…
47. Just
Browser
Caching
isn’t
enough!
Mastering SAP Technologies 2014 | 47
Yahoo
@
2007:
40-‐60%
of
users
visit
www.yahoo.com
with
empty
cache!
20%
of
all
page
views
done
with
empty
cache!
h<p://www.yuiblog.com/blog/2007/01/04/performance-‐research-‐part-‐2/
48. OpportuniIes
• Wave
2+
• Cordova/Phonegap
container
apps
• Custom
build
for
performance-‐criRcal
scenarios.
Greatly
improved
architecture
Performance
is
high
on
the
agenda
49. Make
Fewer
Requests
Speed
up
Round-‐Trips
Reduce
Payloads
Browser
Efficiencies
50.
51. Want
to
Read
More?
• How
Fast
Are
We
Going
Now?
• Cache
them
if
you
can!
• Browser
Cache
Usage
Exposed!
• How
to
Read
HTTP
Waterfall
Charts
• Velocity
Conference
Talks:
2012
(US),
2012
(Europe),
2013
• Some
talks
from
the
Chrome
Dev
Summit
• People
on
twi<er:
@igrigorik,
@souders,
@bluesmoon,
@dakami,
@guypod,
@mnot,
@stoyanstefanov,
@agl__
(and
their
blogs!)
• Blogs:
h<ps://insouciant.org,
h<p://highscalability.com