WEBVTT 

1
00:00:01.187 --> 00:00:03.113
>> HELLO, EVERYONE. WE'LL GET STARTED 

2
00:00:03.113 --> 00:00:09.135
HERE. I'M PART OF THE POWER BI TEAM, 

3
00:00:09.135 --> 00:00:12.827
WHICH IS THE POWERAPPS AND MICROSOFT 

4
00:00:12.827 --> 00:00:13.955
INFLUENCE CDS CUSTOMER ADVISORY 

5
00:00:13.955 --> 00:00:17.664
TEAM. WHAT DO I DO DAILY? I REALLY 

6
00:00:17.664 --> 00:00:20.545
HELP CUSTOMERS, PARTNERS BUILD APPS. 

7
00:00:20.545 --> 00:00:23.203
A LOT OF MY DAYS ARE SPENT IN DOING 

8
00:00:23.203 --> 00:00:25.648
ARCHITECTURE REVIEWS, CODE REVIEWS. 

9
00:00:25.648 --> 00:00:27.578
TODAY I'LL SIMULATE WHAT I DO WHEN 

10
00:00:27.578 --> 00:00:31.263
I DO A CODE REVIEW OR WHEN THERE'S 

11
00:00:31.263 --> 00:00:34.838
AN OPTIMIZATION PERFORMANCE REQUIRED 

12
00:00:34.838 --> 00:00:38.508
FOR AN APP. I DON'T HAVE SLIDES. 

13
00:00:38.508 --> 00:00:42.132
I'LL HAVE AN APP FROM A CERTAIN 

14
00:00:42.132 --> 00:00:47.865
STATE AND PULL IT INTO WHAT I THINK 

15
00:00:47.865 --> 00:00:49.004
WILL BE WILL BE A PERFORMANT APP. 

16
00:00:49.004 --> 00:00:50.996
TODAY IS NO SLIDES. WE WILL GO OVER 

17
00:00:50.996 --> 00:00:53.730
ALL THE STEPS YOU MIGHT WANT TO 

18
00:00:53.730 --> 00:01:06.883
TAKE AS YOU'RE BUILDING YOUR APP 

19
00:01:06.883 --> 00:01:11.408
. THE SCENARIO IS A CONFERENCE APP. 

20
00:01:11.408 --> 00:01:31.948
I'LL GET ALL THIS STUFF TOGETHER. 

21
00:01:31.948 --> 00:01:35.132
OKAY. SO WE HAVE A CONFERENCE APP 

22
00:01:35.132 --> 00:01:38.158
THAT A CUSTOMER ACTUALLY IS COMPLAINING 

23
00:01:38.158 --> 00:01:40.725
ABOUT. THERE IS A BIT OF LAYING 

24
00:01:40.725 --> 00:01:42.947
WHEN YOU LOAD THE APP. WE'LL SEE 

25
00:01:42.947 --> 00:01:46.541
HOW IT LOOKS. TALK ABOUT THE FUNCTIONALITY 

26
00:01:46.541 --> 00:01:48.575
QUICKLY. IT'S NOTHING COMPLEX. IT'S 

27
00:01:48.575 --> 00:01:53.649
AN APP WHICH HAS SESSIONS. IT HAS 

28
00:01:53.649 --> 00:01:58.679
AN ACTIVITY FEED WHICH BASICALLY 

29
00:01:58.679 --> 00:02:02.888
HAS BUGS AND THINGS HAPPENING WITHIN 

30
00:02:02.888 --> 00:02:05.104
THE COMPONENTS. THAT IS ONE. THIS 

31
00:02:05.104 --> 00:02:07.674
IS JUST KIND OF A SOCIAL ASPECT 

32
00:02:07.674 --> 00:02:09.731
TO THE APP. PEOPLE CAN ACTUALLY 

33
00:02:09.731 --> 00:02:12.751
CHAT ABOUT THE -- OR POST INTERESTING 

34
00:02:12.751 --> 00:02:17.823
THINGS IN THE CONFERENCE. I HAVE 

35
00:02:17.823 --> 00:02:21.260
HERE A FAQ PAGE. NOTHING CRAZY. 

36
00:02:21.260 --> 00:02:25.442
SIMPLE APP. THE OBJECT MODEL IT 

37
00:02:25.442 --> 00:02:27.636
IS A LITTLE CHORE COMPLEX BUT I'LL 

38
00:02:27.636 --> 00:02:30.820
GO OVER SOME OF THE ENTITIES WE 

39
00:02:30.820 --> 00:02:35.376
HAVE. THIS APP WAS BUILT IN SQL. 

40
00:02:35.376 --> 00:02:37.272
COULD HAVE BEEN SHAREPOINT OR CDS. 

41
00:02:37.272 --> 00:02:38.836
I'LL TALK ABOUT THE EQUIVALENT IN 

42
00:02:38.836 --> 00:02:41.124
ALL THE DATA SOURCES. THE SESSION 

43
00:02:41.124 --> 00:02:43.916
IS REALLY THE CORE OF WHAT WE'LL 

44
00:02:43.916 --> 00:02:48.714
BE USING TODAY. THINGS LIKE CONFERENCE 

45
00:02:48.714 --> 00:02:53.999
HERE THAT HAS A RELATIONSHIP WITH 

46
00:02:53.999 --> 00:02:56.860
SESSIONS. THIS IS SO THEY CAN USE 

47
00:02:56.860 --> 00:02:59.267
THE APP ACROSS MULTIPLE CONFERENCES. 

48
00:02:59.267 --> 00:03:02.767
SESSION AS A VENUE. GIVES YOU THE 

49
00:03:02.767 --> 00:03:05.612
ADDRESS, THE NAME. YOU HAVE THE 

50
00:03:05.612 --> 00:03:09.219
NOTION OF ATTENDEES, THE NOTION 

51
00:03:09.219 --> 00:03:13.257
OF SPEAKERS. BASICALLY EVERYTHING 

52
00:03:13.257 --> 00:03:18.235
YOU EXPECT IN A VERY SIMPLE CONFERENCE 

53
00:03:18.235 --> 00:03:23.436
APP. I WANT TO SHOW HOW THE APP 

54
00:03:23.436 --> 00:03:25.505
BEHAVES RIGHT NOW. I WOULD RUN AGAINST 

55
00:03:25.505 --> 00:03:27.346
AN OPTIMIZED VERSION. THAT'S MAYBE 

56
00:03:27.346 --> 00:03:32.620
GONE BAY OUR TARGET GOAL. I REFRESH 

57
00:03:32.620 --> 00:03:34.881
THIS PAGE, AND I'LL REFRESH THE 

58
00:03:34.881 --> 00:03:36.831
OPTIMIZE THE VERSION HERE. YOU CAN 

59
00:03:36.831 --> 00:03:38.926
SEE HERE THE DIFFERENCE. THIS IS 

60
00:03:38.926 --> 00:03:41.452
WHERE WE WORK AGAINST, HOW TO TAKE 

61
00:03:41.452 --> 00:03:42.824
AN APP THAT BEHAVE THIS WAY AND 

62
00:03:42.824 --> 00:03:45.561
GO ALL THE WAY. WE HAVE A BUNCH 

63
00:03:45.561 --> 00:03:47.642
OF FORK WORK TO DO TODAY. I'LL GET 

64
00:03:47.642 --> 00:03:54.845
STARTED. THAT'S THE GOAL. I'LL GET 

65
00:03:54.845 --> 00:03:57.530
STARTED HERE. THE FIRST THING I 

66
00:03:57.530 --> 00:03:59.751
GO COMPONENT WHEN I LOAD THE APP, 

67
00:03:59.751 --> 00:04:02.614
THE END-OPTIMIZED APP FROM THIS 

68
00:04:02.614 --> 00:04:03.988
PARTICULAR USER, CUSTOMER. THE FIRST 

69
00:04:03.988 --> 00:04:06.133
THING I DO IS ACTUALLY CHECK OUT 

70
00:04:06.133 --> 00:04:12.047
WHERE THEY ARE LOADING DATA. THAT'S 

71
00:04:12.047 --> 00:04:14.548
MY FIRST ACTION. IT'S USUALLY IN 

72
00:04:14.548 --> 00:04:16.182
THE INVISIBLE FIRST SCREEN OR IN 

73
00:04:16.182 --> 00:04:17.849
THIS CASE, IT'S NOT THE CASE. OR 

74
00:04:17.849 --> 00:04:20.581
IN THE APP START. SOMETIMES IT'S 

75
00:04:20.581 --> 00:04:22.126
ALSO ALL OVER THE PLACE. WE'LL SEE 

76
00:04:22.126 --> 00:04:26.278
THAT'S THE CASE HERE AS WELL. THIS 

77
00:04:26.278 --> 00:04:27.894
IS WHAT I'M LOOKING AT RIGHT NOW 

78
00:04:27.894 --> 00:04:31.595
ON APP START. WE ALL KNOW THAT SOMETIMES 

79
00:04:31.595 --> 00:04:33.775
THERE'S A PROBLEM. THIS IS PROBABLY 

80
00:04:33.775 --> 00:04:37.305
WHY WE SAW A BIT THE OTHER DAY WHEN 

81
00:04:37.305 --> 00:04:39.037
WE RUN THE APP IN THIS PARTICULAR 

82
00:04:39.037 --> 00:04:42.168
STATE. WE WANT TO AVOID AS MUCH 

83
00:04:42.168 --> 00:04:43.759
AS POSSIBLE. STAYING IN THE SCREEN 

84
00:04:43.759 --> 00:04:46.089
SO WE GIVE A USER THE ACTUALLY -- 

85
00:04:46.089 --> 00:04:48.124
WE LET THE USER INTERACT WITH THE 

86
00:04:48.124 --> 00:04:50.873
APP RIGHT WAY. IT'S VERY IMPORTANT, 

87
00:04:50.873 --> 00:04:52.727
CRUCIAL, WE DON'T HAVE THE -- YOU 

88
00:04:52.727 --> 00:04:54.035
KNOW, WE MINIMIZE THE AMOUNT OF 

89
00:04:54.035 --> 00:04:56.347
TIME THE USER HAS TO WAIT BEFORE 

90
00:04:56.347 --> 00:04:58.261
INTERACTING WITH THE APP. IT'S ONE 

91
00:04:58.261 --> 00:05:00.429
OF MY GOALS. THE FIRST THING I DO 

92
00:05:00.429 --> 00:05:02.642
USUALLY IS TAKE THIS, ALL OF THIS 

93
00:05:02.642 --> 00:05:05.143
STUFF THAT IS REALLY ALL ABOUT, 

94
00:05:05.143 --> 00:05:08.137
YOU CAN CLEARLY SEE THEY'RE CALLING 

95
00:05:08.137 --> 00:05:09.194
CONFERENCE USERS, DOING CONVENIENT 

96
00:05:09.194 --> 00:05:11.899
USE, SPEAKERS AS WELL, SESSION TYPES. 

97
00:05:11.899 --> 00:05:14.347
THEY'RE ALL NETWORK CALLS THAT COULD 

98
00:05:14.347 --> 00:05:16.149
GO SOMEWHERE ELSE. PERSONALLY I'D 

99
00:05:16.149 --> 00:05:20.592
LIKE TO DO IT ON THE INVISIBLE OF 

100
00:05:20.592 --> 00:05:22.344
HOME SCREEN. I'LL BRING THIS STUFF 

101
00:05:22.344 --> 00:05:25.470
HERE RIGHT NOW. WE'LL TALK A BIT 

102
00:05:25.470 --> 00:05:28.682
SOME STUFF TO IMPROVE. AT LEAST 

103
00:05:28.682 --> 00:05:29.364
AT SOME POINT I DON'T HAVE TO WAIT 

104
00:05:29.364 --> 00:05:31.164
FOR THE APP START TO FINISH. THE 

105
00:05:31.164 --> 00:05:37.116
APP WILL GO STRAIGHT TO THE FORCED 

106
00:05:37.116 --> 00:05:41.509
HOME SCREEN THEN WE NEED TO START 

107
00:05:41.509 --> 00:05:42.904
LOOKING. ONE THING I DO HERE THAT 

108
00:05:42.904 --> 00:05:47.938
IS VERY CRUCIAL ON THE FIRST SCREEN. 

109
00:05:47.938 --> 00:05:49.668
THAT'S SOMETHING I REALLY HOOK AT 

110
00:05:49.668 --> 00:05:51.821
THE DATA WE NEED, ABSOLUTELY WITH NEED, 

111
00:05:51.821 --> 00:05:53.341
IN THE FIRST SCREEN. ANYTHING WE 

112
00:05:53.341 --> 00:05:56.999
DON'T NEED TO LOAD RIGHT AWAY, WE 

113
00:05:56.999 --> 00:06:00.334
SHOULD JUST ACT ON IT IN A DIFFERENT. 

114
00:06:00.334 --> 00:06:03.109
IN THIS PLACE CASE, I CAN QUICKLY 

115
00:06:03.109 --> 00:06:05.939
GO TO THE GUIDE TABLE. IT'S POINTING 

116
00:06:05.939 --> 00:06:12.415
TO THE SESSION TABLE HERE ZOOM IN HERE JUST IN
CASE, 

117
00:06:12.415 --> 00:06:16.104
YOU GUYS. CLEARLY SEE THE SESSION IS
OOZED. 

118
00:06:16.104 --> 00:06:24.817
I HAVE TO KEEP THAT IN MIND.
YOU CAN SEE CLEARLY THE VENUE
HERE IS USED AS WELL.
I CAN KEEP IT N 

119
00:06:24.817 --> 00:06:27.205
AS WELL. THOSE ARE TWO THING I THINK 

120
00:06:27.205 --> 00:06:29.761
WILL BE USE THE IN THE WHOLE FIRST 

121
00:06:29.761 --> 00:06:32.676
SCREEN. THAT'S WHEN I START QUESTIONING 

122
00:06:32.676 --> 00:06:37.894
WHY THIS PARTICULAR APP MAKER DECIDED 

123
00:06:37.894 --> 00:06:42.153
TO LOAD THE CONFERENCE USERS, VENUES. 

124
00:06:42.153 --> 00:06:45.379
I'M NOT SEEING YET A USE FOR VENUE 

125
00:06:45.379 --> 00:06:46.918
COLLECTION. I SEE THEY ARE TRYING 

126
00:06:46.918 --> 00:06:50.450
TO SET THE CURRENT USER HERE. THEY 

127
00:06:50.450 --> 00:06:52.894
ARE LOOKING AT FINDING OUT WHETHER 

128
00:06:52.894 --> 00:06:54.533
THE USER ALREADY LOGGED INTO THE 

