86: One Format to Rule Them All
from iOhYes Hosted by Darryl Thomas & John Sextro
Tweet Shoutouts @iOhYesPodcast Sorry, I lied last week. As a dev & listener I like longer podcasts & rants b/c I learn so much! btw, first name -> Frank— BaraLabs, LLC (@BaraLabs) September 23, 2015 @jazzychad @iOhYesPodcast sounds like you wanted to embed a tableViewController in your tvOS storyboard, give that a try— Ashton Williams (@AshtonDev) September 23, 2015 @jazzychad @iOhYesPodcast it’s the road to awesome! Let’s you adjust the frame (of the whole tvc) and still use static cells— Ashton Williams (@AshtonDev) September 23, 2015 @jazzychad @iOhYesPodcast about overscan, you still want an edge to edge UI just make sure content in within. Insets and custom views/cells— Ashton Williams (@AshtonDev) September 23, 2015 @iOhYesPodcast my handle is pronounced “mo+ka+jo” ?? That’s due to the italian way of say “gio” that sounds like “jo”— You can call me Joe (@mokagio) September 23, 2015 Yeah, you can disable lowercase letters on iOS 9 keyboard. Thanks for the tip @iOhYesPodcast— Marián ?erný (@mariancerny) September 24, 2015 @iOhYesPodcast Late listener but about extensions: they are only syntactic sugar for external functions operating on a type, so it's ok :)— PorstUndGargel (@PorstUndGargel) September 27, 2015 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 Building Push-Triggered Sync - OmniGroup Dev Blog Part 1 - Building Push-Triggered Sync, Part One: Choosing a Language Part 2 - Building Push-Triggered Sync, Part Two: First Steps Part 3 - Building Push-Triggered Sync, Part III: Connecting to APNs John LiveCoding.tv Nolan LivePhotoDemo APNGKit SwiftSVG ImageMagick iOS 9 Adoption Rate Twitter Dealing with Unreliable Networks - fixed URL from last week Shackleton Shackleton Whisky Pappy Van Winkle - $1000+ per bottle 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!
Embed this episode
No transcript yet.