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!