129
00:06:54.533 --> 00:06:56.528
APP AND IF IT'S NOT THE CASE, THEY 

130
00:06:56.528 --> 00:07:01.568
WILL CREATE A NEW USER IN THE TABLE. 

131
00:07:01.568 --> 00:07:06.595
PROBABLY THE USER TABLE WE SAW JUST 

132
00:07:06.595 --> 00:07:13.512
RIGHT HERE. CONFERENCE USER HERE. 

133
00:07:13.512 --> 00:07:15.063
GOING BACK TO MY CODE HERE. ONE 

134
00:07:15.063 --> 00:07:17.833
OF THE BEST PRACTICES, AGAIN, IS 

135
00:07:17.833 --> 00:07:19.769
THAT NEED TO LET THE USER KNOW YOU 

136
00:07:19.769 --> 00:07:23.131
ARE HOLDING DATA. THE FIRST STEP 

137
00:07:23.131 --> 00:07:24.859
I'M GOING TO PROBABLY IMPLEMENT 

138
00:07:24.859 --> 00:07:28.269
HERE IS JUST THE NOTION OF A PRELOADER 

139
00:07:28.269 --> 00:07:30.212
ANIMATION. SOMETHING THAT LETS USER 

140
00:07:30.212 --> 00:07:33.304
KNOW WE ARE HOLDING DATA. THAT'S 

141
00:07:33.304 --> 00:07:35.081
USUALLY PERSONALLY, I DO AN UPDATE 

142
00:07:35.081 --> 00:07:38.281
CONTEXT HERE ON THE LOCAL THAT I 

143
00:07:38.281 --> 00:07:45.611
CALL SHOW LOADER. I'LL USE IT IN 

144
00:07:45.611 --> 00:07:49.024
A MINUTE TO DRIVE THE VISIBILITY 

145
00:07:49.024 --> 00:07:53.106
OF THE COMPONENT I'LL BRING INTO 

146
00:07:53.106 --> 00:07:59.568
THE APP. I'M ACTUALLY IN THE UPDATE 

147
00:07:59.568 --> 00:08:03.168
CONTEXT, SHOW LOADER. WHEN I'M DONE 

148
00:08:03.168 --> 00:08:05.122
LOADINGER AND SITTING THE SHOW LOADER 

149
00:08:05.122 --> 00:08:06.547
TO FAULT. THIS WOULD HAVE THE NET 

150
00:08:06.547 --> 00:08:11.383
EFFECT OF HIDING THAT ANIMATION. 

151
00:08:11.383 --> 00:08:14.031
I'LL IMPORT A COMPONENT HERE I'VE 

152
00:08:14.031 --> 00:08:17.173
BUILT ALREADY. THAT'S THE PRELOADER 

153
00:08:17.173 --> 00:08:19.572
COMPONENT. IF YOU HAVE -- IF YOU 

154
00:08:19.572 --> 00:08:21.936
NEED TO BUILD ONE, YOU CAN GO AHEAD 

155
00:08:21.936 --> 00:08:23.975
AND BUILD ONE ON THE SCREEN. THERE'S 

156
00:08:23.975 --> 00:08:29.050
LOTS OF TUTORIALS HOW TO LOAD PRELOADERS. 

157
00:08:29.050 --> 00:08:31.722
I'LL BRING IN THE PRELOADER TO THE 

158
00:08:31.722 --> 00:08:38.519
TABLE HERE. CREATING THE FONT. GIVE 

159
00:08:38.519 --> 00:08:42.218
IT THE FONT. THEN I'LL HOOK P THE 

160
00:08:42.218 --> 00:08:50.077
PROPERTY OF THIS PRELOADER NOTHING 

161
00:08:50.077 --> 00:08:52.591
CRAZY. THIS IS SO WHEN WE'RE ABOUT 

162
00:08:52.591 --> 00:08:55.894
TO LOAD THE DATA, WE ARE NOT MAGICALLY 

163
00:08:55.894 --> 00:08:58.017
SHOWING THE GALLERY WITH DATA PARTIALLY 

164
00:08:58.017 --> 00:09:01.687
LOADED. WE WANT TO KIND OF HIDE 

165
00:09:01.687 --> 00:09:03.551
EVERYTHING FROM THE USER UNTIL WE 

166
00:09:03.551 --> 00:09:05.529
ARE READY TO DISPLAY. THAT'S KIND 

167
00:09:05.529 --> 00:09:07.335
OF THE GOAL OF THIS LOADER ANIMATION. 

168
00:09:07.335 --> 00:09:11.600
AS I MENTIONED A FEW MINUTES AGO, 

169
00:09:11.600 --> 00:09:13.939
I'M REALLY INTERESTED IN ONLY SWAPPING 

170
00:09:13.939 --> 00:09:16.563
MY LOADER INFORMATION WITH THE ABSOLUTE 

171
00:09:16.563 --> 00:09:18.482
CODES NEEDED FOR THE FIRST SCREEN. 

172
00:09:18.482 --> 00:09:20.297
I KNOW CONVENIENT USE ARING ABOUT 

173
00:09:20.297 --> 00:09:23.335
USED. SO I CAN ACTUALLY TAKE THIS 

174
00:09:23.335 --> 00:09:26.013
OUT. I'LL BRING THAT IN HERE. I'LL 

175
00:09:26.013 --> 00:09:31.594
TAKE THIS SHOW LOADER FORCE HERE. 

176
00:09:31.594 --> 00:09:34.797
I BELIEVE SESSION TYPES ARE USED. 

177
00:09:34.797 --> 00:09:36.778
THAT'S DEFINED PROPERTY HERE IS 

178
00:09:36.778 --> 00:09:38.560
SESSION TYPE. THIS COLLECTION NEEDS 

179
00:09:38.560 --> 00:09:43.763
TO BE LOADED IDEALLY AT LOAD TIME. 

180
00:09:43.763 --> 00:09:45.980
SPEAKERS ACTION, NOT USED RIGHT 

181
00:09:45.980 --> 00:09:48.401
WAY BUT USED LATER IN THE DETAIL 

182
00:09:48.401 --> 00:09:56.998
OF THIS APP. I'LL BRING THAT HERE. 

183
00:09:56.998 --> 00:10:01.196
AT THIS POINT, I HAVE TWO TARGETS 

184
00:10:01.196 --> 00:10:04.047
TO LOAD BEFORE THE UI SHOWS UP. 

185
00:10:04.047 --> 00:10:08.912
I'M GOING TO ACTUALLY ALSO GO BACK 

186
00:10:08.912 --> 00:10:13.128
TO MY AND NOTICE THE SESSION IS 

187
00:10:13.128 --> 00:10:15.151
REALLY TIED TO A CONFERENCE IDEA 

188
00:10:15.151 --> 00:10:17.153
ONE CONFERENCE. I KNOW FROM SPEAKING 

189
00:10:17.153 --> 00:10:18.751
TO THE CUSTOMER THAT I'M NOT GOING 

190
00:10:18.751 --> 00:10:21.750
TO HIT SOME SORT OF MAX OR THE SESSION 

191
00:10:21.750 --> 00:10:26.580
REALLY ARE NOT GOING TO GROUND 100 

192
00:10:26.580 --> 00:10:29.293
ITEMS. I'LL CLEAR COLLECTIONS. I 

193
00:10:29.293 --> 00:10:31.269
HAVE A LOCAL CACHE OF MY SESSIONS. 

194
00:10:31.269 --> 00:10:33.121
THAT WAY I DON'T HAVE TO MAKE A 

195
00:10:33.121 --> 00:10:37.001
NETWORK CALL AS I GO BACK AND FORTH 

196
00:10:37.001 --> 00:10:39.785
TO THIS PAGE FOR THAT I'LL DEFINE 

197
00:10:39.785 --> 00:10:46.149
A NEW COLLECTION, CALLED SESSIONS. 

198
00:10:46.149 --> 00:10:50.378
AND I'LL GO AHEAD THE SESSION COLLECTION 

199
00:10:50.378 --> 00:10:55.122
LOADED. SO THAT'S IT. I THINK FOR 

200
00:10:55.122 --> 00:10:58.612
NOW THOSE ARE REALLY THE THREE PARTS 

201
00:10:58.612 --> 00:11:00.736
I SEE IMPORTANT. WE'LL OPTIMIZE 

202
00:11:00.736 --> 00:11:02.989
MORE AND SEE WHAT'S GOING ON. I 

203
00:11:02.989 --> 00:11:10.151
CAN ACTUALLY SAVE. I'LL SAVE IT 

204
00:11:10.151 --> 00:11:23.654
AS A DIFFERENT ONE. THREATEN ACTUALLY 

205
00:11:23.654 --> 00:11:41.628
I'LL GO AHEAD AND TRY IT. SEE IF 

206
00:11:41.628 --> 00:11:45.564
IT'S ACTUALLY MAKING A DIFFERENCE 

207
00:11:45.564 --> 00:11:48.346
ALREADY. WE CAN SEE A LOADING EXPERIENCE. 

208
00:11:48.346 --> 00:11:51.607
WE SEE WE DIDN'T WAIT AS MUCH FOR 

209
00:11:51.607 --> 00:11:53.608
THE INITIAL PAPERS DEFAULT SCREEN. 

210
00:11:53.608 --> 00:11:57.390
IT'S GETTING A LITTLE BIT BETTER. 

211
00:11:57.390 --> 00:11:58.989
I'LL CONTINUE A LITTLE BIT. HERE 

212
00:11:58.989 --> 00:12:01.377
I'M NOTICING THEY ARE ACTUALLY LOADING 

213
00:12:01.377 --> 00:12:02.225
THE CONFERENCE USERS. AGAIN, THIS 

214
00:12:02.225 --> 00:12:04.417
IS KIND OF A DANGEROUS SITUATION 

215
00:12:04.417 --> 00:12:07.377
HERE. YOU WANT TO MAKE SURE YOU 

216
00:12:07.377 --> 00:12:10.959
DON'T HAVE 10, 000 USERS AND YOU 

217
00:12:10.959 --> 00:12:14.971
HAVE LIMITS CAPPED AT 2, 000 ITEMS 

218
00:12:14.971 --> 00:12:18.274
ON ANY GIVEN API CALL. BY QUAY FAULT, 

219
00:12:18.274 --> 00:12:24.053
IN FACT, IT'S SET TO 500 ROLES. 

220
00:12:24.053 --> 00:12:26.017
IF NOW YOUR CONFERENCE, IT WOULD 

221
00:12:26.017 --> 00:12:28.343
HAVE 1500 ITEMS. THIS IS NOT SOMETHING 

222
00:12:28.343 --> 00:12:30.192
YOU CAN CACHE LOCALLY. YOU HAVE 

223
00:12:30.192 --> 00:12:31.476
TO THINK ABOUT DIFFERENT SITUATION. 

224
00:12:31.476 --> 00:12:34.722
FOR SAKE OF THIS PRESENTATION, I 

225
00:12:34.722 --> 00:12:35.980
THINK WE'LL SEE THIS PARTICULAR 

226
00:12:35.980 --> 00:12:37.373
CONFERENCE, OBVIOUSLY FOR EXECUTIVES. 

227
00:12:37.373 --> 00:12:40.667
IT WILL BE PROBABLY A FEW HUNDRED 

228
00:12:40.667 --> 00:12:45.253
USERS. SO I SEE THIS PERSON ACTUALLY 

229
00:12:45.253 --> 00:12:47.484
LOOK, CREATED A LOCAL COLLECTION 

230
00:12:47.484 --> 00:12:49.168
FOR THAT, WHICH IS GREAT. THEN THEY 

231
00:12:49.168 --> 00:12:54.986
TURNED AROUND AND DIDN'T USE THAT 

232
00:12:54.986 --> 00:12:57.201
PARTICULAR COLLECTION TO ROOK UP 

233
00:12:57.201 --> 00:13:03.100
THE USER. WE CAN GO AHEAD AND TAKE 

234
00:13:03.100 --> 00:13:04.098
THE CONFERENCE USER COLLECTION AND 

235
00:13:04.098 --> 00:13:10.774
USE THAT FOR OUR LOOKUP HERE. THERE'S 

236
00:13:10.774 --> 00:13:13.639
ONE MORE THING I'VE TALKED TO MENTION. 

237
00:13:13.639 --> 00:13:15.003
THERE IS NO DEPENDENCIES BETWEEN 

238
00:13:15.003 --> 00:13:17.496
SESSIONS AND VENUES AND COLLECTIONS. 

239
00:13:17.496 --> 00:13:19.098
THERE'S AN OPPORTUNITY HERE TO KIND 

240
00:13:19.098 --> 00:13:22.276
OF FIRE UP ALL THE CALLS IN PARALLEL. 

241
00:13:22.276 --> 00:13:25.606
WE DO HAVE THE CONCURRENT CALL FUNCTION 

242
00:13:25.606 --> 00:13:27.621
THAT WE SHIPPED, MAYBE ABOUT A YEAR 

243
00:13:27.621 --> 00:13:30.938
AGO. WHICH ALLOWED US TO MAKE ALL 

244
00:13:30.938 --> 00:13:33.893
THOSE CALLS IN OUR WAY. IT'S SOMETHING 

245
00:13:33.893 --> 00:13:36.510
GOOD TO REMEMBER. IF YOU KNOW YOUR 

246
00:13:36.510 --> 00:13:38.337
TABLES LOADING LOCALLY ARE ACTUALLY 

247
00:13:38.337 --> 00:13:44.394
NOT GOING TO BE USED, DON'T HAVE 

248
00:13:44.394 --> 00:13:45.563
DEPENDENCIES, MEANING YOU DON'T 

249
00:13:45.563 --> 00:13:47.320
HAVE TO LOAD FOR THE FIRST APP, 

250
00:13:47.320 --> 00:13:49.490
THE FIRST TABLE AND GET DATA TO 

251
00:13:49.490 --> 00:13:50.951
FROM IT TO USE IN THE NEXT INQUIRY. 

252
00:13:50.951 --> 00:13:52.826
YOU CAN GO AHEAD AND WRAP THE ENTIRE 

253
00:13:52.826 --> 00:13:56.131
THING IN A PARALLEL IN THE CONCURRENT 

254
00:13:56.131 --> 00:14:04.286
CALL, WHICH I WILL ALLOW YOU TO 

255
00:14:04.286 --> 00:14:06.219
FILE UP ALL THE CALLS IN PEAR AWE 

256
00:14:06.219 --> 00:14:07.643
LEGAL. THAT'S ANOTHER OPTIMIZATION 

257
00:14:07.643 --> 00:14:11.997
TO KEEP IN MIND. BACK TO OUR SITUATION 

