Ngobrolin Core Web Vitals - Ngobrolin WEB ep35
Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://bit.ly/ngobrolinweb ----------------------------------------------------------------------------------- Bergabung menjadi anggota elit di kanal ini: https://www.youtube.com/channel/UCHhAlFGFCGgIusQkQIqJLYw/join Donasi dapat meningkatkan kualitas kanal ini: 💰 https://karyakarsa.com/rizafahmi/tip 💸 https://sawer Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.
0:00- Belum. - Belum.
0:01Yeh, itu udah muncut.
0:04- Halo. - Halo semua.
0:06Selamat malam.
0:08Selamat Hari Selasa.
0:09Selamat Hari Selasa. Seperti biasa, Hari Selasa ketemu lagi sama kita bertiga di acara...
0:15Nge-blogging web.
0:17Kita bertiga itu trio web-web.
0:19Trio web-web.
0:23Trio web-web.
0:25Kalau kids jaman now, mungkin nggak rilis ya. Dua jaman dulu ada trio kuek-kuek ya.
0:31Jebakan umur.
0:34Jebakan umur ya.
0:36Oke, malam hari ini ketemu lagi ya.
0:39Seperti biasa, setiap Selasa malam kita ngobrolin tentang teknologi web.
0:44Dan malam hari ini, topiknya sangat menarik.
0:48Karena berhubungan kembali dengan performance.
0:51Kita udah lama nggak ngomongin performance.
0:53Jadi performance itu kan, gimana caranya meningkatkan performance dari sebuah aplikasi atau halaman web itu...
1:01Satu cara yang harus kita lakukan pertama adalah mengukur.
1:06Kalau nggak diukur, kita nggak tahu kan.
1:08Kalau nggak diukur, apa? Di laptop saya cepet kok.
1:11Nah, words kan ada istilah "words on my machine".
1:14Ini juga mungkin ada istilah "it's fast on my machine".
1:18Yes.
1:19Cepat itu juga relatif kan?
1:21- Cepat dikira lebih cepat buat orang. - Menurut saya, cepat di mesin saya.
1:24Iya.
1:25Bahkan di mesin saya itu sangat subjektif.
1:28Iya.
Lihat transkrip lengkap
1:29Terus masih ada bahasanya "perceive speed".
1:32Nah, "perceive speed".
1:35Perceive speed itu apa?
1:37Jadi cepat itu yang...
1:38Cepat yang dirasakan sebenarnya nggak cepat.
1:42- Perasaan aja ya? Perasaan cepat gitu ya? - Perasaannya aja. Perceive speed.
1:45Itu juga sering...
1:47- Tapi itu biasa. - Rasa solo. Atau solo tambat?
1:50Contohnya, kalau kita ada input sesuatu ya.
1:55Input sesuatu. Misalnya...
1:57Apa ya? Tahu nggak sih kalau search bar yang bisa ada autocompletenya?
2:02Ya.
2:03Kalau misalnya kita typing something, terus kita typing aja, terus...
2:07Karakter kita munculnya lama, itu orang aja udah merasa "wah lambat banget nih website".
2:11- "Nge-lag nih website" gitu ya. - Nge-lag, iya.
2:14- Meskipun... - Padahal...
2:16- Iya, lanjut. - Meskipun...
2:18Hasilnya mungkin sama aja gitu ya.
2:21Kalau dibandingkan dengan...
2:23Kalau kita typing, ternyata tulisannya muncul duluan, ada loadingnya, terus baru muncul.
2:29Meskipun si hasil search result-nya untuk querinya ya...
2:33Sama aja jatuhnya.
2:351 detik, 2 detik butuh waktunya, tetapi...
2:38- Variable-nya banyak sekali ya. - Iya.
2:40Tetapi waktu si user yang menggunakannya...
2:44Sudah merasa, oh, ada feedback, ada response nih kalau gue typing something.
2:50Ada response dari aplikasinya.
2:52Nah, jadi beneran merahnya mengurangi subjektivitas...
2:58Biar nggak tentu saya cepat atau di mesin saya cepat, dan kedua kan...
3:02Itu tadi perkara apa yang diukur kan.
3:05- Iya, apa? - Kalau apa yang diukur...
3:08Buat mengekspresikan atau menggambarkan kecepatan.
3:12Nah, itu tuh nanti semua bakal kita bahas di topik lower web finals ini.
3:18Topik malam ini.
3:19Nah, teman-teman yang di chat, yang di kolom chat...
3:22Mungkin bisa share juga pakai tools apa nih buat mengukur dan...
3:27Bikin performa web kita jadi lebih cepat, mengetahui apakah...
3:30Misalkan setelah update, nambah fitur, apakah web kita performanya sama lebih cepat atau lebih lambat.
3:37Mungkin bisa di-share juga.
3:39Dan kalau malam hari ini kita akan bahas tentang satu tools yang lagi apa ya...
3:47Yang lagi digadah-gadangkan salah satunya oleh Google...
3:50Di beberapa tahun terakhir, yang namanya adalah core web finals.
3:55Nah, ini dia.
3:56Apa sih core web finals itu?
3:58Kayaknya pertama kali launching kapan ya? 2020 ya apa ya?
4:03- Saya ingat 2019. - Kayaknya masih 2019.
4:07Mas Yohan yang present.
4:10Maksudnya kenapa sih ada web finals- web finals segara gitu ya?
4:16Iya.
4:18Ini tujuannya apa?
4:20Web finals ini adalah inisiatif dari Google memang.
4:23Dan tujuannya adalah untuk menyediakan guidance itu adalah apa ya?
4:31- Stunt. - Panduan.
4:32- Panduan lah. - Panduan, umum.
4:35Panduan atau panduan, gimana biar UX-nya bagus.
4:39Jadi ini menarik sih karena term yang perspektif menipak itu dari usernya jadi bukan detail.
4:46Jadi sebetulnya kan implementation detail-nya bisa server-nya segera cepat di-demand response.
4:52Atau browser thread-nya segera cepat render suatu download.
4:58Misalnya itu kan hal yang teknis.
5:00Tapi di sini justru core web finals-nya sendiri,
5:03Deskripsi utamanya, definisi utamanya itu yang penting deliver user experience.
5:09Yang baik user merasa mendapatkan pengalamannya yang baik dengan metric-metric ini.
5:16Jadi user experience ini nggak ada hubungan, bukan nggak ada hubungannya.
5:21Kalau UX itu biasanya kan temannya itu UI, sebenarnya nggak gitu kan.
5:26UX itu adalah pengalaman pengguna.
5:29Cepat, snappy, nggak nge-lag, itu adalah salah satu pengalaman pengguna yang bagus.
5:36Nah, tapi pertanyaannya kenapa kita butuh core web finals-nya ini?
5:40Sebelum kita harus nilai sedikit satu langkah ke belakang.
5:43Kenapa sampai si Google ini capek-capek initiate ini gitu.
5:47Nah, ini pertanyaan saya juga nih.
5:49Sebelum web finals kita mengukur core format web kita tuh dengan apa?
5:54Kalau jaman saya dulu tuh, yang paling senang itu ada YSlow.
5:59- Dari Yahoo. - Apa? PageSpeed bukan?
6:01Nah, YSlow.
6:03- PageSpeed itu punya Google. - Punya Google tapi masih belum pakai core web finals.
6:07Tapi ada juga dulu, PageSpeed ada memang.
6:09Terus ada GTmetrics.
6:11Semua berlomba-lomba pakai skor A, skor A gitu.
6:16Nah, namun sebelumnya kalau kita tilik sejarahnya ya,
6:21ini berasal dari modern JavaScript framework si awalnya kalau menurut saya.
6:27- Pemicu-nya ya? - Pemicu-nya.
6:30Jadi makin ke belakang,
6:33jadi semenjak munculnya modern-modern JavaScript framework,
6:37itu berlomba-lomba semuanya serba JavaScript.
6:43Sampai nge-generate DOM aja pakai JavaScript.
6:46- SBA gitu ya? - Iya, pakai SBA juga.
6:50Jadi untuk download file bundle-nya aja sudah sampai...
6:57- Berapa mega? - Saya pernah sampai 4 mega sendiri hanya bundle-nya aja.
7:00- Jaman itu ya. - Itu belum image sih.
7:02- Belum ada menimpa ya? - Iya, image aja juga jaman dulu itu gede-gede kan.
7:08Ingat gak jamannya ada slider yang revolution slider yang dia bisa kudu-kudu terus bisa...
7:16Terus ingat gak jamannya Apple itu punya situs yang dia kalau di-scroll bisa paralaks-paralaks gitu.
7:25Semakin animasi, semakin besar, semakin bervariasi JavaScript, semakin banyak tools dan library-nya.
7:35Mengakibatkan wake dari setiap situs website itu, wake-nya meningkat tajam.
7:45- Jadi makin lama loading-nya. - Makin lama, user itu makin merasa berat memakai website-nya.
7:55Apalagi jaman itu penggunaan mobile phone semakin tinggi.
7:59Kita tilik kembali sebelum 2019 ya, berarti sekitar 2015, 2016 itu jamannya mulai handphone-handphone Android mulai naik kan.
8:08- Handphone Android kemudian iOS. - Mulai bisa buka website dari Apple. - Dan jaman itu masih 4G kayaknya ya, 4G awal-awal.
8:18- Bahkan 3.5G. - Iya, 3.5G gitu ya, jaman itu ya.
8:24Jadi si teknologi internet speed dan teknologi browser gak seimbang dengan kemajuan teknologi JavaScript.
8:38Jadi mau browser mau secepat apa? Gimana lagi supaya kita gak performance battle nih?
8:43Gak perlu, jadi mau cepet-cepetan gak bisa kalau dari sisi developer-nya gak di balasanya ditatar.
8:55Hey, ayo jangan bundle semuanya, perlunya cuma underscore debounce tapi seluruh sabruk-sabruk loadas dipakai misalnya.
9:08Jadi makanya muncul Web Vitals ini, jadi untuk menstandarisasi.
9:18Sebelum web vitals ya, performance matrix mungkin. - Lebih tepatnya saat mereka nge-launching Lighthouse.
9:29- Lighthouse ya, awalnya Lighthouse. - Lighthouse, dan jaman itu kan mau si Google nge-push untuk PWA ya.
9:36Cuma salah satu syarat PWA itu kan harus cepet.
9:43Dulu tuh sudah ada Lighthouse sama speed matrix ya, jadi dulu yang sampai sekarang juga masih ada.
9:50Cuma dulu belum di-codify sebagai Core Web Vitals matrixnya.
9:55- Betul, nah setelah ada inisiatif ini, karena melihat data ya, data itu semakin lama situs-situs yang top 20 itu makin lama makin berat.
10:10Akhirnya harus di-tone down, harus bagaimana mengajarkan developer untuk hemat.
10:21- Nanti ada itu lagi kan, budget, tapi itu nanti bisa buat topik yang lain.
10:29Tapi intinya adalah hemat, kita harus menghemat bandwidth, user.
10:33- Ya betul, jadi muncul ide untuk kita menstandarisasi vital-vital apa saja yang perlu diukur.
10:44Makanya ada performance API, munculnya performance API itu juga sejalan kan.
10:48Terus dari vital-vital tersebut, ada banyak sebenarnya vital, jadi Core Web Vitals itu adalah cornyah.
10:58Web Vitals itu ada banyak, ada TTFB, Time to First Buy.
11:03- Itu salah satu pertama tuh, ingat banget.
11:06Pas belom ada Web Vitals, yang merupakan Speed Insight sama Lighthouse kan, itu Time to First Buy.
11:14- Terus ada First Content Full Payne, ini TTFB dulu.
11:24- Ya, TTFB, Time to First Buy.
11:28- Waktu sampai, buy pertama.
11:31Coba Mas Rizal refresh, saya pengen tahu browser-nya supportnya ini, ada enggak?
11:40Oke, coba sekali lagi, sekali lagi, sorry, sekali lagi.
11:43- Mau lihat apa?
11:45- Tunggu, oh nggak kelihatan.
11:48Jaman dulu kalau kita refresh browser, dia loading ikonnya, kalau dia spinner-nya ke kiri itu berarti dia menuju server.
12:01Kalau dia sudah ada response spinner-nya ke kanan, bukalah sesuatu yang berat.
12:08Coba sesuatu yang belum, mungkin yahoo.com mungkin.
12:16- Apple?
12:18- Ya boleh lah, enggak tahu.
12:20Oh udah langsung response, mungkin yahoo.com.
12:28- Oh iya, ini kiri, sekarang counter clockwise, sekarang ini clockwise.
12:36To the island.
12:40- Jangan lupa, saya GDI di bidang performance kan.
12:45Jadi Time to First Buy, kembali ke Time to First Buy.
12:53Saat loading screen-nya ke kiri, itu kita dari sisi browser, nge-request ke server, lagi mendengar, menunggu response.
13:10Dan saat dia sudah response, saat buy pertama nyampe itu adalah DTFB, buy pertama diterima.
13:20- Clockwise tadi?
13:22- Kalo dia berganti arah, pertama kali dia ganti arah.
13:28Untuk lebih jelasnya bisa dilihat dari DevTool, coba masuk DevTool.
13:35Itu di network, eh network, apa ya gue lupa.
13:41Bukan, ini di timing API, kayaknya di timing itu dimana yah?
13:47- Performance bukan?
13:49- Bukan, sorry, di network, betul di network.
13:52Terus ininya tab-nya di dock, D-O-C.
13:57D-O-C, di tab masnya, kiri, kiri, kiri, terus ke kiri, ke kanan sorry, ke kanan.
14:04Yang itu loh, filter-nya itu kan image, filter-nya image.
14:07Nah dock, coba refresh, coba refresh.
14:11Oke, klik yang DTFB-nya.
14:15Itu ada timing, tab timing, oke.
14:19Nah itu bisa dilihat, duration untuk resource-nya saat dia initial connection.
14:25Ini ada connection-nya mulai, jadi begitu mas Riza click reload.
14:32Cue-nya untuk si browser nge-cue, action itu 1,65 second.
14:39Ke stall sebelum dia bisa mulai, 1,21.
14:43Initial connection-nya dia buka, DNS lookup-nya 21 microsecond.
14:48Itu berarti sudah ke cache, sudah ke cache yah.
14:51Dan ada initial connection, SSL handshake, ya itu handshake.
14:57Kadang kalau kayak situs bank, handshake-nya aja 100 millisecond.
15:02- Karena dia pakai firewall khususnya.
15:05- Multi-layer.
15:07Terus request-sen, dia request-sen-nya 87 microsecond, waiting for server response 38 millisecond.
15:17Jadi si situs ini cepet banget terhitungnya, karena dia cuma butuh 38 millisecond.
15:26Jadi total-totalnya adalah 80 millisecond.
15:35Karena dia sudah di CD, dan pasti mas Riza-nya request-nya ini cuma ke Jakarta doang.
15:40- Caching nggak? Apa harus di empty cache and hardly load, biar lihat aslinya?
15:46- Coba aja disabled cache, pencet disabled cache itu yang...
15:49- Oh iya, terus refresh lagi ya?
15:51- Iya, refresh. Coba lihat.
15:56- Sama, kurang lebih sama.
15:59- Beda.
16:00- Beda, lebih besar.
16:02- Waiting response-nya lebih gede ya.
16:04- Tapi ini hampir-hampir sama. Queuing-nya sama.
16:06- Ini kan static code.
16:09- Iya.
16:10- Ininya juga naik sedikit. Ini yang paling gede ya.
16:14- Iya karena...
16:15- Sama port download-nya juga lebih gede.
16:16- Iya.
16:18- Oke, ini TTFB.
16:20- Itu hanya untuk nge-request HTML-nya ya.
16:23Ini bisa berlaku hal yang sama dengan image, JS, CSS juga sama.
16:26Bisa lihat timing API di sini.
16:28- Ini hanya satu file ttfb/index.html kan?
16:32- Yes, betul.
16:33- Oke.
16:34Kalau misalkan nanti image, teman-teman juga bisa klik aja di image-nya misalkan ini.
16:38- Iya, bisa kelihatan tuh.
16:40241.ttfb untuk si image.
16:43Nah, web vital itu ttfb untuk HTML-nya ya, bukan untuk image ya.
16:48- Oke.
16:49- Nah, cuma ini menarik sih, metric ini menarik.
16:51Karena kan time_to_first_by itu salah satu yang paling awal.
16:54Apakah dia mengukur speed kecepatan?
16:57Iya, betul.
16:58Apakah dia mengukur, ya pokoknya itu kecepatan betul.
17:04Cuma kan ini dulu belum fokus ke perspektif user experience ya.
17:11Jadi fokusnya ke kecepatan dan itu tadi apa?
17:15- Ini back-end.
17:16Lebih ke arah back-end.
17:18- Server response.
17:19- Server performance.
17:20Jadi kalau mau optimize ini supaya lebih cepat lagi, optimize-nya di back-end.
17:25- Nah, ini dulu saya nggak ini nih.
17:29Belum ada.
17:30Jadi bingung.
17:31Measure-nya berapa?
17:33Yang cepat itu berapa?
17:34Nggak ada angkanya kan.
17:35Kalau ini kan ada ya.
17:36Kira-kira 800 millisecond di atas 800.
17:39Lebih cepat dari 800 millisecond artinya itu bagus, gitu kan.
17:42- Iya.
17:43- Cuma kan ini penting, tapi nggak dimasukin core web vitals.
17:46Nah, kenapa kayak gitu?
17:47Karena buat user kan nih juga nggak penting di byte pertama itu munculnya kapan, apa, diterima oleh browser kapan kan.
17:56User nggak tahu.
17:58Kalau selama belum diparsing, belum diproses lah, belum diolah.
18:02Nah, itu kan nggak bisa dibilang tanda putih nggak penting buat user.
18:07Bukan berarti nggak penting beneran.
18:08Kalau misalnya diterima dari server lama banget, ya pasti ngaruh ke user juga.
18:13- Kalau TTFP-nya kelamakan, LCP-nya jadi naik.
18:21- Iya, pasti semua juga jadi lambat.
18:23- Ada hubungannya, cuman...
18:24- Semuanya ke delay, semua ke delay.
18:27- Tapi nggak secara langsung.
18:30- Tidak secara langsung.
18:32- Walaupun ya itu sampai sekarang kan tetap bisa dihukur tuh untuk diintegrasi ke DevTools juga.
18:37Tapi nggak dimasukin ke tiga item core web vitals itu.
18:42- Hmm, oke.
18:45Jadi yang masuk ke dalam kategori core web vitals adalah ini ya, tiga ini ya.
18:51- LCP, CLS, dan soon FID menjadi INP.
18:59- FID itu nanti bakal direplace oleh yang baru namanya INP dan ini masih ada hubungannya sama topik IO 2023 ya.
19:06Kita bahas dua episode kemarin, ini di-announce-nya di IO.
19:10Ini mungkin bisa dijelaskan secara singkat, LCP apa, FID apa, LCS apa.
19:18- Bisa, nah kalau...
19:21- Ini udah ada di sini.
19:22- Iya.
19:23- Iya, sambil baca, sambil di...
19:25- Iya, sambil baca.
19:26Nah, agak supaya, temen-temen supaya jangan salah persepsi, LCP itu bagian, kalau diartikan adalah bagian yang terbesar
19:39yang above the fold.
19:42Jadi saat page load, bagian elemen yang terbesar di layar, yang muncul di layar itu adalah largest contentful element.
19:54Nah, tetapi itu bisa berganti ya, misalnya begini.
20:00Bayangkan di halaman page, di desktop dulu deh supaya gampang.
20:08Coba Mas Riza scroll paling atas dulu deh, saya mau jelasin paling atas.
20:12Scroll paling atas biar ada nggak.
20:14Oke, stop.
20:16Nah, sebagai salah satu contoh, kalau kita lihat dari sini, largest contentful pane-nya tentu
20:22mudah dibilang dikatakan adalah si background image.
20:25- Image.
20:26- Si image itu ya.
20:27Tetapi bisa jadi begini.
20:29- Prakteknya, prakteknya kan yang malah jagungnya itu.
20:32- Iya, bisa jadi begini.
20:34- Saat pertama kali di load, ternyata kita nggak membuat si image ini face priority-nya tinggi
20:43atau loading eager, atau kita bikin dia loading lazy.
20:48- Iya.
20:49- Karena kita nggak tahu, kita bikin dia lazy load.
20:52Dan yang muncul pertama kali adalah si title web vital.
20:56Maka yang dianggap largest contentful pane pertama kali itu web vital tulisannya.
21:02- Tetapi ternyata si image ini lazy load atau kegedean.
21:08Dan dia selesai di download dan di render.
21:14Maka next si LCP itu berganti menjadi si image.
21:20Dan kalau itu terjadi, maka LCP score kalian akan menjadi sangat tinggi.
21:27Bisa jadi di atas 3 second.
21:30- Kalau tinggi berarti nggak bagus ya?
21:33- Iya, karena bagi si user, waktu dia pertama kali load, dia lihat web vital-nya dulu baru muncul si image.
21:40Yang harusnya, kalau bisa sih berbandingan.
21:44Karena si image-nya dibuat face priority-nya tinggi atau pakai HTTP/2 sudah dipush.
21:55Jadi sudah tahu image ini bakal ada, dipakai, sudah dipush.
21:59Jadi saat di render sudah berbandingan.
22:02- Atau bisa diakalin lazy loading pakai placeholder yang base 4 atau blur hash atau apapun.
22:10Jadi si algoritmanya, dia kan mendeteksi kurang lebih bentuknya, proporsinya, ukurannya, tampilannya.
22:18- Dia cuma mendetek elemennya sih sebenarnya.
22:20Dia ngedetek elemennya, karena elemen itu termasuk size.
22:25Jadi size elemennya itu kalau terbesar itu yang dianggap dan setelah selesai di load.
22:31Jadi untuk memperbaiki LCP, lihat saat face loading mana elemen terbesar dan optimize itu.
22:41Kalau dia image, cepetin download-nya.
22:44Kalau dia title, cepetin font-nya selesai.
22:48Kalau dia embed, itu yang susah.
22:52- Pelajarannya adalah jangan sampai embed, jadi LCP.
22:57Kan bisa di cek pakai DevTools juga ya.
23:00Kita tak tahu, kita tepat-tepat wawangis dimana yang LCP gambarnya atau text-nya.
23:07Nah, biar tahu, biar dilihat.
23:09Bisa cek di DevTools atau di PageSpeed.
23:13- DevTools, kemana nih?
23:16- Lighthouse ya.
23:18Eh, gimana ya?
23:20Bukan, kalau mau itu di ini.
23:23Bukan, ini lama.
23:25Bisa pakai measure-nya itu, inside.
23:31Eh, sorry, kok gua...
23:33- PageSpeed, inside?
23:35- Bukan, bukan, bukan.
23:36Itu loh, apa?
23:39Performance...
23:42- Nah, ini respons-nya lama nih.
23:45- Performance Monitor.
23:48Bukan, salah.
23:51Gua kadang...
23:54Performance Insight.
23:56- From extension.
23:57- Bukan, Performance Insight.
24:00- Performance Insight.
24:06- Ya, itu ini si...
24:08- Effective Insight.
24:09Terus, apa lagi ini?
24:11Actionable Insight on your web performance.
24:16Ada banyak sebenarnya.
24:19- Performance Insight Panel, ada di DevTools.
24:23Iya, Performance Insight Panel.
24:25- Ini bukan.
24:27Atau ada more?
24:28Ada, ada, more.
24:32Gua pernah pakai, kok sekarang jadi lupa sih.
24:35- More, more monitor.
24:37Bukan, itu kalau yang untuk monitoring secara ini.
24:41Ada yang sampai kayak dikotakkan gitu, tambahnya kayak dikotakkan.
24:46Element yang dihitung sebagai LCP.
24:50- Kok sudah mana sih?
24:52- Iya kan, dulu ada kan.
24:54Masalahnya dulu di PageSpeed tuh udah juga sebetulnya.
24:57Cuma sekarang udah berapa?
24:59- Kayaknya ini deh.
25:02Gua maksudnya di Opera nggak ada, jadi gua harus ke ini.
25:07Harus ke Chrome.
25:09- Bisa gitu ya?
25:11Iya, si si siapa tahu si Opera-nya nggak ini lagi nggak.
25:16Nggak hapus bagian itu bisa juga.
25:19Yep, Performance Insight.
25:21Eh, sini gua share stream.
25:26Paling enak sih menggunakannya ya.
25:33Bisa ada banyak hal yang lain juga sih yang.
25:36Performance Insight, ini ya.
25:41Jadi dari Chrome, hapus dulu deh.
25:47Nah, More Tools, Performance Insight.
25:54Terus, Measure Page Load.
26:01Nanti kelihatan beberapa metrics.
26:09Bisa dilihat.
26:13Bisa kita lihat.
26:16Matiin dulu.
26:18Ada kapan DOM Content Load selesai.
26:22Kapan Largest Content Load ini.
26:24Ketau kita ukur kesini, dia langsung kasih tau Largest Content Load ini yang mana.
26:29Dan kalau terjadi Layout Shift, misalnya kelihatan di sini nih.
26:39Terjadi Layout Shift.
26:41Kita bisa gedein.
26:43Terus kita lihat.
26:45Bisa replay.
26:47Bisa kita lihat apa sih yang berubah.
26:50Ternyata nggak ada yang berubah sih sebenarnya.
26:52Oh, ada tuh.
26:54Lihat, ini. Si apa namanya? Si...
27:00Si icon.
27:02Iya, lihat tuh.
27:04Apa istilahnya? FAB ya? Floating Action Button.
27:08Nggak tau lah apa ya. Pokoknya terjadi Shift di situ.
27:12Kelihatan tuh.
27:14Nah, kita bisa perbaiki.
27:16Itu kolong sampai mendetail.
27:19Terus bisa kita lihat juga.
27:23Si saat page load apa aja yang dikirim.
27:27Jadi dia kirim HTML-nya dulu, dia kirim font, dia kirim CSS.
27:33Terus kemudian JavaScript dikirim.
27:36Ini kan ternyata dia kirim JavaScript itu setelah selesai Dom Content Loaded nih.
27:42Which is bagus kan.
27:44Jadi nggak ada yang render blocking.
27:46Iyalah. Web.dev.
27:50Contohnya terlalu bagus ini, terlalu ideal.
27:53Gitu ya, terlalu ideal ya.
27:55Gak apa-apa lah.
27:57Terus yang kayak GTM-GTM dia di-for setelah, setelah ini nih.
28:07Dom Content Loaded.
28:09Setelah LCP.
28:13Setelah LCP di-render.
28:16Setelah selesai LCP di-render baru dia jalanin GTM dan segala macemnya.
28:21Karena terlalu cepat jadi nggak kelihatan.
28:23Biasanya ada load. Load itu ada-ada.
28:28Terus ada TTI, Time To Interactive.
28:32Dia di sini setelah selesai apa ini?
28:39Kayaknya si set storage dia ini.
28:43Atau analytics ya. Gak tahu deh apa yang mau dijebakan itu.
28:47Oke.
28:49Nah, kalau mau yang versi simple banget sih bisa cek di speed web dev juga.
28:57Coba ya, share stream.
28:59Oke. Yang ini atau?
29:03Benar ya. Ini ya?
29:05Iya. Nah, coba scroll ke bawah.
29:13Ini, first content in vain.
29:17Terus kan ada itu tuh ke bawah lagi, show audits related to click LCP.
29:25Di bawahnya screenshot.
29:27Di bawahnya screenshot.
29:29Show audits related to LCP.
29:33Oke.
29:35Nah, terus.
29:37LCP element.
29:41Ini menarik banget sih kan kita nebak bahwa LCP-nya itu bakal apa?
29:46Ini di mobile ya. Keadaan di apa? HP.
29:50Kita nebak, entah itu double atau gather image.
29:54Ternyata salah semua.
29:56Ternyata cookie consent.
29:58Cookie consent.
30:00Ya betul.
30:01Kalau di layar HP kan yang paling peminan, yang paling apa ya, bagi user itu secara visual itu bagian konten utama dari layar itu.
30:10Memang si cookie consent kan.
30:12Kalau di desktop, mungkin lain. Coba deh cek di desktop apa LCP.
30:18Itu di tab paling atas kan ada mobile dan desktop.
30:23Oh oke.
30:25Performance 100 semua.
30:27Pake party town kali dia.
30:30LCP-nya apa? LCP-nya apa kalau di desktop coba?
30:34Naik dikit naik dikit.
30:36Pas audits, atas dikit.
30:39Atas.
30:42Oh ini ya.
30:44Blog quote.
30:48Jadi emang nggak bisa di prediksi.
30:52Pertua manggis itu nggak bisa.
30:54Karena yang menurut algoritmanya si Lighthouse ini dia paling peminan secara visual, ternyata itu.
31:02Oke.
31:04Perlu direlat sedikit itu bukan algoritma si Lighthouse tetapi algoritma si performance API.
31:10Oh itu ada API-nya sendiri?
31:12Iya. Si Lighthouse itu sendiri hanya mengambil data dari performance API.
31:16Meskipun performance API itu inisiatifnya si Google dan temen-temennya juga sih.
31:22Tapi konsorsi om.
31:24Underlying teknologinya dari performance API.
31:27Performance API.
31:29Lighthouse.
31:31Lighthouse cuma jadi reporting-nya saja sih sebenarnya.
31:37Rapper lah ya.
31:39Nah LCP ini menarik karena sebenarnya dia evolusi, semacam evolusi dari FCP kan.
31:45Dulu sebelum ada LCP, sebelum ada Larges Contentful Pay, dulu ada ya sampe sekarang juga ada FCP.
31:53First Contentful Pay.
31:55Iya.
31:57Jadi itu dulu dia mengukur.
32:01Jadi kan paling pertama dulu ada time to first bite, dianggap itu nggak merepresentasikan penalaman user.
32:08Karena first bite diterima, ya kan kalau layarnya kosong tetap aja bagi user itu terasa lambat.
32:14Walaupun sebetulnya udah diterima.
32:16Terus ada First Contentful Pay, itu kan pixel pertama ya?
32:20Atau apa lah? Element, oh download element di render ya kalau misalnya.
32:24Bukan, element pertama yang kelihatan.
32:27Yang ada visualnya.
32:29Bisa jadi header, bisa jadi logo.
32:34Bisa jadi logo.
32:36Loading spinner.
32:38Loading spinner.
32:40Dulu jamannya create-create app itu kayaknya cara ngakalin FCP yang paling populer yaitu
32:46pokoknya langsung tampilin loading spinner di shell indexa TML-nya.
32:52Nah, abis itu diganti.
32:56Tapi kan itu juga nggak mewakili user experience.
33:00Kalau misalnya cepet, terus langsung render logo atau loading spinner atau text loading.
33:06Itu kan tetap aja buat user experience kurang bagus.
33:10Jadi makanya apa?
33:12Berevolusi, yang dimasukin kurang by vitals, akhirnya si largest study kan, si LCP tadi.
33:19Oke, jadi LCP.
33:23Berikutnya kita bahas CLS dulu ya.
33:27Ya, CLS dulu.
33:28CLS ini apa?
33:30Stability, Layout Stability itu kestabilan dari si...
33:37Pernah nggak melihat ada situs font-nya kegedean atau kebanyakan.
33:44Sehingga waktu di-load, pertama kali font biasa, terus dia berubah.
33:49Tapi berubahnya banyak.
33:52Oh, mungkin satu font-nya terlalu pendek, terus tiba-tiba jadi memanjang atau semacamnya.
33:58Atau bentuk font-nya aja yang...
34:00Bentuk font.
34:01Bukan font ada yang gepeng, ada yang...
34:03Iya, bahasanya kerningnya.
34:06Kerningnya beda tuh, space antar karakternya berbeda.
34:11Nah, jadi font satu dengan yang lain ternyata yang default-nya nggak mirip dengan font yang kalian butuhkan.
34:21Dan pakai biasanya jaman dulu itu, pakai Google Font semua size dipakai.
34:28Terus ada 5 font, semua dari Google Font, semua-semua size dibawa.
34:33Dan di-load cuma satu URL.
34:38Dan font-nya pun di-import dari CSS.
34:41Jadi tunggu CSS-nya kelar, diparsing, baru dia download lagi font.
34:46Jadi kayak chaining.
34:48Chaining URL gitu.
34:50Sehingga font-nya download-nya kelamaan.
34:53Akhirnya tadi font-nya kecil, terus akhirnya membesar, kerningnya berbeda, akhirnya mendorong semua.
35:02Nah, itu pengalaman yang nggak enak banget buat si user untuk membaca.
35:08Ada juga yang kayak gini nih.
35:10Nah, ini yang paling ekstrim sih nih.
35:12Dia nge-load.
35:14Sering banget.
35:16Ada iklan.
35:18Jadi ada elemen entah itu iklan, image atau apapun itu yang di atas, tapi nggak dikasih ukuran.
35:24Belum selesai loading kan, kalo belum di-load, belum ketahuan ukurannya, ya nggak occupy tiksel sama sekali.
35:33Selesai langsung nular, otomatisnya dibawahnya kedorong semua.
35:38Nah, iklan juga sama ya.
35:40Ini contohnya banyak.
35:42Tapi beneran ada loh kayak gini itu.
35:44Oh beneran?
35:46Ya beneran.
35:48Selama ini kan gue pikir, ini cuma buat demo.
35:50Yang kasus ekstrim kayak gini cuma buat demo.
35:53Tapi beneran, jadi di sebuah situs, ya ini mah bukan sebuah monopoli.
35:59Pas pesen tiket, kereta, bandara.
36:02Itu beneran ada logo.
36:04Jadi itu kasusnya logo-logo pembayaran bank.
36:07Bisa lewat credit card, bank atau Bitmootown, blablabla.
36:10Itu logonya kan pake image.
36:12Nah, itu beneran nggak dikasih exact size gitu.
36:17Dan beneran kepencet reset dong.
36:20Kenapa juga form pemesanan ada resetnya, nggak ngerti.
36:24Ke reset.
36:26Jadi itu kisah nyata, dan bukan cuma di demo doang.
36:31Bisa terjadi.
36:33Nah, ada sedikit sesuatu yang ingin saya luruskan mengenai CLS.
36:40Bisa naik sedikit, Mas Liza.
36:43Jadi CLS itu bukan hanya saat page load aja di ukurnya.
36:53Jadi teman-teman nanti naik terus, naik terus, terus.
36:58Tadi ada grafiknya.
37:01Terus, terus, terus, terus, terus, terus, terus, terus, terus.
37:13Ini dia.
37:15Comulative Layout Shift diukur sepanjang halaman itu hidup.
37:31Jadi artinya supaya fair untuk yang pengguna SPA, dibuat last session.
37:37Kalau nggak salah, X amount of seconds, saya nanti bisa baca di sini, kalau nggak salah sih 10 detik ya.
37:45Itu ada session-sessionnya sebelum dia di reset.
37:50Jadi kalau misalnya si user nge-scroll, kalau dia stop, terus scroll lagi, stop, scroll lagi.
38:03Itu artinya saat dia stop, CLS-nya di reset.
38:07Jadi nggak naik terus, nggak cumulative terus.
38:11Kedua, kalau ada user interaction dan terjadi shift, itu tidak dihitung.
38:19Contohnya ingat nggak kalau ada kita pagination, load more, puter, terus kan dia nge-scroll.
38:27Itu tidak dihitung Layout Shift ya. Karena ada user interaction.
38:35Tetapi dalam jangka waktu tertentu selama dalam session ini.
38:39Jadi ada jedahnya.
38:41Ada window, ada durasi toleransi setelah user melakukan satu action.
38:46Betul.
38:48Kayak gini ya? Yang ini ya?
38:51Ini kan klik "me" itu, pen ke bawah itu kayak misalnya, itu tahu nggak sih drop-down atau tab content.
39:00Kalau kita pencet ternyata tab yang kedua, kontennya lebih panjang.
39:05Itu nggak dihitung Layout Shift.
39:07Nice ya. Ini beneran bikin kriterianya dan parameternya beneran berdasarkan user experience ya.
39:15Jadi kayak kalau user melakukan satu action, kayak mencet button gitu kan, itu ekspektasinya bakal terjadi sesuatu.
39:22Oke, untuk saya itu hal yang normal.
39:24Cuma kalau user nggak ngapain, belum ngapain, tiba-tiba geser sendiri, nah itu kan annoying.
39:30Karena ya itu tadi bisa bikin, bisa mengganggu user lagi ngebaca atau nonton sesuatu.
39:36Bisa mengganggu target user ingin akan melakukan suatu action, salah pencet.
39:42Nice, jadi kayak itu udah bukan biur teknis, tapi dari perspektif mata atau interaksi user-nya.
39:51Nah, bagi saya CLS ini adalah web vital yang paling susah diperbaiki.
40:04Jadi kalau simplenya ya bagi temen-temen yang pakai untuk mencegah Layout Shift, semua elemen pastikan ada height-nya.
40:16Kalau itu X, ya pasang height-nya.
40:19Untuk X, jadi sudah tahu di situ ada X, ukurannya berapa, kasih height-nya berapa.
40:24Kalau itu button atau image, tahu height-nya, dikasih height-nya berapa.
40:28Itu sudah pertanyaannya, kenapa kadang kalau total page-nya sedikit itu gampang.
40:38Tapi kalau anggap ini situs berita yang halaman artikelnya sudah ada jutaan,
40:43itu CLS score ke seluruh domain itu kan adalah rata-rata dari seluruh page, bukan satu page.
40:51Jadi bisa jadi CLS, home page-nya sudah bagus, tapi kenapa CLS kita kok begitu-gitu saja, susah perbaikinya.
40:59Dan harus di teliti itu per page-nya, dan ternyata kita ke page itu juga ternyata nggak ada CLS, terus kemana kita harus cari.
41:05Itu bisa jadi ads, terus ads targeting, geografik, bisa beda geo, beda ads.
41:15Jadi user itu kan dari berbagai macam device juga dan berbagai macam negara.
41:20Jadi harus cek per negara.
41:23Nah, yang paling susah adalah embed.
41:28Tiktok embed, Instagram embed, ya kalau kita embed, itu videonya sekian.
41:35Content-nya, caption-nya bisa dynamic.
41:40Dan cara kita nge-embed TikTok atau Twitter itu kan cuma kasih snippet, dan JavaScript-nya nge-load,
41:50dan kita belum tahu, kita nggak tahu berapa total size embed-nya.
41:56Nggak bisa tahu, itu tergantung hasil response dari hasil embed-nya itu.
42:05Itu sampai sekarang belum ada obatnya, hanya bisa diakalin.
42:13Square terus C-more ya? Kayak di ekspansi?
42:18Nggak, nggak. Jadi itu dari ada satu, pernah saya baca, CLS salah satu situs di Medium.
42:35Nanti saya ingat nanti saya kasih link-nya.
42:38Jadi caranya mengumpulkan field data, nanti kita bahas mengumpulkan field data bagaimana.
42:44Data-nya itu dia kirim ke via GTM, dia kirim ke BigQuery, via analytic.
42:51Dia kirim CLS-nya, dia target embed tertentu, misalnya TikTok embed.
42:58Terus kemudian dia target, dapat tuh CLS-nya, dia kirim CLS-nya.
43:02Terus kemudian, sorry bukan CLS yang dikirim, element height-nya dia kirim.
43:09Jadi dia bisa dapat rata-rata height TikTok yang dia pakai berapa.
43:18Nah, dari data itu dikembalikan ke parameter-nya sistem mereka untuk nge-set.
43:27Oke, rata-rata total element TikTok kita 300 pixel height-nya.
43:35Ya udah, diset lah 300. Jadi kalau height-nya lebih kecil, ya udah nggak masalah jadi kosong.
43:44Ya udah, nggak masalah kalau jadi kosong kan.
43:46Tapi kalau yang lebih besar, at least, yang besar nggak terlalu jauh loncatnya.
43:53Jadi bisa diminimalkan, hanya bisa begitu caranya sekarang.
43:57Itu pakai mengumpulkan data, jadi field data.
44:02Itu CLS, gampang-gampang susah.
44:05Susah, susah, gampang.
44:07Susah, susah, susah.
44:08Lebih banyak susahnya apa lebih banyak gampangnya?
44:10Kayaknya nggak ada gampangnya susah, susah, susah.
44:13Ya tapi kan sebenarnya di luar, kalau embed itu kan kasus unik ya.
44:17Maksudnya kasus khusus karena kontennya dinamik, kita nggak bisa expect.
44:21Tapi kalau buat hal-hal lain kayak image atau apapun.
44:24Even embed, kalau embed-nya kayak video gitu kan kita udah tahu rasio-nya ya.
44:29Pernah nggak baca situs yang kayak board panda jaman dulu?
44:36Atau jaman sekarang sih masih ada sih board panda.
44:39Dia kumpulan, kumpulan lucu-lucuan.
44:43Dia kumpulan lucu-lucuan dari Twitter, kumpulan lucu-lucuan dari embed-embed.
44:48Dia kumpulin, kan dia kumpulin itu satu page.
44:51Isi satu page isinya embed semua.
44:54Ya itu shifting semua ya.
44:57Kalau kebetulan atas dapet tugas nge-develop halaman yang kayak gitu ya sebetulnya gimana lagi.
45:04Kalau itu sih ya kita kan minimal kita bisa ngomunikasiin ke stakeholder.
45:09Kenapa CLS-nya nggak sebagus situs lain.
45:13Ya karena monennya gitu.
45:15Ada ini kan.
45:17Nanti Google bikin inisiatif lagi apalah buat men-streamline format atau metadata juga.
45:24Kalau nggak salah beberapa embed, terutama yang Twitter ya.
45:29Beberapa embed Twitter itu ada orang yang bikinin semacam tools atau plugin
45:34yang bisa melakukan screenshot.
45:37Jadi nanti dia embed terus abis itu dia embednya dalam bentuk image yang ukurannya sudah tau, udah ketahuan.
45:44Ya jadi si embednya itu bukan embed HTML tapi embed screenshot dari Twitter itu.
45:53Tapi ada proses di servernya.
45:56Iya ada kerja berat di servernya untuk melakukan screenshot tadi.
46:03Cuma buat kasus di luar itu sebenarnya property CSS aspek rasio itu membantu banget sih.
46:09Untungnya udah stabil di semua browser aspek rasio kalau nggak salah.
46:15Jadi di luar kasus-kasus yang kayak gitu kalau hal-hal normal kayak image static asset gitu, static image,
46:23static video, atau embed YouTube yang rasio-nya udah pasti fix, itu pakai aspek rasio juga aman.
46:31Itu linknya Mas Rizah.
46:33Itu yang saya dapat improving CLS dan Buzzfeed.
46:37Nah itu saya praktekkan dan saya coba dari sampai tiga-tiga part itu.
46:46Ya kalau Buzzfeed resource-nya cukup lah kayak mau saya apa buat mastiin CLS bagus aja beneran se-niat ini.
46:57Iya, nah ini kayak kalau misalnya saya mau belajar banyak bacalah yang Buzzfeed ini untuk mengetahui
47:06tekniknya karena mereka ada downfall, proses-nya itu bagus banget dengan nulisnya.
47:11Oh nice, seru banget sih.
47:14Wah seru ya.
47:16Ada satu ini kok ada, gue cari dulu linknya di Buzzfeed ini juga kok untuk cara ngitung
47:31layer-nya si embed itu gimana ya.
47:36Sampai teriak banget.
47:41Nah ini kan CLS ini kan kalau ada iklan yang baik itu iframe, atau image, ataupun apapun yang
47:49nggak ada hit-nya kan tiba-tiba dia muncul kan kayak tadian.
47:53Ini ya, awalnya kan gini ya, terus tiba-tiba ada iklan di atasnya.
47:58Layoutnya jadi turun ke bawah, gimana kalau iklannya overlay di atasnya.
48:08Kalau overlay malah nggak apa-apa kan.
48:11Oh malah lebih bagus gitu, jadi lebih banyak iklannya menimpa aja si kontennya.
48:16Eh iya kan, CLS gitu kalau elemennya geser kan, jadi pergeseran yang dihitung.
48:22Tapi kalau Google Ads, Google Ads harus ada rapper-nya dan mengatakan itu Ads.
48:27Kalau nggak melanggar tos.
48:32Tapi kan itu dari user experience kan jelek, kita lagi mau baca tiba-tiba ada iklan di tengah gitu.
48:38Kita jangan di atas ya, kan banyak banget itu yang footer, namanya footer ads kan.
48:44Footer ads-nya float kan, sampai kita harus klik manual supaya dia tutup.
48:49Itu ya everything yang saya lakukan sehari-hari.
48:54Tapi kan nggak apa-apa ya, just room.
48:58Tapi CTR-nya tinggi, CTR-nya tinggi itu yang Ads yang dibawa itu.
49:03Di mana pun kebutuhan conversion rate ya?
49:07Iya CTR, quick to write.
49:10Ya kan kebutuhan business juga tetap harus diakomodasi.
49:16Kalau misalnya kita sebagai developer kayak malah kayak bertentangan sama business ads yang bakal jalan juga.
49:24Itu coba klik satu link-nya Mas Riza, sekaligus embed itu kenapa susah kita nggak tahu ukuran sebenarnya.
49:32Karena setiap device atau width-nya berbeda, ukurannya berbeda.
49:37Klik aja deh salah satu twitter ya.
49:46Nanti dia akan misalnya ukuran device berapa, dia akan ngecek ukuran si embed itu berapa.
49:55Jadi dia akan sampai ukuran device yang terkecil, nanti kita lihat hasil code snippet-nya ya.
50:08Tapi kalau nggak salah ya, kalau kita mau embed youtube itu kita bisa tambahkan ukurannya, width dan height-nya.
50:17Oh kalau youtube emang bisa iframe.
50:21Kalau si embed twitter nggak bisa iframe kan, jadi CSS-nya jadi begitu tuh.
50:27Jadi kasih minimum height.
50:31Kalau twitter harus pure dynamic kan.
50:35Nah Instagram juga.
50:39Jadi untuk size berapa, minimum height-nya berapa.
50:47Kalau video tiktok juga gitu ya beda ya.
50:51Oh iya, ada yang portrait gitu ya.
50:55Betul.
50:58Portrait semua, yang beda itu caption-nya.
51:01Di bawah ada caption-nya itu misalnya.
51:03Video-nya tetap pasti sama ya.
51:05Kalau di bawah ada orang nulis puisi, nah repot.
51:10Oke oke oke, make sense.
51:14Ini salah satu tools-nya ya.
51:17Ya, CLS.
51:19Oke, nah itu CLS.
51:30Ada lagi yang mau dibahas?
51:32Nah ada nih yang relatif lebih sepele, kalau misalnya tadi masalah yang dari phone.
51:36Ada tuh tools-nya, phone style matcher.
51:40Bukan di chat.
51:42Nah kalau misalnya, ya sebenernya kita pernah bahas ini kan ya dulu di episode phone.
51:49Soal apa, fallback phone, teknik-teknik web phone.
51:54Silahkan klik link di bawah sini loh.
51:57Di atas sini ya, di mana lah, cari sendiri lah.
52:00Tapi salah satu teknik yang, teknik standarnya ini.
52:05Kita pilih fallback phone yang bentuknya kurang lebih mirip sama web phone yang kita pakai.
52:11Sudah ada, ada yang otomatis loh.
52:14Tapi gue lupa namanya.
52:16Sudah pernah kita bahas juga, ada yang otomatis.
52:18Ya udah, cari aja.
52:20Iya, cari aja.
52:22Ada, bisa tau ininya.
52:25Kemiripan phone-nya.
52:27Ya kalau Google phone apa kita pakai, yang mirip sama apa kita.
52:31Oh iya iya, similar ya.
52:34Ya kamu yang, nah ini juga kan kita tinggal pilih, terus udah dibikinin loh.
52:39Oh iya iya.
52:41Tuh bisa matchernya gitu, tuh bisa kelihatan.
52:45Cari yang pas.
52:47Apa bawa-bawahnya nggak kedorong.
52:49Oh bisa tambahin line height-nya gitu ya.
52:51Kita customize bisa, tapi kalau kita nggak mau nge-customize, itu udah di programmetically dipilihin yang mirip.
52:59Jadi tidak terlalu jauh perbedaan shifting in layout-nya ya.
53:05Yang penting jangan sampai ngedorong sih.
53:09Ini jelas banget, ngedorong antara satu dan yang lain.
53:13Beda height, cari yang sama height-nya.
53:17Sampai pas.
53:19Oh iya.
53:21Oh iya.
53:23Ya intinya begitu.
53:27Pake grid CSS dong, ini sudah ada paketnya.
53:31Siap-siap, kita belum bahas tentang layout-leot ya.
53:35Iya, flex sama grid belum?
53:37Flex sama grid.
53:39Float lah.
53:41Table lah.
53:43Table, table.
53:45Position absolute.
53:47Table lah, table.
53:49Envas lah, kayak kemarin kita udah dapet semua.
53:53Oke, untuk CLS cukup ya.
53:55Nah, berikutnya, ini ada FID.
53:59Tapi FID akan tergantikan.
54:01Jadi kita mungkin singkatkan FID adalah measure to interactivity kan.
54:05Jadi tujuannya adalah untuk menyediakan experience yang bagus ketika...
54:11User berinteraksi dengan element.
54:13User bisa berinteraksi, bisa scroll, bisa...
54:17Bisa scroll, bisa ngetik di input.
54:19Bisa ngetik di form, search misalkan, gitu ya.
54:23Klik, buka misalnya hamburger menu atau accordion atau apa, diklik, ya pas habis diklik...
54:29Mendingnya langsung muncul, ekspektasinya begitu.
54:31Berapa detik sampai ke tahapan itu berarti ya?
54:35Bedanya fast input delay ini...
54:37Hanya mengukur input delay yang pertama kali terjadi.
54:41Setelah page load.
54:43Oh, oke.
54:45Jadi user itu ngeklik setelah page load selesai...
54:49Tak usah nunggu page selesai, jadi page-nya lagi render, kita pencet apapun...
54:55Berapa lama delay sampai action kita itu bisa di eksekusi.
55:01Jadi kalau misalnya main thread-nya sibuk terus...
55:07Ya maka kita punya action-nya akan lama, gitu.
55:11Oke.
55:13Jadi diulang sedikit sekilas, kita kan browser ini cuma bisa single thread ya.
55:19Jadi kalau misalnya lagi parsing, apalah membaca CSS atau bikin fast script...
55:25Atau lagi render sesuatu, dia nggak bisa disambil ngapa-ngapain.
55:31Maksudnya nggak bisa disambil melakukan hal lain, harus menyelesaikan yang sedang dilakukan.
55:35Habis itu baru melakukan task selanjutnya.
55:39Kita punya episode event work juga, click link-nya di sini ya, di manalah.
55:44Jadi maksudnya itu yang menyebabkan delay.
55:47Mau nggak mau sih, pasti ada sekian millisecond buat memproses...
55:55Apalah JavaScript, render component, atau melakukan hal-hal lainnya.
55:59Cuma dibatasi jangan sampai terlalu lama ya.
56:03Jangan sampai nggak halangin task lainnya, kalau nggak salah 200 millisecond-nya.
56:11100.
56:14Eh 100, oh iya 100.
56:16Dan tambahan juga pada saat browser parsing HTML, itu dia sequential, jadi baris per baris.
56:23Baris ini, terus kesini, terus kesini, gitu kan.
56:27Makanya kan ada beberapa tips yang menyatakan bahwa...
56:30Kalau script loading itu dibawah aja sebelum gue ditutupkan.
56:34Ada yang masuk dibawah, tapi habis itu ada teknologi asing, defer.
56:40Ya, ya.
56:42Nah disini ada beberapa script yang ada disini juga.
56:45Jadi ini dieksekusi dulu sebelum kesini, sebelum ke CSS.
56:48Jadi script ini dijalankan dulu.
56:50Kalau script ini istilahnya ada bottleneck atau agak lambat,
56:53Maka CSS ini akan menunggu giliran, jadi satu persatu.
56:57Gak diasing atau defer, ya udah sampe dia selesai.
57:01Ya, kecuali ditambahkan property asing dan defer ya.
57:05Oke, itu FID, dan dari Google I/O beberapa waktu yang lalu,
57:12FID ini akan digantikan oleh INP.
57:17INP, tapi belum. Masih belum dapat stable-nya tahun depan.
57:22Cuma di-announce dari sekarang, biar kita sebagai developer punya waktu
57:27buat mempelajari dan coba improvement.
57:32Tetapi akan datang, jadi ini bukan coba-coba lagi, ini sudah di-announce.
57:38Tapi sudah pasti ya, sudah pasti akan digunakan.
57:41Tapi sekarang belum.
57:43Interaction to next page.
57:46Nanti kita lihat di Almanak 2024 gimana ya hasilnya.
57:50Hasilnya IRP.
57:52Ini apa nih GNC ini?
57:54Nah, ini evolusinya.
57:56Kalau menurut gue sih ini evolusinya si apa tadi?
57:59FID.
58:00FID tadi, kan FID cuma ngukur yang pertama kali first interaction.
58:05Wadah kan interaksi bisa lebih dari sekali ya.
58:08Nah, apa? Mungkin ini first lebih advance-nya.
58:11Jadi dia mengukur semua tab, click, dan keypress ya, gitu kalau gak salah.
58:17Nah, itu event-event.
58:21Keyboard dan tab.
58:23Performance API-nya sudah ada loh.
58:31Jadi tinggal dicoba aja kalau mau.
58:35Kapan-kapan deh episode performance API sendiri kali ini?
58:39Iya nih, performance API itu apa dan gimana cara kita eksplorasi kesana.
58:45Jadi gue kasih dimana ya.
58:51Disini aja deh.
58:53Bisa gak ya?
58:55Mana?
58:56Oh, itu gue kasih di link-nya, bukan link-nya.
58:59Maksudnya script-nya.
59:01Bisa.
59:02Copy aja, kasih kejalanan di konsol.
59:06Oke, dibuat...
59:11Bisa playing site ya.
59:13Di samping aja.
59:15Buat kesamping aja, Mas Riza, biar enak liatnya.
59:19Iya, nah.
59:21Jalanin, ketek.
59:23Tenang-tenang, ini gak nyuri data kok.
59:29Nah, ini Mas Riza, klik aja di mana-mana, klik aja terserah.
59:35Tuh, kelihatan tuh.
59:37Bisa juga klik, ya itu.
59:41Itu kelihatan tuh ya, jadi processing start, processing end, cancel level.
59:46Kalau salah satu objeknya diturunkan.
59:49Objek?
59:52Objek itu objek yang diturunkan.
59:55Itu ada duration.
59:57Duration.
59:58Nah, nanti yang diambil itu duration-nya itu, 32.
1:00:0132 apa nih, detik?
1:00:04Millisecond.
1:00:06Nah, yang bagus dibawah 200 millisecond, which is, ini bagus.
1:00:12Yang gak bagus itu adalah yang di atas...
1:00:16Ya, di atas 200 udah gak bagus sih.
1:00:19So, yang, ini gak ada, gak ada ini ya, gak ada...
1:00:24Gak ada form.
1:00:25Gak ada form-nya, kalau ada form bisa lebih jelas.
1:00:27Di atas coba, di atas ada search-nya gak sih?
1:00:30Ada, coba type something.
1:00:37Aku mau type something, mau type something.
1:00:40Nah.
1:00:42Tuh.
1:00:43Klik.
1:00:44Eh, ini gila.
1:00:45Eh, ya.
1:00:46Kepencet.
1:00:47Pes lagi.
1:00:50Ya.
1:00:52Tadi ya.
1:00:53Klik.
1:00:54Something.
1:00:56Something.
1:00:58Jangan diklik.
1:00:59Jangan diklik, oke.
1:01:01Keydown, berapa lama tuh?
1:01:03Keydown, keydown 1.
1:01:05Duration-nya 24 millisecond.
1:01:07Iya.
1:01:08Keydown 0, 24 juga.
1:01:11Ini bagus ya, berarti ya?
1:01:13Bagus.
1:01:14Bagus lah.
1:01:15Kalau jelek...
1:01:17Itu 0.24.
1:01:19Belum.
1:01:20Jadi sebenarnya datanya sudah ada di performance API.
1:01:25API.
1:01:26Tapi ini diadopsi sebagai core Web Vitals, kan.
1:01:29Terus significance-nya itu.
1:01:32Ya, berarti buat apa?
1:01:35Yang belum tahu lah ya.
1:01:36Yang belum tahu.
1:01:37Perlumahan dari API itu berarti browser JavaScript API
1:01:41yang berhubungan dengan menghitung atau mengukur performance-nya.
1:01:45Metrik, metrik.
1:01:47Metriknya.
1:01:48Oke.
1:01:49Nah.
1:01:50Ini INP ini juga misalnya kayak drop-down, search, form, input.
1:01:56Drop-down kayak gini.
1:01:57Misalnya kalau kita klik kelamaan, itu kan user tuh bisa klik-klik-klik kan.
1:02:01Ternyata kok nggak muncul-muncul dia, gitu.
1:02:03Itu ada contohnya kan di INP itu kita buka menu.
1:02:06Tapi karena lambat, kirain, oh, nggak pencet nih, kita pencet lagi.
1:02:10Padahal dia benar-benar buka.
1:02:11Ternyata dia...
1:02:12Dia tutup lagi.
1:02:13Itu annoying.
1:02:14Iya, pencet dua kali, gitu ya.
1:02:15Iya.
1:02:16Dan malah jadi motu, bukan?
1:02:18Iya, iya, iya.
1:02:20Sama kayak itu ya klik tombol like ya.
1:02:22Klik tombol like dua kali.
1:02:24Oh iya, betul.
1:02:26Jadi biasa aja, jadi netral.
1:02:31Cukup namakan kerjaan sempen.
1:02:33Iya, betul.
1:02:36Oh ini dia ya, yang tadi?
1:02:42Iya, betul.
1:02:43Untuk ngukurnya itu sudah bisa pakai ini.
1:02:45Sudah, kalau mau lebih simpel pakai yang Web Vitals JavaScript Library.
1:02:50Sudah bisa kita ukur pakai on INP.
1:02:53Ada banyak lagi on LCP, on TTFP, on CLS.
1:02:57Kita bisa kirik.
1:02:59Kan datanya bisa di-capture nih.
1:03:01Ini sebenarnya wrapper dari performance API.
1:03:03Data yang kita dapat sini bisa kita kirimkan ke Google Analytics sebagai custom event.
1:03:09Oke, jadi bukan hanya kita ukur lewat DevTools atau PatchSpeed Insight atau apapun.
1:03:17Tapi juga bisa diukur melalui kode ya.
1:03:20Iya, kode kita sendiri.
1:03:22Sebenernya kalau kita mau bikin custom dashboard deh, kalau cuma pengen lihat field data atau real data.
1:03:29Itu tuh sebenarnya otomatis terintegrasi di Search Console.
1:03:34Udah ada kok.
1:03:36Nah, cuma kan maksudnya.
1:03:38Field data kita memang ada di Search Console.
1:03:42Namun nggak enaknya delay.
1:03:44Jadi kita misalnya deploy sekarang nih.
1:03:49Ternyata kita bisa tau itu setelah seminggu rata-rata tuh rata-rata seminggu.
1:03:57Ternyata naik dari CLS-nya kita.
1:04:00Kita perbaiki.
1:04:02Nunggu seminggu lagi?
1:04:03Nggak, nunggu 28 hari untuk nge-process-nya.
1:04:09Iya, maka jadi supaya kita tetap bisa...
1:04:12Tetanggui di PatchSpeed juga itu ya, delaynya.
1:04:15Data PatchSpeed Insight.
1:04:16Mungkin sama ya.
1:04:17Gini, supaya lebih jelasnya.
1:04:20Datanya Search Console sama PatchSpeed Insight itu datangnya dari Krooks.
1:04:24CRUX.
1:04:25CRUX User Experience.
1:04:28Krooks Report.
1:04:30Jadi data itu kan dari semua pengguna Chrome ya.
1:04:35Dan dikirimkan secara anonimus.
1:04:38Dan prosesnya kan banyak dan lama.
1:04:42Jadi minimal rata-rata 28 hari baru bisa kita lihat datanya.
1:04:46Jadi kalau nggak sabaran, kayak saya,
1:04:49kalau perbaiki sesuatu, ya kumpulin aja datanya sendiri.
1:04:54Dan kelebihannya bisa custom.
1:04:56Misalnya kita edit testing kan,
1:04:58kalau halamannya sama, route-nya sama,
1:05:00apa URL-nya sama kan di Search Console atau PatchSpeed kan bakal sama.
1:05:04Tapi kalau misalnya kita pingin detect ada custom tracking-nya ya
1:05:09harus diintegrate ke analytics kan.
1:05:12Analytics system.
1:05:13Betul.
1:05:14Atau berdasarkan template.
1:05:16Maksudnya kita kan mungkin punya beberapa variasi halaman
1:05:19berdasarkan satu template yang sama lah.
1:05:22Template atau apa pun itu.
1:05:24Layout, template atau grouping apapun
1:05:26sesuai kebutuhan bisnis.
1:05:28Nah kalau kayak gitu harus pakai butuh analytics ya.
1:05:32Oke.
1:05:38Itu dia INP.
1:05:40Jadi ini coming soon.
1:05:42Jadi kalau kita bisa belajar dari sekarang,
1:05:45nanti begitu sudah launching, kita udah siap.
1:05:48Website kita juga sudah siap.
1:05:50Karena ini sebenarnya kelanjutannya si FID.
1:05:54Jadi intinya kan kita meminimalisir long blocking task.
1:05:58Jadi ini bukan hal yang beneran 100% baru banget sih.
1:06:03Enggak.
1:06:04Jadi effort kita untuk mengimprove FID selama ini
1:06:08tetap bisa dipakai buat INP.
1:06:11Mungkin ada yang lain yang lebih poeh dan lebih diperhatikan.
1:06:15Sebenarnya ada juga sih akhir-akhir ini kenakalan para vendor-vendor.
1:06:24Vendor-vendor ini sih.
1:06:27Maksudnya pembuat plugin,
1:06:29khususnya di WordPress ya.
1:06:31Pembuat plugin optimize performance.
1:06:34Itu mereka mengakalinya begini.
1:06:39Supaya bisa jadi LCP-nya 100, FID-nya 100, CLS-nya 100, semuanya 100.
1:06:45Itu mereka hanya melod JavaScript jika ada user interaction.
1:06:53Jadi si Google kan datang gak ada user interaction.
1:06:59Dia juga gak detek user header kan.
1:07:03Dia gak detek user email.
1:07:05Hanya ada mouse scroll atau klik.
1:07:11Baru dia ngelod semua JavaScript yang berat-berat itu.
1:07:15Sudah INP ini, kena gitu.
1:07:21Sebenarnya kayaknya konungsi semua metric-metric on Web Vitals
1:07:26itu kan kucing-kucingan antara akal-akalan developer
1:07:31sama efforts selanjutnya biar gak diakalin.
1:07:35Misalnya tadi time to first play, FCP.
1:07:39FCP diakalin dengan loading spinner atau logo.
1:07:43Sekarang udah gak bisa karena LCP ya udah.
1:07:45Ini kan sebenarnya gitu juga.
1:07:47Sama aja kayak CEO juga begitu kan.
1:07:49Berepolusi terus kan.
1:07:51Itu dari akal-akalan, akal-akalannya.
1:07:55Pasti bakal ada merombong lagi.
1:07:58Nanti bakal aja.
1:08:00Makanya ini alasannya ini selalu berepolusi sih ya.
1:08:04Ya, mereka selalu belajar lah ya.
1:08:06Untuk back end, pada tau gak sih timing API?
1:08:10User timing API.
1:08:15Siap dong, siap dong.
1:08:20Sebentar deh ya.
1:08:24Kalau, lagi cari, lagi cari.
1:08:27User timing API.
1:08:30Ini, ini, ini.
1:08:32Ini jaman dulu, masih, ini udah lama banget sih user timing API.
1:08:36Itu bisa, kayak kita bisa mark sendiri.
1:08:39Kita punya data untuk start and stop-nya.
1:08:46Ntar, ntar, ntar.
1:08:48Gue lagi cari, ayo kita coba.
1:08:52Ada satu lagi bukan user timing API.
1:09:01Bisa ngirim data dari server.
1:09:06Sehingga muncul di timing API-nya kita.
1:09:09Di timing window-nya tadi.
1:09:11Ini server timing bukan ya?
1:09:15Ya, server timing API bukannya.
1:09:17Ini berupa header nih, kalau di MDN.
1:09:22Iya, dia di kirim header.
1:09:24Dan header-nya itu akan muncul.
1:09:26Bisa di track nih, performance.
1:09:28Muncul, iya.
1:09:30Apa lagi, coba buka, buka, buka.
1:09:32Jadi server timing, iya ini maksud saya.
1:09:34Server timing API ini.
1:09:36Kalau kita kirim kan tadi yang, ingat gak timingnya?
1:09:38Oh, itu part of the performance API itu.
1:09:41Ternyata bagian dari performance API juga.
1:09:44Iya.
1:09:45Dan, tadi ingat gak yang tadi saya katakan sama Sriza.
1:09:48Buka timing, lihat dock-nya, lihat timing-nya.
1:09:51Itu kita bisa kirimkan dari server.
1:09:54Untuk via server timing API ini.
1:09:58Misalnya kita mau optimize modul tertentu, block tertentu.
1:10:04Yang banyak memakan data.
1:10:09Banyak memakan database access.
1:10:13Kita bisa kirimkan header tertentu.
1:10:17Nanti muncul disini, jadi kita bisa lihat dari sisi user.
1:10:20Kira-kira berapa, jadi kita gak usah harus punya yang mewah-mewah.
1:10:26Kayak New Relic lah, atau apa.
1:10:29Ini ya, pake ini ya, kirimin pake header gini ya.
1:10:37Iya.
1:10:39Jadi di sisi server, dihitung durasinya.
1:10:43Terus abis itu dikirimin ke client.
1:10:46Sebagai respon, bagian dari respon header ya.
1:10:49Iya, nanti akan di-capture disitu.
1:10:53Nice, ini juga TIL.
1:10:55Iya.
1:10:58Jadi kalau buat teman-teman yang punya website atau punya project kantor
1:11:05yang butuh tweak performance, bisa kontak kita.
1:11:09Kita jadi konsultan.
1:11:12Konsultan controlling web.
1:11:15Nanti Ivan yang akan kerjain.
1:11:19Kita tidur ngomong.
1:11:22Nanti Mas Rizal jadi ininya, account-nya.
1:11:29TK jadi ininya, accounting.
1:11:32Finance.
1:11:36Kita jadi konsultan.
1:11:38Tapi kerjanya ngobrol dulu, kenapa?
1:11:40Karena kita diayani sebagai konsultan ngobrol.
1:11:43Silahkan, website client-nya tulis di kolom komentar.
1:11:47Nanti kita audit ya.
1:11:51Tapi kita auditnya cuma ngomong doang.
1:11:53Yang kerjanya pada saat itu kali ya?
1:11:54Iya, kerjanya sendiri.
1:11:56Kerjanya sendiri, kita cuma kasih petunjuk aja.
1:11:59Oke.
1:12:01Jadi ini nih.
1:12:04Kalau misalkan tadi ada website client atau mungkin website pribadi
1:12:08atau ada aplikasi web yang teman-teman nonton di rumah
1:12:13terus pengen supaya performance-nya bagus, low hanging fruit-nya apa?
1:12:18Hal pertama yang harus dilakukan apa?
1:12:21Mending buka fake speed aja, ikutin saran-saran.
1:12:25Ikutin tadi.
1:12:26Saran-saran fake speed? Betul. Karena kan dia udah di contoh-contoh, ya entah fake speed
1:12:31atau tools yang ada tadi, performance insights yang ditunjukin tadi.
1:12:36Itu kan udah saran-saran yang dibawa, kita ikutin.
1:12:40Kalau core web vital sendiri ada di mana? Di sini ada?
1:12:45Di mana-mana.
1:12:46Di lighthouse.
1:12:47Iya, kalau gak salah, ini ya. Di sini ya.
1:12:49Ini ada ya.
1:12:50Di lighthouse ada.
1:12:52Di lighthouse ada, di web vital ada.
1:12:55Oke.
1:12:56Which video sih ada?
1:12:58Kalau dari saya, kalau misalnya kalian ketemu client
1:13:02atau misalnya diminta menganalisis ya,
1:13:05kalian selalu developer, diminta untuk menganalisis.
1:13:08Ini situsnya cepet gak sih? Apa sih yang harus kalian lihat?
1:13:12Pertama, start dari jangan lihat per page.
1:13:18Karena terlalu dalam. Lihat dulu overview-nya.
1:13:21Kalau dia sudah punya search console, terima kasih, alhamdulillah.
1:13:26Kalian lihat aja di search console, sudah ada web vital.
1:13:31Lihat bagaimana performance di search console.
1:13:35Selanjutnya, coba cek juga di page speed insight.
1:13:41Karena itu ada data crook di sana.
1:13:43Jangan lihat lab data dulu.
1:13:45Jangan langsung keren-kerenan buka browser,
1:13:49klik lighthouse analysis.
1:13:52Lihat hasilnya, bagus nih, 90.
1:13:55Bukan, jadi itu user-nya.
1:13:57Oke sih, karena field data ditaruh di atas.
1:14:00Jadi, secara layout, secara six-nya, itu juga membantuan.
1:14:05Ya, betul.
1:14:07Lihat field data dulu. Lihat dari hasil pengunjung situsnya bagaimana.
1:14:12Nah, kalau sudah kelihatan situasinya, tanya dulu ke klien-nya.
1:14:20Ini tujuannya apa, mau dinaikkan sales-ka?
1:14:24Atau sekedar ingin cepat aja?
1:14:29Atau tanya juga, cepat itu bagaimana?
1:14:34Apakah cepat secara diklik, loading, apa yang paling kritikal harus cepat.
1:14:46Terus, bisa juga dibandingkan dengan kompetitor.
1:14:52Siapa kompetitornya yang head-to-head?
1:14:55Siapa yang kompetitor head-to-head? Tiga.
1:14:58Terus, compare halaman yang paling kritikal yang kalian punya.
1:15:03Apa yang kira-kira kompetitor kritikal page-nya apa?
1:15:07Compare dari semua device, mulai dari mobile, tablet, sama desktop.
1:15:15Nah, PageSpeed Insight kan punya cross data.
1:15:18Jadi, bisa lihat juga data kompetitor seperti apa.
1:15:21Berarti harus pakai BigQuery ya?
1:15:23Nggak, kalau di PageSpeed Insight kita bisa masukin situs kompetitor.
1:15:28Baca aja dong.
1:15:30Iya, manual. Kumpulkan aja di spreadsheet.
1:15:34Bandingkan, saya bagiin ini ya.
1:15:38Gak apa-apalah, teman-teman juga.
1:15:40Bandingkan tuh titik awal kalian, compare ke kompetitor.
1:15:46Dan compare ke, dan kalian analisi selanjutnya.
1:15:51Apa aja misalnya bisa diterapin.
1:15:55Itu kalau nggak salah dari sisi yang paling simple ya.
1:16:02Selanjutnya, kalian bisa buat static file dari situs itu.
1:16:06Dan coba tweak tanpa harus mengutak-ngatik coding-nya.
1:16:12Tahu nggak sih, POC dulu ke kliennya.
1:16:16Kalau sudah dioptimize, bundlenya segala macam, itu dengan static HTML,
1:16:22tentu TTFP di eliminate.
1:16:26Hasil LCP dan segala macamnya jadi bagaimana dengan static file.
1:16:32Dan bisa kalian buat perbandingan yang spreadsheet tadi.
1:16:39Data awal, data kompetitor.
1:16:42Dan kira-kira kalau proyek itu kalian ambil, bisa jadi seperti ini loh.
1:16:47Misalnya, skornya dari 40 di mobile, jadi 90 di mobile.
1:16:55Ya udah, kalau kalian bikin proposal-nya kayak gitu, menang deh kalian.
1:16:59Nah, itu ada calculator skornya juga, siapa tahu ada yang belum tahu.
1:17:07Oh iya, sekarang udah berubah ya bobotnya ya.
1:17:11Setiap versi, bobotnya kan perhitungannya selalu berubah.
1:17:17Versi skor sudah berubah.
1:17:19Zoom in.
1:17:21Nah kan Core Web Vitals itu tiga hal yang dibawah ya.
1:17:25LCP dan TBC Total Doving Time itu mau pilih versi untuk pilih.
1:17:31Karena FID itu kan cuma bisa dihitung di field.
1:17:33Harus pakai input user beneran.
1:17:36Nah, itu kan nggak bisa di prediksi, jadi di prediksinya pakai metric line Total Doving Time.
1:17:43Terus paling bawah CLS tuh, kita lihat loh, bobotnya kan paling tinggi.
1:17:47Tiga itu dua lima persen, tiga bulu, dua lima.
1:17:50Nah, itu tadi misalnya kita, bedanya, biasa sama kompetitor kan kita bisa ngitung-ngitung,
1:17:55kita bisa mengirang-irang di sini, di bagian mana aja yang harus dinaikin.
1:18:00Oke, iya.
1:18:02Yang harus di-prove, dinaikin atau di-prove.
1:18:04Lima lima, kalau Core Web Vitals ini udah lapan puluh persen ya?
1:18:08Iya.
1:18:10Bobotnya, Core Web Vitals itu lapan puluh persen.
1:18:14Lapan puluh persen, oke.
1:18:18Siap, siap.
1:18:20Iya, bisa bawa kita di kolom komentar.
1:18:25Kita jadi konsolons gitu.
1:18:27Iya, soalnya kan apa ya, yang ukur-ukur kayak gini kan, ya nggak tahu ya,
1:18:36kalau konsultan untuk bikin software kayaknya udah banyak sekali kan.
1:18:41Biasanya kalau konsultan besar, jadi satu lah.
1:18:44Oh iya, sekaligus ya, sekaligus.
1:18:46Tergantung, tergantung scope-nya.
1:18:50Tapi kalau yang re-review dulu agensi, ya pasti apa,
1:18:53pemperhitungan performansi juga lah, karena itu kan sejujurnya ngaruh ke target business.
1:18:58Ke SEO juga, ujung-ujungnya kan ya?
1:19:00Iya.
1:19:01Dan udah banyak case tadinya juga kan.
1:19:04Maksudnya misalnya, launching menurun, atau apalah,
1:19:07reach rate-nya naik dengan Core Web Vitals yang lebih bagus.
1:19:11Jadi ya, agensi pun pasti harusnya mempertimbangkan.
1:19:16Semakin cepat aplikasi atau website kita,
1:19:19ya semakin banyak mungkin orang yang suka,
1:19:23atau semakin berpengaruh ke revenue juga, ujung-ujungnya, gitu kan.
1:19:27Website kita bagus, search rate-nya bagus.
1:19:30Kalau lambat, jangan di tinggalkan.
1:19:33Iya, bounce rate-nya tinggi, ya kan.
1:19:36Jadi itu secara tidak langsung berpengaruh kepada gaji kita.
1:19:42Kalau dilihat secara ini ya, secara garis besar, gitu kan.
1:19:47Kalau perusahaan misalnya dapat keuntungannya dari website.
1:19:51Kalau website-nya cepat, user-nya senang, user-nya akan bayar.
1:19:55Kita dapat gaji, gitu kan.
1:19:56Atau user banyak melihat iklan, ya kan?
1:19:59Ya, banyak melihat iklan juga sama.
1:20:02Eh, salah juga loh.
1:20:04Makin banyak iklan, bukan berarti makin banyak revenue loh.
1:20:07Oh, masa?
1:20:08Iya, banyak user.
1:20:11Oh, banyak user, yes.
1:20:13Karena ada ad impression juga ada.
1:20:17Terus user yang datang, besok datang lagi, besok buka lagi.
1:20:19Karena dia senang, experience-nya enak.
1:20:21Meskipun dia, iya.
1:20:23Gak terganggu.
1:20:24Meskipun banyak iklan, tapi KLS-nya bagus, gitu kan.
1:20:27Yang ga usah banyak lah, ada iklan.
1:20:29Tapi, ada iklan, tapi gak terlalu ganggu.
1:20:32Iya, tidak mengganggu.
1:20:35Dia dapat visualnya, dapat informasi yang berguna.
1:20:37Atau apalah, dia dapat pengetahuan dari website kita.
1:20:40Ada iklannya tak dikit, gak terlalu ganggu.
1:20:43Ya, besok dia buka lagi, besoknya dia buka lagi.
1:20:45Ya, kan sebenarnya itu tipis-tipis.
1:20:48Gak kayak main game di mobile ya.
1:20:52Begitu kalah gitu muncul iklan.
1:20:55Tunggu 15 detik, 20 detik, apa-apa sih.
1:20:59Itu mau di premium kali?
1:21:01Enggak, ya intinya experience kayak gitu banyak di mobile.
1:21:10Nggak enak banget.
1:21:12Jangan sampai kejadian kayak pengalaman Eka tadi ya.
1:21:15Mau beli tiket, malah pencet reset.
1:21:20Masih di tahun 2023 ini, masih ada tombol reset
1:21:26di form pembelian, itu juga udah aneh sih.
1:21:28Iya, coba bayangkan kalau ada...
1:21:31Nggak jadi di tutupan, ya kan?
1:21:33Iya, kalau ada aplikasi kompetitor,
1:21:36pasti Eka akan berpindah ke kompetitor yang lain.
1:21:39Iya, kan?
1:21:41Jadi itu sangat berpengaruh.
1:21:43Tergantung harga.
1:21:45Tergantung ada diskon atau nggak.
1:21:48Kalau harga sama mungkin mau pindah,
1:21:53tapi kalau harganya lebih mahal.
1:21:55Reset nggak apa-apa aja, ulang lagi.
1:21:58Tiket Coldplay, usitusnya lambat aja,
1:22:03ditungguin tuh, direfres-refres terus tuh.
1:22:06Ya, itulah namanya tiket war.
1:22:10Kalau nggak, nggak ada warnya, nggak seru.
1:22:12Nah, itu udah di luar mana, web tip.
1:22:16Oke, oke, oke.
1:22:18Oke, kalau gitu, buat malam ini...
1:22:20Eh betul, ini link terakhir dulu.
1:22:22Oh, terakhir, penutup, penutup.
1:22:24Yang mau belajar, ya?
1:22:26Yang mau belajar, penasaran.
1:22:28Yang mau belajar bisa ke...
1:22:30Yang mau barengan sama saya di GDE Performance,
1:22:36belajar banyak ini.
1:22:38Semoga ada.
1:22:40Karena web capability ada dua nih.
1:22:42Ya, performance sama gue doang.
1:22:44CSS belum ada juga ya?
1:22:46Ada yang CSS lah, biar ramai.
1:22:50Eh, masih ada nggak sih?
1:22:52Pas gue...
1:22:54Ada dia.
1:22:56Jadi kalau mau belajar,
1:22:58ke web.dev/learn -core -web -fighters.
1:23:02Nanti kita taruh di...
1:23:04Apa? Di deskripsi ya.
1:23:06Show notes.
1:23:08Oke, mungkin itu aja.
1:23:10Pesan terakhir dari kita.
1:23:12Silahkan belajar web fighters
1:23:14kalau teman-teman yang tertarik.
1:23:16Siapa tahu beberapa bulan lagi
1:23:18kita jadi tidak trio web-web,
1:23:20tapi jadi berempat, ya?
1:23:22Trio kuat-kuat.
1:23:24Trio kuat-kuat.
1:23:28Jadi apa?
1:23:30Bisnis konsultasi kita jadi lebih berkembang lagi,
1:23:32karena...
1:23:34Bisnis konsultasi kuat-kuat.
1:23:36Oke, kalau gitu terima kasih banyak
1:23:40buat teman-teman yang sudah nonton,
1:23:42yang sudah meramaikan.
1:23:44Kita ketemu lagi selasa depan.
1:23:46Nah, selasa depan ada...
1:23:48Ada bintang tamu.
1:23:50Ada bintang tamu.
1:23:52Kita udah sempat obrolin
1:23:54beberapa episode yang lalu.
1:23:56Nanti tungguin aja.
1:23:58Minggu depan kehadirannya Beliau.
1:24:00Kita akan ngobrol bareng-bareng.
1:24:02Jadi kita berempat minggu depan.
1:24:04Oke, terima kasih.
1:24:06Selamat malam. Sampai jumpa.
1:24:08Wow.
1:24:10Eka nya ngefreeze ternyata.
Suka episode ini?
Langganan untuk update episode terbaru setiap Selasa malam!
Episode Terkait
10 Sep 2024
Diskusi Bebas - Ngobrolin WEB
Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...
11 Feb 2025
Optimasi Performa JS - Ngborlin WEB
Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...
2 Jul 2024
Ngobrolin Elixir - Ngobrolin WEB
Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...