iOhYes Retired

iOhYes

A podcast by iOS developers for iOS developers, delivering news, tips, and rants for professional iOS/Mac developers, with something for enterprise and indie developers alike.

Hosted by Darryl Thomas and John Sextro.



← Previous Episode   |   Next Episode →

86: One Format to Rule Them All

September 30, 2015 at 10:00AM • 1 hour 2 minutes • Wiki Entry

Tweet Shoutouts

Discussion

  • Live Photos - Combo of JPEG and MOV
    • JPEG
      • around 2.5 MB
      • 12 MP
      • 95% quality
    • MOV
      • around 2 MB
      • 720p
      • 12 FPS (up to 15 FPS?)
      • 1.5 secs before and after JPG
      • h.264 encoded
  • Formats
    • Bitmap
      • Decoded in memory representation
      • 4 bytes per pixel (even when no alpha) - on iOS at least
      • 1920x1080 - 8,294,400 bytes (~8MB)
    • Lossless vs Lossy
    • PNG (Portable Network Graphics)
      • lossless (can have alpha)
      • Will be ~3.5MB (naive compression can be poor but tools like PNG Crush can help)
    • JPEG (Joint Photographic Experts Group)
      • lossy (no alpha)
      • ~1.1MB at 95% quality and ~650KB at 85% quality
      • Hardware decoding support
        • How Apple quality vs ImageMagick interpreted quality
          • 0.830 == 95%
          • 0.575 == 85%
          • 0.465 == 75%
          • 0.400 == 65%
    • WebP
      • lossy (no alpha) or lossless (alpha)
      • ~850KB at 95% quality and ~500KB at 85% quality
      • ~2.6MB lossless
      • limited support
    • JPEG–2000
      • lossy (no alpha) or lossless (alpha)
      • over engineered (one format for all use cases) - complex
      • ~800KB at 95% quality and ~650KB at 85% quality
      • limited support
    • Progressive JPEG
      • ~10% smaller than JPEG (~1MB at 95% and ~550KB at 85%)
      • Using ImageIO you can get things to load progressively (iOS 8+ only)
      • Hardware decoding support
      • ~25% to first scan
    • Progressive JPEG–2000
      • Same size as non-progressive
      • 5 different “progressive modes” - again complex
      • Only RPCL and RLCP modes will work with ImageIO on Apple OSes, super fragile too (but it works)
      • ~25% to first full frame
    • PVRTC
    • Other texture graphics
    • SVG (scalable vector graphics)
      • Resolution independent
    • GIF (Graphics Interchange Format)
      • Uses a palette of 256 predefined colors, limiting quality
    • APNG (Animated PNG)
      • Can get very large very fast

Picks

Darryl

John

Nolan

Alternative show title suggestions

  • Heft of images
  • No silver bullets
  • I’m lazy
  • A billion people on the Internet
  • 0 to 255 of transparency
  • J-FIF
  • Make informed defaults
  • (When you) do do WebP
  • lawyers, no thank you
  • brother’s babies
  • The GOVERNMENT!

This episode of iOhYes is brought to you by Braintree. Thanks to Braintree for supporting iOhYes and 5by5. Check them out at braintreepayments.com/yes