258
00:14:11.997 --> 00:14:14.743
HERE, WE DID FIX UP THE REFERENCE 

259
00:14:14.743 --> 00:14:16.035
HERE. THERE'S NO REASON TO LOOK 

260
00:14:16.035 --> 00:14:19.853
UP TO THE DB DIRECTLY P WE'RE USING 

261
00:14:19.853 --> 00:14:22.360
A LOCAL COLLECTION WE KNOW HAS ALL 

262
00:14:22.360 --> 00:14:25.001
THE CONTENT. THAT'S ONE LESS NETWORK 

263
00:14:25.001 --> 00:14:26.701
CALL. THEN WE'RE LOOKING AT DISPATCH 

264
00:14:26.701 --> 00:14:29.731
HERE, WHICH IS REALLY THE WAY THEY 

265
00:14:29.731 --> 00:14:32.216
ADD A USER TO THIS CONFERENCE IF 

266
00:14:32.216 --> 00:14:36.234
THEY DETECT THEY HAVEN'T SEEN THIS 

267
00:14:36.234 --> 00:14:40.825
USER BEFORE. THEY ARE MAKING AN 

268
00:14:40.825 --> 00:14:50.772
AI CALL TO OFFICE 365. HERE IS AN 

269
00:14:50.772 --> 00:14:52.129
OPPORTUNITY TO REFACTOR THIS THIS 

270
00:14:52.129 --> 00:15:05.173
IS A PROFILE USER HERE USER PROFILE. 

271
00:15:05.173 --> 00:15:10.931
THE ACTUAL CALL TO OFFICE 365 AND 

272
00:15:10.931 --> 00:15:15.184
A LOCAL VARIABLE HERE. WE USE THAT 

273
00:15:15.184 --> 00:15:21.872
IN ALL THE REFERENCES THAT WERE 

274
00:15:21.872 --> 00:15:23.935
USED TO BRING IN THOSE PROPERTIES. 

275
00:15:23.935 --> 00:15:26.339
IT'S A SMALL DETAIL, BUT, AGAIN, 

276
00:15:26.339 --> 00:15:29.724
IT AVOIDS ACTUALLY HAVING THAT CALL 

277
00:15:29.724 --> 00:15:31.702
WITHIN A FORMAT AGAIN THAT WON'T 

278
00:15:31.702 --> 00:15:35.046
BE AS IDEAL. IF I WANT WENT BACK 

279
00:15:35.046 --> 00:15:39.751
TO MY INITIAL APP, AND LOOKED AT 

280
00:15:39.751 --> 00:15:43.245
THE FEEDBACK TRACE THAT REPRESENTS 

281
00:15:43.245 --> 00:15:51.856
THIS UNOPTIMIZED VERSION. YOU CAN 

282
00:15:51.856 --> 00:15:56.261
SEAT NUMBER OF CALLS MADE IN THE 

283
00:15:56.261 --> 00:16:06.521
INITIAL LOAD. AGAIN, THAT'S MAYBE 

284
00:16:06.521 --> 00:16:08.426
THE FIRST THING YOU DO AS YOU'RE 

285
00:16:08.426 --> 00:16:11.279
TRYING TO OPTIMIZE THE APP. LOOK 

286
00:16:11.279 --> 00:16:14.345
REALLY CLEAR, LIKE, AT EVERY SINGLE 

287
00:16:14.345 --> 00:16:17.338
CALLING ABOUT MADE I'LL ZOOM IN 

288
00:16:17.338 --> 00:16:20.399
A BIT HERE. ZOOM IN HERE. YOU CAN 

289
00:16:20.399 --> 00:16:26.105
SEE HERE THAT THIS IS CALLING THE 

290
00:16:26.105 --> 00:16:27.869
REQUEST URL. THIS IS CALLING THE 

291
00:16:27.869 --> 00:16:33.565
SQL DATABASE, GETTING ALL THE ITEMS 

292
00:16:33.565 --> 00:16:37.203
FROM THE FAQ TABLE WHICH WE HAVEN'T 

293
00:16:37.203 --> 00:16:39.429
SEEN SO UNDER. IT'S TO KEEP IN MIND, 

294
00:16:39.429 --> 00:16:42.477
WHY ARE WE LOADING THAT TABLE? YEAH. 

295
00:16:42.477 --> 00:16:47.325
>> IS IT POSSIBLE TO TURN THE LIGHTS 

296
00:16:47.325 --> 00:16:54.834
[INAUDIBLE] >> EXCUSE ME. CAN YOU 

297
00:16:54.834 --> 00:16:57.724
DIM THE LIGHTS FOR THE THEATER. 

298
00:16:57.724 --> 00:17:01.438
SORRY. ALL RIGHT. WHILE THAT'S HAPPENING 

299
00:17:01.438 --> 00:17:02.867
WITH B THIS IS JUST, AGAIN, OUR 

300
00:17:02.867 --> 00:17:04.826
FIELDER, WHICH IS THE NETWORKING 

301
00:17:04.826 --> 00:17:07.474
TOOL THAT MANY OF YOU MIGHT BE FAMILIAR 

302
00:17:07.474 --> 00:17:11.664
WITH IT. IF NOT, IN THE ROAD MAP 

303
00:17:11.664 --> 00:17:18.446
WITH PAPERS, WE HAVE A SET OF DIAGNOSTIC 

304
00:17:18.446 --> 00:17:23.936
TOOLS THAT SHOULD ALLOW TO YOU LOOK 

305
00:17:23.936 --> 00:17:26.696
AT THE TRACES WITHIN POWERAPPS. 

306
00:17:26.696 --> 00:17:30.009
AND THAT'S VERY USEFUL, AGAIN, TO 

307
00:17:30.009 --> 00:17:33.772
LOOK AT EVERY SINGLE API CALL CALLING 

308
00:17:33.772 --> 00:17:36.983
ABOUT MADE FROM YOUR APP. ALL RIGHT. 

309
00:17:36.983 --> 00:17:41.678
AGAIN, MOVING ON TO OUR OPTIMIZE 

310
00:17:41.678 --> 00:17:45.154
OPTIMIZATION HERE WITHIN WE TACKLED 

311
00:17:45.154 --> 00:17:47.066
THE CONCURRENT CALL. WE MOVED THINGS 

312
00:17:47.066 --> 00:17:49.846
AROUND. WE AVOIDED DUPLICATE CALLS 

313
00:17:49.846 --> 00:17:52.483
TO AN API BY A REFACTORRING IT. 

314
00:17:52.483 --> 00:17:55.118
IT'S WITHIN THIS IF STATEMENT. SO 

315
00:17:55.118 --> 00:17:59.191
THIS USER WILL ONLY NOT EXIST THE 

316
00:17:59.191 --> 00:18:01.704
FIRST TIME -- AFT FIRST TIME. SO 

317
00:18:01.704 --> 00:18:03.911
ALL OF THESE CALLS ARE NOT GOING 

318
00:18:03.911 --> 00:18:05.389
TO HAPPEN ANYWAY AFTER THE FIRST 

319
00:18:05.389 --> 00:18:08.532
TIME THE USER LAUNCHES THE APP. 

320
00:18:08.532 --> 00:18:10.921
I'M PRETTY GOOD GOOD ABOUT THIS 

321
00:18:10.921 --> 00:18:15.301
INTRO. WE'LL COME BACK AND DO ADDITIONAL 

322
00:18:15.301 --> 00:18:16.911
OPTIMIZATIONS. FOR NOW, WE'LL MOVE 

323
00:18:16.911 --> 00:18:24.237
ON TO ORDER TOPICS. >> YES. >> YEAH. 

324
00:18:24.237 --> 00:18:28.085
>> SO SETTING THE VARIABLE [INAUDIBLE] 

325
00:18:28.085 --> 00:18:30.589
FLAP. >> YEAH. SO BECAUSE I SAID 

326
00:18:30.589 --> 00:18:33.985
ALL THE DATA LOCAL HERE, IT'S EXACT 

327
00:18:33.985 --> 00:18:36.450
SAME INFORMATION IT'S GOING TO BE 

328
00:18:36.450 --> 00:18:39.444
HERE IN. >> YES. I UNDERSTAND THAT. 

329
00:18:39.444 --> 00:18:41.169
WHEN YOU'RE SETTING THE CURRENT 

330
00:18:41.169 --> 00:18:43.143
USER, I'M USED TO SEEING THAT ASKING 

331
00:18:43.143 --> 00:18:44.751
ABOUT A SEPARATE STEP WHERE I'D 

332
00:18:44.751 --> 00:18:48.239
HAVE TO PUT ALL THE SAME RECORD 

333
00:18:48.239 --> 00:18:50.996
INFORMATION IN AND PATCH [INAUDIBLE] 

334
00:18:50.996 --> 00:18:54.761
INSIDE THE VARIABLABLE? >> HE'S 

335
00:18:54.761 --> 00:18:56.162
TALKING ABOUT THE SECOND SETUP. 

336
00:18:56.162 --> 00:18:59.681
[INAUDIBLE] >> THE NEXT LINE DOWN. 

337
00:18:59.681 --> 00:19:02.672
>> YES. COULD YOU. COULD DO THAT, 

338
00:19:02.672 --> 00:19:05.269
YES. BECAUSE THE PATCH RESPONDS 

339
00:19:05.269 --> 00:19:06.839
-- PATCH COMMAND WILL GIVE YOU BACK 

340
00:19:06.839 --> 00:19:08.427
AN OBJECT THAT IS THE OBJECT YOU 

341
00:19:08.427 --> 00:19:13.892
WANT TO SET INTO THAT VAIR. SO MOVING 

342
00:19:13.892 --> 00:19:16.650
ON TO ANOTHER TOPIC. ONE OF THE 

343
00:19:16.650 --> 00:19:20.679
THING YOU WILL PROBABLY -- I'M GOING 

344
00:19:20.679 --> 00:19:23.502
TO REFRESH MY UNOPTIMIZED VERSION. 

345
00:19:23.502 --> 00:19:25.983
I WANT TO MAKE SURE I DON'T GET 

346
00:19:25.983 --> 00:19:28.641
IT WRONG. I'LL ALSO ACTUALLY STOP 

347
00:19:28.641 --> 00:19:30.984
THIS GUY. THE OTHER TOPIC THAT MIGHT 

348
00:19:30.984 --> 00:19:32.889
BE OF INTEREST IS REALLY ANY ASSETS 

349
00:19:32.889 --> 00:19:35.509
YOU HAVE IN YOUR APP. SO WE WANT 

350
00:19:35.509 --> 00:19:40.551
TO MAKE SURE WE H WE GO TO THE ACTIVITY 

351
00:19:40.551 --> 00:19:41.735
FEED HERE, FOR EXAMPLE, WE DON'T 

352
00:19:41.735 --> 00:19:43.157
HAVE THE SITUATION WHERE IT TAKES 

353
00:19:43.157 --> 00:19:46.933
A WHILE FOR THE IMAGES TO LOAD. 

354
00:19:46.933 --> 00:19:49.487
IF WE CAN DO SOMETHING ABOUT IT, 

355
00:19:49.487 --> 00:19:52.225
THAT'S GREAT. HERE WHEN REVIEWING 

356
00:19:52.225 --> 00:19:57.168
THE APP, I NOTICED THAT THE PHOTOS 

357
00:19:57.168 --> 00:19:59.909
WERE PNGS THAT WERE NOT QUITE COMPRESSED 

358
00:19:59.909 --> 00:20:01.957
LIKE THIS ONE, FOR EXAMPLE, WITH 

359
00:20:01.957 --> 00:20:04.100
2. 5 MEG. SO YOU HAVE AN OPPORTUNITY 

360
00:20:04.100 --> 00:20:06.072
TO KIND OF -- IT'S SOMETHING TO 

361
00:20:06.072 --> 00:20:08.340
KEEP IN MIND IF YOU WANT YOUR ASSET 

362
00:20:08.340 --> 00:20:13.444
TO LOAD PRETTY QUICK. COMPRESS IT 

363
00:20:13.444 --> 00:20:16.602
TO JPEG AND TRYING TO USE A BIT 

364
00:20:16.602 --> 00:20:20.106
-- INCREASE THE COMPRESSION A BIT 

365
00:20:20.106 --> 00:20:21.271
WITHOUT COMPROMISING THE QUALITY, 

366
00:20:21.271 --> 00:20:23.650
OBVIOUSLY I DID THAT AND STUCK IT 

367
00:20:23.650 --> 00:20:25.981
TO A DIFFERENT PARAMETERS. I'LL 

368
00:20:25.981 --> 00:20:28.032
GO TO MY ACTIVITY FEED WHICH WILL 

369
00:20:28.032 --> 00:20:34.894
BE THE FOCUS RIGHT NOW. I HAVE A 

370
00:20:34.894 --> 00:20:37.359
DIFFERENT COLUMN HERE THAT OBTAINS 

371
00:20:37.359 --> 00:20:42.506
THE OPTIMIZED IMAGE URL. THE IDEA 

372
00:20:42.506 --> 00:20:50.392
HERE IS ACTUALLY YOU COULD RUN ON 

373
00:20:50.392 --> 00:20:52.908
THE BACKGROUND A FLOW THAT WILL 

374
00:20:52.908 --> 00:20:55.785
GO AND EXPRESS YOUR IMAGES IF IN 

375
00:20:55.785 --> 00:20:59.549
CASE YOUR USERS ARE UPLOADING HIGH 

376
00:20:59.549 --> 00:21:01.569
RESOLUTION IMAGES. THE OTHER THING 

377
00:21:01.569 --> 00:21:04.147
WITH THIS IS IF YOU ARE USING THE 

378
00:21:04.147 --> 00:21:06.483
CAMERA WOULD YOU BE THE FONT CAMERA, 

379
00:21:06.483 --> 00:21:09.685
WE DID SHIP A NEW FEATURE THAT AUTO 

380
00:21:09.685 --> 00:21:12.927
THE MA I CANNILY COMPRESS THE QUALITY 

381
00:21:12.927 --> 00:21:15.808
OF THE IMAGE YOU ARE LOADING. SO 

382
00:21:15.808 --> 00:21:19.284
IF YOU ARE LOADING AN IPHONE, IT'S 

383
00:21:19.284 --> 00:21:21.532
USUALLY A PRETTY HIGH NUMBER OF 

384
00:21:21.532 --> 00:21:23.591
MIND. IF YOU DON'T HAVE THE LUXURY, 

385
00:21:23.591 --> 00:21:26.065
ACTUALLY, TO COMPRESS YOUR IMAGES, 

386
00:21:26.065 --> 00:21:32.862
MAYBE THE RESOURCES ARE COMING FROM 

