Play

Hosts: Jason Kozemczak, Darryl H. Thomas and John Sextro
Special Guest: Dave Bellano @davidbellona
Audio Engineer and Post-Producer: Darryl H. Thomas

Released Friday, November 21, 2014

Tweet Shoutouts

The Discussion

  • WatchKit has been released: we’ll cover this in-depth in a later episode, but let’s discuss initial reactions briefly.
  • Learning to program in Swift from a designer’s perspective
    • Why learn to program? (12 min)
      • Does learning to program help the designer communicate with engineers?
    • What is recommendation for mockups to other designers (18 min)
    • What approach are you taking?
    • Will this knowledge help you understand the trade offs between out of the box UI and custom? (28 min)
    • How do you deal with MVP demands in UI design? (38 min)
      • Key interactions
        • Base level functionality
        • UX
      • Closed loop system
      • Open loop system
    • What has been the most surprising aspect of learning Swift? (44 min)
    • Difference: learning Obj-C vs. Swift (47 min)
    • What pitfalls have you run into, and how have you overcome them?
    • How can we as engineers better communicate in terms a designer will relate to?

 Open-Source Project of the Week

A great open-source resource was my classmates work on Github. We had to submit work using Github and it quickly became a great resource for looking at other classmates’ code. If you search for “CodePath” and filter for Swift on Github, you’ll find many of the designer and engineering assignments for the Swift classes.

Picks

Jason

John 

Darryl 

  • Dash API Docs for iOS
    The API documentation you know and love from OS X is now available as an iOS app. Personally, I don’t find myself searching API docs on mobile devices all that frequently, but I see this as another way to support Bogdan Popescu’s efforts. I use the Mac app all the time.

Dave Bellona 

  • Matthew Sander’s iOS posts on animations, custom segues, and adaptive layouts in Swift. He’s a designer at Us Two, the firm that developed Monument Valley. Great resource for for beginners and intermediate designers who code.
  • Ivo Mynttinen’s iOS Design Guidelines is a solid breakdown of screen resolutions, design elements, and patterns on iOS 8.

Alternative show title suggestions

  • The why
  • Slow code
  • Modal Segue
  • Hidden behind the longpress
  • Farting out apps / Facebook farting out apps
  • Bourbon guy
  • Fix that redundancy
  • Red dots with white circles
  • Thank you Swift
  • Accent grave
  • Accent aigu
  • Obj-C for 2nd graders
Play

Hosts: Jason Kozemczak, Darryl H. Thomas, Chad Etzel and John Sextro
Audio Engineer and Post-Producer: Darryl H. Thomas

Released Friday, November 14, 2014

Tweet Shoutouts

The Discussion

  • TestFlight Beta Testing
    • Getting started
      • Xcode
      • iTunes Connect
    • Inviting Beta Testers
      • Internal vs. External
    • Does this mean that other beta testing services are “Sherlocked”?
      • HockeyApp, etc.
    • Should people using other beta testing tools migrate?
      • Are there advantages to being part of this ecosystem?
      • Are there advantages to staying away from TestFlight?
      • Does TestFlight give you anything special that you can’t get from another service?

 Open-Source Project of the Week

2048, An open source version of the game “2048”

git clone https://github.com/ik/2048.git

Is this damaging to the original developer of the game or does this follow the old adage, “There’s no such thing as bad publicity”

Darryl’s opinion:

  • Article on the “Threes ripped off by 1024, which is in turn ripped off by 2048” “controversy”: 2048’s Massive Popularity Triggers Cloning Controversy – Kotaku
  • At what point does a game define a new genre, which makes cloning inevitable? If game mechanics vary slightly, is that enough of a distinction? (I think so, but there are many who would consider the game mechanics to be every bit as much of the “art” as the game’s content.)

Jason’s opinion:

  • The market usually doesn’t care about fairness. Being an indie developer means running a business. Businesses must always be evolving to “put themselves out of business” or else your competitors or copycats will.

Picks

