SlideShare a Scribd company logo
Delivering Beautiful and Fast
Images and Video
Doug Sillars
@DougSillars
NottsJS
October 9, 2018
Contact Me:
@DougSillars
Doug.Sillars@gmail.com
www.dougsillars.com
Doug Sillars
Freelance Developer Relations
Performance Audits: Web/Native
Workshops:
Performance/Images/Video
http://bit.ly/HighPerformanceAndroidApps
Notts js fastandbeautiful
0.5
0.6
0.7
0.8
0.9
Standing in Line Standing on the
edge of a virtual
cliff
Experiencing
Mobile Delays
Solving a Math
Problem
https://www.ericsson.com/res/docs/2016/mobility-report/emr-feb-2016-the-stress-of-steaming-delays.pdf
Stress
Large Downloads Induce Delays in Rendering
3s: 53% of Users Abandon Mobile Sites
500ms: 26% Frustration
8% Engagement
100ms: 1% Revenue Walmart & Amazon (Desktop 2001)
4% Mobile Users Throw Their Phones
https://www.doubleclickbygoogle.com/articles/mobile-speed-matters
http://bit.ly/mobileWebStress
http://www.globaldots.com/how-website-speed-affects-conversion-rates/
https://www.mobilejoomla.com/blog/172-responsive-design-vs-server-side-solutions-infographic.html
Images & Video make up 75% of Web Content
HTTPArchive mobile websites 15/02/18
4 Simple Image Optimizations
4 Simple Image Optimizations
1. Quality
2. Format
3. Sizing
4. Lazy Loading
4 Simple Image Optimizations
1. Quality
2. Format
3. Sizing
4. Lazy Loading
4 Simple Image Optimizations
Httparchive.org Webpagetest.org
4 Simple Image Optimizations
1. Quality
2. Format
3. Sizing
4. Lazy Loading
Image Quality
magick -quality 85 riga.jpg riga85.jpg
http://res.cloudinary.com/dougsillars/image/upload/q_85/v1520504964/IMG_20180301_114117_tzasan.jpg
Lighthouse:
Recommends 85% quality on all images
https://developers.google.com/speed/docs/insights/OptimizeImages
100%
3.6 MB
http://res.cloudinary.com/dougsillars/image/upload/v1529005982/IMG_20180614_184507_ssuk1i.jpg
85%
1.87 MB
q_85
http://res.cloudinary.com/dougsillars/image/upload/q_85/v1529005982/IMG_20180614_184507_ssuk1i.jpg
Image Quality Use “In The Wild”
500,000 mobile sites
Analyzed 3/15/18
Image Quality Use “In The Wild”
Median Savings (50th percentile):
• 2.83 seconds faster page load
• 419KB less data
50%
914 KB
q_50
http://res.cloudinary.com/dougsillars/image/upload/q_50/v1529005982/IMG_20180614_184507_ssuk1i.jpg
20%
513 KB
q_20
http://res.cloudinary.com/dougsillars/image/upload/q_20/v1529005982/IMG_20180614_184507_ssuk1i.jpg
Graphing the Results
https://developers.google.com/speed/docs/insights/OptimizeImages
Graphing the Results
https://developers.google.com/speed/docs/insights/OptimizeImages
Automate Quality vs. File Size
• Butteraugli
• SSIM: Structural SIMilarity
https://github.com/technopagan/cjpeg-dssim
cjpeg-dssim jpegoptim riga.jpg
http://res.cloudinary.com/dougsillars/image/upload/q_auto/v1529005982/IMG_20180614_184507_ssuk1i.jpg
SSIM
1.46 MB
http://res.cloudinary.com/dougsillars/image/upload/q_auto/v1529005982/IMG_20180614_184507_ssuk1i.jpg
Graphing the Results
https://developers.google.com/speed/docs/insights/OptimizeImages
Results:
• Test Load on Motorola G4:
4 Simple Image Optimizations
1. Quality
2. Format
3. Sizing
4. Lazy Loading
Image Formats – Average Size
HTTPArchive mobile websites 15/02/18
Image Formats – Average Size
HTTPArchive mobile websites 15/02/18
Scalable Vector Graphics (SVG)
Images drawn as shapes
infinitely scalable
XML - Can be added inline to HTML document
https://gist.github.com/hail2u/2884613?short_path=66a60ff
Scalable Vector Graphics (SVG)
Images drawn as shapes
infinitely scalable
XML - Can be added inline to HTML document
https://gist.github.com/hail2u/2884613?short_path=66a60ff
Scalable Vector Graphics (SVG)
Scalable Vector Graphics (SVG)
Scalable Vector Graphics (SVG)
https://github.com/google/brotli
Image Formats – Average Size
HTTPArchive mobile websites 15/02/18
File Format: WebP
https://caniuse.com/#feat=webp
Notts js fastandbeautiful
Notts js fastandbeautiful
SSIM + WebP
986 KB
http://res.cloudinary.com/dougsillars/image/upload/q_auto,f_auto/v1529005982/IMG_20180614_184507_
File Format: Web
<picture>
<source width = "100%" type="image/webp" srcset=”riga.webp">
<img width = "100%" src=”riga_cjpeg_dssim.jpg"
alt=”Riga, Latvia">
</picture>
Image Format Use “In The Wild”
500,000 mobile sites
Analyzed 3/15/18
Image Format Use “In The Wild”
500,000 mobile sites
Analyzed 3/15/18
4 Simple Image Optimizations
1. Quality
2. Format
3. Sizing
4. Lazy Loading
Image Sizing
-
Image Sizing
Image Sizing
-
Image Sizing
624
832
-
Image Sizing
624
832
12,979,000 pixels
519,000 pixels
_________________
-
12,460,000 pixels
Image Sizing
624
832
12,979,000 pixels
519,000 pixels
_________________
-
12,460,000 pixels
Image Sizing
https://twitter.com/paulcalvano/status/928751141843808256
Image Sizing
-
Responsive Images:
Generate a set of images
25 KB difference in size
Responsive Images
624
832
625,000 pixels
-
106,000 pixels
519,000 pixels
_________________
Responsive Breakpoint Generation
https://github.com/cloudinary/responsive_breakpoints_generator
http://www.responsivebreakpoints.com/
Responsive Images
Responsive Images
Responsive Images
Responsive Images Use “In The Wild”
500,000 mobile sites
Analyzed 3/15/18
Responsive Images Use “In The Wild”
442,000 mobile sites
Analyzed 3/15/18
4 Simple Image Optimizations
1. Quality
2. Format
3. Sizing
4. Lazy Loading
Lazy Load
https://calendar.perfplanet.com/2017/progressive-image-loading-using-intersection-observer-and-sqip/
Lazy Load
https://calendar.perfplanet.com/2017/progressive-image-loading-using-intersection-observer-and-sqip/
Lazy Loading Use “In The Wild”
442,000 mobile sites
Analyzed 3/15/18
Lazy Loading Use “In The Wild”
442,000 mobile sites
Analyzed 3/15/18
Preview Images
Optimizing Content Delivery
Preview Images
https://github.com/technopagan/sqip
Lazy Loading: Experiments
Lazy Loading: Experiments
Lazy Loading: Experiments
Animated GIFs
Original MP4
1.4 MB
Animated GIFs
Animated GIFs
Animated GIF
3.8 MB
270% larger
Animated GIFs
Animated GIFs
MP4: 256 colors
247KB
93% smaller
Animated GIFs
Video Tags:
<video loop autoplay muted playsinline controls = "false” src="goats.mp4”/>
Video is not pre-loaded, will be last to download
Img tags are fast!
<picture>
<source type="video/mp4" srcset=”goats.mp4">
<source type="image/webp" srcset=”goats.webp">
<img src=”goats.gif">
</picture>
https://calendar.perfplanet.com/2017/animated-gif-without-the-gif/
Animated GIFs
Video
75
Video
Buffer Rage: a state of uncontrollable
fury or violent anger induced by delayed
or interrupted streaming video content
http://www.ineoquest.com/press-releases/new-research-reveals-buffer-rage-as-techs-newest-epidemic
Video Quality Metrics
1.Does the Video Start?
2.Does the Video Stall?
3.Does it Look Good?
Video Startup
Conviva creen_Streaming_TV_Census_Report_FINAL.pdf
Q1 2018:
Video Startup
Conviva creen_Streaming_TV_Census_Report_FINAL.pdf
Q1 2018: Video Startup
16.9B total Video plays
400M Fail to Start
2B Abandoned before Start
~800M hours of video
playback lost
Video Startup
Conviva creen_Streaming_TV_Census_Report_FINAL.pdf
Q1 2018: Video Startup
16.9B total Video plays
400M Fail to Start
2B Abandoned before Start
~800M hours of video
playback lost
Video Fails To Start
Video Startup Failure
Video Startup
Conviva creen_Streaming_TV_Census_Report_FINAL.pdf
Q1 2018: Video Startup
16.9B total Video plays
400M Fail to Start
2B Abandoned before Start
Video Startup Delay
After 2 seconds,
every additional
second corresponds
to 5.8% increase in
abandonment
https://www.akamai.com/kr/ko/multimedia/documents/technical-publication/video-stream-quality-impacts-viewer-behavior-inferring-causality-using-quasi-experimental-designs-technical-publication.pdf
Video Startup Delay
https://www.akamai.com/kr/ko/multimedia/documents/technical-publication/video-stream-quality-impacts-viewer-behavior-inferring-causality-using-quasi-experimental-designs-technical-publication.pdf
Preload When It Makes Sense
Ad Playback Video
Download
Preload When It Makes Sense
Ad Playback Video
Download
Preload When It Makes Sense
Ad Playback
Video
Download
..be Careful with Video Preload
Preload = “auto”
…be Careful with Preload
Background Video
Video Background
Video (as Downloaded): 5.3 MB
Video 5 MB
Audio 250 KB 5% of file
Best Practice:
To save bandwidth, remove the audio stream from videos that
are played silently.
Video Background: Mobile
Best Practice:
If Viewport will not support Video…
Don’t Download it
Video Background
Video Background
33.6 MB
27s
2560 x 1226
10 MBPS
Video Background
Best Practice:
Resize Video to reasonable size.
33.6 MB
27s
2560 x 1226
10 MBPS
Video Background
Best Practice:
Resize Video to reasonable size.
PROTIP: Renaming the file is not enough…
Video Resizing
• 1920x1080: 8.1 MB
• 1280x720: 4.3 MB
• 1080x608: 3.3 MB
• 720x405: 1.76 MB
http://res.cloudinary.com/dougsillars/video/upload/vc_auto,w_720/v1533591785/depend_p2ryou.mp4
Video Third Parties
Video Third Parties
Video Third Parties
Video Third Parties
Video Streaming
Manifest File:
List of Available
Streams
Player Chooses a Stream Stream Manifest:
List of Video Segments
Player Downloads
Segments into buffer
Video Plays
Video Plays
Optimizing Video Delivery
Video Streaming
Player can estimate
network throughput
Optimal video Bitrate
HTTPArchive
Mobile: 1.6 MBPS
Desktop 5 MBPS
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8
Video Tracks
Video Tracks (iFrames)
Audio Tracks &
Subtitles
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8
Video Tracks
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8
Optimizing Video Delivery
Video Streaming
Manifest File:
List of Available
Streams
Player selects high
bitrate stream Stream Manifest:
List of Video Segments
Buffer takes a long
time to fill
Video Does Not Play
Player chooses low
bitrate
Buffer Fills Quickly
Video Plays
Video Startup
Conviva creen_Streaming_TV_Census_Report_FINAL.pdf
Q1 2018: Video Startup
Average Video Start Time:
N. America: 4.91s
Asia: 3.00s
Europe: 4.30s
Video Streaming: Startup Time
Low -> High
High => Low
Middle (Goldilocks)
Video Startup
10s 11s 12s 13s 14s 15s 16s 17s
4k Low->High:
4K Middle
(Goldilocks):
4k:High->Low:
Video Startup
4k Low->High:
4K Middle
(Goldilocks):
4k:High->Low:
PROs: CONS:
Fast Startup Initial Quality: Low
Other Connections:
Initial Quality: Low
Very slow startup
Fast Connections:
Initial Quality: High
Initial Quality: Good
Initial Startup: Not
fast, but not slow
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8 Testing with WebPageTest 3G
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8
Testing with WebPageTest 3G
Video Streaming: Manifest File
600k.m3u8
Video Streaming: Manifest File
600k.m3u8
Video Streaming: Manifest File
https://hls.ted.com/talks/2208.m3u8
Conclusion
Optimize Image:
Quality
Format
Sizing
Lazy Load if Possible
Only download Video when displayed
Strip audio if silent
Resize Videos for Mobile
Audit 3rd Party Videos
Streaming: Start with lower bitrates to speed video playback
Streaming: Conservative bitrates *may* reduce stalls, but will lower quality
Images
Video
Summary
Testing:
WebPageTest https://www.webpagetest.org
HttpArchive https://httparchive.org
Images:
ImageMagick https://www.imagemagick.org
SSIM https://github.com/technopagan/cjpeg-dssim
LazySizes https://github.com/aFarkas/lazysizes
Responsive Breakpoints http://www.responsivebreakpoints.com/
Cloudinary https://www.cloudinary.com
Tooling
Conclusion
Images and Video
Can Be Beautiful AND Fast