387
00:21:32.862 --> 00:21:34.167
DIFFERENT SOURCES YOU DON'T HAVE 

388
00:21:34.167 --> 00:21:35.630
CONTROL OVER AND YOU WANT TO STILL 

389
00:21:35.630 --> 00:21:38.512
KIND OF DO A BIT OF OPTIMIZATION. 

390
00:21:38.512 --> 00:21:39.686
THERE IS SOMETHING COULD YOU DO, 

391
00:21:39.686 --> 00:21:43.965
WHICH IS PUT IN PLACE A GALLERY 

392
00:21:43.965 --> 00:21:48.166
WHICH WILL BE BOUND MAYBE TO THE 

393
00:21:48.166 --> 00:21:52.002
SAME ACTIVITY FEED. THE ACTIVITY 

394
00:21:52.002 --> 00:21:57.714
FEED RIGHT NOW IS TIED TO THE ACTUAL 

395
00:21:57.714 --> 00:21:59.218
DATA SOURCE, SO I DON'T REALLY LIKE 

396
00:21:59.218 --> 00:22:01.646
THAT. I'LL CLEARLY QUICKLY GO AHEAD 

397
00:22:01.646 --> 00:22:13.535
AND LOAD IT HERE. >> [INAUDIBLE] 

398
00:22:13.535 --> 00:22:18.517
. >> YES. IT'S ALWAYS A CONCERN. 

399
00:22:18.517 --> 00:22:21.192
THE FIRST QUESTION IS YOU WANT TO 

400
00:22:21.192 --> 00:22:23.931
ASK YOURSELF, DO YOU HAVE A CHANCE 

401
00:22:23.931 --> 00:22:26.175
THE DATA YOU ARE FETCHING FROM YOUR 

402
00:22:26.175 --> 00:22:29.722
SOURCES WILL BE MORE THAN 2, 000 

403
00:22:29.722 --> 00:22:32.194
ITEMS? IN THAT CASE, THIS WHOLE 

404
00:22:32.194 --> 00:22:34.072
TECHNIQUE OF CLEAR COLLECTING DOES 

405
00:22:34.072 --> 00:22:35.598
NOT APPLY. THE QUESTION, THEN, YOU 

406
00:22:35.598 --> 00:22:39.060
HAVE TO ASK FOR YOUR USER IS FOR 

407
00:22:39.060 --> 00:22:43.367
YOUR CUSTOMERS OR YOUR CLIENTS OR 

408
00:22:43.367 --> 00:22:45.434
YOURSELF, THESE, DO I REALLY NEED 

409
00:22:45.434 --> 00:22:47.681
TO SHOW 2000 ITEMS OR MORE? IS THERE 

410
00:22:47.681 --> 00:22:50.835
REALLY A VALUE FOR A USER TO SCROLL 

411
00:22:50.835 --> 00:22:53.613
OVER 2, 000 ITEM TO FIND THEIR ITEM? 

412
00:22:53.613 --> 00:22:56.158
IS THERE ANY FEATURING THINGS TO 

413
00:22:56.158 --> 00:22:58.246
BRING DOWN THE NUMBER OF ITEMS WHICH 

414
00:22:58.246 --> 00:23:00.196
WILL HAVE AN IMPACT ON THE USER 

415
00:23:00.196 --> 00:23:02.863
EXPERIENCE. IT WILL BE A PROBABLY 

416
00:23:02.863 --> 00:23:05.011
BETTER USER EXPERIENCE IF YOU REDUCE 

417
00:23:05.011 --> 00:23:08.785
THE DATA SET. OUR SITUATION WHERE 

418
00:23:08.785 --> 00:23:10.096
YOU'RE DEALING WITH A LARGE NUMBER 

419
00:23:10.096 --> 00:23:11.931
OF ITEMS AND THE TECHNIQUES I'M 

420
00:23:11.931 --> 00:23:17.450
SHOWING HERE WON'T BE APPLICABLE 

421
00:23:17.450 --> 00:23:22.329
APPLICABLE. GOING TO GET THE ACTIVITY 

422
00:23:22.329 --> 00:23:23.843
FEED GOING, AND THEN -- DOES THAT 

423
00:23:23.843 --> 00:23:27.106
ANSWER THE QUESTION? SORRY. YEAH. 

424
00:23:27.106 --> 00:23:29.421
AND THEN I'LL GO AHEAD AND ACTUALLY 

425
00:23:29.421 --> 00:23:33.134
GO OUT TO MY ACTIVITY TOOL WHICH 

426
00:23:33.134 --> 00:23:35.412
I JUST PUT IN PLACE IN HERE. I'LL 

427
00:23:35.412 --> 00:23:37.672
USE THE ACTIVITY FEED. THE REASON 

428
00:23:37.672 --> 00:23:40.358
I'M GOING THIS IS I'M GOING TO ACTUALLY 

429
00:23:40.358 --> 00:23:42.999
INSERT AN IMAGETH CONTROL HERE. 

430
00:23:42.999 --> 00:23:45.815
I'M GOING TO BIND IT TO THIS IMAGE. 

431
00:23:45.815 --> 00:23:50.274
LET'S SAY I HAVE TO BIND IT TO MY 

432
00:23:50.274 --> 00:23:51.786
END COMPRESS SOURCE. THE NET EFFECT 

433
00:23:51.786 --> 00:23:53.571
OF THIS, AND LET ME NAVIGATE AWAY 

434
00:23:53.571 --> 00:23:55.810
FROM THE SCREEN SO I CAN TRIGGER 

435
00:23:55.810 --> 00:23:58.602
THE INVISIBLE. THE NET EFFECT IS 

436
00:23:58.602 --> 00:24:01.691
I'LL TRIGGER THAT IMAGE URL CALL 

437
00:24:01.691 --> 00:24:03.967
EVEN BEFORE WE GET TO THE NEXT PAGE. 

438
00:24:03.967 --> 00:24:06.096
OF COURSE, I DON'T WANT TO SHOW 

439
00:24:06.096 --> 00:24:09.094
THIS. THE WHOLE IMAGE CAN BE SET 

440
00:24:09.094 --> 00:24:11.236
TO TRANSPARENT. THE GALLERY CONTROL 

441
00:24:11.236 --> 00:24:15.885
CAN ACTUALLY GO TO MAYBE -- ACTUALLY 

442
00:24:15.885 --> 00:24:18.187
I'LL LEAVE IT OPT SCREEN IS IT LOADS 

443
00:24:18.187 --> 00:24:23.470
UP. I REALLY DON'T NEED IT TO BE 

444
00:24:23.470 --> 00:24:27.599
ACTUALLY -- IT DOESN'T HAVE TO BE 

445
00:24:27.599 --> 00:24:32.643
VISIBLE. OBVIOUSLY. SO I CALL THIS 

446
00:24:32.643 --> 00:24:34.655
PRELOADING GALLERY. THE IDEA HERE 

447
00:24:34.655 --> 00:24:37.153
IS HE'LL BRING THIS DOWN, REORDER 

448
00:24:37.153 --> 00:24:40.323
BACK. THE IDEA HERE IS WHEN THE 

449
00:24:40.323 --> 00:24:42.556
FIRST LOAD HAPPENS, AGAIN, THE USER 

450
00:24:42.556 --> 00:24:45.013
WILL SEE THAT PRELOADER ANIMATION 

451
00:24:45.013 --> 00:24:47.370
AS SOON AS THIS UPDATE IS FALSE. 

452
00:24:47.370 --> 00:24:48.891
THEY CAN START INTERACTING WITH 

453
00:24:48.891 --> 00:24:51.124
THE APP. WHAT WE DO IN TERMS FLOATING 

454
00:24:51.124 --> 00:24:52.338
ORDER SOURCES LIKE THE ACTIVITY 

455
00:24:52.338 --> 00:24:54.392
FEED, WHATEVER, IT'S NOT GOING TO 

456
00:24:54.392 --> 00:24:56.297
BE IMPACTING THE USER. THEY CAN 

457
00:24:56.297 --> 00:24:58.325
INTERACT WITH THE APP AND GET GOING 

458
00:24:58.325 --> 00:25:00.707
RIGHT AWAY, INCLUDING THE IMAGE 

459
00:25:00.707 --> 00:25:01.841
GALLERY THAT I'M PRELOADING IN A 

460
00:25:01.841 --> 00:25:05.321
WAY. THE FACT I HAVE AN IMAGE CONTROLLED 

461
00:25:05.321 --> 00:25:08.470
TYPE TO THE PHOTO GALLERY WILL FORCE 

462
00:25:08.470 --> 00:25:10.877
THAT IMAGE TO BE LOADED AND CACHED 

463
00:25:10.877 --> 00:25:12.784
LIKE ANY WEB BROWSER WOULD CACHE 

464
00:25:12.784 --> 00:25:16.079
ASSETS LIKE IMAGES AND THINGS LIKE 

465
00:25:16.079 --> 00:25:17.215
THAT. THAT'S ONE THING COULD YOU 

466
00:25:17.215 --> 00:25:19.812
DO IN CASE YOU CAN'T COMPRESS THE 

467
00:25:19.812 --> 00:25:21.019
IMPANEL JUST BEFORE YOU EVEN GET 

468
00:25:21.019 --> 00:25:23.916
TO THAT SCREEN, YOU'LL GO AHEAD 

469
00:25:23.916 --> 00:25:26.548
AND LOAD THIS PARTICULAR IMAGES 

470
00:25:26.548 --> 00:25:28.141
SO YOU DON'T HAVE THE FLICKER WHEN 

471
00:25:28.141 --> 00:25:29.446
YOU GET HERE. THIS IS JUST IN THE 

472
00:25:29.446 --> 00:25:33.863
HOPE OF IMPROVING THAT USER EXPERIENCE 

473
00:25:33.863 --> 00:25:36.605
AROUND HOW SNAPPY IN THE UI. I DON'T 

474
00:25:36.605 --> 00:25:39.041
WANT TO GO A CERTAIN PAGE AND HAVE 

475
00:25:39.041 --> 00:25:41.149
MY DATA LOADING PARTIALLY AND TAKE 

476
00:25:41.149 --> 00:25:43.123
A WHILE TO LOAD. ANYTHING YOU COULD 

477
00:25:43.123 --> 00:25:45.465
DO TO PRELOAD THE DATA IS GREAT. 

478
00:25:45.465 --> 00:25:48.146
THE OTHER THING I'LL DO HERE, SINCE 

479
00:25:48.146 --> 00:25:53.116
I ACTUALLY PUT IT IN A COLLECTION, 

480
00:25:53.116 --> 00:25:57.037
I'M GOING TO ACTUALLY GO AND -- 

481
00:25:57.037 --> 00:25:59.008
GO AHEAD. >> DO COLLECTIONS PERSIST 

482
00:25:59.008 --> 00:26:00.854
ACROSS SESSIONS SO IF I GO FROM 

483
00:26:00.854 --> 00:26:03.640
THE WEB TO MY MOBILE [INAUDIBLE] 

484
00:26:03.640 --> 00:26:06.403
>> THEY'RE IN MEMORY, LOCAL COLLECTION. 

485
00:26:06.403 --> 00:26:08.577
SO THEY ARE NOT GOING TO PERSIST. 

486
00:26:08.577 --> 00:26:14.637
THEY WILL HAVE TO BE IN A NETWORK 

487
00:26:14.637 --> 00:26:28.520
SOMEWHERE. GOING TO IGNORE THAT 

488
00:26:28.520 --> 00:26:32.281
FOR NOW. I NEED TO GO BACK AND MAKE 

489
00:26:32.281 --> 00:26:34.892
SURE HOME ACTIVITY FEED COMPANY 

490
00:26:34.892 --> 00:26:38.310
S DONE. THE NEXT THING I WANT TO 

491
00:26:38.310 --> 00:26:42.437
TALK ABOUT IS REALLY THIS NOTION 

492
00:26:42.437 --> 00:26:45.455
-- I'LL GO BACK TO IMAGERY RIGHT 

493
00:26:45.455 --> 00:26:48.654
HERE. THE OTHER THING I WANT TO 

494
00:26:48.654 --> 00:26:50.775
TALK ABOUT IS THIS IDEA OF UPLOADING. 

495
00:26:50.775 --> 00:26:54.620
SO I'LL GO BACK TO THE UNOPTIMIZED 

496
00:26:54.620 --> 00:26:59.104
VERSION. THE IDEA OF ACTUALLY PARTICIPATING 

497
00:26:59.104 --> 00:27:02.410
IN THIS WHOLE ACTIVITY FEED. ONE 

498
00:27:02.410 --> 00:27:03.879
OF THE THING WRONG WITH THIS APP, 

499
00:27:03.879 --> 00:27:07.307
YOU CAN SEE, I'LL ACTUALLY TRY TO 

500
00:27:07.307 --> 00:27:11.198
UPLOAD AN IMAGE. AND YOU CAN SEE 

501
00:27:11.198 --> 00:27:12.441
HERE IT'S ACTUALLY DID THE PATCH, 

502
00:27:12.441 --> 00:27:16.877
THE SAVE ON THE SERVER, THEN ACTUALLY 

503
00:27:16.877 --> 00:27:20.076
LOADED INTO THE GALLERY. SO WE WANT 

504
00:27:20.076 --> 00:27:21.979
TO KIND OF OPTIMIZE THAT SO WE HAVE 

505
00:27:21.979 --> 00:27:24.697
THE EFFECT OF WHEN YOU'RE TYPING 

506
00:27:24.697 --> 00:27:26.463
SOMETHINGENT ANDERRING IT, IT IT 

507
00:27:26.463 --> 00:27:28.645
WILY FEELS LIKE IT'S INSTANT ANIMATIONOUS. 

508
00:27:28.645 --> 00:27:34.721
SO, AGAIN, IF WE LOOK AT THE CODE 

509
00:27:34.721 --> 00:27:44.480
THAT'S HERE, IT'S DOWNING ABEN UPLOAD 

510
00:27:44.480 --> 00:27:46.638
OF THE IMAGE, THEN THEY ARE CREATING 

511
00:27:46.638 --> 00:27:48.820
WITH YAY BACKYARD AND A ROW TO THE 

512
00:27:48.820 --> 00:27:50.764
ACTIVITY FEED IF THE DATABASE. ONCE 

513
00:27:50.764 --> 00:27:54.027
DONE, THE GALLERY CONTROL WILL REFRESH 

514
00:27:54.027 --> 00:27:56.345
WHICH IS, AGAIN, DEPENDING ON NETWORK. 

515
00:27:56.345 --> 00:27:59.446
IF YOU'RE HERE, IT WAS PRETTY SLOW. 