Jason

 

  • Dave Verwer’s iOS dev weekly
    • Weekly (obviously) curated iOS development videos / articles / stories
    • Sponsored job postings from great companies
    • Available by email (recommended) and the web

John 

  • Armchair – App Review Manager written in Swift for iOS and OS X
    • Similar to UAAppReviewManager and Appirater but 100% Swift, works on iOS and OS X
    • Prompts the user to rate your app only after passing the rules that you have established.
    • Very configurable

Chad 

Darryl 

Alternative show title suggestions

  • Cordial Cherry
  • Dr. Jak
  • Shut up
  • Break my own rule
  • Recused
  • Piecemeal solutions
  • Defining Genre
  • Autorelease pool
  • Leak out
  • Cascading Pool Draining
Play

 

Hosts: Jason Kozemczak, Darryl H. Thomas, Chad Etzel and a little bit of John Sextro
Audio Engineer and Post-Producer: Darryl H. Thomas (@dh_thomas)

Released Friday, October 31, 2014

Tweet Shoutouts

Send us your shoutouts: @iohyespodcast

John is on “special assignment” this week, so we have decided to play for you a previously unreleased discussion we think you all will enjoy.

The Discussion

  • OO Inheritance vs Composition (w/ iOS related examples)
    • The problems of Inheritance in things like UIViewControllers
      • ViewController vs TableViewController split inheritance tree problem
    • Composition
      • What is it? How is it different than Inheritance?
      • Chad’s Twitter Login Helper example
      • Axiom – Prefer composition over inheritance
    • Dependency injection
    • SOLID
      • Single Responsibility principle (SRp)
      • Open closed principle (OCp)
      • Liskov Substitution principle (LSp)
      • Interface Segregation principle (ISp)
      • Dependency inversion principle (DIp), depend on abstraction, not concretions.
    • Advanced User Interfaces with Collection Views – WWDC 2014 Session 232

 Open-Source Project of the Week

Picks

Jason

Chad 

Darryl 

  • Playgrounds for Objective-C – Kryzsztof Zablocki
    Uses the iOS simulator to provide quick prototyping/parameter tweaking similar to Swift Playgrounds (but faster). Includes a demonstration video. Source available on GitHub and as a CocoaPod, if you’re into that kind of thing.

Alternative show title suggestions

  • OO in the dark ages
  • Is-A vs. Has-A
  • Don’t use this in production
  • Late to the composition train
  • Everything implements Rectangle
  • Throw out the baby with the bath water
  • Let’s talk about biology
  • A dog has legs
  • Overclock with Coffee
  • SOLID
  • You’re fired
  • I don’t want you to use Emoji
Play

Hosts: John Sextro, Jason Kozemczak and Adam Axe
Audio Engineer and Post-Producer: Darryl H. Thomas (@dh_thomas)

Released Friday, October 17, 2014

Tweet Shoutouts

Send us your shoutouts: @iohyespodcast

The Discussion

  • Sextro Apologizes to Lastpass
  • What apps are using size classes with great success?
    • Adam’s experience
      • Story boards/XIBs
      • Scaling/Sizing
      • Death to Paper Prototypes
      • Turning IB over to UI Designers
      • Previews
      • Problems with keeping designs in sync
  • Mobile Payments
    • Who are the big players / competitors?
      • Google Wallet, PayPass, PayWave, ISIS (LOL)
    • Technologies
      • NFC
        • Samsung, Motorola, HTC, Nokia, Blackberry, now Apple w/ Apple Pay
      • Secure Enclave and Secure Element – Apple Security Docs, pp 24-29
        • Secure Enclave – Coprocessor on A7
        • Secure Element – Java on the iPhone!??!
      • EMV/JavaCard – EuroPay, Mastercard, Visa, how most CC transactions are made outside of US. Coming to US 2015.
  • Apple Pay

 Open-Source Project of the Week

Apple Pay Stubs from Stripe

