You are loading Images wrong! Use this instead 😍

As developers, we have to deal a lot with images, from blogs to landing pages, it's all about giving the users the best impression when visiting your website.
In this tutorial, we'll explore the best approaches you can follow to improve image loading on your website as well as implement lazy loading using React with awesome placeholders (before the image is fully loaded) with a great user experience.
⭐ Timestamps ⭐
00:00 Intro
01:04 How Unsplash does load images?
02:53 Approach 01: Use the browser lazy-loading feature
05:49 Approach 02: Use Lazy-loading React component
07:45 Why the React component is not always perfect?
09:04 Approach 03: Use Blurhash placeholder w/ lazy-loading
11:53 Server-side of using Blurhash with Node
13:42 How Blurhash can improve the UX by 10x
⚡️ Image Lazy Loading repo
github.com/ipenywis/img-lazy-...
🧭 Turn Design into React Code | From prototype to Full website in no time
• Turn Design into React...
🧭 Watch Tutorial on Designing the website on Figma
• I Design a onecolor We...
🧭 Watch Create a Modern React Login/Register Form with smooth Animations
• Create a Modern React ...
🧭 Debug React Apps Like a Pro | Master Debugging from Zero to Hero with Chrome DevTools
• Debug React Apps Like ...
🧭 Master React Like Pro w/ Redux, Typescript, and GraphQL | Beginner to Advanced in React
• Master React Like Pro ...
🧭 Learn Redux For Beginners | React Redux from Zero To Hero to build a real-world app
• Debug React Apps Like ...
🧭 Build Login/Register API Server w/ Authentication | JWT Express AUTH using Passport.JS and Sequelize
• Build Login/Register A...
🧭 Introduction to GraphQL with Apollo and React
• Introduction to GraphQ...
🐦 Follow me on Twitter: / ipenywis
💻 Github Profile: github.com/ipenywis
Made with 💗 by Coderone