516
00:27:59.446 --> 00:28:01.687
IF YOU'RE ON MOBILE OR 3G, YOU'LL 

517
00:28:01.687 --> 00:28:03.666
BE POSTING, WAIT A FEW SECS BEFORE 

518
00:28:03.666 --> 00:28:11.361
YOUR GALLERY REFRESHES. THAT'S TO 

519
00:28:11.361 --> 00:28:13.873
THE IDEAL. WHAT WE WANT TO DO IS 

520
00:28:13.873 --> 00:28:18.100
MORE REALLY TRY TO REFRESH THE COLLECTION 

521
00:28:18.100 --> 00:28:20.799
LOCALLY. AND THEN ALSO GO AHEAD 

522
00:28:20.799 --> 00:28:26.355
AND REFRESH THE BACK-END AT THE 

523
00:28:26.355 --> 00:28:30.547
SECOND STEP. I'LL COPY PASTE HERE 

524
00:28:30.547 --> 00:28:39.391
TO SPEED UP THE PROCESS HERE. THE 

525
00:28:39.391 --> 00:28:43.272
IDEA HERE IS I'LL TRY TO PATCH MY 

526
00:28:43.272 --> 00:28:46.853
ACTIVITY FEED COLLECTION. OOZERS 

527
00:28:46.853 --> 00:28:48.529
WILL SEE THE DIFFERENCE RIGHT WAY, 

528
00:28:48.529 --> 00:28:50.827
SEEING THE DATA SHOWN IN THE GALLERY. 

529
00:28:50.827 --> 00:28:53.767
THEN I'LL HOPE FOR THE BEST AND 

530
00:28:53.767 --> 00:28:56.124
THEN LOAD IT INTO THE -- I'M GOING 

531
00:28:56.124 --> 00:28:59.437
TO THEN TRY TO SAVE IT ON THE BACK 

532
00:28:59.437 --> 00:29:03.056
END. IN MANY SITUATION YOU CAN DO 

533
00:29:03.056 --> 00:29:05.712
THE OPTIMISTIC SAVING WHICH BASICALLY 

534
00:29:05.712 --> 00:29:06.892
LETS USER KNOW IN THE FIRST CALL 

535
00:29:06.892 --> 00:29:09.543
THAT EVERYTHING IS FINE. THE GALLERY 

536
00:29:09.543 --> 00:29:11.381
CONTROL UPDATED. BUT THEN IN THE 

537
00:29:11.381 --> 00:29:13.819
BACKGROUND I'LL BE SAVING AND HOPING 

538
00:29:13.819 --> 00:29:17.640
IT WILL WORK. 99 OF CASES IT'S WORKING. 

539
00:29:17.640 --> 00:29:19.614
IT WILL WORK. BUT THEN YOU ALWAYS 

540
00:29:19.614 --> 00:29:21.539
HAVE THE ABILITY TO DO SOME SORT 

541
00:29:21.539 --> 00:29:23.821
OF ERROR HANDLING, WHICH IS OUT 

542
00:29:23.821 --> 00:29:26.524
OF THE SCOPE OF THE TOPIC, BUT YOU 

543
00:29:26.524 --> 00:29:32.638
COULD ALWAYS LET THE USER KNOW, 

544
00:29:32.638 --> 00:29:35.016
YOU KNOW, WHY, SAVE INTO THE DATABASE, 

545
00:29:35.016 --> 00:29:36.406
YOU KNOW, WITH THE HOPE EVERYTHING 

546
00:29:36.406 --> 00:29:38.912
WOULD GO WELL, AND IF IT DOESN'T, 

547
00:29:38.912 --> 00:29:42.118
YOU CAN ACT ON THIS. THE NET EFFECT, 

548
00:29:42.118 --> 00:29:44.664
IF YOU DO THAT, IF YOU GO AHEAD 

549
00:29:44.664 --> 00:29:52.464
NOW AND TAKE AN IMAGE AND&MAYBE 

550
00:29:52.464 --> 00:29:55.355
ENTER A COMMENT HERE, SEE THAT'S 

551
00:29:55.355 --> 00:29:56.930
RIGHT AWAY. WAITING FOR THE CALL 

552
00:29:56.930 --> 00:30:00.264
TO BE MADE. AND THEN REFRESHING 

553
00:30:00.264 --> 00:30:08.320
THE DATABASE. REFRESHING THE GALLERY. 

554
00:30:08.320 --> 00:30:12.112
THE OLDER THING TO FINALIZE THE 

555
00:30:12.112 --> 00:30:25.364
BASIS, THE TALK ABOUT IMAGES . >> 

556
00:30:25.364 --> 00:30:27.775
[INAUDIBLE] >> NO. IF I GO BACK 

557
00:30:27.775 --> 00:30:30.770
TO MY ACTIVITY FEED, I'M ACTUALLY 

558
00:30:30.770 --> 00:30:32.712
REFRESHING WITH MIGHT BE A LITTLE 

559
00:30:32.712 --> 00:30:35.957
BIT OF WORK TO ME, REFRESHING THE 

560
00:30:35.957 --> 00:30:38.376
LOCAL COLLECTION AND ALSO REFRESHING 

561
00:30:38.376 --> 00:30:44.926
THE DATABASE. >> [INAUDIBLE] >> 

562
00:30:44.926 --> 00:30:48.885
YEAH. SO THE WAY IT WAS HOOKED UP 

563
00:30:48.885 --> 00:30:53.619
BEFORE, THE GALLERY HOOKED TO MY 

564
00:30:53.619 --> 00:30:55.885
DATA SOURCE RIGHT AWAY. THIS IS 

565
00:30:55.885 --> 00:31:02.638
WHAT IT USED TO BE. THE CORRECTION 

566
00:31:02.638 --> 00:31:04.217
WAS THERE, DATA SOURCE WAS THERE. 

567
00:31:04.217 --> 00:31:06.622
I MOVED IT SO WE WOULDN'T HAVE TO 

568
00:31:06.622 --> 00:31:10.240
REFRESH THAT. THERE'S TWO STEPS 

569
00:31:10.240 --> 00:31:24.874
TO THAT . >> [INAUDIBLE] >> YEAH, 

570
00:31:24.874 --> 00:31:27.720
YEAH. >> [INAUDIBLE] >> YEAH. >> 

571
00:31:27.720 --> 00:31:32.520
[INAUDIBLE] >> SO PERSISTING. SO 

572
00:31:32.520 --> 00:31:34.900
AS MANY YOU COULD DO. FIRST YOU 

573
00:31:34.900 --> 00:31:36.588
COULD NOT CARE. ONCE THEY MOVE AWAY 

574
00:31:36.588 --> 00:31:38.403
FROM THE PAGE TO THE HOME SCREEN, 

575
00:31:38.403 --> 00:31:40.072
COME BACK, IT WILL REFRESH. COULD 

576
00:31:40.072 --> 00:31:43.969
YOU REFRESH RIGHT AWAY THE COLLECTION 

577
00:31:43.969 --> 00:31:47.949
ON THE BACK AS A LAST STEP. THAT 

578
00:31:47.949 --> 00:31:49.172
WOULD NOT -- THAT WILL BE TRANSPARENT 

579
00:31:49.172 --> 00:31:51.824
TO THE USER. YOU COULD DO A TIME 

580
00:31:51.824 --> 00:31:53.364
IT REFRESHES, EVERY X AMOUNT OF 

581
00:31:53.364 --> 00:31:55.226
TIME. DEPENDS ON THE REQUIREMENT 

582
00:31:55.226 --> 00:31:59.554
THERE. BUT YOU ARE RIGHT. IN MANY 

583
00:31:59.554 --> 00:32:03.556
SITUATIONS, IN ANY FEED LIKE APP, 

584
00:32:03.556 --> 00:32:06.135
THERE'S NO EXPECTATION NECESSARILY 

585
00:32:06.135 --> 00:32:12.895
TO HAVE A SINK RONIZEED VIEW OVER 

586
00:32:12.895 --> 00:32:15.960
YOUR FEED. BUT, AGAIN, IT DEPENDS 

587
00:32:15.960 --> 00:32:19.042
ON THE SITUATION. YOU HAVE OPPORTUNITIES 

588
00:32:19.042 --> 00:32:25.127
TO REFRESH YOUR MASTER DATA SOURCE, 

589
00:32:25.127 --> 00:32:32.730
FOR SURE. >> [INAUDIBLE] >> SORRY? 

590
00:32:32.730 --> 00:32:41.465
>> [INAUDIBLE] Q. YES, YOU COULD. 

591
00:32:41.465 --> 00:32:43.758
BUT I COULD COLLECT IT INTO MY LOCAL 

592
00:32:43.758 --> 00:32:48.262
COLLECTION. YES. THAT'S A VERY GOOD 

593
00:32:48.262 --> 00:32:51.896
POINT. SO HERE, THE QUESTION WAS 

594
00:32:51.896 --> 00:32:53.249
INSTEAD OF -- ACTUALLY, NOW THE 

595
00:32:53.249 --> 00:32:54.851
PROBLEM WITH THAT IF I HAD DONE 

596
00:32:54.851 --> 00:32:56.363
A CLEAR COLLECT ON MY COLLECTION 

597
00:32:56.363 --> 00:33:00.650
AND THEN ON THE OTHER SIDE I HAD 

598
00:33:00.650 --> 00:33:03.073
A PATCH, NOT A CLEAR COLLECTION. 

599
00:33:03.073 --> 00:33:04.594
IF I HAD DONE A COLLECT AND ADDED 

600
00:33:04.594 --> 00:33:06.136
A PATCH, I WOULD HAVE -- THE PATCH 

601
00:33:06.136 --> 00:33:07.682
WOULD HAVE NEEDED TO BE DONE BEFORE 

602
00:33:07.682 --> 00:33:10.524
I CAN ACTUALLY UPDATE MY LOCAL COLLECTION. 

603
00:33:10.524 --> 00:33:13.946
SO I DO NEED THIS STEP. I REALLY 

604
00:33:13.946 --> 00:33:16.497
WANT A DEAL WITH THE LOCAL VIEW, 

605
00:33:16.497 --> 00:33:19.000
LOCAL DATA, THEN I GO AHEAD AND 

606
00:33:19.000 --> 00:33:20.434
THE ONLY OTHER OPTIMIZATION, WHICH 

607
00:33:20.434 --> 00:33:23.340
IS JUST MAYBE A STYLE THING, IS 

608
00:33:23.340 --> 00:33:25.911
I COULD HAVE PUT ALL OF MY STATEMENT 

609
00:33:25.911 --> 00:33:31.691
HERE INTO A LOCAL VARIABLE. OKAY. 

610
00:33:31.691 --> 00:33:36.285
I'LL MOVE ON. I'LL GO BACK REAL 

611
00:33:36.285 --> 00:33:38.601
QUICK TO ANOTHER THING SOMEONE NEEDS 

612
00:33:38.601 --> 00:33:43.774
TO TAKE INTO ACCOUNT. YOU CAN SEE 

613
00:33:43.774 --> 00:33:45.919
I'M MAKING THREE CALLS HERE. ONE 

614
00:33:45.919 --> 00:33:48.128
THING THAT WOULD BE GREAT IS, YOU 

615
00:33:48.128 --> 00:33:50.174
KNOW, , AGAIN, IT'S A CUSTOMER CONVERSATION. 

616
00:33:50.174 --> 00:33:52.024
OUR VENUES ARE EXPECTED TO CHANGE 

617
00:33:52.024 --> 00:33:53.582
OVER TIME. IS IT CRUCIAL FOR THE 

618
00:33:53.582 --> 00:33:56.944
USER TO GET THE ACTUAL VENUE LIST 

619
00:33:56.944 --> 00:33:59.424
EXACTLY UP TO DATE RIGHT AWAY? CAN 

620
00:33:59.424 --> 00:34:01.752
WE LIVE WITH ACTUALLY STATIC DATA 

621
00:34:01.752 --> 00:34:04.176
INSTEAD OF CALLING THE VENUE? ONE 

622
00:34:04.176 --> 00:34:10.233
THING I DO HERE IS THAT I WILL ACTUALLY 

623
00:34:10.233 --> 00:34:13.369
MOVE THOSE CLEAR COLLECT HERE. AGAIN, 

624
00:34:13.369 --> 00:34:25.386
AFTER THE UPDATE CONTEXT . NOW I 

625
00:34:25.386 --> 00:34:30.052
HAVE A SPREADSHEET I EXPORTED, WHICH 

626
00:34:30.052 --> 00:34:37.095
I HAVE HERE. WHICH BASICALLY CONTAPES 

627
00:34:37.095 --> 00:34:41.977
ALL THE DATA FROM THE VENUES, EVEN 

628
00:34:41.977 --> 00:34:44.129
THE SESSION TYPE. ACTUALLY THIS 

629
00:34:44.129 --> 00:34:46.488
IS NOT THE RIGHT ONE. BUT YOU GET 

630
00:34:46.488 --> 00:34:48.775
THE POINT. WE EXPORTED THE DATA 

631
00:34:48.775 --> 00:34:50.794
INTO AN EXCEL SHEET WHICH CONTAINS 

632
00:34:50.794 --> 00:34:55.312
VENUE, SESSION TYPES, AND ALSO SESSIONS. 

633
00:34:55.312 --> 00:34:56.602
THE IDEA IS THAT THIS IS, AGAIN, 

634
00:34:56.602 --> 00:35:00.123
SOMETHING THAT DOESN'T APPLY TO 

635
00:35:00.123 --> 00:35:03.253
ALL SCENARIOS. IN SOME SITUATION, 

636
00:35:03.253 --> 00:35:04.874
YOU'RE OKAY. HARD CODING IN A WAY 

637
00:35:04.874 --> 00:35:06.735
SOME OF THE CONTENT, KNOWING IT'S 

638
00:35:06.735 --> 00:35:10.411
NOT GOING TO CHANGE. THAT WILL VOID 

639
00:35:10.411 --> 00:35:12.932
THAT INITIAL CALL AT THAT DELAY 

640
00:35:12.932 --> 00:35:16.779
FOR AT LEAST -- THIS CASE I'LL DO 

641
00:35:16.779 --> 00:35:19.516
THE TWO VENUES AND THE SESSION TYPES. 

642
00:35:19.516 --> 00:35:24.385
WHAT I'LL DO IS GO TO MY DATA SOURCE 

643
00:35:24.385 --> 00:35:28.710
AND UPLOAD THAT STATIC DATA SHEET 

644
00:35:28.710 --> 00:35:34.230
I JUST SHOWED. DEPENDING ON YOUR 

645
00:35:34.230 --> 00:35:35.611
CONVERSATION, MAYBE SESSIONS YOU 