More Related Content

PPTX
Bordeaux js fastandbeautiful
Doug Sillars
 
PPTX
Mobile era fastandbeautiful
Doug Sillars
 
PPTX
Devoxx be fast and beautiful images
Doug Sillars
 
PPTX
Devfest Siberia Fast and Beautiful Images and Video
Doug Sillars
 
PPTX
Parisjs fastvideoandimages
Doug Sillars
 
PPTX
Beautiful and Fast Images
Doug Sillars
 
PPTX
Waterford fast images
Doug Sillars
 
PPTX
Perf ug fastandbeautiful
Doug Sillars
 
Bordeaux js fastandbeautiful
Doug Sillars
 
Mobile era fastandbeautiful
Doug Sillars
 
Devoxx be fast and beautiful images
Doug Sillars
 
Devfest Siberia Fast and Beautiful Images and Video
Doug Sillars
 
Parisjs fastvideoandimages
Doug Sillars
 
Beautiful and Fast Images
Doug Sillars
 
Waterford fast images
Doug Sillars
 
Perf ug fastandbeautiful
Doug Sillars
 

What's hot (20)

PPTX
Ux connect london_fastandbeautiful
Doug Sillars
 
PPTX
Fast and Beautiful Images and Video
Doug Sillars
 
PPTX
Fast and Beautiful Images: DublinJS
Doug Sillars
 