Provides a mock payments ViewController (w/ test credit cards, addresses, etc.) for testing  integration with PassKit / Apple Pay.

git clone https://github.com/stripe/ApplePayStubs.git

Android Ink

Picks

John

Jason

Adam 

Alternative show title suggestions

  • Band back together
  • There are no bugs
  • I’m back. I gotta whole new earring.
  • Soft Crash
  • Right now
  • Big PITA
  • Miscommunication abounds
  • A large team, like an 8-person team ;)
  • Philosophical hump
  • Pixel-perfectness
  • Diff with Diff
  • Special Applesauce
  • Super-dork
Play

Hosts: John Sextro, Jason Kozemczak, Chad Etzel and Darryl H. Thomas
Audio Engineer and Post-Producer: Darryl H. Thomas (@dh_thomas)

Released Friday, October 10, 2014

Tweet Shoutouts

NONE

Send us your shoutouts: @iohyespodcast

The Discussion

  • Quick revisit of Widgets and Extensions
    • What “Today view” widgets are you using?
      • Darryl – Transit, Pedometer++. I wish I could move the Tomorrow Summary above 3rd party widgets
      • John – Paste+
      • Jason – Omnifocus, Yahoo News Digest, Duolingo
      • Chad – e*trade
    • What extensions are you using?
      • Darryl – ¯\_(ツ)_/¯
      • Jason – Camera+ photo editing, 1Password Safari extension
      • Chad – 1Password, Transmit
    • What do you still want to see exist?
      • Jason – VSCO CAM photo editing, more 3rd-party 1Password integration
      • Chad – Better YouTube support
  • Metal – Low-overhead GPU access for iOS 8
    • What is Metal?
      • Modern, Thin API for GPU programming (graphics and simd compute)
      • Designed for A7 and newer SoCs (iPhone 5S and newer)
      • Shader/kernel language based on C++11
    • Who should/will use Metal?
      • In-house/roll-your-own 3D engines/frameworks
        • For most folks, using Metal or OpenGL directly is overkill (but fun!)
        • Alternative, higher-level APIs include SceneKit (3D) and SpriteKit (2D), which provide much more than just graphics rendering support, including graph management
      • Third-party 3D engines/frameworks
      • Compute-heavy applications and filters with highly parallelizable work
        • DSP
        • Image filters
        • Protein folding?
        • Note: Swift currently doesn’t support importing C unions or SIMD vector types. Chris Lattner acknowledged this, citing feature prioritization (so it’s reasonable to be hopeful it’s coming in the not-so-distant future). In the meantime, if you need to work with SIMD, you may want to stick with Objective-C when using Metal.
    • Practical differences between Metal and OpenGL ES
      • In Metal, command buffers are exposed, giving control over when the commands are sent to the GPU to the application and putting the onus of asynchronous framing on the application
      • Most state is stored in immutable state objects that are created at setup, not in each draw cycle, allowing for quick state change that doesn’t require expensive recompilation of shaders/validation
      • Streamlined API. OpenGL provides many ways to do (effectively) the same task largely due to its evolution. Metal sheds many of the legacy techniques.
      • Metal provides direct access to the A7’s shared memory. Thread safety/synchronization is the responsibility of the app.
    • Additional resources

Open-Source Project of the Week

ScrimpyCat’s Metal Examples

There are surprisingly few open source projects using Metal so far, but here’s a repo with some sample code illustrating the use of basic Metal APIs and shaders.

git clone https://github.com/ScrimpyCat/Metal-Examples.git

Picks

John

  • Razer Tartarus a game controller repurposed (note: I’m actually using an older version called the Nostromo N52)

Darryl

  • Mike Ash: Swift and C
    Swift provides rich facilities for OO and functional programming, but it also allows extensive bridging to C APIs. Learn all about how to call C functions, work with “unsafe” pointers, manage memory, and more.

Chad

Jason

  • UX Companion iOS app
    A glossary of user experience terms, with links on how to apply and learn more about each topic. Basically, a phrase book for speaking to designers that you work with.