646
00:35:35.611 --> 00:35:38.660
WANT TO KEEP. THE LAST MINUTE CHANGES, 

647
00:35:38.660 --> 00:35:40.540
YOU WANT TO GIVE AN ACCURATE VIEW. 

648
00:35:40.540 --> 00:35:45.150
THE THING FOR ME PERSONALLY, I THINK 

649
00:35:45.150 --> 00:35:46.399
THAT I TRY TO HAVE THAT CONVERSATION 

650
00:35:46.399 --> 00:35:49.261
EARLY WHEN TALKING TO THE CUSTOMER 

651
00:35:49.261 --> 00:35:50.842
WITH THEIR WHAT IS EXPECTED DATA, 

652
00:35:50.842 --> 00:35:52.415
HOW IT WILL GO OVER TIME, WHAT IS 

653
00:35:52.415 --> 00:35:54.241
CRUCIAL TO HAVE RIGHT AWAY AND ALL 

654
00:35:54.241 --> 00:35:57.825
THAT. IN THIS CASE, WHAT I DID IS 

655
00:35:57.825 --> 00:36:02.246
I AM GOING TO TAKE THAT STATIC DATA 

656
00:36:02.246 --> 00:36:06.575
I JUST WROTE STATIC SESSION. THIS 

657
00:36:06.575 --> 00:36:12.614
IS STATIC VENUES. AND I'LL GO AHEAD 

658
00:36:12.614 --> 00:36:15.944
AND CHANGE THE STATIC. UNLIKELY 

659
00:36:15.944 --> 00:36:18.321
THE SESSION TYPES WILL CHANGE. WORST 

660
00:36:18.321 --> 00:36:21.879
CASE, THEY GOING TO BE NOT UP TO 

661
00:36:21.879 --> 00:36:23.691
DATE AT THE START. AGAIN, WHEN WE 

662
00:36:23.691 --> 00:36:25.811
EMBED A TAT I CAN SHEET, IT'S BECOME 

663
00:36:25.811 --> 00:36:28.708
PART OF THE APP. THE CONTENT WILL 

664
00:36:28.708 --> 00:36:30.563
BE DOWNLOADED AS PART OF THAT INITIAL 

665
00:36:30.563 --> 00:36:34.818
LOAD. SO YOU DON'T HAVE THAT NETWORK 

666
00:36:34.818 --> 00:36:36.544
CALL LATER ON. SO, AGAIN, I'M DOING 

667
00:36:36.544 --> 00:36:38.785
THAT FROM A STATIC SHEET. THEN I'M 

668
00:36:38.785 --> 00:36:40.862
GOING AS SOON AS THE LOADER IS HIDDEN, 

669
00:36:40.862 --> 00:36:43.394
I'LL GO AHEAD AND ACTUALLY RELOAD 

670
00:36:43.394 --> 00:36:44.898
THEM FRESH FROM THE DATABASE. THE 

671
00:36:44.898 --> 00:36:46.917
CUSTOMER, THE USER HERE IS NOT GOING 

672
00:36:46.917 --> 00:36:50.228
TO SEE THAT ADDITIONAL -- IT WILL 

673
00:36:50.228 --> 00:36:53.731
BE EXPANDED TO THE USER. AGAIN, 

674
00:36:53.731 --> 00:36:54.738
I WENT FROM I DON'T KNOW HOW MANY 

675
00:36:54.738 --> 00:36:56.393
CALLS TO THE SESSION I MAYBE WANT 

676
00:36:56.393 --> 00:36:58.298
TO UPDATE RIGHT AWAY. AGAIN, HERE 

677
00:36:58.298 --> 00:36:59.898
DEPENDS ON THE SITUATION. I COULD 

678
00:36:59.898 --> 00:37:02.095
HAVE GONE WITH THE STATIC. THE STATIC 

679
00:37:02.095 --> 00:37:03.954
DATA I HAVE IN MY SPREADSHEET THEN 

680
00:37:03.954 --> 00:37:06.261
UPDATE THE SESSION VALUES, OR I 

681
00:37:06.261 --> 00:37:11.280
COULD LIVE WITH THAT ONE PARTICULAR 

682
00:37:11.280 --> 00:37:19.245
CALL. ANY QUESTIONS BEFORE I MOVE 

683
00:37:19.245 --> 00:37:31.366
TO THE NEXT THING ? >> [INAUDIBLE] 

684
00:37:31.366 --> 00:37:32.780
>> YEAH. GOOD QUESTION. SO USUALLY 

685
00:37:32.780 --> 00:37:36.827
THERE IS AN ADDITIONAL -- AGAIN, 

686
00:37:36.827 --> 00:37:40.030
DEPENDS WHAT YOUR GOALS ARE. SOMETIMES 

687
00:37:40.030 --> 00:37:40.503
IT'S GONE KIND OF NICE THING TO 

688
00:37:40.503 --> 00:37:42.564
COME BACK AND REFRESH THE DATA. 

689
00:37:42.564 --> 00:37:45.297
SOMETIMES YOU DON'T WANT THE ADDITIONAL 

690
00:37:45.297 --> 00:37:49.066
LOADER, YOU KNOW, TO SHOW UP. SO 

691
00:37:49.066 --> 00:37:51.342
YOU COULD DO ACTUALLY CHECK WHETHER 

692
00:37:51.342 --> 00:37:52.467
YOUR COLLECTIONS ARE EMPTY BEFORE 

693
00:37:52.467 --> 00:37:55.272
YOU ACTUALLY MAKE THE CALL. IF THEY 

694
00:37:55.272 --> 00:37:57.564
ARE NOT EMPTY, JUST DON'T SHOW THE 

695
00:37:57.564 --> 00:37:59.289
LOADER, FOR EXAMPLE. THAT WILL BE 

696
00:37:59.289 --> 00:38:03.764
A VERY SIMPLE ADDITIONAL STATEMENT 

697
00:38:03.764 --> 00:38:09.126
HERE WHICH WILL BE IS EMPTY. THEN 

698
00:38:09.126 --> 00:38:12.824
YOU COULD TAKE YOUR SESSIONS, FOR 

699
00:38:12.824 --> 00:38:15.004
EXAMPLE, THE LOADER WON'T SHOW UP. 

700
00:38:15.004 --> 00:38:17.856
IT WILL STILL GO THE ADDITIONAL 

701
00:38:17.856 --> 00:38:19.076
COMBO CALL WHICH DOESN'T BOTHER 

702
00:38:19.076 --> 00:38:20.811
ANYONE BECAUSE IT WILL JUST REFRESH 

703
00:38:20.811 --> 00:38:23.742
THE GALLERY TRANSPARENTLY. SO THERE'S 

704
00:38:23.742 --> 00:38:26.747
NO ARTIFACT TO THAT. AND YOU COULD 

705
00:38:26.747 --> 00:38:33.840
KEEP DOING THAT FOR THE REMAINING 

706
00:38:33.840 --> 00:38:35.776
COLLECTION YOU WANT. FOR NOW WE 

707
00:38:35.776 --> 00:38:37.719
HAVE ONLY SESSION THAT IS THE LOAD 

708
00:38:37.719 --> 00:38:43.166
-- GOES TO THE LOAD. OKAY. SO IT 

709
00:38:43.166 --> 00:38:44.805
WOULD BE FORCED HERE IF THE COLLECTION 

710
00:38:44.805 --> 00:38:47.564
IS NOT EMPTY, WHICH WILL RESULT 

711
00:38:47.564 --> 00:38:50.601
ON THIS WHOLE THING NOT RELOADING. 

712
00:38:50.601 --> 00:38:59.932
DOES THAT MAKE SENSE? OKAY. >> [INAUDIBLE] 

713
00:38:59.932 --> 00:39:03.919
>> YEAH. THAT WOULD BE FINE IF YOU 

714
00:39:03.919 --> 00:39:07.108
ARE UP TO THE DIGSAL WORK THERE, 

715
00:39:07.108 --> 00:39:12.521
YEAH. OKAY. SO THE LAST FEW THINGS 

716
00:39:12.521 --> 00:39:15.543
I WANT TO TALK ABOUT IS RELATED 

717
00:39:15.543 --> 00:39:17.467
TO MAYBE THE DETAILED VIEW SCREENS. 

718
00:39:17.467 --> 00:39:22.252
I NOTICED WHEN WE WERE GOING FROM 

719
00:39:22.252 --> 00:39:27.600
ONE PAGE TO THE OTHER THAT THIS 

720
00:39:27.600 --> 00:39:30.688
SPEAKER -- AND LET ME GO TO CLEAR 

721
00:39:30.688 --> 00:39:33.272
MY CACHE HERE. JUST DINED OF PUT 

722
00:39:33.272 --> 00:39:42.373
THAT IN PERSPECTIVE . >> THE ADMIN 

723
00:39:42.373 --> 00:39:44.539
CALL THAT CLEARS YOUR CACHE? >> 

724
00:39:44.539 --> 00:39:49.902
IT'S CLEAR CACHE EXTENSION. THANK 

725
00:39:49.902 --> 00:39:54.803
YOU. SO YOU NOTICE HERE THERE'S 

726
00:39:54.803 --> 00:39:57.047
THE SPEAKERS ARE TAKING A BIT OF 

727
00:39:57.047 --> 00:39:59.712
TIME TO LOAD. SO, AGAIN, I DON'T 

728
00:39:59.712 --> 00:40:03.471
BELIEVE THEY ARE MAKING USE OF THE 

729
00:40:03.471 --> 00:40:12.780
ACTUAL COLLECTIONS THAT ARE NEEDED 

730
00:40:12.780 --> 00:40:14.599
HERE. YOU HAVE ALSO SOME ISSUE HERE 

731
00:40:14.599 --> 00:40:24.867
THAT WILL BE INTERESTING . WE ALSO, 

732
00:40:24.867 --> 00:40:29.425
YOU KNOW, TO AVOID ALSO THIS THE 

733
00:40:29.425 --> 00:40:31.431
CONFERENCE USER. I'LL FIX THAT REAL 

734
00:40:31.431 --> 00:40:40.582
QUICK. SAVE THAT. AND THEN THE LAST 

735
00:40:40.582 --> 00:40:43.569
FEW ITEMS I HAVE IN MIND HERE IS 

736
00:40:43.569 --> 00:40:46.886
THE NOTION OF DELAYED LOAD FLAG 

737
00:40:46.886 --> 00:40:48.918
THAT YOU WILL SEE PROBABLY TURNED 

738
00:40:48.918 --> 00:40:52.497
ON BY DEFAULT IN MOST OF YOUR APPS, 

739
00:40:52.497 --> 00:40:55.634
NEW APPS. SO DELAYED LOAD IS REALLY 

740
00:40:55.634 --> 00:40:57.262
ABOUT MAKING SURE YOU DON'T LOAD 

741
00:40:57.262 --> 00:40:59.558
ALL OF THE SCREENS WHEN YOU LOAD 

742
00:40:59.558 --> 00:41:02.168
THE APP. IT'S REALLY IMPORTANT TO 

743
00:41:02.168 --> 00:41:06.070
KIND OF TURN THAT ON. BUT THEY ARE 

744
00:41:06.070 --> 00:41:08.462
CONDITIONED FOR THIS DELAYED LOAD 

745
00:41:08.462 --> 00:41:12.060
TO WORK AND THAT IS THAT ANY -- 

746
00:41:12.060 --> 00:41:13.545
THE SCREENS SHOULD NOT HAVE DEPENDENCES 

747
00:41:13.545 --> 00:41:16.244
BETWEEN THEM SET WITHIN THE SCREENS. 

748
00:41:16.244 --> 00:41:18.105
IF THERE'S ANY DEPENDENCY BETWEEN 

749
00:41:18.105 --> 00:41:22.392
SCREEN A AND B OR C, AT LOAD TIME, 

750
00:41:22.392 --> 00:41:24.325
YOU KNOW, THE FRAMEWORK WILL ACTUALLY 

751
00:41:24.325 --> 00:41:25.158
LOAD ALL THE SCREENS. YOU REALLY 

752
00:41:25.158 --> 00:41:27.829
WANT TO AVOID ANY DEPENDENCES BETWEEN 

753
00:41:27.829 --> 00:41:29.743
SCREENS SO WHEN YOU LOAD THE APP, 

754
00:41:29.743 --> 00:41:32.288
ONLY THE FIRST SCREEN IS LOADED. 

755
00:41:32.288 --> 00:41:34.006
YOU NOTICED EARLIER WHEN I DID THE 

756
00:41:34.006 --> 00:41:38.136
FILTER TRAYS, THE FAQ TABLE WAS 

757
00:41:38.136 --> 00:41:40.518
LOADING. YOU KNOW, I SAW FAQ IN 

758
00:41:40.518 --> 00:41:44.383
ONE OF THE CALLS. AND, YOU KNOW, 

759
00:41:44.383 --> 00:41:45.825
THAT'S WISE THAT WHYS THAT LOADED 

760
00:41:45.825 --> 00:41:48.333
THERE. THE REASON IS PAPERS LOADED 

761
00:41:48.333 --> 00:41:51.672
ALL THEOPATHIES. IT'S FIND OUT THE 

762
00:41:51.672 --> 00:41:52.987
GAMERY HAD A STRAIGHT RELATIONSHIP, 

763
00:41:52.987 --> 00:41:56.784
THE ACTIVITY FEED WASSING ABOUT 

764
00:41:56.784 --> 00:41:58.646
CALLED DIRECTLY TO THE DATA SOURCE. 

765
00:41:58.646 --> 00:42:00.044
WE WERE NOT CLEAR COLLECTING IN 

766
00:42:00.044 --> 00:42:03.381
A THAT VARIABLE INTO A LOCAL COLLECTION. 

767
00:42:03.381 --> 00:42:04.860
TO ILLUSTRATE, AGAIN, THE POINT 

768
00:42:04.860 --> 00:42:06.644
HERE, IS THAT I HAVE MY STYLE. THIS 

769
00:42:06.644 --> 00:42:11.198
IS A PATTERN THAT MAYBE SHOULD BE 

770
00:42:11.198 --> 00:42:12.764
AVOIDED WHICH IS, LIKE, JUST TO 

771
00:42:12.764 --> 00:42:14.176
ILLUSTRATE THE POINT. THERE'S MANY 

772
00:42:14.176 --> 00:42:17.422
WAYS TO GET YOURSELF IN THE ENTER 

773
00:42:17.422 --> 00:42:18.667
SCREEN DEPENDENCIES. THIS IS ONE 

774
00:42:18.667 --> 00:42:20.971
EXAMPLE WHERE YOU ARE MAYBE A DEFAULT 