PPTX
Cork ux Meetup
Doug Sillars
 
PPTX
Imagesandvideo stockholm fastandbeautiful
Doug Sillars
 
PPTX
PyconUK: Fast and Beautiful Images
Doug Sillars
 
POTX
Its timetostopstalling cambridgemot
Doug Sillars
 
PPTX
Fastandbeautiful belfast
Doug Sillars
 
PPTX
Hamburg web perf meetup
Doug Sillars
 
PPTX
Imagesandvideo tallinn
Doug Sillars
 
POTX
Its timetostopstalling londroid
Doug Sillars
 
PPTX
OSCAL: Free and Open Source Tools for Image and Video Performance
Doug Sillars
 
PPTX
Webcamp fastandbeautiful
Doug Sillars
 
PPTX
Cologne webperf
Doug Sillars
 
PDF
Responsive Images and Video
Jason Grigsby
 
POTX
Its timetostopstalling sw_mobile_bristol
Doug Sillars
 
POTX
Mobile web perf Amsterdam Tech Tips
Doug Sillars
 
PDF
Building an Appier Web - May 2016
Andy Davies
 
POTX
Dublin Tech Talks
Doug Sillars
 
POTX
Its timetostopstalling barcelonajs
Doug Sillars
 
Ux connect london_fastandbeautiful
Doug Sillars
 