Alternative show title suggestions

  • You are ruining his segue
  • The patron saint of brown-nosers
  • Sudo OCD
  • Drunk Darryl
  • Are you learning English?
  • Emoticon for shrugging shoulders
  • Too old a man
  • Long story short
  • Boy have they
  • Sure
  • Are you using the knob at all?
  • That’s a lot of letters
Play

Hosts: John Sextro, Jason Kozemczak, Chad Etzel and Darryl H. Thomas
Audio Engineer and Post-Producer: Darryl H. Thomas (@dh_thomas)

Released Friday, October 3, 2014

Tweet Shoutouts

Send us your shoutouts: @iohyespodcast

The Discussion

Open-Source Project of the Week

Picks

John

Darryl

  • Oyster – Your Regex IDE
    Oyster helps you interactively build and test regular expressions, storing each “pearl” in an easy to access library.

Chad

  • CAEmitterLayer reference
  • CAEmitterCell reference

Jason

  • Functional Programming in Swift from objc.io folks out now
    • eBook ($39) and paperback ($59) available
    • Paperbook + eBook available for $69
    • includes playgrounds / spreadsheet sample project

Alternative show title suggestions

  • Its a trap
  • Fairness more than transparency
  • Opaque is the same as black
  • Go Indie
  • Not entirely true
  • Evangelists
  • Evangelists, They exist
  • They exist
  • Poke the bear
  • Launch into Obscurity
  • Trusted ecosystem
  • I want a unicorn
  • That’s why they need the spaceship
  • I really dig it
Play

Hosts: Darryl H. Thomas and John Sextro
Audio Engineer and Post-Producer: Darryl H. Thomas (@dh_thomas)

Released Friday, September 26, 2014

Tweet Shoutouts

Send us your shoutouts: @iohyespodcast

The Discussion

  • Getting Hired
    • Getting a foot in the door
      • Networking
        • IRL
          • Family
          • Friends
          • Former Co-workers
        • Online
          • Twitter
          • Facebook
          • LinkedIn
          • IRC
      • Local events, meetups, hack nights
      • Alumni
      • Open Source
      • Consulting, contracting and freelance
    • Interviewing
      • Your resume
        • Length
        • Content
        • Detail
        • Cover letter
        • References
      • How to dress
        • Socks are optional
      • Stretching the truth
        • John says go for it, but stay within bounds.
        • Darryl says don’t do it!! Honesty is the best policy. Instead, demonstrate/document your ability to learn quickly.

Open-Source Project of the Week

Picks

Darryl (@dh_thomas)

John (@johnsextro)

Alternative show title suggestions

  • Socks Are Optional
  • Wear a Tuxedo
  • All the Gold Things
Play

Hosts: Chad Etzel, Jason Kozemczak and John Sextro
Audio Engineer and Post-Producer: Darryl Thomas (@dh_thomas)

Released Friday, September 19, 2014

Tweet Shoutouts

Send us your shoutouts: @iohyespodcast

The Discussion

Picks

Chad (@jazzychad)

Jason (@jak)

  • Vangogh – “Vangogh is an iOS library for testing how well an application works for people with various kinds of color vision deficiencies.”

John (@johnsextro)

Frustrated by Evernote’s lack of support for Markdown, I’m evolving my note taking and writing workflow.  It’s currently a work in progress, so I’ll provide future updates here as it evolves.

Alternative show title suggestions

  • Reachability confusion
  • Reachability disambiguation
  • I don’t feel bad
  • That’s why they make chocolate and vanilla
  • Does that make it better?
  • We all know how the sausage is made
  • It’s probably a Core Data issue
  • Skinning a cat with long-lived branches
  • Make rows
  • Feature Drivers
  • Project Starbuck
  • [[9C858B84-0732-4652-952C-8AD2D537AB0 alloc] init]
  • #If and #Elses
  • Everything is made of spit and duct tape
  • I’m not a maven on AirBNB
  • Why not just throw it away
  • Burning it down with fire
  • Negative lines of code
  • John2005
  • Future John
  • Sometimes it’s good to start fresh
  • Straight to mah bukket
  • Eye opening
  • Sure