775
00:42:20.971 --> 00:42:23.544
STYLE, DEFINING ONE SCREEN. I HAVE 

776
00:42:23.544 --> 00:42:26.911
A BUTTON HERE WHICH HAS THE RIGHT 

777
00:42:26.911 --> 00:42:28.713
COLOR, FONT, MAYBE LABELS. AND I 

778
00:42:28.713 --> 00:42:33.745
CAN GO BACK HERE TO THE FRONT SCREEN 

779
00:42:33.745 --> 00:42:36.508
HERE IN THE FILL COLOR. YOU CAN 

780
00:42:36.508 --> 00:42:38.478
SEE THAT THERE IS A STRAIGHT DEPENDENCY 

781
00:42:38.478 --> 00:42:42.234
BETWEEN THE DEFAULT BUTTON TILE 

782
00:42:42.234 --> 00:42:45.323
WHICH EXIST. MY LAST STYLE SCREEN, 

783
00:42:45.323 --> 00:42:47.186
WHICH WILL FORCE, AGAIN, THAT SCREEN TO 

784
00:42:47.186 --> 00:42:49.586
BE LOADED. YOU DON'T WANT TO GO 

785
00:42:49.586 --> 00:42:51.480
INTO PATTERNS OF DEFINING YOUR STYLES 

786
00:42:51.480 --> 00:42:55.076
INTO CONTROLS OR EVEN USING ANY 

787
00:42:55.076 --> 00:42:58.529
LABEL OR TEXT INPUT AS A WAY TO 

788
00:42:58.529 --> 00:43:00.338
STORE VARIABLES. SO IN THIS PARTICULAR 

789
00:43:00.338 --> 00:43:03.620
CASE, WHAT I'D HAVE DONE GIVEN A 

790
00:43:03.620 --> 00:43:05.580
LITTLE BIT MORE TIME, I WOULD HAVE 

791
00:43:05.580 --> 00:43:09.370
GONE BACK HERE TO MY ON START OR 

792
00:43:09.370 --> 00:43:15.691
ANYWHERE AND THEN DEFINED MY COLLECTION 

793
00:43:15.691 --> 00:43:18.852
OF STYLES. AND I CAN SAY MAYBE ONE 

794
00:43:18.852 --> 00:43:26.140
OF MY STYLES WILL KEY TO DEFAULT 

795
00:43:26.140 --> 00:43:30.023
BUTTON STYLE. AND THEN I WOULD HAVE 

796
00:43:30.023 --> 00:43:32.347
DONE A CALLER AND THEN HERE I WOULD 

797
00:43:32.347 --> 00:43:37.318
HAVE DONE THE RGP CALLER OR WHATEVER 

798
00:43:37.318 --> 00:43:47.966
CALLER I WANT. THEN I WOULD HAVE 

799
00:43:47.966 --> 00:43:51.504
REFERENCED MY BUTTON TILE IN MY 

800
00:43:51.504 --> 00:43:52.726
HEADER INFORMATION HERE. AGAIN, 

801
00:43:52.726 --> 00:43:57.427
THE GOAL IS TO NOT HAVE THE DEPENDENCY 

802
00:43:57.427 --> 00:44:03.057
WITH THE LAST SCREEN. SO KEY -- 

803
00:44:03.057 --> 00:44:04.971
MAYBE IT'S DEFAULT STYLE. DON'T 

804
00:44:04.971 --> 00:44:20.662
REMEMBER WHAT I SAID. COLOR. THIS 

805
00:44:20.662 --> 00:44:23.057
WRAP THIS INTO THE COLOR VALUE FUNCTION 

806
00:44:23.057 --> 00:44:26.623
WHICH WILL TAKE ITS X VALUE INTO 

807
00:44:26.623 --> 00:44:40.983
AN ACTUAL COLOR. PICK A SLIGHTLY 

808
00:44:40.983 --> 00:44:52.488
DIFFERENT COLOR. YOU SEE THE POINT. 

809
00:44:52.488 --> 00:44:56.159
ANYWAY. SO THAT'S IT. WE DELAYED 

810
00:44:56.159 --> 00:44:58.407
LOT LOAD P KEEP IN MIND THAT ACTUALLY 

811
00:44:58.407 --> 00:45:01.351
CAN DRASTICALLY CHANGE AS WELL. 

812
00:45:01.351 --> 00:45:02.918
FIRST INITIAL LOAD. AGAIN, IF YOU 

813
00:45:02.918 --> 00:45:05.295
20 SCREENS THAT ARE LOADED, IT'S 

814
00:45:05.295 --> 00:45:06.460
DIFFERENT FROM THE FIRST SCREEN 

815
00:45:06.460 --> 00:45:08.957
TO BE LOADED. THE OTHER THING IS 

816
00:45:08.957 --> 00:45:11.391
IF YOU ARE WORKING WITH, AGAIN, 

817
00:45:11.391 --> 00:45:13.210
TO GO BACK TO SOME OF THE FLAGS, 

818
00:45:13.210 --> 00:45:16.177
YOU HAD THIS EXPLICIT COLUMN SELECTION. 

819
00:45:16.177 --> 00:45:22.502
FOR DATA SOURCES LIKE SQL OR CDS 

820
00:45:22.502 --> 00:45:25.449
SOON -- OR CDS ALREADY, THIS FLAG 

821
00:45:25.449 --> 00:45:28.253
WILL HELP REDUCE THE MUST BE OF 

822
00:45:28.253 --> 00:45:30.658
COLUMNS THAT ARE LOADED FROM ANY 

823
00:45:30.658 --> 00:45:33.031
OF YOUR API CODES TO SQL IF THE 

824
00:45:33.031 --> 00:45:34.867
COLUMNS AREN'TING ABOUT USED IN 

825
00:45:34.867 --> 00:45:36.976
YOUR USER INTERFACE. SO IF YOU HAVE 

826
00:45:36.976 --> 00:45:39.728
AN X COLUMN THAT YOU HAVE NO REFERENCE 

827
00:45:39.728 --> 00:45:42.602
TO, LIKE THE PLATFORM WILL THRILL 

828
00:45:42.602 --> 00:45:44.838
UNDERSTAND THAT COLUMN X IS NEVER 

829
00:45:44.838 --> 00:45:46.811
USED IN YOUR UI. WHEN YOU MAKE THE 

830
00:45:46.811 --> 00:45:49.436
API CALL, THE X COLUMN WON'T BE 

831
00:45:49.436 --> 00:45:53.149
DOWNLOADED. THAT HELPS REDUCE THE 

832
00:45:53.149 --> 00:45:56.514
DATA AMOUNT LOADED WHEN YOU GET 

833
00:45:56.514 --> 00:46:00.103
THE DATA DOWNLOADED. THAT'S ONE. 

834
00:46:00.103 --> 00:46:01.877
THERE IS ALSO COUPLE MORE. THERE 

835
00:46:01.877 --> 00:46:07.989
IS THE ENHANCED RENDERING FLAG, 

836
00:46:07.989 --> 00:46:10.768
WHICH IS SOMEWHERE AROUND HERE. 

837
00:46:10.768 --> 00:46:23.314
IT'S IN PREVIEW. BEFORE I GO TO 

838
00:46:23.314 --> 00:46:26.366
THAT, THERE IS THE CONCURRENT FOUR 

839
00:46:26.366 --> 00:46:29.677
FUNCTION OPTIMIZATION. THERE IS 

840
00:46:29.677 --> 00:46:31.973
ALSO MAYBE THIS IS ACTUALLY -- THE 

841
00:46:31.973 --> 00:46:34.045
IMPROVED APP RENDERING, WHICH IS 

842
00:46:34.045 --> 00:46:35.277
ANOTHER FLAG. IF YOU HAVE ALL THE 

843
00:46:35.277 --> 00:46:37.291
APPS, YOU MIGHT WANT TO TURN THEM 

844
00:46:37.291 --> 00:46:39.355
ON AND SEE WHETHER THERE IS ANY 

845
00:46:39.355 --> 00:46:41.627
ISSUES OR PREVIEW FEATURES SO THEY 

846
00:46:41.627 --> 00:46:44.462
ARE CLOSE TO TOKING ABOUT IN PRODUCTION. 

847
00:46:44.462 --> 00:46:46.181
BUT THOSE ARE USUALLY THINGS YOU 

848
00:46:46.181 --> 00:46:50.217
WANT TO DO TO IMPROVE THREATENERRING. 

849
00:46:50.217 --> 00:46:51.263
>> WHAT CONTROLS ARE AFFECTED BIT 

850
00:46:51.263 --> 00:46:53.744
IMPROVED APP RENDERING? >> I THINK 

851
00:46:53.744 --> 00:46:57.825
IT'S THE ENTIRE RENDERING. I ACTUALLY 

852
00:46:57.825 --> 00:46:59.546
DON'T KNOW THE BACKGROUND. I CAN 

853
00:46:59.546 --> 00:47:01.646
BACK TO YOU ON THOSE THINGS. I'M 

854
00:47:01.646 --> 00:47:04.011
NOT SURE. I BELIEVE IT'S THE WAY 

855
00:47:04.011 --> 00:47:07.118
RENDERING IS MATCHED ACROSS ALT 

856
00:47:07.118 --> 00:47:17.632
COMPONENTS, ALL THE DOMAIN ELEMENTS. 

857
00:47:17.632 --> 00:47:21.105
OKAY. YEAH. THANK YOU. YEAH. SO 

858
00:47:21.105 --> 00:47:22.594
ACTUAL LIT ANSWER THERE IS THERE 

859
00:47:22.594 --> 00:47:25.280
IS NEW CONTROLSING ABOUT ADDED THAT 

860
00:47:25.280 --> 00:47:27.869
ARE REACT. IT'S A DIFFERENT TECHNOLOGY, 

861
00:47:27.869 --> 00:47:29.145
BETTER PERFORMANCE. IF YOU TURN 

862
00:47:29.145 --> 00:47:33.245
ON THE FLAG WITH WE WOULD USE THESE 

863
00:47:33.245 --> 00:47:39.107
CONTROLS RATHER THAN THE OLD ONES 

864
00:47:39.107 --> 00:47:58.601
. SO YEAH. SO ACTUALLY, GOOD POINT. 

865
00:47:58.601 --> 00:48:02.428
MY NEXT WAS VIEW. SO IF YOU ARE 

866
00:48:02.428 --> 00:48:03.663
IN SQL WHERE THE CDS WORK, VIEWS 

867
00:48:03.663 --> 00:48:10.679
WOULD BE SUPPORTED IN SQL AND CDS 

868
00:48:10.679 --> 00:48:13.630
P PRETTY SOON. IN THE SQL WORLD, 

869
00:48:13.630 --> 00:48:15.405
VIEWS DEFINITE LIT NEXT STEP. THEY 

870
00:48:15.405 --> 00:48:18.321
WILL HELP YOU A LOT, REDUCE NUMBER 

871
00:48:18.321 --> 00:48:20.421
OF COLUMN MATCH UP DATA AND REALLY 

872
00:48:20.421 --> 00:48:23.191
SEND WHAT NEEDS. THAT'S THE NEXT 

873
00:48:23.191 --> 00:48:25.124
LEVEL OF OPTIMIZATION. THAT'S THE 

874
00:48:25.124 --> 00:48:27.157
LAST POINT I HAVE HERE, INDEXING 

875
00:48:27.157 --> 00:48:30.408
IS AS WELL. IF YOUR SHAREPOINT, 

876
00:48:30.408 --> 00:48:32.551
SQL, YOU CAN LOOK INTO MAKING SURE 

877
00:48:32.551 --> 00:48:34.739
YOUR INDEXES ARE -- IT'S A WHOLE 

878
00:48:34.739 --> 00:48:37.005
JOB, MAYBE NOT NECESSARILY RELATED 

879
00:48:37.005 --> 00:48:38.920
TO PAPERS BUT, LIKE, OPTIMIZING 

880
00:48:38.920 --> 00:48:41.982
YOUR BACK END, WHERE IS YOUR SQL 

881
00:48:41.982 --> 00:48:44.431
HOSTED IN ARE YOU IN PREMIUM? THOSE 

882
00:48:44.431 --> 00:48:47.270
ARE ALL THINGS THAT WILL AFFECT 

883
00:48:47.270 --> 00:48:51.116
THE PERFORMANCE. THAT'S DEFINITELY 

884
00:48:51.116 --> 00:49:00.849
A GOOD POINT. ANY QUESTIONS, ACTUALLY? 

885
00:49:00.849 --> 00:49:05.267
I WANT TO RUN ONE MORE TIME, THIS 

886
00:49:05.267 --> 00:49:09.578
APP. AND IF YOU GUYS HAVE ANY QUESTIONS, 

887
00:49:09.578 --> 00:49:12.152
ANYTHING, PLEASE FEEL FREE. YOU 

888
00:49:12.152 --> 00:49:16.433
CAN GO AHEAD AND TURN ON THE LIGHTS. 

889
00:49:16.433 --> 00:49:18.034
THANK YOU. >> DO YOU HAPPEN TO KNOW 

890
00:49:18.034 --> 00:49:20.638
OFF THE TOP OF YOUR HEAD WHICH FLOW 

891
00:49:20.638 --> 00:49:22.692
ACTIONS IN THAT COMPRESSION BETWEEN 

892
00:49:22.692 --> 00:49:23.612
[INAUDIBLE] ? >> NO. THAT IS SOMETHING 

893
00:49:23.612 --> 00:49:26.196
YOU WOULD HAVE TO BUILD YOURSELF. 

894
00:49:26.196 --> 00:49:28.454
THERE'S MANY WAYS TO DO THAT. THE 

895
00:49:28.454 --> 00:49:30.178
BEST WAY, IF YOU HAVE CONTROL OF 

896
00:49:30.178 --> 00:49:34.047
YOUR ASSETS, IS JUST USE ORDER AUTO 

897
00:49:34.047 --> 00:49:35.777
NATION TOOL TO GO THROUGH THE PROCESS. 

898
00:49:35.777 --> 00:49:38.637
THE GOOD NEWS IS IF YOU ARE USING 

899
00:49:38.637 --> 00:49:42.331
THE CAMERA RIGHT NOW, THE CAMERA 

900
00:49:42.331 --> 00:49:43.832
CONTROL, YOU WILL HAVE -- IT WOULD 

901
00:49:43.832 --> 00:49:48.136
DO THE JOB OF COMPRESSING ON THE 

902
00:49:48.136 --> 00:49:50.355
MOBILE DEVICE. IT WOULD COMPRESS 

903
00:49:50.355 --> 00:49:52.342
IT FOR YOU. THERE'S A FLAG ACTUALLY 