Fast and Beautiful Images and Video
Doug Sillars
 
Fast and Beautiful Images: DublinJS
Doug Sillars
 
Cork ux Meetup
Doug Sillars
 
Imagesandvideo stockholm fastandbeautiful
Doug Sillars
 
PyconUK: Fast and Beautiful Images
Doug Sillars
 
Its timetostopstalling cambridgemot
Doug Sillars
 
Fastandbeautiful belfast
Doug Sillars
 
Hamburg web perf meetup
Doug Sillars
 
Imagesandvideo tallinn
Doug Sillars
 
Its timetostopstalling londroid
Doug Sillars
 
OSCAL: Free and Open Source Tools for Image and Video Performance
Doug Sillars
 
Webcamp fastandbeautiful
Doug Sillars
 
Cologne webperf
Doug Sillars
 
Responsive Images and Video
Jason Grigsby
 
Its timetostopstalling sw_mobile_bristol
Doug Sillars
 
Mobile web perf Amsterdam Tech Tips
Doug Sillars
 
Building an Appier Web - May 2016
Andy Davies
 
Dublin Tech Talks
Doug Sillars
 
Its timetostopstalling barcelonajs
Doug Sillars
 
Ad

Similar to Notts js fastandbeautiful (14)

PPTX
Fast and Beautiful Images: PyConWeb
Doug Sillars
 
PPTX
Imagesandvideo voxxeddays
Doug Sillars
 
PPTX
Imagesandvideo stockholm webmeetup
Doug Sillars
 
PPTX
Its Time To Stop Stalling: Mobile App and Video Performance
Doug Sillars
 
POTX
Its timetostopstalling limerick
Doug Sillars
 
POTX
Mobile App Performance, Dublin MOT
Doug Sillars
 
PPTX
Its timetostopstalling pentabar
Doug Sillars
 
POTX
Mobile App Performance, Firenze
Doug Sillars
 
POTX
Its timetostopstalling gdg_dublin
Doug Sillars
 
PPTX
Edi react fastandbeautiful
Doug Sillars
 
PPTX
Hackference
Doug Sillars
 
PPTX
Mcr fredfastvideoandimages
Doug Sillars
 
