{"resource":{"title":"Reducing Image Bytes","isPremium":true,"requires":["premium.fsd"],"content":{"type":1,"body":"*Part 3 of 8 — Image Optimisation for the Modern Web*\r\n\r\nThe first step of optimisation is to reduce the number of images and what browser needs to download. A useful way to think about this is:\r\n\r\n> ***The cheapest image byte is the one the browser never has to download.***\r\n\r\nThat does not only me...","isInternal":true},"isActive":true,"stats":{"views":26,"used":0,"likes":0},"published":true,"author":{"id":"3eh0kijZwMrHum8TkMqX","name":"Devtools Tech","username":"devtoolstech"},"resourceId":"eoeW8SDZdwwNWBtFqfOh","slug":"reducing-image-bytes---rid---eoeW8SDZdwwNWBtFqfOh","createdAt":1779623184396,"showPaywall":true,"needsUpgrade":true,"minimumPlan":"yearly"},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"5ea5c137dae82663ed99f7cb","content":{"difficulty":1,"languages":"javascript"},"tags":["javascript","node.js","interview","frontend","problem solving","logical","output based","looping"],"title":"What would be the output of the following code snippet?","questionId":"L2LcihjiBRUehVFRPDOR","slug":"what-would-be-the-output-of-the-following-code-snippet---qid---L2LcihjiBRUehVFRPDOR"},{"_id":"69a5900c92f33c7d8a9f8e41","content":{"languages":["react"],"difficulty":2},"tags":["javascript","ui","ux","devtools tech","coding challenges","frontend"],"slug":"file-explorer-ii---qid---Xjox8jBBhp2RtuxcbxNK","title":"File Explorer II","questionId":"Xjox8jBBhp2RtuxcbxNK"},{"_id":"68ebdd75e901f595bb2348ad","content":{"languages":["react","html"],"difficulty":1},"tags":["javascript","ui","ux","devtools tech","programming question","subtasks","task view","atlassian frontend interview question"],"slug":"issue-tracker-ui---qid---lzYRUPICJ0dk6cCAWGe5","title":"Issue Tracker UI","questionId":"lzYRUPICJ0dk6cCAWGe5"},{"_id":"6256bef83ecc8e41a79f1415","content":{"difficulty":4,"languages":"javascript"},"tags":["javascript","loop","variable scoping","frontend","javascript quiz","output based questions","js tricks","frontend masters","egghead","google interview question"],"slug":"what-does-this-function-print-javascript-quiz-or-interview-question---qid---6F6RRpoinfnTNBUpo2XH","title":"What does this function print? JavaScript Quiz | Interview Question","questionId":"6F6RRpoinfnTNBUpo2XH"},{"_id":"5ea54e93dae82663ed99f7c3","content":{"languages":["javascript"],"difficulty":1},"tags":["node.js","javascript","frontend","code"],"title":"What is the output of the following code snippt? | JavaScript Output Based Question | JavaScript Variable Destructing","questionId":"HTD40nnbjOuhEstWKm9c","slug":"what-is-the-output-of-the-following-code-snippt-or-javascript-output-based-question-or-javascript-variable-destructing---qid---HTD40nnbjOuhEstWKm9c"}],"resources":[{"_id":"6a12f6b84b3e6d922c54a4bf","content":{"difficulty":1,"domain":1,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","image","optimisations","ui","ux","devtools tech","tutorial","article","blog","image optimisations"],"slug":"image-cdns-and-delivery-infrastructure---rid---77JRLgs18QdXzu3rgtT2","title":"Image CDNs and delivery infrastructure","resourceId":"77JRLgs18QdXzu3rgtT2"},{"_id":"61f505741238c849f9e159e5","content":{"difficulty":4,"domain":2,"type":1,"isInternal":true},"tags":["javascript","pagination","remix run","frontend","tutorial","query params","navigation","js framework"],"slug":"add-pagination-to-remix-run---rid---A9jJkhqXgojvhovKZACe","title":"Add Pagination to Remix Run","resourceId":"A9jJkhqXgojvhovKZACe"},{"_id":"625939ff1195627fe9f0bb9c","content":{"difficulty":4,"domain":17,"type":3,"isInternal":false},"tags":["life","podcast","frontend","backend.software development","tooling","devtools tech","ios","fueled","ronnie and barty","grappus","fullstack"],"slug":"beyond-code-or-episode-1-or-video-podcast---rid---wituSBDrHHWE5yB7mq7R","title":"Beyond Code | Episode 1 | Video Podcast","resourceId":"wituSBDrHHWE5yB7mq7R"},{"_id":"62056636e12bce537863f36a","content":{"difficulty":1,"domain":1,"type":1,"isInternal":true},"tags":["javascript","remix run","social login","login with google","session","encryption","js fundamentals","remix server"],"slug":"add-social-authentication-to-remix-run-project-or-remix-server---rid---GEN4IbgWorJNeQL7Gkm8","title":"Add Social Authentication to Remix Run Project | Remix Server","resourceId":"GEN4IbgWorJNeQL7Gkm8"},{"_id":"6a12e5684b3e6d922c54a0e9","content":{"difficulty":1,"domain":1,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","devtools tech","tutorials","blogs","react","image optimisation","responsive images","web performance"],"slug":"responsive-images-srcset-sizes-and-picture---rid---YlLGKU8oqpo6ivZBG2mI","title":"Responsive Images: srcset, sizes, and picture","resourceId":"YlLGKU8oqpo6ivZBG2mI"}]}}