Play

Hosts: Chad Etzel, Jason Kozemczak, John Sextro and Darryl Thomas
Audio Engineer and Post-Producer: Darryl Thomas (@dh_thomas)

Released Friday, September 12, 2014

Tweet Shoutouts

Send us your shoutouts: @iohyespodcast

The Discussion

  • iPhone 6 (4.7”) and iPhone 6 Plus (5.5”)
    JNCO Jeans

    JNCO Jeans

    • Retina HD
      • 326ppi @ 1334×750 (compare to iPhone 5: 1136×640, same ppi)
      • 401ppi @ 1920×1080
      • Apps that have not been updated for adaptive layout are scaled up
    • Dual domain pixels – accurate colors at wider angles of view
    • Plus has 185% more pixels than 5s
      • Does the Plus have the GPU horsepower to drive this, or are we in the same situation as the first Retina iPad?
      • We’re probably in good shape: the 5s has oodles of GPU to spare, and the A8 has up to 50% greater performance, according to Apple.
      • Screen not all that different from an iPad Air, which had an A7 in it
      • Relevant: http://www.anandtech.com/show/8514/analyzing-apples-a8-soc-gx6650-more
    • Very thin, but at the cost of a protruding camera.  They both have a bump?
    • What do you get with a ridiculously large phone?
      • Need a pair of JNCO Jeans to fit the 6 Plus in your pocket
      • Plus leverages adaptive layout to provide “regular” size-class content when in landscape. (Referred to as 2-up in the keynote)
      • Expanded keyboard in landscape: Cut, copy, paste, etc
      • Springboard supports landscape
      • Sleep/wake button moves to the side
      • Reachability slides the top of the screen down so you can reach it.
        • Is this a necessary concession of ridiculous phone size?
        • Will we see the iPad adopt this?
    • A8 SoC
      • 2 billion transistors (up from 1 billion)
      • 20-nanometer process
      • 13% smaller than A7
      • Looks like the performance gain curve may be beginning to flatten (but we need more data)
      • …but maybe it’s a conscious trade-off to gain 50% greater energy efficiency??
    • Obligatory game demo
    • M8 Motion Coprocessor
      • Adds a barometer for relative elevation
      • Can estimate distance
    • Carrier Aggregation for faster LTE
    • Voice Over LTE (VoLTE) – Simultaneous voice and data
    • WiFi Calling (T-Mobile & EE for now)
    • Better camera (Surprise!!!!) and better processing
      • Pretty significant improvements. Too many to enumerate
      • Plus supports optical image stabilization
  • Apple Pay
    • $12B/year in cc/debit transactions in the U.S.
    • Contrived video showing how difficult using a card is
      • She even fumbled while removing her card from its sleeve
      • Is paying with a card really so inconvenient
    • Followed by a video showing how easy Apple Pay is
    • “Secure Element” chip stores device-specific payment info on the device
      • Credit card number is not stored
    • Single-use payment numbers and dynamic security codes for each transaction!
      • Darryl has wanted this to be the standard for quite a while (Tweets from 2011)
    • Apple does not collect transaction details
    • Developer APIs available via PassKit (Getting started with Apple Pay PDF)
    • Nick Arnott (@noir): 9/10/14, 7:11 AM 220,000 locations sounds like a lot until you realize that’s out of roughly 14.26 million credit card terminals in the US. Long way to go.
    • Very clear write-up by Nick Arnott on iMore: Apple Pay and security: What you need to know
  • Apple Watch (One more thing…)
    • Starts at $350, iPhone required – This is definitely an accessory item
    • Flexible Retina display – single-crystal-thick sapphire
      • Touch- and force-sensitive
    • Gyroscope and accelerometer built in, but location relies on phone, so you’ll still need to bring it with you when you exercise
    • Really interesting input/navigation
    • “Glances” mini-widgets
    • LOLling at the zoomed-out photo collection view
    • Was Yo on to something? Apple seems to think so, given their “communicate with taps” feature
    • Is this watch thin enough?
    • Apple has always limited its product lines to simplify purchase decisions. Is this lineup too broad?
    • Why the emphasis on +/- 50ms accuracy?
    • WatchKit (No link available yet)
      • Actionable notifications
      • Apps
      • Glances