POTX
Its Time To Stop Stalling Bucharest
Doug Sillars
 
PPTX
Fastandbeautiful zagrebtechsauna
Doug Sillars
 
Fast and Beautiful Images: PyConWeb
Doug Sillars
 
Imagesandvideo voxxeddays
Doug Sillars
 
Imagesandvideo stockholm webmeetup
Doug Sillars
 
Its Time To Stop Stalling: Mobile App and Video Performance
Doug Sillars
 
Its timetostopstalling limerick
Doug Sillars
 
Mobile App Performance, Dublin MOT
Doug Sillars
 
Its timetostopstalling pentabar
Doug Sillars
 
Mobile App Performance, Firenze
Doug Sillars
 
Its timetostopstalling gdg_dublin
Doug Sillars
 
Edi react fastandbeautiful
Doug Sillars
 
Hackference
Doug Sillars
 
Mcr fredfastvideoandimages
Doug Sillars
 
Its Time To Stop Stalling Bucharest
Doug Sillars
 
Fastandbeautiful zagrebtechsauna
Doug Sillars
 
Ad

More from Doug Sillars (20)

PPTX
Fastandbeautiful gdg sacremento
Doug Sillars
 
PPTX
Fastandbeautiful gd glittlerock
Doug Sillars
 
PPTX
Fastandbeautiful webinale
Doug Sillars
 
PPTX
Ai powered images-pythonljubjana
Doug Sillars
 
PPTX
Video js zagreb
Doug Sillars
 
PDF
Vkmdp cologne
Doug Sillars
 
PPTX
Ai powered images-gdgtirana
Doug Sillars
 
PPTX
A rt gallery pantalks
Doug Sillars
 
PPTX
Ai powered images-sarajevo
Doug Sillars
 
PPTX
A rt gallery hub387
Doug Sillars
 
PPTX
Ai powered images-zurichpydata
Doug Sillars
 
PPTX
Fastandbeautiful vienna
Doug Sillars
 
PPTX
Ai powered images-opieaivienna
Doug Sillars
 
PPTX
A rt gallery devfestlondon
Doug Sillars
 
PPTX
Fastandbeautiful devfest london
Doug Sillars
 
PPTX
A rt gallery cardiff
Doug Sillars
 
PPTX
Ai powered images-mobileera
Doug Sillars
 
PPTX
Fastandbeautiful oredev
Doug Sillars
 
PPTX
A rt gallery oredev
Doug Sillars
 
PPTX
A rt gallery webcamp-zg
Doug Sillars
 
Fastandbeautiful gdg sacremento
Doug Sillars
 
Fastandbeautiful gd glittlerock
Doug Sillars
 
Fastandbeautiful webinale
Doug Sillars
 
Ai powered images-pythonljubjana
Doug Sillars
 
Video js zagreb
Doug Sillars
 
Vkmdp cologne
Doug Sillars
 
Ai powered images-gdgtirana
Doug Sillars
 
A rt gallery pantalks
Doug Sillars
 
Ai powered images-sarajevo
Doug Sillars
 
A rt gallery hub387
Doug Sillars
 
Ai powered images-zurichpydata
Doug Sillars
 
Fastandbeautiful vienna
Doug Sillars
 
Ai powered images-opieaivienna
Doug Sillars
 
A rt gallery devfestlondon
Doug Sillars
 
Fastandbeautiful devfest london
Doug Sillars
 
A rt gallery cardiff
Doug Sillars
 
Ai powered images-mobileera
Doug Sillars
 
Fastandbeautiful oredev
Doug Sillars
 
A rt gallery oredev
Doug Sillars
 
A rt gallery webcamp-zg
Doug Sillars
 

Recently uploaded (20)

PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Software Development Methodologies in 2025
KodekX
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Doc9.....................................
SofiaCollazos
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
The Future of Artificial Intelligence (AI)
Mukul
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Software Development Methodologies in 2025
KodekX
 

Notts js fastandbeautiful

Editor's Notes

  • #23: 47% smaller!
  • #29: 1149 bytes, 700 Zipped
  • #30: 1149 bytes, 700 Zipped
  • #31: 1149 bytes, 700 Zipped
  • #32: 1149 bytes, 700 Zipped
  • #33: 1149 bytes, 700 Zipped
  • #38: 47% smaller! Or 65% smaller from original!
  • #64: file:///Users/demo/Documents/reponsiveimages.html
  • #91: www.kidzania.com
  • #92: www.kidzania.com
  • #93: www.kidzania.com
  • #94: www.depend.com
  • #95: www.depend.com
  • #96: www.depend.com
  • #97: www.depend.com