Пікірлер: 71

  • @xyz-ey7ul
    @xyz-ey7ul Жыл бұрын

    I was about to watch a number videos just to understand the purpose of react lazy feature but this video answered everything and more

  • @georgekalogeropoulos1813
    @georgekalogeropoulos1813 Жыл бұрын

    Nice video but I believe 15 minutes are way too much for just suggesting 2 libraries . Would be nice to show a video of how can you code that blur effect without the libraries.

  • @anosikegideon4142

    @anosikegideon4142

    11 ай бұрын

    bro!! He just spent a lot of time explaining UI/UX

  • @dekafmusic

    @dekafmusic

    2 ай бұрын

    @@anosikegideon4142 sure helped me in some way ngl

  • @mmozedev
    @mmozedev Жыл бұрын

    The main thing here that is not emphasized enough is the fact that width and height (or atleast height) need to be set. Without that information, lazy load won't work. This means your server needs to return the dimensions with the photo URL.

  • @thedigitalceo

    @thedigitalceo

    Жыл бұрын

    Exactly right. And it’s the same issue with the NextJS image component which is amazing but you still need to specify width and height which is something that goes against most good responsive design related to imagery. So it’s a catch 22

  • @Rhidayah

    @Rhidayah

    Жыл бұрын

    Well, the reason why that width and height need to be set. It’s because, if your image not fully rendered. It became shifted, and after complete it will be jump into bottom. You will be notice, if the image combine with paragraphs. That’s why you should be set that dimensions, to give a space.

  • @shoutmeback2587

    @shoutmeback2587

    Жыл бұрын

    @@Rhidayah What would be the approach for optimizing the images in react applications? Is there some other techniques too?

  • @Rust_Rust_Rust

    @Rust_Rust_Rust

    Жыл бұрын

    can the heights and widths be a percentage of the users viewport? Or does it have to be a fixed value (px, rem, em, etc.)

  • @codeworthy
    @codeworthy Жыл бұрын

    this is awesome man!...i like the last one

  • @videolucu5900
    @videolucu5900 Жыл бұрын

    thanks a lot!!! so nice reverb

  • @ernestdesbordes
    @ernestdesbordes Жыл бұрын

    Blurhash is the best and cool way. I use that in all my projects.

  • @projottasantos4778
    @projottasantos4778 Жыл бұрын

    Thank you, it works perfect!

  • @rifatskdev
    @rifatskdev Жыл бұрын

    Tysm, did everything as described

  • @dimafurs6248
    @dimafurs6248 Жыл бұрын

    In my opinion, CoderOne is one of the best channels related to Web Development tips and projects on KZread rn. Thank you very much, Islem, for all your efforts and work done in helping us to understand these topics better!

  • @alessandromarin3803
    @alessandromarin3803 Жыл бұрын

    Thank you so much! TNice tutorials video helped produce fire soft thanks bro❤️

  • @andreiolar6104
    @andreiolar6104 Жыл бұрын

    Well, the second option would have probably worked similar. The issue on why the initial blurred download is very slow is because you have specified the same image for both the src and the placeholder src. That should have been a very light image for fast download :)

  • @Rhidayah

    @Rhidayah

    Жыл бұрын

    Ye, my method just generate 2 versions, one 60x60 pixel and other is the orginal one. You don’t blur it. Because if the 1st version expand to w300 h300 make it blurry because small image.

  • @brawlgammer4424

    @brawlgammer4424

    Жыл бұрын

    He just wanted to push this BlurHash library full-force.

  • @bleakCode

    @bleakCode

    7 ай бұрын

    good point. It ruins the point of lazy loading to have to load the same image as placeholder. Instead you can maybe use a default background image

  • @raiikagaming
    @raiikagaming Жыл бұрын

    Those who wants to use blurhash as a dynamic image, might also consider the server performance to use blurhash, since I've worked with creating thumbnails via PHP, and it actually cost a massive server performance and it could make a server down if used in a looping state.

  • @dreamecho100

    @dreamecho100

    Жыл бұрын

    Is there a solution for this, except for caching the result?

  • @3hustle
    @3hustle28 күн бұрын

    bro is there any way to preload video at the startign only and then able to seek to any point without buffering, i dont know if youtube allow this or not but is it possible somehow through programming?

  • @jesusjuvinao8210
    @jesusjuvinao8210 Жыл бұрын

    Hay diferencia en usar el componente Image de next e implementar este paquete?

  • @petronini
    @petronini Жыл бұрын

    Great video, man! Could we have a look at the code to play with it and get on better? Thanks!

  • @nro337
    @nro337 Жыл бұрын

    Thank you!

  • @ziat1988
    @ziat1988 Жыл бұрын

    thanks for the great share

  • @rambhajansaw5933
    @rambhajansaw5933 Жыл бұрын

    who has been blind their whole life and can finally see. I can't express my gratitude in words but tNice tutorials is the best I can do. THANK YOU SO

  • @noredine
    @noredine Жыл бұрын

    Is there any way to load them Sequentially? For example loading the 2nd, 5th, 3st, then 1st and so on doesn't look very good

  • @eyout7973
    @eyout7973 Жыл бұрын

    Thanks a lot

  • @vincentcottalorda2105
    @vincentcottalorda2105 Жыл бұрын

    Or using NextJS Image component 😊

  • @hamadoungom8281
    @hamadoungom8281 Жыл бұрын

    now i am in a good mood

  • @HaNaxHeart
    @HaNaxHeart Жыл бұрын

    hi, does anyone know what beforeLoad do in 14:20? cuz I think just use the onLoad prop to control the logic is enough?

  • @anasouardini
    @anasouardini Жыл бұрын

    is there an implementation for astro? I looked it up but I found nothing.

  • @MonirulIslam-sg7oh
    @MonirulIslam-sg7oh3 ай бұрын

    Thank you for the video. How do I store the hash value when I add the image from backend say with laravel and nodejs?

  • @CoderOne

    @CoderOne

    3 ай бұрын

    The hash has to be stored inside the database. For example, if you upload the image, you have to generate the hash out of the image and store it alongside the image data in the database. So later on, the hash would be returned with the image data.

  • @MonirulIslam-sg7oh

    @MonirulIslam-sg7oh

    3 ай бұрын

    @@CoderOne yes that what I have asked, its just hash like password hash or something different?

  • @mubarakalalawi305
    @mubarakalalawi305 Жыл бұрын

    In The setup tNice tutorials was a really helpful video but I'm using soft soft 12, is there a reason why I can't hear my own soft play? I click to play

  • @jorgeassaf
    @jorgeassaf Жыл бұрын

    Hello bro, how could you do it with nextjs Image component and blurDataUrl?

  • @brakpseudonimu236
    @brakpseudonimu236 Жыл бұрын

    I'll be honest, small fast loading thumbnails were the best experience, and the only big one loading is the one I clicked, but that's just a boomer preference.

  • @code-island
    @code-island Жыл бұрын

    pretty cool

  • @MrSatyavinay
    @MrSatyavinay Жыл бұрын

    Cool!

  • @arihantjain8347
    @arihantjain8347 Жыл бұрын

    just wanted to know, after going through the code are we using react-lazy-loading-component and blurhash together?

  • @princeparaste5659

    @princeparaste5659

    11 ай бұрын

    No, both are different

  • @mohamedyoussef8835
    @mohamedyoussef8835 Жыл бұрын

    Awesome video +++++++++++++++ 🙂

  • @SXsoft99
    @SXsoft99 Жыл бұрын

    what if you use the "loading="lazy"" attribute on the image tag? native out of the box in html

  • @kumarankur

    @kumarankur

    Жыл бұрын

    you can use it, but as mentioned in the video it is not widely supported in the lesser known/used browsers, better to use intersection observer.

  • @user-kx9ys1ob2s
    @user-kx9ys1ob2s10 ай бұрын

    what if you have authentication? this doesnt work. you need to fetch the images as blobs first.

  • @anaqo7175
    @anaqo7175 Жыл бұрын

    Sa. TNice tutorials quarantine is making question my whole existence.

  • @shinobi_coder88
    @shinobi_coder88 Жыл бұрын

    How to use blurhash with dynamic images? From TMDB API for example. I use lazy loading image in NextJs and it still quite slow

  • @shinobi_coder88

    @shinobi_coder88

    Жыл бұрын

    @Ta Chi Bao interesting, can you share me the repo? thanks

  • @spoconykubus3480
    @spoconykubus3480Ай бұрын

    but this blurbash works good only for box images

  • @paologonzales4361
    @paologonzales4361 Жыл бұрын

    where is the github repo?

  • @dunguyen2924
    @dunguyen2924 Жыл бұрын

    How’s it going?

  • @piflom8400
    @piflom8400 Жыл бұрын

    Imagine how much money he would have made if he had ads. There’s 6.6 million views.... he’d be rich

  • @karthikp4484
    @karthikp4484 Жыл бұрын

    this guy voice is similar to webdev simplified

  • @izzetah2358
    @izzetah2358 Жыл бұрын

    Thanks for helping the community i will be so glad if you cancel continue your good work

  • @usamakayani6537
    @usamakayani65373 ай бұрын

    Wordpress please

  • @cristianbilu
    @cristianbilu Жыл бұрын

    I am triggered by the fact you use create reacy app.. Why??

  • @yadmr3557
    @yadmr3557 Жыл бұрын

    ​♂️

  • @dexion_gaming
    @dexion_gaming Жыл бұрын

    laughs in unlimited free trial

  • @archmad
    @archmad Жыл бұрын

    why lazy load a 4mb image file? load 150k at most for each image. that;s enough

  • @edhahaz
    @edhahaz10 ай бұрын

    Lazy loading is the worst way to load images

  • @govindagarwal2389
    @govindagarwal23898 ай бұрын

    It is easy to do this without libraries, 15 minutes video for suggesting 2 libraries is pathetic. I thought in 15 minutes he will have some information on how to actually do it without library.

  • @muhammadukkasha5048
    @muhammadukkasha504810 ай бұрын

    Good video but man pls be specific, your talk was much of telling your experience in many words instead of just showing what's the problem and how to solve it, that's it

  • @1879heikkisorsa
    @1879heikkisorsa Жыл бұрын

    This video could have been 2 minutes long. Get to the point!

  • @razorjhon2622
    @razorjhon2622 Жыл бұрын

    too much talking for 2 libraries also you didn't even show us how you did implemented the code :(

  • @omranarchitects7816
    @omranarchitects7816 Жыл бұрын

    its blatantly obvious that you're trying to scam people

  • @muhammadhasnat9835
    @muhammadhasnat98357 ай бұрын

    Video is full of fluff and unnecessary time wasting talk

  • @gmc5946
    @gmc5946 Жыл бұрын

    you do sure talk a lot

  • @Haz1Art
    @Haz1Art Жыл бұрын

    You talks so much of irrelevant info. This doesnt have to be 15 minutes. Sorry, but such a waste of time.