Picks

Chad (@jazzychad)

Darryl (@dh_thomas)

 Jason (@jak)

John (@johnsextro)

Alternative show title suggestions

  • Bigger Than a Pop Tart
  • You’ve got your damn phablet now. I hope you’re happy.
  • Ridiculous
  • JNCO Jeans
  • iPad Mini, Mini
  • I cried the whole rest of the day
  • You’ve made a bad choice, John
  • You’re fired
  • They both have a bump?
  • So contrived
  • Somewhat mentally deficient
  • Seems like a non-brainer
  • Yo was on to something
  • Send my heartbeat to chad
  • Time you get out of the thing
  • Balked out loud
Play

Hosts: Chad Etzel, Jason Kozemczak, John Sextro and Darryl Thomas
Audio Engineer and Post-Producer: Darryl Thomas (@dh_thomas)

Released Friday, September 5, 2014

Tweet Shoutouts

Send us your shoutouts: @iohyespodcast

The Discussion

  • Extensions
    • What are they
      • Turns out…”Extensions” is not a single concept.  Multiple flavors known as extension points.
      • App Extension lets you extend custom functionality and content beyond your app and make it available to users while they’re using other apps.
      • App Extensions are a separate binary that runs independent of your app.
    • Extensions Points
      • Today – interact with the “Today” view of notification center
      • Share – Post to sharing website (twitter) or share content with others
      • Action – manipulate or view content within the context of another app
      • Photo Editing – edit a photo with Photos app
      • Finder (OS X only) won’t discuss
      • Document Provider – manager files
      • Custom Keyboard – replace custom keyboard
        • Apple is really stressing “Trust” as a key when creating a custom keyboard.  Your users are giving you access to everything they type including passwords and other sensitive data.
    • App extension must exactly match one of the types of extensions.  You can’t create a generic extension that matches more than one extension points.
    • What can’t they do
      • Access a sharedApplication object
      • Use any API marked in header files with the NS_EXTENSION_UNAVAILABLE macro
      • Access camera or mic
      • Perform background tasks
      • Receive data via AirDrop
    • Distribution
      • App Extensions must be delivered via a Containing App on iOS.
    • Common Needs
      • Sharing data with containing app requires special considerations.  Need to use a share container.  Watch out for data corruption/
      • Deploying to older version of iOS
        • Need to take advantage of conditional linking
        • Use dlopen command if systemVersion return iOS 8.0 or later

Open-Source project of the week

  • https://github.com/ioscreator/ioscreator
    • Contains tons, and I do mean tons, of code samples for doing just about everything under the sun on iOS.
    • Great for someone looking to try something new or for those just getting started with iOS development.

Picks

Chad (@jazzychad)

Darryl (@dh_thomas)

  • Synalyze It!
    • Synalyze It! allows you to create a grammar for your binary files interactively (or you can download shared grammars for common file formats). Unlike in regular hex editors or viewers the files are interpreted automatically for you. Additionally Synalyze It! is a full-featured Hex Editor for Mac OS X allowing you to edit files of unlimited size and interpret the bytes with dozens of text encodings.

 

Jason (@jak)

John (@johnsextro)

Alternative show title suggestions

  • Touch the User
  • Hope for the best while expecting the worst
  • Get the eyeballs
  • Beigher
  • Hole 287
  • Zen and the art of golfing
  • Hone assembly skills
  • Hex editor on speed
  • I wanna go lower level
  • I don’t get anything done
  • You had ONE job
  • Put a bird on it apps