904
00:49:52.342 --> 00:49:54.931
THAT IS TURNED ON BY DEFAULT THAT 

905
00:49:54.931 --> 00:50:00.897
YOU WILL SEE IN THE CLIENT IF YOU 

906
00:50:00.897 --> 00:50:05.698
PRESS IT. YES. OKAY. COOL. >> SO 

907
00:50:05.698 --> 00:50:07.529
WHY DID YOU -- WHY THAT INSTEAD 

908
00:50:07.529 --> 00:50:11.891
OF USING THUMBNAILS? [INAUDIBLE] 

909
00:50:11.891 --> 00:50:14.894
? >> YOU COULD USE THUMBNAILS. WHETHER 

910
00:50:14.894 --> 00:50:16.305
YOU ARE HAPPY WITH THE SIZE IS THE 

911
00:50:16.305 --> 00:50:18.904
QUESTION. THE MAIN POINT IS ASSETS 

912
00:50:18.904 --> 00:50:21.755
ALSO. IF THEY ARE HEAVY, YOU KNOW, 

913
00:50:21.755 --> 00:50:26.587
THEY WILL DRAG A BIT EXPERIENCE. 

914
00:50:26.587 --> 00:50:38.868
COOL? ANY OTHER QUESTIONS ? >> [INAUDIBLE] 

915
00:50:38.868 --> 00:50:41.398
>> NO. THEY ARE NOT SHEARABLE BY 

916
00:50:41.398 --> 00:50:44.002
COMPONENT. RIGHT NOW WHEN I -- WHEN 

917
00:50:44.002 --> 00:50:48.540
YOU GO TO YOUR APP, THE COMPONENTS 

918
00:50:48.540 --> 00:50:54.704
WILL BE WITHIN -- IT WILL ENUMERATE 

919
00:50:54.704 --> 00:50:55.404
EVERYWHERE. EVERYWHERE THERE IS 

920
00:50:55.404 --> 00:50:58.006
A COMPONENT IN YOUR TENANT. I'LL 

921
00:50:58.006 --> 00:50:59.947
SHOW THAT. ANY AD THAT CONTAINS 

922
00:50:59.947 --> 00:51:01.788
-- THIS IS GOING TO CHANGE AGAIN. 

923
00:51:01.788 --> 00:51:03.294
WE'LL HAVE A BETTER STORY. RIGHT 

924
00:51:03.294 --> 00:51:05.450
NOW, AT LEAST, YOU CAN GET YOUR 

925
00:51:05.450 --> 00:51:06.732
COMPONENTS FROM ANY APP THAT CONTAINS 

926
00:51:06.732 --> 00:51:10.094
IT. HERE I CREATED AN APP THAT HAS 

927
00:51:10.094 --> 00:51:12.298
ALL MICOS. IT BECOMES A MATTER OF 

928
00:51:12.298 --> 00:51:15.239
BITS GOING BETWEEN ALL ENVIRONMENTS. 

929
00:51:15.239 --> 00:51:17.960
>> YOU CAN IMPORT AND EXPORT THEM? 

930
00:51:17.960 --> 00:51:21.262
>> YEAH. DEFINITELY. YOU CAN EXPORT 

931
00:51:21.262 --> 00:51:26.459
THE MAIN OR APP OR DO IT INDIVIDUALLY 

932
00:51:26.459 --> 00:51:32.088
FLASH. COMPONENT. NOT RIGHT NOW 

933
00:51:32.088 --> 00:51:33.475
THEY ARE GOING TO BE -- THE APP 

934
00:51:33.475 --> 00:51:34.904
CAN BE PART OF YOUR SOLUTION. THE 

935
00:51:34.904 --> 00:51:36.499
APP THAT CONTAINS THE COMPONENT 

936
00:51:36.499 --> 00:51:41.624
WOULD BE PART OF YOUR SOLUTION. 

937
00:51:41.624 --> 00:52:02.347
>> [INAUDIBLE] . SO THE DATES, AS 

938
00:52:02.347 --> 00:52:05.375
FAIRS KNOW, THIS PATCH WAS TO CREATE 

939
00:52:05.375 --> 00:52:25.956
A NEW RECORD. >> NOT THAT I'M AWARE 

940
00:52:25.956 --> 00:52:29.273
OF I USUALLY USE THE PATCHES IS 

941
00:52:29.273 --> 00:52:31.104
MY PREFERENCE. >> HOW CAN YOU DO 

942
00:52:31.104 --> 00:52:34.391
THE UPDATE AND ON THE [INAUDIBLE] 

943
00:52:34.391 --> 00:52:38.215
CONTROL AND IT TAKES THERE'S A THAT 

944
00:52:38.215 --> 00:52:39.806
I IN THE LOAD (INAUDIBLE). >> OKAY. 

945
00:52:39.806 --> 00:52:42.902
>> [INAUDIBLE] >> OH, WITH THE PATCH 

946
00:52:42.902 --> 00:52:44.570
YOU'RE SAYING. THE UPDATE? >> WHEN 

947
00:52:44.570 --> 00:52:50.463
HE DO THE UPDATE, I STILL SEE THAT 

948
00:52:50.463 --> 00:52:54.068
DELAYED LOADING WHEN I GO BACK TO 

949
00:52:54.068 --> 00:52:56.552
THE FORM. >> AH, I'M NOT SURE. USUALLY 

950
00:52:56.552 --> 00:53:03.297
I USE PATCH. I DON'T SEE THAT ARTIFACT 

951
00:53:03.297 --> 00:53:04.819
. YEAH. MAYBE I'LL TALK TO YOU OFFLINE. 

952
00:53:04.819 --> 00:53:10.993
MAYBE I NEED TO UNDERSTAND MORE. 

953
00:53:10.993 --> 00:53:14.493
YEAH . >> [INAUDIBLE] >> YEAH, YEAH. 

954
00:53:14.493 --> 00:53:17.148
I LOVE THAT EXPERIENCE. [LAUGHTER] 

955
00:53:17.148 --> 00:53:23.418
>> IT'S BY DESIGN. NO. THERE'S A 

956
00:53:23.418 --> 00:53:24.464
PERFORMANCE GAP WE HAVE THAT THE 

957
00:53:24.464 --> 00:53:26.287
TEAM IS FIXING RIGHT NOW. IT WILL 

958
00:53:26.287 --> 00:53:29.974
TAKE A FEW MORE MONTHS. I THINK 

959
00:53:29.974 --> 00:53:31.454
CLEAR CHECKING YOUR DATA IS USEFUL, 

960
00:53:31.454 --> 00:53:33.354
BECAUSE PART OF WHY YOU SEE BLANK 

961
00:53:33.354 --> 00:53:35.500
IS ALSO BECAUSE DATA IS LOADING. 

962
00:53:35.500 --> 00:53:38.042
BUT ALSO MOSTLY IS REALLY WE HAVE 

963
00:53:38.042 --> 00:53:40.936
A PERFORMANCE ISSUE THERE. THERE'S 

964
00:53:40.936 --> 00:53:41.894
A LITTLE POTENTIAL DON'T THAT. BECAUSE, 

965
00:53:41.894 --> 00:53:43.336
LIKE, WHEN YOU STRAIGHT CONNECT 

966
00:53:43.336 --> 00:53:45.221
YOUR GALLERY TO A DATA SOURCE, IT 

967
00:53:45.221 --> 00:53:47.007
ONLY LOADS THE FIRST 100 ITEMS. 

968
00:53:47.007 --> 00:53:49.020
YOU CAN CLEARLY SEE THAT IN THE 

969
00:53:49.020 --> 00:53:52.695
TRACES. AS YOU SCROLL, IT WILL RELOAD 

970
00:53:52.695 --> 00:53:56.096
THE NEXT BATCH. I PERSONALLY DON'T 

971
00:53:56.096 --> 00:53:57.858
LIKE THAT. AGAIN, YOU ARE IN A SITUATION 

972
00:53:57.858 --> 00:53:59.331
WHERE YOU MIGHT BE SCROLLING AND 

973
00:53:59.331 --> 00:54:01.807
THE DATA IS NOT THERE YET. SO THAT'S 

974
00:54:01.807 --> 00:54:12.943
NOT AN IDEAL SITUATION. YEAH. YOU 

975
00:54:12.943 --> 00:54:14.981
DO COMPONENT STILL DO A LOAD EXPERIENCE, 

976
00:54:14.981 --> 00:54:16.502
LOADING EXPERIENCE. THE ONLY WAY 

977
00:54:16.502 --> 00:54:20.720
TO DO THAT IS BY THE PRELOADER CONDITION 

978
00:54:20.720 --> 00:54:22.429
NOTING ABOUT THIS WAY. BECAUSE IF 

979
00:54:22.429 --> 00:54:25.115
YOU CONNECT SAY, WE ARE CONNECTING 

980
00:54:25.115 --> 00:54:29.430
MY GALLERY STRAIGHT TO MY, AGAIN, 

981
00:54:29.430 --> 00:54:32.317
MY DBO. ALL RIGHT? WHICH IS THE 

982
00:54:32.317 --> 00:54:35.577
CASE HERE. WE CAN CHANGE IT. IF 

983
00:54:35.577 --> 00:54:37.496
YOU'VE CONNECTED STRAIGHT, YOU DON'T 

984
00:54:37.496 --> 00:54:39.365
HAVE AN OPPORTUNITY TO KNOW WHEN 

985
00:54:39.365 --> 00:54:41.003
IT'S LOADED ENTIRELY BECAUSE IT'S 

986
00:54:41.003 --> 00:54:43.082
NOT IN A CLEAR CONNECT. ONE WAY 

987
00:54:43.082 --> 00:54:46.866
TO DO IS BY GOING TO THE PREROADER 

988
00:54:46.866 --> 00:54:54.318
AND DO THE -- IT'S EMMY EMPTY ON 

989
00:54:54.318 --> 00:54:57.238
THE CONFERENCE GALLERY. NOT A GREAT 

990
00:54:57.238 --> 00:55:00.025
SOLUTION, IN MY OPINION. BUT THIS 

991
00:55:00.025 --> 00:55:05.410
WILL BE EMPTY BY DEFAULT. SORRY. 

992
00:55:05.410 --> 00:55:06.644
THE COLLECTION WILL BE TRUE. IT 

993
00:55:06.644 --> 00:55:11.667
WOULD NOT HAVE ANY ITEMS. SO WHEN 

994
00:55:11.667 --> 00:55:14.077
IT'S LOADING. SO THIS WHOLE IS LOADING 

995
00:55:14.077 --> 00:55:16.040
CONDITION TO BE TO TRUE AS SOON 

996
00:55:16.040 --> 00:55:18.371
AS THERE'S DATA THERE. THIS BECOMES 

997
00:55:18.371 --> 00:55:19.936
FALSE AND YOU CAN HIDE THE HOODER. 

998
00:55:19.936 --> 00:55:22.880
THAT'S ONE WAY TO DEAL WITH AT LEAST 

999
00:55:22.880 --> 00:55:24.503
GIVING THE EXPERIENCE TO THE USER 

1000
00:55:24.503 --> 00:55:26.777
THAT DATA ISING ABOUT LOAD. HE'S 

1001
00:55:26.777 --> 00:55:30.016
THE WAY OF LOADING IT, HOLD ON, 

1002
00:55:30.016 --> 00:55:33.028
ALL OF THAT, YOU KNOW. BUT I THINK 

1003
00:55:33.028 --> 00:55:33.671
REALLY THE IMPORTANT THING ISING 

1004
00:55:33.671 --> 00:55:36.715
ABOUT AWARE OF THOSE THINGS, GIVES 

1005
00:55:36.715 --> 00:55:39.255
YOU A BETTER CHANCE TO INFLUENCE 

1006
00:55:39.255 --> 00:55:41.527
THE DESIGN EARLY ON. LIKE, THAT'S 

1007
00:55:41.527 --> 00:55:43.646
WHERE YOU KNOW ALL THE ISSUE WILL 

1008
00:55:43.646 --> 00:55:45.403
COME UP, CAN REALLY, FOR EXAMPLE, 

1009
00:55:45.403 --> 00:55:47.642
A VERY SIMPLE CASE. LET'S SAY WE 

1010
00:55:47.642 --> 00:55:49.936
HAD AND THIS IS WHY I LEFT THIS 

1011
00:55:49.936 --> 00:55:52.644
ALL SESSION, MY SESSION. AS A SIMPLE 

1012
00:55:52.644 --> 00:55:54.395
CASE WHERE FLIPPING THESE AROUND, 

1013
00:55:54.395 --> 00:55:57.612
LET'S SAY WE HAVE 10, 000 SESSIONS. 

1014
00:55:57.612 --> 00:55:59.126
AND THE CUSTOMER REQUIREMENTS IS 

1015
00:55:59.126 --> 00:56:01.838
I WANT ALL OF THEM TO BE ABLE TO 

1016
00:56:01.838 --> 00:56:04.515
FILTER. A SIMPLE NEGOTIATION OF 

1017
00:56:04.515 --> 00:56:06.254
DEFAULTING TO MY SESSIONS COULD 

1018
00:56:06.254 --> 00:56:08.441
MAKE A BIG DIFFERENCE FOR THAT USER 

1019
00:56:08.441 --> 00:56:10.560
EXPERIENCE. BECAUSE MY SESSION IS 

1020
00:56:10.560 --> 00:56:12.726
LIKELY TO BE LESS THAN 2000 ITEMS. 

1021
00:56:12.726 --> 00:56:14.629
IF I OPEN THE APP AND I'M DEFAULTED 

1022
00:56:14.629 --> 00:56:16.515
TO MY SESSIONS, THAT'S WHAT'S GOING 

1023
00:56:16.515 --> 00:56:19.874
TO SEE. BY THE TIME THE USERS CLICK 

1024
00:56:19.874 --> 00:56:22.458
ON ALL SESSIONS, WE HAD HAD A LITTLE 

1025
00:56:22.458 --> 00:56:38.050
BIT MORE TIME TO LOAD THE DATA. 

1026
00:56:38.050 --> 00:56:39.559
THE REQUIREMENT, FOR ME, IS WHETHER 

1027
00:56:39.559 --> 00:56:42.425
I IMMEDIATE TO SHOW MORE OR LESS 

1028
00:56:42.425 --> 00:56:43.984
THAN 2000 ITEMS, WHETHER THE DATA 

1029
00:56:43.984 --> 00:56:45.441
IS FILTERABLE, WHETHER WE SUPPORT 

1030
00:56:45.441 --> 00:56:47.974
IT IN FILTERS TO GET TO THE 2000 

1031
00:56:47.974 --> 00:56:54.036
ITEMS IS ANOTHER TOPIC. OKAY. THANK 

