iPhreaks: Recent Episodes

Charles M Wood

Our podcast about building mobile applications for iOS devices, Macs, and Apple TV using Swift and Objective C.

View Details

Chuck dives into the 3 essentials for getting the next successful outcome you want in your career. Whether that's something simple like a raise or something more complex like going freelance, you can achieve it by working on 3 main areas.

First, building skills. The most obvious type of skills you'll need is technical skills. However, don't neglect your people skills and your organizational skills as well since you're often paid for how you work with people and enhance their work and how you put your work together in the most efficient ways.

Second, building relationships. Often other people will be able to help you find the opportunities or will be the ones to make the decisions that impact your ability to get the outcome you want. Having good relationships is key to having good outcomes.

Third, building recognition. Being known for being valuable in important ways allows you to leverage the skills you have to build better relationships and create opportunities to get what you need to get the outcomes you want by giving people what they want. A podcast is a great way to do all three. Chuck explains exactly how that works in this podcast and goes deeper as part of the Dev Influencers Accelerator.

Panel

  • Charles Max Wood

View Details

Chuck explains what he taught Nathan last week when we asked how to get hired at a FANG (Facebook Apple/Amazon Netflix Google) company. Essentially, it boils down to how to build the skills and knowledge needed to pass the interview. How to build the relationships to get into the door and have the interviewer want you to succeed. And how to build the reputation that has the company wanting you regardless of the outcome.

This approach also works for speaking at conferences, selling courses, and other outcomes as well as it's the core of building a successful career as an influencer.

Panel

  • Charles Max Wood

View Details

Chuck was on a strategic call with one of his potential coaching clients talking about cryptocurrencies and realized that this is one of the major reasons that people want to become influencers. Or, rather, that many people aspire to make a difference and/or make money and the best way to do that is to become the person people go to for what you do.

So, how do you become the first person people think of when they think of that thing you know how to do? Let Chuck tell you.

Panel

  • Charles Max Wood

View Details

Charles talks about the things that get developers stuck when they're trying to start their podcast or other influencer channel. He explains how to get around having those things hamper your journey.

Panel

  • Charles Max Wood

View Details

Charles Max Wood talks about how to build, grow, and benefit from positive relationships within programming. He talks about how he's built genuine positive relationships with hundreds of programmers and how he and others have grown from those relationships. He also explains that you get out of relationships what you put into them. Finally, he goes into how to begin to build relationships by building a system of influence you can use on behalf of the people you want relationships with.

Panel

  • Charles Max Wood

View Details

Charles Max Wood discusses several opportunities that came his way early in his podcasting career and other opportunities that have come to other people after only a couple of podcast episodes. He explains why that happens and how you can use this to create more influence as a developer.

Panel

  • Charles Max Wood

View Details

Charles Max Wood started podcasting because it sounded fun and because he wanted to talk about technology. He learned pretty quickly that it got him access to people who understood the things he wanted to learn. The reasons changed over the years, as Charles explains before he talks about the big payoff he gets now from doing the podcasts.

Panel

  • Charles Max Wood

View Details

Jason Weimann started out as an enthusiast of the Massively Multiplayer Online Role Playing Game, Everquest. After becoming a software developer and building a collaborative community playing the game, learn how he used his connections to get a job working for the company that made the game, even if it wasn't a job working as a game developer and how that led to a career working on one of the most popular online games of the time.

Panel

  • Charles Max Wood

View Details

Chuck outlines how he's used his podcasts to find mentors to continue his learning journey over 12 years of podcasting. Some mentors have been long lived relationships while others have lasted only a few months or even days. This episode shares Chuck's experience learning from the top people in the development community as a programmer and podcaster.

Panel

  • Charles Max Wood

View Details

John-Daniel Trask, founder and CEO of Raygun, talks about his experience building a monitoring company and about how to measure the speed and quality of your code.

View Details

John-Daniel Trask, founder and CEO of Raygun, talks about his experience building a monitoring company and about how to measure the speed and quality of your code.

View Details

Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE (Coupon Code: GOALS for a massive discount)

Mani Vaya joins Charles Max Wood to walk him through the 6 pillars of success that lead to meeting your goals.

Mani has read thousands of books on success, setting and achieving goals, and personal growth and has distilled these 6 principles from the books and then figured out how to put them into practice.

He and Chuck walk through the principles and strategies that create success and allow you to set goals that will bring you the things you want during the next year or so.

Listen to this episode to learn how to crush your biggest goals in 2021.

Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE (Coupon Code: GOALS for a massive discount)

View Details

Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE (Coupon Code: GOALS for a massive discount)

Mani Vaya joins Charles Max Wood to walk him through the 6 pillars of success that lead to meeting your goals.

Mani has read thousands of books on success, setting and achieving goals, and personal growth and has distilled these 6 principles from the books and then figured out how to put them into practice.

He and Chuck walk through the principles and strategies that create success and allow you to set goals that will bring you the things you want during the next year or so.

Listen to this episode to learn how to crush your biggest goals in 2021.

Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE (Coupon Code: GOALS for a massive discount)

View Details

Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal Coupon Code: "DEEP" for a GIANT discount

Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.

He has read hundreds of books that have taught him the secrets to getting more done by getting into this state.

He starts by telling us how he was passed over for a promotion at Qualcomm in favor of someone younger and less experienced and how that inspired him to figure out what the other guy was doing differently. He learned that he needed to get more done with the time he was spending on his projects.

The trick? Deep Work!

Deep Work is the ability to spend uninterrupted, focused time on a task to bend your entire mind toward the goal.

Other developers call it "Flow" or "the Zone."

Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.

Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal Coupon Code: "DEEP" for a GIANT discount

View Details

In this episode of the iPhreaks Show, Steve and Alex chat with Rew Islam who manages the Apple and Android engineers at Dashlane. He shares how tech debt affects developer recruitment, how collaborating with their competitors led to new features, and how Dashlane is maximizing Testflight for product improvements.

Sponsors * Audible.com * CacheFly

Panel * Steve Young * Alex Lundquist

Guest * Rew Islam

Picks Steve Young::

  • https://store.steampowered.com/app/945360/Among_Us/

Rew Islam:

  • www.prodigygame.com

Follow iPhreaks Show on Twitter > @iphreaks

View Details

In this episode of the iPhreaks Show, Azam and Chuck sit down and talk about the Reactive programming patterns and MVVM that go into building applications using SwiftUI in ways that allow the applications to be responsive, easy to test, and to grow. The discussion ranges through RxSwift and Combine to MVVM patterns that SwiftUI leads to and some of the pitfalls that you might run into using them.

Sponsors * Audible.com * CacheFly

Panel * Charles Max Wood

Guest * Mohammad Azam

Links * https://github.com/ReactiveX/RxSwift * https://developer.apple.com/documentation/combine * https://azamsharp.com/viewmodel-patternshttps://github.com/ReSwift/ReSwift

Picks Charles Max Wood:

  • Overview of Docker Compose
  • Adventures in Machine Learning podcast

Mohammad Azam:

  • Upstream: The Quest to Solve Problems Before They Happen, by Dan Heath

Follow iPhreaks Show on Twitter > @iphreaks

View Details

In this episode of the iPhreaks Show, Alex Bush talks to Tom Hammond about game app monetization and live ops in mobile gaming. They cover different ways to monetize your game and complexities of showing popups, surveys, and other live in-game events to players.

Sponsors * Audible.com * CacheFly

Panel * Alex Bush

Guest * Tom Hammond

Links * Podcast – The Monetization Minute * Roast my app – free advice for apps * https://www.linkedin.com/in/tom-hammond/ * https://www.theoremreach.com/

Picks Alex Bush:

  • Lean Analytics
  • The Mom Test

Tom Hammond:

  • Thinking Fast and Slow
  • Influence

Follow iPhreaks Show on Twitter > @iphreaks

View Details

In this episode of the iPhreaks Show, Alex talks to Curtis Herbert about challenges building your own indie iOS app. They talk about technical decisions, business priorities, and benefits and disadvantages of sticking with Apple technologies.

Sponsors * Audible.com * CacheFly

Panel * Alex Bush

Guest * Curtis Herbert

Links * https://simgenie.app * https://getslopes.com * blog.curtisherbert.com/tag/slopes-diaries * https://independence.fm * https://curtisherbert.com * https://simgenie.app

Picks Alex Bush:

  • Profit First by Mike Michalowicz
  • Clockwork by Mike Michalowicz

Curtis Herbert:

  • LEGO® Pirates of Barracuda Bay
  • Follow Curtis on Twitter > @parrots

Follow iPhreaks Show on Twitter > @iphreaks

View Details

In this episode of the iPhreaks Show, the panel discusses iOS and other development books that are great resources to help during the course of the iOS developers’ journey.

Sponsor * CacheFly

Panel * Alex Bush * Charles Wood

Links * iOS Programming: The Big Nerd Ranch Guide * Cocoa Design Patterns * Pragmatic Programmer * Soft Skills * Complete Software Developer’s Career Guide * MaxCoder’s Guid to Finding Your Dream Developer Job * Refactoring * Working Effectively with Legacy Code * Clean Code * Design Patterns * Clean Architecture * Structure and Interpretation of Computer Programs * Growing Object Oriented Programming, Guided by Tests * Reactive Programming with RxJS * Practical Object-Oriented Design Using Ruby * Test Driven Development by Example * SmallTalk Best Practice Patterns * Extreme Programming Explained

Picks Alex Bush:

  • Robert Heinlein, Author

Charles Wood:

  • Breath of the Wild
  • The Church of Jesus Christ of Latter-day Saints

Follow iPhreaks Show on Twitter > @iphreaks

View Details

In this episode of the iPhreaks Show, Charles talks to Alex Bush about iOS interview questions and how to navigate the challenging job market. They go over an article Alex wrote that systematizes and summarizes commonly asked iOS interview questions.

Sponsor * CacheFly

Panel * Alex Bush * Charles Max Wood

Links * iOS Interview Questions for Senior Developers in 2020 * https://github.com/Alamofire/Alamofire * Architecting iOS Apps with VIPER By Jeff Gilbert and Conrad Stoll * https://github.com/uber/RIBs * The Clean Architecture by Robert C. Martin (Uncle Bob) * Clean Architecture book

Picks Alex Bush:

  • Time Enough for Love
  • System Design Interview: Get iOS Jobs At Big Companies

Follow iPhreaks Show on Twitter > @iphreaks

View Details

Testing your iOS apps can be tricky. It's even trickier when you need to make sure that your non-technical folks to verify that your applications behave as they should. Azam shares his expertise in testing your applications using Behavior Driven Development techniques and how to write specifications in plain English that can be read and understood by non-technical people and can be executed by computers to verify that the behavior matches up.

Panelists

  • Alex Bush

Guest

  • Mohammad Azam

Sponsors

  • CacheFly

Picks

Alex Bush:

  • WWDC for macOS

Mohammad Azam:

  • Mark of the Beast

Follow iPhreaks on Twitter: @iphreaks

View Details

iOS Dev Remote Conf 2020

Donny Wals works for Disney on the systems that run Disney+ and other systems. He jumps on the podcast to talk about Combine. Combine is a functional reactive programming library provided by Apple. It's similar to RxSwift. It's functionality focused instead of UI focused. He can be used to handle API responses and things like that to push changes through the system.

Panelists

  • Charles Max Wood
  • Soojin Ro

Guest

  • Donny Wals

Sponsors

  • CacheFly

Picks

Soojin Ro:

  • objc Functional Swift

Donny Wals:

  • Understanding Swift

Follow iPhreaks on Twitter: @iphreaks

View Details

iOS Dev Remote Conf 2020

Steve Young is an ASO and App Promotion expert. He walks Chuck and Soojin through the process of finding applications that will make you millions of dollars by competing in spaces where others are making millions of dollars. He also shows the panelists how to make your apps appear higher in the app store.

Panelists * Charles Max Wood * Soojin Ro

Guest * Steve Young

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

Links * App Annie * SensorTower

Picks Charles Max Wood:

  • Get Outside!
  • Upper Deck Legendary

Soojin Ro:

  • Slow Burpee

Steve Young:

  • Intermittent Fasting

Follow iPhreaks on Twitter: @iphreaks

View Details

iOS Dev Remote Conf 2020

Guest, Alex Lundquist joins this episode of the iPhreaks Show to walk us through his experience with iOS bootcamp. He went into how he was laid off from his job and the rigorous pursuit of landing another job in his field of IT. This episode is truly inspirational especially in a time when so many developers, IT techs etc are at a crossroads in their career.

Panelists * Charles Max Wood

Guest * Alex Lundquist

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

Links * DevMountain * bluehost * Bottega * Lambda * LinkedIn Alex Lundquist

Picks Charles Max Wood:

  • http://www.russellbrunsonclickfunnels.com/

Alex Lundquist:

  • Hacking with Swift
  • Ray Wenderlich
  • How to ace a take home test - Sean Allen on Swiftly Speaking

Follow iPhreaks on Twitter: @iphreaks

View Details

iOS Dev Remote Conf 2020

Soojin and Alex are joined by Luis Ascorbe who talks about his experience splitting a large monolith codebase into modules. They talk about general approach and specific tactics.

Panelists * Soojin Ro * Alex Bush

Guest * Luis Ascorbe

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

Links * cocoaconferences.com

Picks Soojin Ro:

  • Billions

Alex Bush:

  • Soft Skills

Luis Ascorbe:

  • ZeroZeroZero
  • Objectified
  • How to Win Friends & Influence People

Follow iPhreaks on Twitter: @iphreaks

View Details

iOS Dev Remote Conf 2020

Douglas Hill and Charles Max Wood discuss keyboard control with UIKit apps. Mac Catalyst came out and made keyboard relevant on Mac where UIKit was mostly focused on iOS before. The discussion goes into the ins and outs of Mac Catalyst, the new iPad with its keyboard, and then how to think about keyboard inputs if you're used to working on touch screen devices.

Panelists * Charles Max Wood

Guest * Douglas Hill

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

Links * GitHub douglashill/KeyboardKit * Twitter Douglas Hill: @qdoug

Picks Charles Max Wood:

  • Prodigal Son
  • Devchat Meetups
  • Devchat Conferences

Douglas Hill:

  • Standard Ebooks

Follow iPhreaks on Twitter: @iphreaks

View Details

iOS Dev Remote Conf 2020 Alex Bush is joined by Marc Aupont who talks about running Swift on Raspberry PI. They talk about how conceptually development for Raspberry PI happens and how specifically it’s implemented with Swift. They also talk about the setup and how to get started developing for Raspberry PI using Swift.

Panelists * Alex Bush

Guest * Marc Aupont

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links * GitHub uraimo/SwiftyGPIO * Lickability

Picks Marc Aupont:

  • Ozark

Alex Bush:

  • Around the World in 80 Days

Follow iPhreaks on Twitter: @iphreaks

View Details

iOS Dev Remote Conf 2020 Given the current state of the world, we've been put into a position where things have lost jobs or lost in other areas of life. The panel discusses how to make the most of things when hard things come your way.

Panelists * Soojin Ro * Alex Bush * Charles Max Wood

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links * Course Creator Pro * How To Write & Launch Your Book To $10,000 in 90 Days * The MaxCoders Guide To Finding Your Dream Developer Job * Authority * Corona Dev Jobs * Remote: Office Not Required * Hackernoon

Picks Soojin Ro:

  • Apple Store Monument Valley 2
  • Google Play Monument Valley 2

Alex Bush:

  • Stellaris

Charles Max Wood:

  • RRU 104: How to Start a Side Hustle as a Programmer with Mani Vaya
  • https://devchat.tv/hustle use Promo Code: HUSTLE

Follow iPhreaks on Twitter: @iphreaks

View Details

Esteban Torres is an iOS developer at SoundCloud. He walks the iPhreaks through the process of upgrading the performance of their iOS app. Their app started out taking 2 hours to launch when they were testing. They started out fixing their tracking and then worked on one improvement at a time.

Panelists * Alex Bush * Charles Max Wood

Guest * Esteban Torres

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links * This is Esteban Torres * Pedal to the Metal - iOS Conf SG 2019 * Esteban Torres Twitter: @esttorhe * GitHub Esteban Torres

Picks Alex Bush:

  • Starship Troopers Book

Charles Max Wood:

  • Devchat Conferences
  • Devchat Meetups

Esteban Torres:

  • Audiobooks!

Follow iPhreaks on Twitter: @iphreaks

View Details

In this episode of the iPhreaks Show, Charles Max Wood approaches Alex Bush to get questions answered about some of the applications he wants to build for mobile devices. The apps range from things for podcasters to other hobbies Chuck has.

Panelists * Alex Bush * Charles Max Wood

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Picks Alex Bush:

  • Simple

Charles Max Wood:

  • Cashflow Quadrant
  • iOS Remote Conference
  • devchat.tv/meetups

View Details

Eric Crichlow joined the iPhreaks to talk about the journey of building a gifting app he build and the process of maintaining the application. He also talks about how he learns through personal projects and how he's worked the evolve an app from desktop to iOS.

Panelists * Alex Bush * Charles Max Wood

Guest * Eric Crichlow

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links * Bring Your iPad App to Mac

Picks Alex Bush:

  • YNAB

Charles Max Wood:

  • Zelda Notebook

Eric Crichlow:

  • Chronicles of Narnia Boxed Set Audiobook
  • Devchat Conferences

View Details

Jacob Eiting, CEO and co-founder of RevenueCat joins Soojin and Chuck to talk about the ins and outs of running subscriptions through the Apple App Store. He shares advice on getting started, challenges with StoreKit, and ends with a couple of concise points on what to make sure you do when you run a subscription.

Panelists * Soojin Ro * Charles Max Wood

Guest * Jacob Eiting

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Picks Jacob Eiting:

  • Observable

Soojin Ro:

  • Zoom

Charles Max Wood:

  • Chronicles of Narnia Boxed Set Audiobook
  • Devchat Conferences

View Details

Tamar Nachmany joins the iPhreaks to discuss building applications that serve specific communities in allowing them to communicate and connect. She discusses the approaches used at Tumblr and other companies and how to learn enough about your community to build the correct interface.

Panelists * Alex Bush * Charles Max Wood

Guest * Tamar Nachmany

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Picks Alex Bush:

  • Omnigraffle

Charles Max Wood:

  • Podcast Sponsorships
  • Course Creator Pro

Tamar Nachmany:

  • Are.na
  • Babycastles

View Details

JavaScript Remote Conf 2020 May 13th to 15th - register now! Dave Verwer is the curator of iOS Dev Weekly. He also runs several other projects around the iOS community including the iOS Dev Directory. The show starts out talking about how Dave find the links he adds to the newsletter. He actually came to talk about building discoverable apps, meaning making your applications easy to navigate and feel more natural on iOS devices. We also discuss accessibility and the built in features that Apple provides in iOS.

Panelists * Charles Max Wood

Guest * Dave Verwer

Sponsors * With HeadSpin, you only need one platform for testing, monitoring, and analytics across applications, devices, and networks. Check them out at headspin.io * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links * iOS Dev Directory

Picks Dave Verwer:

  • Core Data Lab

Charles Max Wood:

  • The Expanse
  • Gridsome

View Details

JavaScript Remote Conf 2020 May 13th to 15th - register now! Former Apple iOS engineer Jeff Watkins joins the iPhreaks to discuss accessibility and the capabilities Apple provides to support Dynamic Type and VoiceOver. He also talks about other forms of considerate apps and the things that you should be doing to build, test, and use apps to see how others will experience them.

Panelists * Alex Bush * Charles Max Wood * Soojin Ro

Guest * Jeff Watkins

Sponsors * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links * Building a considerate app - iOS Conf SG 2020 * Human Interface Guidelines * Victory for disability advocates

Picks Alex Bush:

  • The Intelligent Investor

Soojin Ro:

  • Being a Noob
  • Xcode 11.4 Release Notes

Charles Max Wood:

  • The Wise Man's Fear
  • Fire Stick

Jeff Watkins:

  • One Man

View Details

JavaScript Remote Conf 2020 May 13th to 15th - register now! Andrey is an iOS developer. He worked on Cocos2D and has worked on other gaming systems and has not worked much on UIKit. He walks through building games and gaming engines for iOS.

Panelists * Alex Bush * Charles Max Wood

Guest * Andrey Volodin

Sponsors * Sentry * CacheFly

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

Links * Cocos2d * Explain me Metal like I'm 5 - iOS Conf SG2020 * Accelerate * GitHub s1ddok/Alloy * Clean Code

Picks Alex Bush:

  • Red Blossom Tea Company

Charles Max Wood:

  • Clean Coders Podcast
  • Devchat Conferences
  • The Man in the High Castle

Andrey Volodin:

  • Racing the Beam

View Details

JavaScript Remote Conf 2020 May 14th to 15th - register now! Soojin Ro gave a talk and demo of an Augmented Reality application he built at try!Swift NYC Conference.. He walks Chuck and Alex through how to build and design Augmented Reality applications and how you need to think about translating details from your camera to targets on your screen.

Panelists * Alex Bush * Charles Max Wood

Guest * Soojin Ro

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

_____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________ Links * try! Swift NYC 2019 - Deeper into ARKit with CoreML and Turi Create * Web Toon * TensorFlow * ARKit * Core ML * PyTorch * GitHub apple/turicreate * Create ML * CVPixelBuffer

Picks Charles Max Wood:

  • The Name of the Wind
  • LinkedIn Sales Navigator

Alex Bush:

  • All About Dividend Investing

Soojin Ro:

  • Homeland

View Details

Jordan Morgan is a mobile developer at Buffer. He gave a talk at Swift Tokyo. He goes into the issues around images and TableView. He went to WWDC and got a rundown of how images work under the hood on iOS. This episode is a conversation with Alex Bush about how images work on iOS and how to work around the issues that arise from your assumptions about how images are displayed, decoded, and managed on iOS.

Panelists * Alex Bush

Guest * Jordan Morgan

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

_____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________ Links * Optimizing Images * try! Swift NYC 2019-The Life of an Image on iOS * GitHubDreamingInBinary * Swiftjective-C

Picks Alex Bush:

  • The Witcher

Jordan Morgan:

  • Watchmen

View Details

Former Apple iOS engineer Jeff Bergier joins the iPhreaks to discuss accessibility and the capabilities Apple provides to support Dynamic Type and VoiceOver. He also talks about other forms of considerate apps and the things that you should be doing to build, test, and use apps to see how others will experience them.

Panelists * Charles Max Wood * Alex Bush

Guest * Jeff Bergier

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

_____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________ Links * Codineer - Setup -#100daysofvue * Codineer Playlist

Picks Charles Max Wood:

  • The Man in the High Castle
  • Ready, Fire, Aim

Alex Bush:

  • Profit First
  • The Iliad and The Odyssey

Jeff Bergier:

  • The Manager's Path

View Details

Charles Max Wood hosts a solo episode sharing his perspective on designing your perfect life. In this episode he addresses finding your dream job, building your dream life, and staying current. Start by deciding where you want to end up. Do you see yourself retiring? Working forever? Charles shares his vision for his future and discusses the retirements of others in his life. Working back from the end of your life, Charles has you ask yourself what kind of life and career you want. Charles shares his vision for both his personal life and his career. After you pick your goal, build the skills, and knowledge to reach that goal. He uses the example of becoming a speaker at conferences. He also recommends you find a mentor or someone who has what you want and get their help. Charles explains how important it is to get out of your own way mentally. Many people find reasons real or imagined as to why they can’t reach their goal. He agrees that the world is unfair and barriers can be real. The best way to show others they can overcome barriers is by doing it yourself and working towards your goals. You can if you believe you can and you work for it.

Panelists * Charles Max Wood

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

_____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________ Links * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Charles Max Wood:

Magician: Apprentice

Magician: Master

The Man in the High Castle

View Details

In this episode of the iPhreaks Show the panel interviews, Mischa Hildebrand, asking about a talk he gave at iOS Conf 2019. Mischa has a very varied background, he studied to become a physicist, then did some journalism on television and radio before finally going into iOS development. His background in journalism gave a unique perspective into writing code that is beautiful and easy to understand. Mischa shares principles from his days in journalism and applies them to programming.

The panel shares their experiences working on legacy or unclear code, the describe the pain it was to interpret the code. Mischa’s principles while nothing new address the problems that turn into painful code. First, use short sentences, in other words, keep your lines short. Also, use simple language. The panel discusses what it means to use an active voice versus a passive voice. Another rule is to give one piece of information per sentence, this allows other developers to easily follow the code and its purpose.

Panelists * Alex Bush

  • Christina Moulton

Guest * Mischa Hildebrand

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

Links * Law of Demeter * The Art of Designing Code - iOS Conf SG 2019 * https://miro.medium.com/max/2810/1*EJr5q4QqkY3hshPLEgJVQQ.png * Code is a Language! * https://medium.com/@PhiJay * http://mischa-hildebrand.de/en/ * https://twitter.com/derhildebrand?lang=en * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Christina Moulton:

  • Cleaning Up With Swift Defer
  • Flour Water Salt Yeast

Mischa Hildebrand:

  • https://bear.app/
  • XCoordinator

Alex Bush:

  • POODR

View Details

In this episode of the iPhreaks Show the panel introduces themselves and discusses their favorite tools and what their builds look like. They share their journeys in iOS development and their experiences in large teams compared to smaller teams. They consider how iOS has changed since they first started iOS development.

The panel discusses what CI/CD’s they are using. They discuss, Xcode, VScode and the Dash app. They move on to testing, explaining that they generally use what apple provides unless they need something that digs a little deeper. They discuss Fastlane as a deployment tool. Tools they use for crash reports include Sentry, Xcode, and Crashlytics.

For debugging the panel discusses Reveal, Sourcetree, SwiftLint, Charles proxy, and Pony debugger. Charles wonders what they prefer for their backend. Alex Bush explains that it depends on the size of the company. Larger companies prefer custom-built backends. They consider Ruby on Rails, Realm, and Runscope for smaller companies.

Panelists * Alex Bush * Charles Max Wood

  • Christina Moulton

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

Links * https://revealapp.com/ * https://kapeli.com/dash * https://www.sourcetreeapp.com/ * https://www.sharemouse.com/ * https://www.charlesproxy.com/ * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Christina Moulton:

  • Finding slow code with Instruments

Charles Max Wood:

  • Disney+
  • Frozen 2

View Details

In this episode of the iPhreaks Show the panel interviews Christina Moulton. She starts by sharing her story and how she got into iOS development. The panel briefly discusses her work at Square and what she does there. The panel asks her about her talk at try!Swift about Siri Shortcuts.

The panel asks Christina what terminology to use when discussing Siri shortcuts, she explains that the terminology is so confusing. Shortcuts are simple from the app’s perspective but Christina shows the panel just how complicated they are from the systems perspective. She defines intents for the panel and explains how filing intents are what creates these shortcuts.

These shortcuts can do so much and the panel considers the uses of these shortcuts in home automation. Just by entering or leaving your home you trigger a series of shortcuts that powered down your house and lock up or turn on the lights and texts your family. They also consider how the system predictions the needs of the user.

The panel discusses the visual and voice output and the quality of each on different devices. They wonder at the regulations and testing apple puts towards these intents and shortcuts. Christina explains how she tests intents and shortcuts to make sure that they create a working Siri flow. The panel compares other SDKs and Siri. Christina finishes the episode by sharing a bit about her book.

Panelists * Alex Bush * Charles Max Wood

Guest * Christina Moulton

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

Links * https://grokswift.com/ * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Christina Moulton:

  • Designing Great Shortcuts

Alex Bush:

  • So Good They Can't Ignore You: Why Skills Trump Passion in the Quest for Work You Love

Charles Max Wood:

  • It’s a Wonderful Life
  • Holiday Inn
  • White Christmas
  • A Christmas Story

View Details

In this episode of the iPhreaks Show the panel interviews Gopal Sharma who gave a talk at try! Swift 2018 about serverside Swift. He starts by sharing his background and how got into building stuff for the serverside. In his talk, Gopal outlined what is expected in a serverside framework and explains where Swift was at.

The major things looked for in a serverside framework are performance and predictability. Swift has the basic building blocks of a serverside framework and Gopal shares what makes Swift unique. Its been over a year since his talk and Gopal tells the panel that things have improved for serverside Swift since then.

Gopal explains that the real reason to use serverside Swift is for Neo. Vapor and Kitura are the Swift frameworks built on top of Neo. Gopal compares these too frameworks and walks the panel through the specifics of each one. They discuss how each handles requests, databases, migration, template-based rendering, and microservice environments.

The panel discusses which frameworks should be used for different projects. They share their preferences for ORMs and weigh the costs and benefits of using ORMs. Gopal explains why he prefers to just use SQL and avoid ORMs. Shawn shares tips for using ORMs and explains how they save him time and make him more efficient.

Panelists * Alex Bush * Shawn Clabough

Guest * Gopal Sharma

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

Links * Swift on Server: Are We There Yet * https://vapor.codes/ * https://www.kitura.io/ * https://twitter.com/gopalkri * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Gopal Sharma:

  • https://github.com/groue/GRDB.swift
  • http://diesel.rs/guides/getting-started/
  • https://github.com/cashapp/sqldelight

Alex Bush:

  • The Obstacle Is the Way: The Timeless Art of Turning Trials into Triumph

Shawn Clabough:

  • Recreational Hockey

View Details

In this episode of the iPhreaks Show Charles Max Wood interviews Steve Young, founder of Appmasters.com.Steve shares was for apps to rise in rankings on the app stores. He shares specifics for both the Google and Apple app stores. The top thing people can do it to make sure they use keywords in titles, subtitles, and descriptions. He also explains the spanish-mexico localization.

After explaining how he got into marketing, Steve shares more clever tips for getting your app to the top of the list. Continuing with keywords, he warns against cramming keywords because both Apple and Google will punish you for it. The key is finding the balance between keywords and readability.

Figuring out what keywords to use takes a lot of work. Steve shares some services and resources that will do it for you. Other clever things you can do to find keywords include using common misspellings of keywords, not using spaces and using multiword keywords. They also discuss how ratings, categories, and screenshots improve rankings. Steve shares the best ways to get featured.

Panelists * Charles Max Wood

Guest * Steve Young

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * CacheFly

Links * App Masters Academy * https://appfollow.io/ * https://sensortower.com/ * https://www.mobileaction.co/ * https://www.apptweak.com/ * Requesting App Store Reviews * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Steve Young:

  • https://www.pushbullet.com/apps

Charles Max Wood:

  • Holiday Inn
  • White Christmas

View Details

In this episode of The iPhreaks Show the panel interviews well-known author Paul Hudson. Paul is the creator and editor of Hacking with Swift. He does talks all around the world and writes books about swift. Paul went to the recent WWDC and even managed to write a book while at the conference.

The panel asks him about the conference. Paul explains that he didn’t go to many talks, instead, he uses that time to prepare for the labs. Curious the panel wonders at this strategy for conference attendance. Paul expounds, explaining there are only about 10 minutes of good stuff in a 40-minute talk once you get past the intros, jokes, stories and other filler. He can watch those online. His time is better spent playing with Swift and preparing questions for the labs.

As for writing a book during the conference, he explains that the body can do amazing things when fueled by caffeine. He also made sure he was in the Marriot where the conference was held, that way he could walk downstairs and know that his swift code was correct. This saved him a ton of time worrying and second-guessing his code.

The panel considers how SwiftUI has progressed. Paul explains how in the early days it was really hard to tell which features worked as designed. The beta used in the presentations at WWDC is not the beta given to developers, by the time developers get beta 1, Apple is already working on beta 3. He emphasizes the importance of filing your radars early because everything is changing so quickly. Paul goes onto explain that SwiftUI is learning from the mistakes of Swift. Swift had everything but none of it was great. SwiftUI is missing things but what it does have is great.

Paul has a new program for learning Swift called 100 Days of Swift. For each of the 100 days, Pauls supplies an encouraging and educational article along with a kit. The kit includes chapters to read, videos to watch, tutorials, projects, assessments, and challenges. Paul put a lot of work into creating hours of free content. After SwiftUI was out for a few months he decided to do 100 Days of SwiftUI. His goal with these programs is that by doing these each day for less than an hour, you will graduate by Dec 31st, just in time for the New Year.

The panel considers the wonderful things about this program and asks Paul about the feedback he has received from it. This program builds and leads to a goal. People are so proud of what they are accomplishing they can share it on social media. Paul works hard every day to make sure everyone feels welcome on his site and in his programs. Every day he finds people on twitter using the 100 Days of Swift hashtag and encourages them with positive feedback.

Next, the panel discusses the dark corners of iOS 13 where all the new features that people are missing are. Paul explains that there are so many amazing new features in iOS 13 that have been drowned out by SwiftUI. These features include Cryptokit, Imagekit, SF Symbols, Core Haptics, improved core images, quality of life improvements, date-time formatter and many more. He explains a few of the features that he is really excited for and encourages listeners to check out all the features.

Paul wonders if it is Apple’s plan to get as many developers to adopt iOS 13 with all these exciting new features. The panel considers how the poor documentation problem will hold developers back from adopting iOS 13. With poor documentation and only WWDC presentations to go off of many developers have to go looking to outside sources to learn how to use these tools.

Considering how the documentation has gone down for years and the fact that Apple is so wealthy, Paul concludes that Apple has to have a greater plan for documentation in works. He predicts that it will be something more interactive to fit the learning trends of the day, bring people to iOS. The panel considers how iOS is becoming less programmerly and how this too may bring more people to iOS.

Paul goes on a small rant about the chasm between iOS and Mac development. He explains how he is continually nagging whoever he can to see this fixed. Paul believes that the best way to align these to platforms is to bring Swift Playground to Mac.

The episode ends with Paul explaining his app, Unwrap. Unwrap teaches Swift, it is opensource and free. With it, you learn Swift by earning badges, completing challenges and taking assessments. The panel loves that is open source and fun. Paul explains that this app and his 100 Days of Swift program are not just for beginners, programmers of all levels have told him how much they have learned from these resources.

Panelists * Abbey Jackson * Evan Stone * Jaim Zuber

Guest * Paul Hudson

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * My Ruby Story * My JavaScript Story * CacheFly

________________________________________________________________________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $1.

________________________________________________________________________________________________________________________

Links * iPS 243: Paul Hudson - Writing, Swift, & Writing Swift * https://developer.apple.com/wwdc19/ * https://www.hackingwithswift.com/100 * https://www.hackingwithswift.com/quick-start/swiftui * https://www.hackingwithswift.com/100/swiftui * https://twitter.com/hashtag/100DaysOfSwiftUI?src=hash * https://www.hackingwithswift.com/unwrap * https://twitter.com/twostraws * https://www.facebook.com/ReactNativeRadio/ * https://twitter.com/R_N_Radio

Picks Abbey Jackson:

  • SF Viewer App

Evan Stone:

  • Love Notes to Newton
  • Einstein

Paul Hudson:

  • Swiftoberfest
  • Spendo App

View Details

In this episode of The iPhreaks Show the panel interviews David House about Continous Integration and Continuous Delivery. David is an iOS developer currently living in Georgia. He has been working in iOS development since the iOS SDK was int beta. Right now he is working for a health care company, Kaiser Permanente.

David starts by sharing how he became interested in this topic. Kaiser Permanente is a large enterprise and has large enterprise applications. Their iOS app has almost a million users along with employees who use the app as well. This led him to find a way to scale an app for a large app while also maintain quality and security.

The panel asks David to breakdown the terms Continuous Integration and Continuous Delivery. David explains that neither of these terms was meant for mobile so they now have a different meaning. Originally, Continuous Integration meant you were integrating developer changes in an automated fashion. Continuous Delivery meant you were shipping out code in an automated fashion. Now CI/CD just means you can automate things and run them continuous through your workflow, not just integration and delivery.

The panel wonders how automated systems have effected that end of the workday ritual of checking your daily build. David explains how automated pull request has made this ritual obsolete. He explains the shift left approach which is the idea is to shorten the time frame between submitting your build and receiving feedback. With the rise of the pull request, this timeframe has been significantly reduced, essentially giving you continuous feedback.

Pull requests can be a pain at first but David explains how getting into a habit of using them can say developers a lot of pain and worry.

David shares a life hack that also translates well to programming. The more you regulate the boring and the tedious the more room in your brain you have for interesting and new ideas. He equates this to automation. By automating the parts of your job that are tedious and painful, you free up time and brain space for the more interesting parts of your job. He uses the example of the pain and time it took to get an app into the app store, after automating that he had more time to do the cool parts of his job that he enjoys. The panel discusses how this can benefit the solo developer and not just a developer that is part of a team.

The panel considers how automation affects the way developers learn, does help developers avoid learning to do something for themselves. Unfortunately, David believes that true. He recommends learning how to do the things your automated systems do, it may just save your butt when your system fails. He advises thinking of automated systems as a minion. It is there to do the tedious and painful jobs you don’t want to do yourself but you should still know what your minion is doing.

The panel considers the various CI tools. David has used many different tools including Jenkins, Travis, CircleCI, Bitrise and the beta for Github actions. He explains that Bitrise is a great option, it is very visual and good for beginners. Github action will be good once it is released, the best part will be the community. Both Github action and Bitrise are opensource. Jenkins has been around forever, therefore, it has good roots and is powerful. However, Jenkins is not for everyone. David explains that there should be more tools to fill the spectrum of needs.

The panel considers security in automated systems. David explains that it is hard to tell which automated systems are more secure. They consider ways to determine how secure an automated system is. Open source is one way, you can look for holes in the system by checking out the source code. Also, some systems have a reputation for security.

The panel considers the lack of educational resources and good documentation for CIs. David shares how frustrating it can be to try and find a fix for a failed build in a CI. He shares some of his hopes for the future of CI including, rich feedback, documentation, and resources for learning automated systems.

The episode ends with a discussion of Xcode bots. Peter Witham shares his experience using them. David explains that even though they have great user experience it is still really limited in what it can do. The panel finishes with some final advice for automating painful things.

Panelists * Andrew Madsen * Peter Witham

Guest * David House

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * Dev Ed Podcast * My Angular Story * CacheFly

Links * https://www.bitrise.io * https://twitter.com/davidahouse * https://github.com/davidahouse * https://www.facebook.com/ReactNativeRadio/ * https://twitter.com/R_N_Radio

Picks Andrew Madsen:

  • Human Interface Guidelines
  • Infrastructure

Peter Witham:

  • https://plugins.jenkins.io/

David House:

  • https://gitmoji.carloscuesta.me/

View Details

In this episode of The iPhreaks Show the panel interviews Dave Verwer about his new SwiftPM Library. Dave is an iOS developer from the UK, he’s been working with iOS since the beginning. He is mostly known for his weekly email newsletter, iOS Dev Weekly, which is released every Friday afternoon.

SwiftPM Library is a site that aims to make it easy for people to find quality packages that support the Swift Package Manager to integrate into their project. It is a repository of all the packages he can find and anyone can contribute packages to it.

The CocoaPods Quality Index was his inspiration for this library. The CocoaPods Quality Index gives a quality score based on a few metrics, Dave wanted to do this but specifically for packages that support SwiftPM. The panel considers what this means for SwiftPM, which unlike most package managers it does not have a library of packages to use.

Dave sees two outcomes for the SwiftPM Library, either it becomes the go-to place for people to discover new packages or Github package registry will come along and kill it. The Github package registry is a multiplatform, multilanguage tool for registering packages. Daves explains the features that SwiftPM Library has that gives it a fighting chance against the Github package registry.

First, the SwiftPM Library was built with speed in mind. The Github package registry piggybacks on Github search which therefore will take longer. Also, Github is likely to list its packages in a way that he take those packages and include them in his library as well, so Github will not have more Swift supporting packages than the SwiftPM Library.

Another thing that sets apart SwiftPM Library is that it is all about Swift. The Github package registry also supports other languages like Ruby and Java. It is doubtful that Github will have very many Swift specific features and metadata on their site, where at the SwiftPM Library Dave already has many of those in place.

The panel asks Dave about SwiftPM and how it compares to CocoaPods and Carthage. He explains that SwiftPM is very similar to using Cocoapods, however, you can create a library using X code and also include other libraries as dependencies. He gives a brief walkthrough of how to replace CocoaPods with SwiftPM in a project.

SwiftPM has a couple of limitations that the SwiftPM team is currently working on. Right now in SwiftPM, it does not support resources, such as zip files and images, in packages. Another major limitation of SwiftPM is that you cannot switch between languages in a Swift package. The panel considers these limitations and shares how they affect whether or not they choose SwiftPM.

Once these problems are solved, Dave hopes that everyone will transition to SwiftPM. SwiftPM is managed by Apple, therefore, is a cleaner and better option even though the transition may be painful. The panel shares the things they like about SwiftPM, including how easy it is to use. It becomes so easy to update packages and dependencies after the transition.

Back to the SwiftPM Library, the panel asks Dave more about it works. Dave explains how the quality index works, giving each package a score based on a few quality metrics. The value of a quality index comes from the need to be careful when adding a dependency. The search results on his site are based on the quality score of each package.

The metrics Dave is currently using to measure are: Does it support the latest version of Swift? How many versions of the package have been released? How many stars does it have on its Github repository? Does the license file exist and is it an open source license that is unencumbered?

The panel takes a look at what the search results look like. Dave includes everything a developer would need to know in order to choose the best package for their project. The search results highlight the license source. It includes how many libraries and executables are included in the package. The search results show what version of swift and other platforms are supported. Not only does it show you the master branch but also the latest stable version and the latest beta of the package when possible.

Dave walks the listeners through how to contribute packages to the library. Dave explains his philosophy when it comes to running the site, his role is not a gatekeeper. He doesn’t want to decide which packages to include and which to exclude. His hope is that the quality indexing will sort the good from the bad. Anyone can add to the library and anyone can request a removal from the library. Any problems with packages should be deferred back to there maintainers.

Panelists * Jaim Zuber * Abbey Jackson * Gui Rambo * Andrew Madsen

Guest * Dave Verwer

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * Adventures in .NET * Adventures in Angular * CacheFly

Links * Launching the SwiftPM Library * Quality Indexes * WWDC 2019 Keynote — Apple * Github Package Registry * Carthage * Elasticsearch * https://forums.swift.org/c/development/SwiftPM * https://daveverwer.com/ * https://twitter.com/daveverwer?lang=en * https://www.facebook.com/ReactNativeRadio/ * https://twitter.com/R_N_Radio

Picks Dave Verwer:

  • Advice for Software Apprentices

Jaim Zuber:

  • https://iosdevweekly.com/
  • Try it using the RSS feed

Andrew Madsen:

  • iTerm 2

Gui Rambo:

  • NES Emulator Part #1: Bitwise Basics & Overview
  • NES Emulator Part #2: The CPU (6502 Implementation)
  • NES Emulator Part #3: Buses, RAMs, ROMs & Mappers

Abbey Jackson:

  • https://cocoahub.app/

View Details

In this week’s episode of the iPhreaks Show the panel interviews Rob Whitaker, an expert in digital inclusion and accessibility. Rob starts by defining accessibility and explaining why it is important. He explains that 20% of the population has some form of disability, those customers need features to help the navigate applications. Everyone benefits from developers taking the time to think about their app works.

Rob dives into some of the main areas developers should look at when making their apps more accessible. The first and biggest one is making sure apps support dynamic text. Dynamic text makes the biggest difference for most people. All Apple apps support dynamic text. Testing dynamic text is easy, and important; just increase the size of the text and make sure everything still looks okay and reads well. Also, dynamic text isn’t just about making text bigger, some users may prefer smaller text for privacy.

With iOS 13 released, the panel asks about the new features for accessibility. Voiceover and Voice control are the big ones that will really unlock the way users can interact with applications. Voiceover will read the text and also describe pictures to the users. Voice control allows customers the ability to navigate applications much easier.

Rob explains that in the UK there is an annual survey about internet use. Many people don’t use the internet because of a disability and inaccessibility of applications, of those many are physically disabled. Voice control can unlock the internet for them, allowing them access to tools and education that most people take for granted.

Another new feature with iOS 13 is the grid view. Rob explains how this will be helpful navigating a map or something without explicit labels. He warns not to use it on pages where it could cover content.

Testing accessibility is easy and quick. Rob encourages everyone to add it to their routine testing practices. The panel considers automated accessibility testing. Rob shares his disappointing experience with the tools currently available. The panel hopes that new tools will be made now that accessibility is finally getting more attention in the development world.

Rob shares some of the common problems he sees in applications, such as making labels too long, marking things improperly whether accessible or not. For voiceover, he explains that it reads top left to the bottom right and when a display is designed out of order, the voiceover can be out of order and confusing. These problems can be easily avoided by swiping through and making sure that everything makes sense; he warns not to really on the visual display when doing this.

Rob continues to give advice on making applications more accessible. Make sure you are clear about control labels and the consequences of a control. This comment inspires a realization in Peter, who shares an example of having two confirm buttons on the same page for different things and how that could be confusing to the users using voiceover and voice control. He and Rob consider ways to solve that confusion. Rob explains what accessibility hint is and how it gives extra context for things that might work differently than normal.

Rob recently wrote an article on the European Accessibility Act. This is the first law of its kind that specifically mentions mobile. It also has categories and explains the requirements for each category. Rob explains how laws like these should incentives companies to make their applications accessible because if not they could be fined, while also alienating a portion of the population from buying your app.

The episode ends with a discussion of Swift UI and how it can be a tool when it comes to accessibility. Rob explains how as a declarative UI it can make accessibility easier and more accurate. The panel considers the benefits of cross-platform accessibility since accessibility in a Mac app can be difficult.

Panelists * Jaim Zuber * Peter Witham

Guest * Rob Whitaker

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * Adventures in DevOps * Views on Vue * CacheFly

Links * What the European Accessibility Act (Might) Mean for Mobile Development * Web Content Accessibility Guidelines (WCAG) Overview * https://twitter.com/RobRWAPP * https://rwapp.co.uk * https://www.facebook.com/ReactNativeRadio/ * https://twitter.com/R_N_Radio

Picks Rob Whitaker:

  • Jon Gibbins
  • Design meets Disability

Peter Witham:

  • Quiver

View Details

In this week’s episode of The iPhreaks Show, Charles Max Wood (Chuck) shares some of his thoughts and advice for keeping current. He has started a keeping current email course through DevChat.TV and describes what lessons will be taught in this course. He encourages everyone to subscribe to the email course.

This idea of keeping current is something Chuck has been thinking about for a while. He gives an intro to the subject, explaining the frustration programmers feel after the reach a level of knowledge in the developer community. They ask themselves what do I learn next? What should I be studying to stay current? Chuck counters that question with why.

Why stay current? Chuck wants those who struggle with this to find their motivation behind staying current. He explains that if you are going to spend all this time to level up yourself you should have a goal to reach for. A common answer Chuck hears in response to this question is job mobility. Chuck shares some of his early motivations in staying current. It was partly wanting to stay competitive in the job market. Another part was wanting to sound smart. The last part was loving what he did and just wanting to learn more.

Chuck gives advice for finding a job that you really want. He tells listeners to buckle down and really dive into the technologies at your current job so when you do go looking for a new one they know they can expect you to learn their technologies whether you know them or not. Another suggestion he gives is to find the company you want to work for and learn the technologies they are using. Your initiative and drive will impress them.

Learning a skill for job mobility is okay but if you learn with a specific goal in mind the job mobility will come with it. Companies today hire based more on aptitude and compatibility than if you know the specific technologies they use.

So Chuck's first bit of advice for staying current is to sit down and think of where you want to end up. Do you want to be a speaker, team lead, company engineer, blogger, podcaster or something else? He also tells listeners not to be afraid to change their end goal. Chuck explains that knowing why you want to stay current will help you know what to learn. Learning the technology a company uses is one example.

If your goal is to speak at conferences, you might want to learn what topics are in demand, how to submit a good conference proposal, learn what people want to hear or what it takes to become a keynote speaker. If your goal is to become a blogger you will need to learn how to do SEO. If you want to become the software architect for your company you may need to improve your code organizational skills.

The next question Chuck addresses is “how?”. Chuck recommends everyone get a plan. Some organizations like toastmasters have a plan already laid out. For those interested in blogging there is 31 Days to Building a Better Blog, a book that outlines step by step how to build a good blog. Courses and books can outline your plan, and if you can’t find one, write your own.

When writing your own plan Chuck recommends finding someone who is doing what you want to do and ask them to list what you need to learn to do that thing. After that, you need to sit down and write out what and how you are going to learn.

As Chuck has mentioned do not be afraid to change your goal. Chuck shares a time in college when he decided he wanted to go into patent law. He quit his IT job and took an internship. He hated it and within a few months had switched back to computers. So don’t be afraid to scrap your plan and do what will make you happiest.

Now for the actual learning, Chuck explains that there are so many ways to learn podcasts, videos, blogs, books, and courses. He describes how he learns best and advises listeners to find out how they learn. If you know what works best for you, you can design your plan to fit your learning style. Chuck encourages listeners to try a bit of everything. He shares how his attitude toward books changed as he put their concepts into action and all because he tried everything. Also, something types are learning for conceptual learning while others are more suited for practical learning.

Chuck explains how building and playing around with what you learn. He also encourages listeners to shares their experiences through blogs, video or podcasting. This way you will have a way to demonstrate what you learned.

The last thing Chuck explains is that even after you've completed your plan sometimes these things take time. You may learn everything on your list only to find you have more things to learn before you reach your goal.

Panelists * Charles Max Wood

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * Adventures in Blockchain * React Native Radio * CacheFly

Links * Get a Coder Job * https://devchat.tv/blog/how-to-stay-current-effectively-in-2019/ * JSJ 387: How to Stay Current in the Tech Field * 31 Days to Build A Better Blog * https://thinkster.io/ * https://www.pluralsight.com * https://www.facebook.com/ReactNativeRadio/ * https://twitter.com/R_N_Radio

Picks Charles Max Wood:

  • Sometimes it takes time to get what you want

View Details

Episode Summary In this episode of The iPhreaks Show Andrew Madsen and Evan Stone discuss the recent Apple Event and the announcements made there. To start, the panel discusses their thoughts one the event as a whole. The panel was surprised that the event was very product-driven with only a few mentions of software changes. Andrew did notice that when they did talk about the software they introduced it with the hardware as one product, which he enjoyed as a more holistic approach than in previous years.

Apple Arcade and the games they featured is the next topic the panel discusses. Andrew explains that he is not much into gaming but even his interested was piqued by the games they demonstrated. Evan wonders how the games will translate across platforms. He is especially interested in how they will translate to the Apple TV.

This brings them to a discussion of the Apple TV+. The panel considers the risk Apple is taking by only airing original content. They comment on the trailer for See that was shown at the conference. Andrew explains that they will have around 50 shows to start all over various genres. Evan brings up the very affordable price of only 5 bucks a month or free for a year when you buy an apple product. The panel considers how this strategy will help them build up an audience.

Another product announced at the event is the apple watch series 5. The panel jumps into discussing the new health features. They share how impressed they were the videos that explained the new health features. Andrew wonders with all the amazing things the watch can do what will they come up with ten years from now. He and Evan consider the possibilities, warnings for heart attack or stroke, blood sugar monitoring and more.

Moving on from the health features of the watch, the panel discusses a feature that has been a long time coming, the always-on screen. The panel considers why it took so long for this feature to come out. Evan shares his particular interest in this feature because of the safety hazards of looking at his watch while biking.

Another new feature for the apple watch 5 is the added compass. The panel laughs as they never realized the watch didn’t have a compass especially because the apple watch 4 comes with GPS. The panel discusses how the compass may help other functionalities of the watch like GPS and maps. The final point the panel discusses about the new apple watch is that through Apple Watch Studios you can choose your case and band.

The panel talks briefly about the iPad announcements, which they deemed the least interesting announcement. Apple is adding a smart connector to the low-end iPads and increasing the size of the screen. The panel considers how these changes along with pencil support make it a great deal.

The main show at the event was the iPhone 11 presentation. The panel expresses how impressed they were with the way the iPhone 11 was presented. Along with performance improvements and a second camera, the iPhone 11 comes in a lot more colors than previous phones. Andrew is especially excited about the green phone and hopes to pick up a green iPhone 11 Pro.

The panel considers the look of the phone. Evan expresses his disappointment with the square bump on the back where the cameras are mounted. They consider how cameras work and why the bump is necessary.

They move onto the quality of the cameras. Andrew explains that while he is a camera and photography hobbyist, most of the pictures he takes with his phone are personal, family photos. Evan is not much of a photographer but loves having a high-quality camera on his phone. He especially appreciated it on his recent trip to Portugal. The quality of the camera makes a difference, the example they use for this point is by comparing a picture taken with an iPhone and one taken by a $50 android phone. There is no contest. However, Google cameras have gained a reputation for quality, the panel explains why this is a good thing. A little competition will help apple stay motivated in advancing its camera quality.

Panelists * Andrew Madsen * Evan Stone

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * Adventures in DevOps * Elixir Mix * CacheFly

Links * September Event 2019 — Apple * Apple Arcade * See Trailer * List of AppleTV+ shows * Apple Watch Studio * The Green iPhone 11 * Light L16 * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Andrew Madsen:

  • https://www.wanikani.com

Evan Stone:

  • Advanced iOS Summer Bundle - 2019

View Details

Episode Summary In this episode of The iPhreaks Show, the panel interview Brian Voong. Brian runs a YouTube channel where he teaches about iOS development. The episode of his channel that the panel discusses with him is about the Roadmap to iOS development. Brian starts by giving a brief overview of what his video contains and how it is given with the intent to help developers find jobs in the iOS industry.

The YouTube video has over 40,000 views and the panel wonders who are all these people watching this video. Brian explains that YouTube is a major resource for many people learning about development. Also this video appeals not only to beginners but also mid-level and senior developers who want to know what to learn next. The video features a diagram that depicts the roadmap an iOS developer should follow, so people are interested to see where they stand.

The panel dives into nitpicks of the roadmap. The panel disagrees that Swift is considered functional programming only. Functional programming on the map is at the top but the panel debates whether or not it should be further down on the map. The panel considers functional programmings place now that functional programming is becoming more prominent in the iOS world, especially with the Combine framework coming out. The panel points out that Swiftjective C is missing and wonders if it should have been included.

Once you have mastered the basics the panel wonders at what is the most important thing to learn. Brian explains to those who can see the diagram that there are close to 50 subjects listed for developers to learn. He chooses a few he thinks are the most important subjects to learn if a developer is hoping to get hired soon. He lists: learning how to work with a database, create crud screens, interact with restful API’s and do some effective network programming. Brain describes these as items to get your feet wet.

The panel explains that you don’t need to know all of the items on the roadmap in order to get a job. It is more important to have all the basics and good problem-solving skills. Brian does mention some of the skills at the bottom of the roadmap that might be good to learn, such as Build Config, Jenkins and knowing how to deploy an app.

Looking at the map, the panel wonders at the best way to read it. Initially, they assumed top to bottom would be best and in order of priority. Seeing deployment at the bottom, the panel describes the roadmap as more of a life cycle because they consider deployment a skill every beginner should have.

The panel gives advice to new developers. It might seem that you need to learn all this stuff and then start coding but the panel explains that the best way to learn is through coding, running into problems and learning these skills to solve them. The panel compares it to learning a spoken language, in the beginning, it is about making yourself understood and as you speak it your grasp of the language will grow. They suggest letting the subjects find you when you need them instead of seeking them out.

Brian explains why he recommends learning Jenkins near the beginning. He explains that so many junior developers have the exact same skill set and by knowing something like Jenkins you can set yourself apart from the rest. The panel shares why it may be important to know some CI stuff and be able to do a few things with it.

The last topic they discuss in this episode is what tips and tools a developer should learn listed under the tips and tools heading on the roadmap. Brian suggests Break Point and Instrument. The panel explains what Instrument is most useful for, finding excessive memory usage and performance problems.

Panelists * Andrew Madsen * Jaim Zuber * Evan Stone

Guest * Brian Voong

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT * My Ruby Story * CacheFly

Links * iOS Roadmap to Professional Developer: Skills you MUST have! * Roadmap to iOS Development * https://www.letsbuildthatapp.com/course/youtube * https://www.letsbuildthatapp.com/ * https://twitter.com/buildthatapp * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Andrew Madsen:

  • http://www.waxtraxrecords.com
  • http://www.waxtraxonline.com

Jaim Zuber:

  • https://cocaineandrhinestones.com/

Evan Stone:

  • https://iosdevjobs.com/

Brian Voong:

  • https://github.com/Dimillian/MovieSwiftUI

View Details

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT * My Ruby Story * CacheFly

Panel * Gui Rambo * Erica Sadun * Jaim Zuber * Andrew Madsen

Summary Back by popular download, iPhreaks episode 252!

In this episode, the iPheaks panelist speaks with, their very own, Gui Rambo. Gui shares information about the new features with Siri in iOS 12. Gui talks about the extended integration of Siri with other apps in iOS. The panel continues to discuss the further contextual suggestions of Siri, as well as the customizable features and extensions with Siri. Lastly, Gui talks about a new app, the Shortcuts App, that may make an appearance in iOS 12. This is a great episode to learn more about the upcoming new feature for iOS devices.

Links * iPS 252: Siri in iOS 12 with Gui * https://github.com/insidegui/Milkshakr * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Gui Rambo:

  • Sharecuts.app

Erica Sadun:

  • Original iPhone Battery Life

Jaim Zuber:

  • Bear Cam

Andrew Madsen:

  • https://www.fifty-licks.com/

View Details

Sponsors * Sentry– use the code “devchat” for two months free on Sentry’s small plan * GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT * My Ruby Story * CacheFly

Panel * Jaim Zuber * Abbey Jackson

Joined by Special Guest: Petrie Michael

Summary Joining iPhreaks is our new panelist Abbey Jackson, an iOS developer from Vancouver, Canada and our special guest Petrie Michael, an iOS developer from Australia currently working in Japan. Petrie has joined the podcast today to discuss his recent talk at TrySwift about Ray tracing. After defining ray tracing and explaining how it works, Petrie walks the panel through his demonstration for his talk. The panel discusses the technology he uses and how a bigger project becomes much more complex using a Mercedes rendering he did. Petrie introduces binary space partitioning and how this speeds up the process. The panel asks Petrie for recommendations for beginners to graphics, how to get started and what language to use.

Petrie shares his opinions on the state of the industry. The first being that modern programmers try to solve problems that don’t exist. The second being that programmers are neglecting to focus on things that encourage productivity. The panel discusses examples of these and how we can improve.

Links * Ray Tracing in One Weekend * Graphics like Pixar using Swift * https://github.com/kapsy/swift_ray_tracer * Binary space partitioning * https://www.blender.org/ * iPS 258: Learning Objective-C as a Swift Developer with Abbey Jackson * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Abbey Jackson:

  • https://twitter.com/aumi_app
  • Aumi

Petrie Michael:

  • The Thirty Million Line Problem

View Details

Sponsors * Sentry– use the code “devchat” for 2 months free on Sentry’s small plan * React Native Radio * DevEd Podcast * CacheFly

Panel * Jaim Zuber * Michael Holt * Evan Stone

Joined by Special Guest: Katsumi Kishikawa

Summary Katsumi Kishikawa, a talented open source library creator from Japan joins the panel which now includes our newest panelist, Evan Stone, an iOS developer and consultant since 2011 based in San Francisco. Katsumi shares with the panel how he got started and why he created a library that lets you use compositional layout back to iOS11. The panel considers the cool features that can be used with this tool and Katsumi shares some new features he is hoping to implement before the iOS13 release. Katsumi explains how the code tricks the compiler to make possible to backport to older versions of iOS. The challenges in backporting to iOS12 and 11, including orthogonal scrolling is discussed. Katsumi shares a bit about an application he built called Swift-ast-explorer. Impressed with all Katsumi’s work, the panel wonders how he gets all this done and they thank him for sharing his work.

Links * Using Collection View Compositional Layouts and Diffable Data Sources * https://github.com/kishikawakatsumi/IBPCollectionViewCompositionalLayout * http://iosdevbreak.com/ * https://github.com/kishikawakatsumi/IBPCollectionViewCompositionalLayout * https://swift-ast-explorer.kishikawakatsumi.com/ * https://devchat.tv/iphreaks/160-ips-iot-with-evan-stone/ * https://twitter.com/k_katsumi * https://kishikawakatsumi.com/ * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Michael Holt:

  • https://quickbirdstudios.com/blog/combine-vs-rxswift/
  • https://rderik.com/blog/using-swift-for-scripting/

Evan Stone:

  • Revolution in The Valley [Paperback]: The Insanely Great Story of How the Mac Was Made

View Details

Sponsors * Sentry– use the code “devchat” for 2 months free on Sentry’s small plan * CacheFly

Panel * Andrew Madsen * Jaim Zuber * Michael Holt

Joined by Special Guest: Donny Wals

Summary Donny Wals joins the panel to discuss his most recent talk at Try!Swift in Tokyo. The panel starts by discussing the most common complaints about Core Data. Donny shares how the changes made in iOS 10 and past updates solve these complaints. The panel discusses migration and how it has changed, making it much simpler and easier to use. Various Core Data features and their use cases are considered.

Links * In defense of Core Data * https://twitter.com/donnywals * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Andrew Madsen:

  • https://www.autodesk.com/products/eagle/overview

Michael Holt:

  • https://github.com/krzysztofzablocki/Sourcery

Donny Wals:

  • https://preview.disneyplus.com/
  • https://walt-disney.itsmycareer.com

View Details

Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * CacheFly

Host: Charles Max Wood

Episode Summary Charles talks about his journey as a podcaster and his mission with Devchat.tv. Devchat.tv is designed to home podcasts that speak to all developer communities. Charles also plans Devchat.tv to host shows for technologies that are on the verge of a breakthrough and will be a lot more widely available in the near future such as Artificial Intelligence (AI), Internet of Things (IoT), Virtual Reality (VR) and Augmented Reality (AR). There are new shows being added continuously to reach out to new communities, some examples of which are: a Data Science show, a DevOps show and an Open Source show. As a kid, Charles would record his own shows on a tape recorder. He was always interested in technology. While studying Computer Engineering at Brigham Young University, he worked in the University's Operations Center. Upon graduation, he started working for Mozy where he was introduced to podcasts. Listen to the show to find out the rest of Charles' story, some of the lessons and tips he learned throughout his journey and the evolution of the shows on Devchat.tv. If there isn't a show for your community and you would like there one to be, reach out to Charles. Also if there was a podcast about a programming related subject that ended abruptly and you would like it to continue, reach out to Charles. Devchat.tv would like to host these podcasts.

Links * Charles' Twitter * EverywhereJS JavaScript Community * EverywhereRB Ruby and Rails Community * Find Your Dream Job As A Developer * Devchat.tv on Facebook * Devchat.tv

Picks * EverywhereJS JavaScript Community * EverywhereRB Ruby and Rails Community * Netlify * Eleventy * https://github.com/cmaxw/devchat-eleventy

View Details

Sponsors * Sentry– use the code “devchat” for 2 months free on Sentry’s small plan * CacheFly

Panel * Andrew Madsen * Jaim Zuber * Michael Holt

Joined by Special Guest: Dušan Tadić

Summary Dušan Tadić joins the panel to discuss his recent blog post “Make UIControl More Swifty”. Dušan explains why he made it more swifty and what made him decide to improve it. The panel gets to know Dušan; he shares what it’s like working in Germany, what it's like being the only IOS developer in his company and what it’s like working for a product company instead of an agency. Dušan shares his experience learning Objective-C as a Swift developer. The panel discusses debugging apps with rogue notifications.

Links * https://www.dusantadic.dev/post/make-uicontrol-more-swifty/ * https://www.dusantadic.dev * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Andrew Madsen:

  • https://goshdarnswiftui.com
  • Quefrency - 60%/65% Split Staggered Keyboard

Jaim Zuber:

  • http://goshdarnifcaseletsyntax.com/

Michael Holt:

  • https://www.indiegogo.com/projects/gocube-the-classic-puzzle-reinvented--2#/

View Details

Sponsors * Sentry– use the code “devchat” for 2 months free on Sentry’s small plan * CacheFly

Panel * Michael Holt * Andrew Madsen

Joined by Special Guest: Igor Kulman

Summary Igor Kulman shares his experience pitching to the Swift evolution process and submitting a proposal. The panel discusses his pitches and his options going forward. Igor explains why he pitched a change to the standard library instead of creating his open source libraries. The panel encourages developers to contribute to Swift. Igor discusses his background with Windows phone, the challenges switching to be an iOS developer and building a Hackintosh computer. The panel compares C# and Swift, considering the new combine framework.

Links * https://forums.swift.org/t/pitch-unkeyeddecodingcontainer-movenext-to-skip-items-in-deserialization/22151 * https://github.com/apple/swift/pull/23707 * https://forums.swift.org/t/pitch-method-to-sum-numeric-arrays/24170 * https://github.com/Microsoft/referencesource * https://blog.kulman.sk/ * https://twitter.com/igorkulman * https://www.facebook.com/iphreaks/ * https://twitter.com/iphreaks

Picks Michael Holt:

  • https://tracker.toptal.com

Andrew Madsen:

  • BX-70 Micro Decimator - Atari/C64 Joystick

Igor Kulman:

  • https://github.com/igorkulman/iOSLocalizationEditor

View Details

Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small * CacheFly

Panel * Jaim Zuber * Micheal Holt

Joined by Special Guest: Jason Zurita

Summary Jason Zurita joins the panel to discuss his recent blog post about websites using SwiftUI and AWS Lambda. Jason explains what SwiftUI and AWS Lambda are and how to write server code for serverless sites. The panel asks Jason about writing backend code and using Docker. The other server-side options for SwiftUI are considered. Jason explains why he recommends not templating when using SwiftUI. The panel considers what systems this would work for and using SwiftUI on other platforms.

Links * https://jasonzurita.com/websites-using-swift-and-aws-lambda/ * https://jasonzurita.com/websites-using-swift-and-aws-lambda-part-2/ * https://www.docker.com/ * https://www.pointfree.co/ * https://worthdoingbadly.com/swiftui-html/ * https://github.com/dokun1/Vaux * https://twitter.com/jasonalexzurita * https://swiftfest.io

Picks Jaim Zuber:

  • https://open.spotify.com/album/6PHnky8tw67f52Sr3pRmsM
  • https://en.wikipedia.org/wiki/Elevation_(Yonder_Mountain_String_Band_album)

Michael Holt:

  • https://medium.com/flawless-app-stories/you-dont-always-need-weak-self-a778bec505ef

Jason Zurita:

  • https://www.vim.org/

View Details

Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * CacheFly

Panel * Jaim Zuber * Michael Holt

Joined by Special Guest: Paul Samuels

Summary Paul Samuels joins the panel in discussing his recent blog post. He shares the takeaways from the blog post. The panel discusses the problems that prompted Paul to write this post and how these tools fix these problems. Paul gives examples of how to organize your code. The panel discusses the possible restrictions and disadvantages of this tool. Paul explains how to write code for multiple platforms. The panel discusses libraries and data storage that might work for this tool.

Links * https://paul-samuels.com/blog/2019/03/09/tying-things-together/ * https://twitter.com/paulio87

Picks Jaim Zuber:

  • https://www.infoq.com/minibooks/domain-driven-design-quickly/

Michael Holt:

  • https://github.com/CutFlame/StarWarsContacts

Paul Samuels:

  • https://www.destroyallsoftware.com/talks/boundaries

View Details

Sponsors * Sentry use code “devchat” for 2 months free

Panel * Jaim Zuber

Joined by Special Guest: Hassan El Desouky

Episode Summary Hassan el Desouky is a computer science student from Egypt, his dream is to join a big company like Google, Apple, or Facebook. He talks about his experience applying for the big tech companies in his article How I Failed 39 Interviews and What I’ve Learned. Hassan talks about some of the difficulties faced by people from overseas applying for the big American tech companies. He shares some advice for applying and interviewing for big companies that he received from a friend that works at Google. Hassan notes that the interview process in Egypt is different for the process in America. In America, companies favor snapshot interviews, and Hassan shares some of the problems with that method and how the process differs in Egypt. Hassan has found that one thing that helps with getting an interview is having an online presence. He shares advice for people who want to build their online presence as well as some writing tips. Hassan and Jaim finish by discuss the developer community in Egypt and how attending meetups helps college students.

Links

  • Follow Hassan on Medium, LinkedIn, and Twitter
  • How I Failed 39 Interviews and What I’ve Learned
  • Disjoint Set Union Data Structure in C and Swift
  • Kruskal’s algorithm
  • Swift Cairo developer community

Follow DevChat on Facebook and Twitter

Picks Hassan El Desouky:

  • Game of Thrones

View Details

Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * CacheFly

Panel * Jaim Zuber * Andrew Madsen * Dave Delong

Joined by Special Guest: Derek Selander

Summary Derek Selander introduces himself and how he got started. The panel discusses debugging strategies and debugging with LLDB. The discussion moves to Hopper and using it to see what the UIKit is doing. Assembly Language differences between Swift and Objective and the effect on ABI stability are considered. The panel endorses Derek’s book as a great resource for developers. Derek shares how having this knowledge has helped him as a developer.

Links * https://www.hopperapp.com/ * https://www.hex-rays.com/products/ida/debugger/index.shtml * https://en.wikipedia.org/wiki/Mach-O * https://www.raywenderlich.com/615-assembly-register-calling-convention-tutorial * https://github.com/nygard/class-dump * https://github.com/derekselander/ * https://twitter.com/lolgrep

Picks Andrew Madsen

  • Afuri Ramen in Tokyo, Japan

Dave Delong

  • _ivarDescription
  • _methodDescription
  • https://github.com/nygard/class-dump

Derek Selander

  • Ivars
  • _shortmethoddescription
  • https://github.com/derekselander/lldb

View Details

Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * CacheFly

Panel:

  • Andrew Madsen
  • Guilherme Rambo

Special Guest:Mohammad Azam

Episode Summary In this episode of iPhreaks, the panel hosts Mohammad Azam, a Full Stack Immersive Web Instructor at DigitalCrafts and a Udemy instructor. Mohammad talks about ARKit: how it works, its features, its benefits and which industries will possibly benefit from this augmented reality framework.

They talk about what actions Apple takes to help developers feel more comfortable with 3D development. They also briefly compare ARKit and Unity. Mohammad gives examples of some of the more interesting projects he has seen done, using ARKit. He then talks about resources where developers can learn about ARKit; two of which are Mohammad’s YouTube video, Building Augmented Reality Apps Using ARKit and his Udemy course Mastering ARKit for iOS which offers a coupon code 'iPHREAKS' for Devchat.tv listeners.

Links * Mohammad's Twitter * Mohammad's LinkedIN * ARKit * Building Augmented Reality Apps Using ARKit * Mastering ARKit for iOS - Coupon Code = iPHREAKS * https://www.facebook.com/DevChattv

Picks Andrew Madsen:

  • PSPDFKit and Swift

Guilherme Rambo:

  • How Overnight Shipping Works

Mohammad Azam:

  • Bad Blood: Secrets and Lies in a Silicon Valley Startup by John Carreyrou
  • American Kingpin: The Epic Hunt for the Criminal Mastermind Behind the Silk Road by Nick Bilton

View Details

Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * CacheFly

Panel:

  • Andrew Madsen
  • Jaim Zuber
  • Erica Sadun
  • Dave Delong

Special Guest:Abbey Jackson

Episode Summary In this episode of iPhreaks, panel hosts Abbey Jackson, a senior software engineer at Mastercard fraud detection from Vancouver, Canada.

Abbey was a part time nanny before she became a developer. Her journey as a developer started when she decided to attend an 8-week Swift boot camp. Within 3 years of the boot camp she started working at Mastercard as a senior developer. Although Abbey currently develops using Objective-C, she started developing in Swift. She talks about the different concepts she struggled with as a Swift developer, such as the difference between nil, NULL and NSNull in Objective–C.

They talk about the tools and books available to developers who want to learn Objective–C. Abbey has used the Slack Objective–C channel extensively to ask for advice on coding practices.

Links * Abbey's Twitter * Abbey's GitHub * Abbey's Website * https://www.facebook.com/DevChattv

Picks Andrew Madsen:

  • IconJar

Dave Delong:

  • The Light of Other Days by Arthur C. Clarke and Stephen Baxter

Jaim Zuber:

  • Xcode - Apple Developer

Abbey Jackson:

  • CheatSheet - Know your short cuts

View Details

Panelists: * Andrew Madsen * Erica Sadun * Guilherme Rambo

Guest: Theodore Dubois

Links: Guilherme Rambo

  • https://github.com/aahung/Unshaky

Erica Sadun

  • https://techkeys.us/products/onekeyboard
  • how-to-fix-blurry-fonts-on-macos-mojave-with-subpixel-antialiasing/
  • https://i.imgur.com/GLzUBHf.jpg
  • https://i.imgur.com/XzOeXLe.jpg

View Details

Sponsors * CacheFly

Panel * Jaim Zuber * Andrew Madsen * Erica Sadun * Guilherme Rambo

Epidose Summary iPhreaks is back after a break. In this episode of the iPhreaks, the panel gives an update on what they have been working on while the show was on break and what they plan for the show for the upcoming year. The panel is booking guests for the upcoming shows and can be contacted for suggestions for a topic ideas and guests.

Links: * iPhreaks Podcast (@iphreaks) | Twitter * DevChat.tv Facebook

Picks: Guilherme Rambo:

  • https://www.apple.com/ipad-pro/

Erica Sadun:

  • Refurbished Latest Generation iPad

Jaim Zuber:

  • https://www.rottentomatoes.com/tv/the_man_in_the_high_castle/s01/

Andrew Madsen:

  • https://itunes.apple.com/us/app/shapescript/id1441135869?mt=12
  • https://www.creality3d.shop

View Details

Panel:

  • Gui Rambo
  • Erica Sadun
  • Jaim Zuber
  • Andrew Madsen

Special Guest: Paul Hudson

In today's episode, the iPheaks panelist speaks with, their very own, Gui Rambo. Gui shares information about the new features with Siri in iOS 12. Gui talks about the extended integration of Siri with other apps in iOS. The panel continues to discuss the further contextual suggestions of Siri, as well as the customizable features and extensions with Siri. Lastly, Gui talks about a new app, the Shortcuts App, that may make an appearance in iOS 12. This is a great episode to learn more about the upcoming new feature for iOS devices.

In particular, we dive pretty deep on:

  • What’s new in Siri for iOS12?
  • What is a Siri Intent?
  • Creating or defining intents
  • Run Templates
  • NSUser Activity API
  • Siri Knowledge System
  • Are Siri Shortcuts the same thing as custom intents?
  • What variables are used to determine what intents should be shown?
  • Examples of working with e-commerce app and learned activity
  • Can you charge money from an intent?
  • What kind of output or feedback do you get with custom intents?
  • Why isn’t there more Siri capabilities on the Mac?
  • How do you make custom intents?
  • How you help users discover intents?
  • Shortcuts App
  • And much much more!

Links:

  • https://github.com/insidegui/Milkshakr

Picks:

Jaim

  • Bear Cam

Erica

  • Original iPhone Battery Life

Gui

  • Sharecuts.app

Andrew

  • https://www.fifty-licks.com/

View Details

Panel:

Jaim Zuber

Special Guest: Yonas Kolb

In today’s episode, the iPhreaks panel talks to Yonas Kolb about XcodeGen and other Swift tools. Yonas works on a number of open source projects that Jaim has been working with recently, notably XcodeGen, Mint, and Beak. They talk about what each of these open source tools are and do, use cases for XcodeGen, and the benefits of checking in VS not checking in. They also touch on obscure things you can do with XcodeGen, how he started the project, and more!

In particular, we dive pretty deep on:

  • Yonas intro
  • XcodeGen
  • Swift command line tool
  • Why bother?
  • Merge conflicts
  • Use with complicated setups
  • How do you define the files?
  • Point at a directory and it will work itself out
  • What’s the output of the XcodeGen tool?
  • Skeptical at first
  • Benefits of checking in vs not checking in XcodeGen project?
  • What do you use to describe the format?
  • How do I set project configurations?
  • Build setting names
  • New documentation for build settings - Xcode Build Settings Reference
  • Does XcodeGen work with CocoaPods?
  • Obscure things you can do with XcodeGen
  • How did you start the project?
  • Xcake and Struct
  • Swift
  • How is Swift for writing tools?
  • What libraries do you use for writing shell commands?
  • Mint
  • Beak
  • And much, much more!

Links:

  • XcodeGen
  • Mint
  • Beak
  • Swift
  • Xcode Build Settings Reference
  • CocoaPods
  • Xcake
  • Struct
  • @yonaskolb
  • Yonas’s GitHub
  • yonaskolb.com

Sponsors:

  • FreshBooks
  • Loot Crate

Picks:

Jaim

  • Rockstar programming language

Yonas

  • GitUp
  • Xcode Build Settings Reference

View Details

Panel:

  • Jaim Zuber
  • Gui Rambo

In today’s episode, the iPhreaks panel talks to Parveen Kaler about iOS architecture at scale. Parveen has been doing mobile development, specifically iOS development, for almost 10 years now, and he previously used to work in the video games industry. They talk about the difference between scale when it comes to dollars and revenue, the pull request process, and what good architecture at scale is. They also touch on creating uniform views, object mappers, and more!

In particular, we dive pretty deep on:

  • Parveen Intro
  • Used to work with PSP video game development
  • iOS Architecture At Scale - types of scale
  • His talk at AltConf
  • Is there a difference scale w/ dollars and scale /w customers?
  • What are major differences from coming from a large company?
  • Do you run into issues with many customers?
  • Pull Requests and Release Train
  • Release Manager
  • What is good architecture at scale?
  • Definition of good architecture
  • Three things lead to good architecture
  • What are coding style differences?
  • You want to unify models
  • Unification really matters
  • How do you create uniform views?
  • How do you work when code you want to change is handled by another team?
  • Unified router framework
  • Object Mapper
  • How do you combat long compile times?
  • Does Xcode improve compile times?
  • Does Swift provide advantages vs Objective-C?
  • AB Testing at Scale?
  • And much, much more!

Links:

  • His talk at AltConf
  • Xcode
  • parveenkaler.com
  • @kaler
  • Parveen’s GitHub
  • Smartful Studios

Sponsors:

  • FreshBooks
  • Loot Crate

Picks:

Jaim

  • Iron Maiden Pinball

Gui

  • Things You Should Never Do, Part I by Joel Spolsky

Parveen

  • US Passport

View Details

Panel:

  • Jaim Zuber
  • Erica Sadun

Special Guest: Shai Mishali

In today’s episode, the iPhreaks panel talks to Shai Mishali about RxSwift. Shai is an iOS engineer who started his career as a backend engineer. Currently, he is in charge of the Tim Horton’s iOS app, and in his free time he does a lot of open source, specifically within the RxSwift community. They talk about how he got into programming, the difference between React and RxSwift, and they explain ReactiveX. They also touch on the downsides of Rx, how debugging works, and more!

In particular, we dive pretty deep on:

  • Shai intro
  • How did you get into developing?
  • Grew up interested in technology
  • How was it learning when you’re not a native English speaker?
  • Language barrier
  • Do you consider yourself an Apple developer?
  • Still does some backend work in Swift
  • Tackles whatever challenges come into his path
  • How are React and RxSwift different?
  • React is a technology that is built on one big idea
  • Big idea behind React
  • Is there a model that iOS developers use that is similar to how React/Reactive programming works?
  • RxFeedback
  • Explain ReactiveX
  • Observables & Binding
  • What are the downsides of Rx?
  • Does Rx feel like functional programming, or the delegate pattern?
  • How does Rx simplify your life?
  • How do you avoid the pitfalls in Rx?
  • How does debugging work?
  • And much, much more!

Links:

  • RxSwift
  • RxSwift Community Projects
  • React
  • Swift
  • ReactiveX
  • RxFeedback
  • @freak4pc
  • Shai’s Medium
  • Shai’s GitHub

Sponsors:

  • FreshBooks
  • Loot Crate

Picks:

Jaim

  • The Marvelous Mrs. Maisel

Erica

  • Github Gists

Shai

  • Communityrxswift.org

View Details

Panel:

Andrew Madsen

Special Guest: Alex Fishman

In today’s episode, the iPhreaks panel talks to Alex Fishman about Bugsee. Alex the founder and CEO of Bugsee, which is a bug and crash reporting tool for mobile apps. Before going into the startup scene, he spent 16 years working in the digital camera space before the iPhone took over. They talk about what Bugsee is and how it works, how Bugsee protects privacy, other use cases for Bugsee, and more!

In particular, we dive pretty deep on:

  • About Alex
  • Worked in the digital camera scene previously
  • Bugsee is about 3 ½ years old
  • Had to shut down a previous startup before Bugsee
  • Why did you decide to go in a different direction with mobile development?
  • Software engineer by trade
  • What is Bugsee?
  • Sit in your app and record everything to find bugs for you
  • What is the “everything” that Bugsee records?
  • What kind of overhead is there to recording video all the time?
  • Privacy
  • How Bugsee deals with privacy
  • Privacy depends on the nature of the app
  • What’s the model for users knowing about your privacy policies?
  • What does Bugsee look like to a developer?
  • Traces and Events Timeline
  • Pricing
  • Bugsee for Web
  • Other use cases
  • Rubix Cubes
  • Rubix Cube video
  • And much, much more!

Links:

  • Bugsee
  • Rubix Cube video
  • Veritasium on YouTube
  • Techmoan on YouTube
  • @fishmanalex
  • Alex’s Medium

Sponsors:

  • FreshBooks
  • Loot Crate

Picks:

Andrew

  • Techmoan on YouTube

Alex

  • Veritasium on YouTube

View Details

Panel:

  • Andrew Madsen
  • Gui Rambo

Special Guest: Will Bishop

In today’s episode, the iPhreaks panel talks to Will Bishop. Will is 16 years old and is a developer in Australia. He really got into iOS development about a year ago at his school when he had to create an iOS app for one of his classes, which really made him fall in love with iOS app development. They talk about why he decided to create an app just for the Apple Watch, setting yourself apart from big companies, the business model for his apps, and more!

In particular, we dive pretty deep on:

  • Will intro
  • How did you get into writing iOS apps?
  • Has interested in technology his whole life
  • What’s your first memory with the iPhone?
  • Never owned an Android
  • His app Chirp for Twitter
  • Why did you make an app just for the Apple Watch?
  • Set out to make a Reddit app for the Apple Watch originally
  • Creating an app for the Apple Watch would set him apart
  • Article on Chirp for Twitter
  • Filling in the gaps
  • Being able to take risks and experiment at his age
  • Indie developer going head-to-head with the big companies
  • Twitterific pulling the Watch app
  • Unify the user experience
  • Using UIkit
  • WatchKit
  • Can’t give the same experience as 1st party apps
  • New with Watch OS5
  • Apple needs to fix WatchKit
  • Why companies aren’t creating on the Apple Watch
  • What’s the business models for your apps?
  • His app Nano for Reddit
  • Subscriptions for apps to make a living
  • SA Confetti View
  • And much, much more!

Links:

  • Chirp for Twitter
  • Article on Chirp for Twitter
  • Twitterific pulling the Watch app
  • UIkit
  • WatchKit
  • Nano for Reddit
  • SA Confetti View
  • @WillRBishop

Sponsors:

  • FreshBooks
  • Loot Crate

Picks:

Andrew

  • FastScripts
  • Field Notes

Gui

  • StopTheMadness

Will

  • Outcast

View Details

Panel:

Jaim Zuber

Special Guest: Michael Fey

In today’s episode, the iPhreaks panel talk about 1Password with Michael Fey. Michael is the team lead for the Apple team at 1Password. 1Password is a password manager that helps to keep people safe online by allowing people to store all their passwords and credit card information in it and it keeps it all safe behind one password that you know, your master password. They talk about why someone would use 1Password, iOS 12, how the data is stored in the app, home pod integration, and more!

In particular, we dive pretty deep on:

  • Michael intro
  • 1Password
  • Been working with 1Password for 5 years
  • MoneyWell
  • Unique product that everyone needs
  • 1Password increases your security
  • Works with Have I been pwned?
  • People are as secure online as they think they are
  • What’s it like developing for 1Password?
  • Were you surprised by Apple’s iOS 12 password announcement
  • UI of apps is slowly disappearing
  • Home Pod integration
  • How do you integrate the new password management
  • How is 1Password data stored?
  • How do you store data securely?
  • Is storing data in the keychain enough?
  • How do you keep from getting p0wned?
  • What is unique about working for 1Password
  • How did the change to a subscription model go?
  • Can I still by a standalone license?
  • And much, much more!

Links:

  • 1Password
  • MoneyWell
  • Have I been pwned?
  • @MrRooni
  • mrrooni.com

Sponsors:

  • FreshBooks
  • Loot Crate

Picks:

Jaim

  • World Cup

Michael

  • WhenWorks

View Details

Panel:

  • Jaim Zuber
  • Andrew Madsen
  • Erica Sadun
  • Gui Rambo

In today’s episode, the iPhreaks panel talk about Marizipan. Marzipan is the compatibility layer that Apple invented in order to bring UIKit apps to Mac. They talk about the rumors behind the creation of Marzipan, why Apple is waiting until next year to launch it, and discuss what will make these new Mac apps iOS capable. They also touch on how you can run iOS apps on the Mac prior to Marzipan’s release, Marzipanify, and much more!

In particular, we dive pretty deep on:

  • Intro to Marzipan
  • UIKits on Mac OS
  • This was rumored several months ago and is not coming out until next year
  • Announced at Apple Keynote 2018
  • Why isn’t Marzipan ready now?
  • Been working on it for a while
  • What makes it an iOS app?
  • Link with UIKit framework
  • What are the roles of the different frameworks?
  • UIKitCore
  • What’s up with the Tea?
  • Is Apple developing a reactive UI layer?
  • UIKit vs AppKit
  • Dummies guide to running your own iOS app on Mac
  • Marzipanify
  • Is there a simulator network to run iOS apps on the Mac?
  • What iOS apps would you like to see on the Mac?
  • What iOS elements are supported?
  • What is ProKit?
  • And much, much more!

Links:

  • Marzipanify
  • AppKit
  • UIKit

Sponsors:

  • FreshBooks

Picks:

Jaim

  • Sturgill Simpson

Erica

  • Rainbow Cake

Andrew

  • Princess Cake
  • Pi PDP8

Gui

  • Brigadeiro

View Details

Panel:

  • Jaim Zuber
  • Erica Sadun
  • Gui Rambo

Special Guest: Leo Dion

In today’s episode, the iPhreaks panel talk to Leo Dion about MicroConf and writing apps for Apple Watch. Leo has been a developer for almost two decades and six years ago he created his own company called BrightDigit. He mostly focuses his time and energy to the Apple space and enjoys developing apps for the iPhone, iPad, and the Apple Watch. They talk about what happens at MicroConf, what he is working on now, tips for starting a meetup, and more!

In particular, we dive pretty deep on:

  • Leo intro
  • BrightDigit
  • MicroConf
  • What happens at MicroConf?
  • Startups for the Rest of Us Podcast
  • Listening to your customers for what they need
  • What are you working on?
  • The technologies that people are interested in now
  • What is an info product?
  • Getting into a regular habit of writing
  • Do you have tips for running a meet up?
  • The “ideal” meetup
  • Meetups that push you forward in your developing career
  • Creating content marketing
  • Leo’s Exercise App
  • What kinds of coaching would benefit from Apple technology?
  • New Apple Watch functionality
  • Getting info from your devices without looking at a screen
  • Augmented Reality without images
  • We love stats!
  • And much, much more!

Links:

  • MicroConf
  • BrightDigit
  • Startups for the Rest of Us Podcast
  • @leogdion
  • leogdion.name

Sponsors:

  • FreshBooks
  • Loot Crate

Picks:

Jaim

  • Content Marketing Example - Prima Coffee
  • Baratza Encore Coffee Grinder

Erica

  • Fitbit Aria

Gui

  • Siri Shortcuts

Leo

  • The Qualities of Great Design

View Details

Panel:

  • Andrew Madsen
  • Erica Sadun
  • Jaim Zuber

Special Guest: Paul Hudson

In today's episode, the iPheaks panelist speak with Paul Hudson about Writing, Swift, & Writing Swift. Paul is the author of Hacking with Swift, Pro Swift, Swift Design Patterns, Server-Side Swift, Hacking with macOS, Hacking with watchOS, Hacking with tvOS, Swift Coding Challenges, and more. Suffice it to say, he quite likes Swift. And coffee. (But mostly Swift.) (And coffee.)

In particular, we dive pretty deep on:

  • Books Paul has written
  • How did you get into writing?
  • How do you switch from Php to Swift?
  • What took you from Objective-C to Swift?
  • Is Swift’s rapid pace of change a good thing?
  • How do you teach technology?
  • Who inspires you as a writer?
  • Rory Cellan-Jones https://twitter.com/bbcrorycj
  • How can technical writers improve their writing?
  • What’s your process for getting feedback?
  • Tell us about your videos
  • How do you make your life more Mac development and less 1 Minute Swift?
  • And much much more!

Links:

  • https://www.hackingwithswift.com/
  • https://github.com/twostraws
  • https://twitter.com/twostraws?lang=en

Picks:

Paul

  • OpenTerm
  • louisdh/openterm: Pull Request 142
  • Best Of Star Trek Voyageur
  • Glitch Mob - See Without Eyes

Erica

  • Gui’s WWDC App

Andrew

  • Andrew’s UPS system

View Details

Panel:

  • Gui Rambo
  • Andrew Madsen
  • Erica Sadun
  • Jaim Zuber

Special Guest: Andrew McKnight

In today's episode, the iPheaks panelist speak with Andrew McKnight about Surveying How Swift Evolves. Andrew provides information on a presentation he did at iOS Dev Camp Colorado, on a survey looking at the open source Swift repositories to see how developers are extending the language, foundation, or standard library. This is a great episode to gain insight into how developers on the iOS platform are helping evolve the Swift language and much more.

In particular, we dive pretty deep on:

  • What was being surveyed? - Utility Libraries and general purpose
  • How did you search for Utility Libraries?
  • What is the purpose of the utility libraries?
  • Duplicate extensions
  • What are the most popular extensions that are recreated?
  • String and Trim
  • What is trim()?
  • Why is targeting utility libraries problematic?
  • What is the goal?
  • Did you find wrong or dangerous implementations?
  • Why is their discussion/drama around gathering these extensions?
  • Would these be good topics to file Radars?
  • Brisk - https://github.com/br1sk/brisk
  • What is it like entering the Swift Evolution Process?
  • Can a community-driven proposal gain traction?
  • Did you look into custom types like Result?
  • And much much more!

Links:

  • https://forums.swift.org/t/surveying-how-swift-evolves/12726
  • https://github.com/armcknight
  • http://armcknight.com/
  • https://medium.com/@ndrewmcknight/has-recommended
  • @ndrewmcknight
  • Chris Lattner
  • Ted Kremenek

Picks:

Gui

  • Daily WTF

Erica

  • Live Lava Feeds
  • https://www.youtube.com/watch?v=HtihmXFWqGo

Andrew

  • Antibiotics
  • Tic-80 Tiny Computer

Jaim

  • Black Mirror

Andrew McKnight

  • Public Extension mailing list

View Details

Panel:

  • Gui Rambo
  • Erica Sadun

Special Guest: Marin Todorov

In today's episode, the iPheaks panelist Erica and Gui talk about backups. Why are backups important, how to maintain up-to-date local and off-site backups and backup service suggestions. Gui and Erica share examples and horror stories of neglecting to backup data. This is a great episode to learn about when, why and how to backup your devices and computers to cloud services, and best practice for categorizing your personal and business data for backup.

In particular, we dive pretty deep on:

  • Paranoid back up
  • Not everything can get synced up to GitHub
  • Email, personal materials, etc.
  • Horror stories
  • Personal catastrophe
  • Losing a business
  • Where does your data live?
  • Personal and financial cost
  • What are not backups - Dropbox, cloud, etc
  • DropBox is only one component of a backup
  • Cloud storage components
  • Having a mix of cloud, and localized backs, and introducing redundancy
  • Natural disasters and thief
  • Offsite Github backup
  • Git Repo
  • Privacy, private repo, etc.
  • Bit Bucket - similar to GitHub
  • Source Forge
  • Amazon web service
  • AWS Glacier
  • AWS S3
  • ARQ
  • Back Blaze
  • Back Blaze B2
  • Time Machine alone is not efficient
  • Bootable backups
  • Carbon Copy Cloner
  • Scheduler for backups
  • Time Machine fail
  • And much much more!

Links:

  • https://github.com/github/backup-utils
  • https://github.com
  • https://bitbucket.org
  • Amazon web service
  • AWS S3
  • ARQ
  • Back Blaze
  • Back Blaze B2

Picks:

Gui

  • CloudFlare Workers

Erica

  • NOTI

View Details

Panel:

  • Gui Rambo
  • Andrew Madsen

Special Guest: Marin Todorov

In today's episode, the iPheaks panelist speaks with Marin Todorov about Realm. Marin is an independent developer and works exclusively in the iOS platform. Marin does contract work, open source projects is an author of multiple publications, a speaker, and does in-house training. Marin answers questions about the inner workings or Realm, what and who is using Realm, how it functions and popular ways to implement Realm in your projects.

In particular, we dive pretty deep on:

  • What is Realm?
  • What are differences from other data options?
  • Is Realm a SQL database?
  • Live objects in Realm
  • Multi-threading and Reactive
  • What is data type returned from Realm?
  • What is an Object Graph?
  • Realm Cloud
  • Marin’s Realm Book
  • Realm World Tour
  • And much much more!

Links:

  • http://www.underplot.com/
  • https://github.com/icanzilb
  • https://www.linkedin.com/in/marintodorov
  • https://www.amazon.com/Marin-Todorov/e/B01N5IG4HR
  • @icanzilb

Picks:

Gui

  • Livestream of coding a Mac app

Andrew

  • Open Emu

Marin

  • Xcode Treasures - Chris Adamson

View Details

Panel:

  • Gui Rambo
  • Andrew Madsen
  • Eric Sadun

Special Guest: Chris Adamson

In today's episode, the iPheaks panelist speak with Chris Adamson, a freelance iOS and Mac developer from Grand Rapids Michigan. Also, Chris is an author and co-author of a number of books, including Xcode Treasures. Chris is on the show to talk about this book abut Xcode called Xcode Treasures. This is a great episode to learn about another avenue of valid information on the inner workings of Xcode.

In particular, we dive pretty deep on:

  • Book Xcode Treasures
  • Negativity about Xcode
  • Tools
  • Documentation
  • Code Warrior
  • Hardware
  • 32 bit issues
  • What are the biggest frustrations with Xcode as a developer?
  • What are the things you love about Xcode?
  • Xcode project format
  • Xcode not savvy with version control
  • Apple addressing these issues
  • Interface Builder
  • What did you learn about Xcode when writing the book?
  • Code Signing
  • Sand boxing app
  • Git control
  • VeraCode
  • Fonts
  • Who needs to buy you book?
  • Mid Level and up iOS developers need this book.
  • Pragmatic Programmers Beta Program
  • When are with going to see the book?
  • Xcode for iPad?
  • Xcode as an IDE
  • Core Audio talk and updates
  • And much much more!

Links:

http://subfurther.com/blog

https://www.linkedin.com/in/invalidname//

https://www.oreilly.com/pub/au/1045

Xcode Treasures

https://developer.apple.com/xcode/

Picks:

Gui

  • OS Log API

Andrew

  • Online Swift Playground
  • Juiced.gs

Erica

  • Snippity

Chris

  • We are X

View Details

Panelist

  • Jaim Zuber
  • Andrew Madsen

In today's episode, the iPheaks panel, Jaim, and Andrew discuss conferences such as WWDC, AltConf, Next Door Conf NDC, and many of the events and attraction when attending conferences. This is a great episode to learn about the various facets of conference hopping. Topics covered involve the number of attendees at these individual conferences, speaking at conferees, logistics of attending, tourist attractions, parties, after events, and much more.

In particular, we dive pretty deep on:

Conferences and Events:

  • San Jose vs. San Francisco
  • WWDC
  • AltConf
  • Next Door Conf NDC
  • Layers Conference
  • try! Swift
  • Speaking at conferences
  • Logistics
  • Night of Dim Sum

Conference Tips:

  • Avoid loud parties
  • Podcast Recordings
  • Swift Panel
  • Cocktails
  • Coffee
  • Meeting new people over coffee
  • Beacon Party App

Picks:

Jaim

  • Voltaire:

360 S Market St #80, San Jose, CA 9511

  • Social Policy:

200 S 1st St, San Jose, CA 95113

  • BBW Tri Tip Sandwich - 885 Delmas Ave, San Jose, CA 95125
  • Sports Bar
  • Gombei in Japan Town
  • Cocktail Bars:
  • https://www.yelp.com/biz/haberdasher-san-jose - 43 W San Salvador St - Smaller basement vibe
  • https://www.yelp.com/biz/paper-plane-san-jose-2 - 72 S 1st St San Jose, CA 95113 Large Bar

Andrew

  • Computer History Museum
  • Apple Park

View Details

Panel:

  • Erica Sadun
  • Andrew Madsen

Special Guest: Derrick Hathaway

In today's episode, the iPheaks panel, Erica, and Andrew speak with Derrick Hathaway about GraphQL. Derick is a mobile app developer and works at LifeOMic. Derrick is on The Freelance Show to discuss exactly what GraphQL is about. This is a great episode to understand the structure of GraphQL on the client and server side, and many other facets and features.

In particular, we dive pretty deep on:

  • What is GraphQL, why are you using it.
  • How does GraphQL differ from REST?
  • Where does this live?
  • The server component of GraphQL
  • What do you use to use GraphQL?
  • GraphQL requests under the hood
  • Where is the state of the technology?
  • Apogee
  • Subscriptions
  • Security
  • How to get started?
  • GraphiQL - https://developer.github.com/v4/explorer/
  • https://github.com/skevy/graphiql-app
  • Query validation at compile time
  • And much, much more!

LINKS:

  • https://lifeomic.com
  • https://cloud.google.com/apigee-api-management/
  • https://developer.github.com/v4/explorer/
  • https://github.com/skevy/graphiql-app
  • https://www.linkedin.com/in/derrickhathaway
  • Twitter handle - @derrh
  • https://github.com/derrh

Picks:

Erica

  • Salt Lake City

Andrew

  • Nintendo Switch

Derrick

  • Microbiology

View Details

Panel:

  • Erica Sadun
  • Andrew Madsen
  • Jaim Zuber

Special Guest: Paul Shelley and Eric Ludlow

In today's episode, the iPheaks panel, Erica, Andrew, and Jaim speak with Paul Shelley and Eric Ludlow, both graduates of a boot camp at Dev Mountain. The topics cover, what is a boot camp, computer science, app development, duration of training, investment, who goes to boot camp, iOS programming, and much more. This is a great episode to learn more about how developer boot camps work.

In particular, we dive pretty deep on:

  • What is a bootcamp - 3 month intensive training
  • Costs of attending a bootcamp
  • Investment
  • Who goes to bootcamp?
  • iOS, Fullstack, etc.
  • What kind of boot camps are out there?
  • What do you learn at bootcamps, platforms, etc
  • Growing industry
  • Geting a sense of the hiring?
  • Competitive fields
  • Job markets
  • Locations of bootcamps
  • How do you find out about the job market in (Utah)
  • Going to Bootcamp with families at home
  • Recruiters
  • SIRR- reports of numbers - students getting jobs
  • Working with team and real world activities
  • Git Repos, Scrum, Agile,
  • Who succeeds at a bootcamp?
  • Apple educational event
  • Everyone can code
  • Graduating from bootcamp and looking for a job
  • Job offers at Dev Mountain Labs
  • Apprenticeship
  • And much, much more!

LINKS:

  • https://devmountain.com

Picks:

Erica

  • Bike paths

Andrew

  • Speed Test app Okla with cat easter egg

Eric

  • Ipad with Smart Pen

Paul

  • Bike paths plus 1
  • Family

View Details

Panel:

  • Andrew Madsen
  • Jaim Zuber
  • Erica Sadun
  • Gui Rambo

Special Guest: Gregorio Zanon

In today’s episode, the iPhreaks panel talk to Gregorio Zanon about data transparency and iMazing. Gregorio is in Geneva, Switzerland currently and is the code leader at DigiDNA which created the app iMazing. He talks about the inspiration for creating the app, its main functions, and what kind of people use this app. They also touch on the topic of data transparency, what it is, and how it affects developers.

In particular, we dive pretty deep on:

  • Gregorio intro
  • iMazing
  • Who is the average user of the app?
  • 3 types of users
  • What motivated you to create the app that does so much for so many types of people?
  • Go beyond iTunes
  • Where to start?
  • C++ toolkit
  • Apple reasons for trouble reaching data
  • Need for control
  • Why not split up functionality into 3 apps?
  • Do iOS updates break iMazing?
  • Does iMazing handle changes in APFS?
  • What is Data Transparency?
  • How did Facebook get my What’s App info?
  • Should I delete Facebook?
  • Delete Facebook article
  • How can we get iMazing?
  • And much, much more!

Links:

  • iMazing
  • Delete Facebook article
  • @RealGregzo
  • DigiDNA
  • Friendly 30% off for developers: PHREAKS-GET-IMAZING

Picks:

Jaim

  • pprof - Ruby Gem to list, filter, search and print Provisioning Profiles files

Erica

  • Teletubbies

Andrew

  • Outline Edit - Use OutlineEdit to sketch ideas on your Mac

Gregorio

  • Notion

View Details

Panel:

  • Andrew Madsen
  • Jaim Zuber
  • Erica Sadun
  • Gui Rambo

Special Guest: Joe Fabisevich

In today’s episode, the iPhreaks panel talk to Joe Fabisevich about the new mailing list that he has recently taken over, and you can sign up for it here. He talks about the type of snippets that they send out in the newsletter and gives general information about the newsletter. Joe loves the reception that he has gotten, and this is what fuels him to find new extensions every week to help other people learn. One of his goals for this project is to try to figure out the formula that keeps people coming back each week.

In particular, we dive pretty deep on:

  • Joe Fabisevich intro
  • Public Extension twitter
  • GetRevue
  • What is an example of a snippet?
  • How did you start the newsletter?
  • Public Extension archives are at https://github.com/mergesort/Public-Extension
  • Does the playground work on iPad?
  • Who follows the twitter account?
  • Is this for learners or production code?
  • Are these snippets performant?
  • Did you have any goals for the newsletter in particular?
  • What have you learned?
  • 80-90% of people actually open the newsletter
  • Find something that is focused for your newsletter content
  • Carbon
  • Is it time for a new Mac & iOS design refresh?
  • Are touch screens for Mac’s coming?
  • What technologies are you excited about?
  • And much, much more!

Links:

  • @PublicExtension
  • @Mergesort
  • GetRevue
  • Public Extension Archives
  • Carbon

Picks:

Erica:

  • Leet Code

Gui:

  • MacOS and iOS Internals, Volume I by Jonathan Levin

Andrew:

  • Tea Code
  • Oregon Trail

Jaim:

  • iOS Ref
  • @EugeneBelinski

Joe:

  • Service Pocket

View Details

Panel:

Jaim Zuber

Erica Sadun

Gui Rambo

Special Guest: Fernando Bunn

In today’s episode, the iPhreaks panel talk to Fernando Bunn about different storage option for the iPhone, such as Core Data. Fernando has worked with mobile as a hobby since 2006 when apps were developed in J2ME and started to develop apps since the first day the iOS SDK was released in 2008. He is also passionate about using technology to improve people’s lives. This episode is great for those wanting to know more about iPhone storage and Core Data in general.

In particular, we dive pretty deep on:

  • Intro about Fernando
  • C and C++ developer at first
  • Core Data
  • Is core data still relevant?
  • What are alternatives to Core Data?
  • Realm, FMDB
  • Encourages people to stay with Apple’s framework of personal
  • What is the cutoff point at which you move into Core Data?
  • The Core Data curve
  • What happens to Core Data at scale?
  • Why not just use SQL?
  • Swift debugging problems
  • Would Swift change your opinion of CoreData?
  • Performance problems with Realm
  • FMDB
  • FCModel
  • Springboard
  • What about the Cloud?
  • And much, much more!

Links:

  • FMDB
  • FCModel
  • @FCBunn

Picks:

Gui

  • Craig Hockenberry article

Erica

  • Jessica Jones Season 2

View Details

Panel:

Jaim Zuber

Andrew Madsen

Gui Rambo

Special Guest: None

In today’s episode, the iPhreaks panel talk about Andrew’s client project that he’s been working on. To combat an issue, he has been using the audio port on the iPhone in order to transport data. With this, you don’t need any approval from Apple and the hardware is very simple. They go more in depth about how this process works and how iPhone updates affect it, such as the loss of the headphone jack.

In particular, we dive pretty deep on:

  • About the Project
  • How does it work?
  • Bell 202
  • Frequency Shift Keying
  • How does it work with iPhones without new headphone jacks?
  • What libraries are available?
  • JM FSK-25 Modem
  • Andrew wrote his own library as well
  • How do you get around transmission issues?
  • Erroring checking
  • What type of device is on the other side?
  • How do you structure your data?
  • What other apps can use this?
  • How is the audio with Bluetooth?
  • Tech support
  • Getting into the DSP weeds
  • Zero cross detector to determine frequency
  • Channel Coding
  • How can I learn about the Core Audio APIs?
  • Audio Queue Services
  • And much, much more!

Picks:

Gui

  • System-Bus-Radio

Andrew

  • 34th Anniversary of the Original Mac
  • Altair 8800 Playing Music Over Am Radio
  • Mini vMac
  • Soft Modem Arduino Library

Jaim

  • Trade Wars

View Details

Panel:

Jaim Zuber

Andrew Madsen

Special Guest: Joe Rhodes

In today’s episode, the iPhreaks panel, Jaim and Andrew talk to Joe Rhodes, a developer in Atlanta who is currently working on an app called Kite Compositor. This app is an animation and motion design app for Mac that came out in about March 2017. He left the corporate world to pursue his dream to be an app creator, and has never looked back since. This episode contains a great conversation about the process that goes through the mind of a developer when they are creating their respective apps.

In particular, we dive pretty deep on:

  • Kite Compositor
  • How did you come up with the idea to create the app?
  • Adobe After Effects
  • Why use Kite Compositor?
  • What makes Kite Compositor better?
  • Graphics underpinnings
  • How can designers or developers use this app?
  • Zeppelin and JavaScript
  • Is creating this app a full-time job?
  • Did you do validation?
  • He created an app that he would want to use
  • Computer science in college
  • Launching the app
  • How did you do source code generation?
  • Swift or Objective-c?
  • Does Xcode handle projects with both languages better than it did?
  • What learning materials are there?
  • And much, much more!

Links:

  • Linode
  • Microsoft App Center
  • @JRho
  • Kite Compositor

Picks:

Jaim

  • The ‘King of Kong’ could be stripped of his high score
  • Blog post on the “King of King” fraud

Andrew

  • Chasing Ghosts - Beyond the Arcade movie
  • OpenEmu

View Details

Panel:

Erica Sadun

Gui Rambo

Special Guest: None

In today’s episode, the iPhreaks panel, Erica and Gui talk about his app ChibiStudio, the challenges and lessons learned, and specifically about how it's like to have a freemium app in the App Store. The app allows people to create their own avatar, or Chibi, that they the can share through the iMessage app. This is a great episode to learn about the thought processes that go into creating a new iOS app.

In particular, we dive pretty deep on:

  • Where did the idea for ChibiStudio come from?
  • iMessage apps
  • How to improve the iMessage app success
  • Discoverability
  • Free app with in-app purchases. Why?
  • Different theme packs, especially during holidays
  • Balance between free content and paid options
  • Corporate outreach
  • Developing your own brand
  • Small and specialized audience
  • 2 pathways to monetary success
  • Using ads in apps
  • King Games
  • Ethical apps
  • Lessons he’s learned from developing
  • And much, much more!

Links:

  • Linode
  • ChibiStudio
  • Microsoft App Center

Picks:

Gui

  • HomePod

Erica

  • Farscape

View Details

Panel:

Erica Sadun

Gui Rambo

Special Guest: Lisa and

In today's episode, the iPheaks panel, Erica and Gui speak with Lisa Dziuba and Ahmed Suljman about their new product called Flawless App. The discussion covers topics on design, how the app works, marketing, team size, and much more. This is a great episode to learn about new iOS products and their unique build and design, and implementation.

In particular, we dive pretty deep on:

  • What's Flawless
  • Dealing with multiple screen sizes
  • The story of Flawless
  • Working on a small team
  • Designing and marketing as a developer
  • Marketing
  • ProductHunt
  • The future of Flawless app
  • and much more!

LINKS:

  • https://flawlessapp.io
  • https://twitter.com/FlawlessAppio
  • https://twitter.com/LisaDziuba
  • https://twitter.com/ahmed_sulajman
  • http://www.dailyui.co
  • https://bendodson.com/weblog/2017/06/16/flawless/
  • https://medium.com/flawless-app-stories/https-medium-com-flawless-app-stories-the-ultimate-guide-for-mobile-developers-who-want-to-design-part1-a2d47c04fd49
  • https://medium.com/flawless-app-stories/designed-by-engineer-76cbc6ffe34d
  • https://www.smashingmagazine.com/2018/01/reduce-app-optimizing-sketch-files/
  • https://medium.com/flawless-app-stories/how-flawless-app-will-make-you-a-better-ui-designer-23c7c5338e8c
  • https://speakerdeck.com/lisadziuba/marketing-for-engineers
  • https://github.com/LisaDziuba/Marketing-for-Engineers
  • https://medium.com/flawless-app-stories/flawlessapp-on-producthunt-7db3e561ce7a

Picks:

Gui

  • Tech Podcasts Lists

Erica

  • Donuts

Lisa

  • Marketing for Engineers

View Details

Panel:

Erica Sadun

Gui Rambo

In today's episode, the iPheaks panel, Erica, and Gui talk about the state of Apple in 2018 and what they would like to see from Apple in this new year. The discussion covers topics like where should Apple build their next campus, iMac Pro and desktop computing, replacement Mac lines, Mac mini, Puck Mac, Developer market, control center issues, and much more! This a great episode to get a glimpse of the current needs and wants among the iOS and OS developer communities.

In particular, we dive pretty deep on:

  • Apples Second major campus - in Denver?
  • iMac Pro
  • Consumer market
  • Other desktop computing possibilities
  • Mac mini talk
  • Puck Mac?
  • Commit
  • Cloud
  • Developer Market
  • Control Center issues
  • Air Pods
  • Swift Playgrounds on iPad
  • Enable 3rd party developers to add to control center
  • Evolution of iPads as pro computers
  • Where do we put our developers?
  • Touchscreens
  • iPhone X
  • MacBook keyboards
  • Touch Bar
  • WWDC 2018
  • and much more!

Picks:

Gui

  • 8 Bit Guy Videos

Erica

  • Libere Foldable Bike

View Details

Panel:

Eric Sadun

Gui Rambo

Andrew Madsen

Special Guest: Junior Bontognali, Marin Todorov, Scott Garner, and Florent Pillet

In today's episode, the iPheaks panel discuss RxSwift with the four authors of the book RxSwift Reactive Programming with Swift. The co-authors are Junior Bontognali, Marin Todorov, Scott Garner, and Florent Pillet. The four authors are developers in their own respective jobs and companies who are experts in Swift and iOS platform. The discussion covers the specifics of RxSwift and Reactive Programming.

In particular, we dive pretty deep on:

  • What is RX Swift?
  • Web applications
  • Asynchronous code
  • Advantages of Swift
  • Data is always in sync
  • What are typical events?
  • Coming from traditional Obj. C development, what is different?
  • Reactive Cocoa vs Swift
  • Concepts, languages
  • Standardized terms
  • How does RxSwift merge with Swift?
  • Schedulers? GCD?
  • How do you integrate RxSwift with Table View?
  • Integrating RxSwift with UIKit
  • Drawing patterns
  • Do you think Apple will adopt some of this uniform design?
  • Marzipan with RxSwift
  • Coco for the Mac
  • What are the first step to learning RxSwift? What do you want to accomplish?
  • RxSwift Slack Group
  • and much more!

LINKS:

  • Junior Bontognali
  • Marin Todorov
  • Scott Garner
  • Florent Pillet
  • RxSwift Reactive Programming with Swift
  • RxSwift Slack Group

Picks:

Gui

  • External Build Systems in Xcode

Erica

  • RxSwift book
  • The Vector Podcast

Andrew

  • Classic Computing Podcast
  • Swift Coding Challenges Book

Junior

  • AppBuilders Conference

Marin

  • Snippette
  • Sourcery

Florent

  • Vert.x Reactive JVM Server Framework

Scott

  • Paintcode
  • RxFlow
  • Realm

View Details

Eric Sadun

Gui Rambo

Jaim Zuber

In today's episode, the iPheaks panel discusses Cloudkit, and many technical details about the cloud-based service. In short, Cloudkit is a cloud syncing solution and works similar to a database. Gui mentions the reluctant users of such type of service, some important discussion with the security and privacy. This is a great episode on understanding the framework of Cloudkit and the technical structure of this cloud service, how data is managing when documents are updated, Change Tokens, costs, and much more.

In particular, we dive pretty deep on:

  • Gui describes CloudKit
  • Why does it mean to use the Cloud
  • Storage
  • Storage facility - in Carolinas.
  • Data from the apps to the Cloud
  • Schema-less
  • Issues with login and see other peoples data
  • Creating a data object
  • Framework - Cloud-kit
  • Thinking of the cloud as an extra disc drive.
  • Error oriented programming
  • Real world use, and conflicts with document revisions
  • Nightmares syncing issues
  • Change tokens
  • Server Record Change
  • Options for Local and Server version
  • Text merging
  • Register subscriptions
  • Costs and development
  • Cloudkit is essentially free and has 3 different database
  • Private
  • Web clients or android
  • Local caching mechanism
  • Can I use CloudKit with a web or Android app?
  • and much more!

LINKS:

  • https://developer.apple.com/icloud/
  • CloudKit Rest API
  • https://medium.com/@guilhermerambo/synchronizing-data-with-cloudkit-94c6246a3fda

Picks:

Gui

  • https://medium.com/@guilhermerambo/synchronizing-data-with-cloudkit-94c6246a3fda

Eric

  • Ventusky Weather App

Jaim

  • English Premier League

View Details

Panel:

Andrew Madsen

Erica Sadun

Special Guests:

Paul Faria

In today's episode, iPhreaks speaks with Paulo Faria. Paulo is based in Brazil and has been developing for the OSX platform since 2012. Also, Paulo mentions focusing on server side development and working in iOS and Android development. Paulo is the creator of Zewo and one of the first to work with server-side Swift. Paulo is on iPheaks to talks about Concurrency. Paul believes that concurrency is the missing feature to make it a true and mature ecosystem for server-side on Swift.

In particular, we dive pretty deep on:

  • Zewo (http://zewo.io)
  • IBM
  • Grand Central Dispatch
  • Syncro-programming
  • Promises
  • Async/Await
  • Is Swift following or leading?
  • Defer statements
  • Current state of concurrency in Swift
  • Swift forums
  • What's going on in concurrency in Swift right now
  • Incremental programming
  • Chris Eidhof's Incremental Programming
  • Seven Concurrency Models in Seven Weeks
  • https://www.objc.io/issues/2-concurrency/
  • CFHipsterRef
  • Mike Ash
  • and much more!

LINKS:

  • https://github.com/paulofaria
  • https://twitter.com/paulofariarl

Picks:

Erica

  • Swift Forums

Paulo

  • Incremental Swift

Andrew:

  • Iconic Book
  • The Emerald Deep

View Details

Panel:

Jaim Zuber

Gui Rambo

Special Guests:

Meng To

Marcos Griselli

In today's episode, iPhreaks speaks with Meng To and Marcos Griselli about Design Code. Design Code is an interactive book and app on how to design and code an iOS 11 app. Meng and Marcos talk about early career challenges building an iOS app. Meng talks about solving this problem with their Design Code book and app and making the process faster and intuitive. This is great for developers who want to learn to build an iOS app with little to advance knowledge.

In particular, we dive pretty deep on:

  • Design Code Platform
  • Books and resources
  • How big is the team?
  • Designers and Developers working together, challenges and wins
  • Not Prototype Code, Real Code
  • Auto layout in Design tools
  • What can developers learn from designers?
  • Margins
  • Design guidelines
  • Negative Spacing
  • iOS 11 design changes
  • Developing for iOS 11
  • How can I decide between regular titles and large titles?
  • Transitioning from web to mobile design
  • Tab Bars
  • Design Language and Guide Lines
  • and much more!

LINKS:

  • Meng To
  • Marcos Grisell

Picks:

Gui

  • https://github.com/apple/turicreate

Meng

  • HQ Live Trivia Game

View Details

Panel:

Andrew

Jaim

Erica

In today's episode, the iPhreak panel speaks with Stephen about how Swift could benefit from higher level types like in Haskel, Reactive programming and testing in the Kickstarter app.

Stephen is a software engineer living in Brooklyn, New York. He previously helped build and open source the Kickstarter mobile apps. He's a co-founder of Point-Free , a consultancy and upcoming educational video series on functional programming and Swift.

In particular, we dive pretty deep on:

  • Open Source
  • Language Renaissance
  • Higher Types
  • Maps & Arrays
  • Functional & Reactive Programming
  • Swift
  • Swift as a gateway to functional programming
  • Future features in Swift?
  • What can you do with higher level types?
  • How has application development evolved
  • Declarative State is back! Programming by contract
  • Testing
  • Testing timecode
  • Unit Testing
  • Examples of testing code from Kickstarter app
  • Point Free https://www.pointfree.co/

Picks:

Jaim:

  • Realm

Andrew:

  • Cities Skylines
  • Advent of Code

Erica

  • Anti-pick High Sierra missing Network Diagnostics App

Stephen

  • Reducers
  • Purescript
  • Test Driven Reactive Programming

View Details

Panel:

Andrew

Jaim

In today's episode, Andrew and Jaim talk about Code Signing and the problems you’ll run into when setting up CI systems. Andrew asks specific questions to help bring to the surface better understanding of the issues, dos and don’ts when working with iOS and Code signing. This is based on Jaim’s experience setting up a build pipeline in Jenkins. This is a great episode for those who are looking to learn more about iOS and ways around roadblocks.

In particular, we dive pretty deep on:

  • Jaim’s talks about what brings this topic up
  • XCode 9 and others issues
  • iOS development and Code Signing
  • iOS security model
  • Cutting down build time
  • Building with Jenkins
  • Utilities
  • Managing the Build Server
  • Sharing Certificates
  • Fast Lanes match.
  • This will save a half day of debugging
  • Setting up a build server - Resources?
  • Inside Code Signing
  • Mac OS Code Signing In Depth
  • IPA zip file and unzipping
  • Call Jaim if you don’t want resolve these issues!
  • Works for Native Apps…
  • It is possible to fix this issue

Links:

  • Inside Code Signing
  • Mac OS Code Signing In Depth

Picks:

Jaim:

  • Mystery Phantom App Updates by Jeff Johnson
  • This Week In Machine Learning & AI Podcast
  • Meghan Kane talking Machine Learning at AltConf 2017

Andrew:

  • Blog on Machine Learning
  • Pycharm

View Details

Panel:

Erica

Jaim

Andrew

Special Guest:

Dave DeLong

In today's episode, the iPhreak’s Gui Rambo speaks with Dave DeLong. Dave is a seven-year veteran of Apple, Dave DeLong is an accomplished iOS engineer with a passion for teaching, and hacking the Objective-C runtime. During his time at Apple, he worked on the UIKit framework, Developer Evangelism, and Apple Maps. He now works at Snap, Inc. on the Snapchat app.

Dave, his family, and his large collection of bowties live near Salt Lake City, UT, where he’s an active member of the local developer community. He can often be found on Twitter teaching developers about all the ways that calendrical calculations can go wrong.

In particular, we dive pretty deep on:

  • History of involvement with Swift 8:20
  • How is Swift as an open source project? 10:50
  • What is Swift Evolution? 12:43
  • Swift releases cycles 14:40
  • How do developers deal with Swift changes 15:40
  • Did Apple ship Swift too early? 17:50
  • Objective-C is evolving too 26:00
  • Swift interoperation with C libraries like Core Foundation 28:59
  • Upcoming Swift C Integration in Swift 5 30:00
  • Other C API’s 31:30
  • Customization of Types in Swift 36:22
  • Dave and Erica’s Swift Non-Standard Libraries Proposal 38:00
  • Dave’s idea for improving Date API’s 43:48
  • What are the goals for a Non-Standard Libraries? 47:50
  • How to get involved with Swift Evolution 54:00

LINKS:

  • Blog

Picks:

Jaim:

  • Brian Hogan

Erica:

  • Brandon Sanderson - Trilogy

Dave:

  • Andy Weir

Andrew:

  • CLANG Format

View Details

Panel:

Gui Rambo

Special Guest:

John Sundell

In today's episode, the iPhreak’s Gui Rambo speaks with John Sundell. John is an iOS Freelancer and currently works with a Norwegian company called Hyper. Hyper builds customer projects and in-house apps.

John builds apps, games & developer tools. He also makes Swift by Sundell, which is a weekly blog & podcast about Swift development. He has worked for companies like Volvo & Spotify. He’s the creator of several open source projects including Unbox, SwiftPlate, Marathon & Imagine Engine.

In particular, we dive pretty deep on:

03:00 - What's Imagine Engine?

It's a game engine that runs on Core Animation.

05:00 - API

John explains what Imagine Engine provides in terms of API and functionality.

07:30 - Why not use SpriteKit?

It's hard to predict how SpriteKit is going to work under pressure, being closed source makes it hard to study.

13:20 - What's Core Animation?

It's an underlying framework that drives the drawing for the UI on Apple's platforms.

15:30 - How does Imagine Engine use Core Animation?

Just like UIKit uses it, objects are backed by layers.

19:40 - Coding for performance

You have to really think about the complexity of everything you do.

25:30 - Supporting different OSes

John started with Metal, but noticed that Core Animation was fast enough. Both are available on all of Apple's platforms.

29:00 - The display link API

Provides a callback so you can sync your code with the display refresh.

30:20 - Unit testing a game engine

Doesn't use strict TDD, but prefers to test automatically so he doesn't have to create a game to test each feature of the engine.

33:05 - Are there games we can try made with Imagine Engine?

Revazendo is in beta.

35:00 - How do you handle input and events?

Imagine Engine provides an unified event API.

38:00 - Game development architecture

There are two popular patterns: component-driven and driving from a central update method (loop). Imagine Engine uses a mix of both.

LINKS:

  • Imagine Engine
  • Revazendo beta signup
  • (http://twitter.com/johnsundell)
  • Swift By Sundell Podcast

Picks:

John

  • Mario Odyssey

Gui’s

  • AnimojiStudio

View Details

Panel:

Gui Rambo

Jaim Zuber

Erica Sadun

Andrew Madsen

Special Guest:

Aleen Simms

In today's episode, the iPhreaks discuss app launch map with Aleen Simms. Aleen has been working in a variety of tech industry roles for nearly a decade. Currently, she is the proprietress of App Launch Map, which helps iOS and Mac developers with the non-code side of launching or updating an app. She also organizes App Camp for Girls Phoenix, where she helps girls, transgender, and gender non-conforming kids learn about the joys (and sometimes misadventures) of iOS app development.

A podcaster herself, you can find Aleen on her own show, Originality, where she and her cohost try to get to the roots of creative genius. You can also find her on The Incomparable from time to time.

In particular, we dive pretty deep on:

  • App Launch Map Intro
  • Screenshots
  • How has the App Store changed over the past few years?
  • New features on the app store
  • Agile Bits
  • How did you develop App Launch Map?
  • What can developers do to improve their app store presence?
  • What are differences between launching large apps and smaller devs?
  • How is the Mac App Store different than the iOS App Store?
  • How you handle clients Contracting
  • Being a woman in tech
  • App Camp For Girls, IndieGoGo
  • Fundraising to add new cities

Links:

  • https://www.relay.fm/originality/
  • http://theincomparable.com
  • http://appcamp4girls.com/contribute
  • https://www.indiegogo.com/projects/app-camp-2020-help-us-expand-to-3-new-cities-education/

Picks:

Gui:

  • Apple TV 4K and HDR Devices

Jaim

  • Hacking With Swift Awards https://www.hackingwithswift.com/awards

Andrew

  • Stranger Things on Netflix +2

Aleen

  • The Good Place

View Details

Panel:

Gui

Jaim

Erica

Andrew

In today's episode, the iPhreaks discuss the High Sierra app updates with Tim Ekl. Tim is an engineer at the Omni group, where Tim work on Omni focus for Mac and iOS. Tim has been active in the iOS community for 5 years and he likes to assists the Xcode meetups.

The discussion dives into the now one-week old public release of High Sierra for OSX. Tim talks about the pain-free transition to the new operating system. Tim goes into the minor bug fixes Omni had to fix as they transitioned, and gives some examples of the functions of Touch Bar feature.

In particular, we dive pretty deep on:

  • API difference
  • Incremental updates and minor adaption for the new hardware system for Touch Bar and Force Touch Trackpad.
  • How as Omni adopted the touch bar features
  • Minimal upkeep for the Touch Bar
  • Has the Touch Bar been a successful feature, and for Omni Focus?
  • Integration of app to use the Touch Bar.
  • Mixed feelings about the Touch Bar, useful for sliders. etc.
  • Deciding what features are active with the Touch Bar, or switching to iOS and desktop UIs.
  • Specific design language for iOS or OSX?
  • Longpress - How do you decide what gets the Force Touch or Long press?
  • How do you assist the visual disable in the application design?
  • New file system - How is it affecting the Omni application?
  • Decisions on which features are most important for the app Omni Focus
  • APFS impact on application
  • Omini Disk Sweeper
  • Apple slowing down and building support rather than new features
  • Maybe Apple is laying down the foundation for new features that we don’t know about
  • Has Omni gone into whole Swift?
  • Language stability - are you comfortable bringing in the new language
  • The great renaming

Links:

Omni Group

@timekl

@OmniGroup

timekl.com

Carbon Copy Cloner

Picks:

Gui:

  • How To Train Your Own Model for CoreML

Jaim

Erica

  • Honda Element - Discontinued

Andrew

  • New Star Trek

Tim

  • Carbon Copy Cloner

View Details

Panel:

Gui

Jaim

Erica

In today's episode, the iPhreaks discuss the firmware leak of the HomePod, and how this may tell us about what Apple is planning for the future. Gui and Erica speak about what the accidental leak of firmware tells us about new device features on the horizon. Gui talks about the new iPhone (8) or iPhone X, based on studying the firmware information.

The discussion dives into the technical build of the firmware, and the possible issues that may affect the daily use of the biometrical authentication technology. Finally, Gui talks about the differences between the old and new firmware, that further solidify that new technology is coming.

In particular, we dive pretty deep on:

  • How do you go about finding out about new features by looking at a piece of firmware?
  • How to understand the face recognition firmware
  • Is the new identification system going to be the alternative to touch ID or is it going to supplement touch ID?
  • Will this tie into the payment system?
  • Giving authentication to 3rd parties for payments
  • How does this biometric technology handle identical twins, hats, glasses, weight loss, etc
  • Framework lists from the old and new
  • USB file
  • Code names vs. Marketing names
  • New apps or features in applications
  • Hopper
  • Harder leaks vs. Softer leaks
  • And much more on the framework

Links:

Guilherme Rambo on Twitter: @_inside

Steve T-S on Twitter: @stroughtonsmith

Jonathan Levin on Twitter: @Morpheus

Filipe Espósito on Twitter: @filipekids

Picks:

Gui:

http://www.flixlist.co/titles/80101899

The Founder - (2016) - Netflix

Jaim

https://www.epochconverter.com/

Erica

Cars that work

View Details

Show notes are coming!

View Details

Tweet this Episode Show Notes in Progress

View Details

In this iPhreaks episode, Erica Sadun and Jaim Zuber talk to Greg Raiz about "products instead of features."

[1:25] Greg Raiz Introduction Greg runs RaizLabs which is a consultancy specializing in iPhone and mobile development. Ben Johnson from Raiz Labs has also been on the show.

[2:03] Products vs Features A lot of engineering firms get into lifecycle with their products where they're thinking about the next thing. This often gets broken down into sub-features. The focus then gets placed on that feature instead of what the feature is supposed to serve. Greg gives the example of trying to format a book and when you drag a picture to the left, it jumps to the right and vice versa.

[4:00] Feature-itis A lot of development teams are driven by sales teams. Sales teams often use feature matrices to differentiate their products instead of thinking about your product in a different way from your competitors. Apple and Steve Jobs were great at this and telling the story that differentiated the product without focusing on features.

[5:11] Developing a mission statement or differentiation story They use a scrum methodology to develop the mission statement. Greg explains what a scrum methodology is.

Try not to overthink the product. You don't have to plan the whole thing. Instead, you try to deliver value in discreet chunks.

You could take a timer and ask "What is the purpose of this timer?" It could be time tracking, timing something, or waking someone up.

This helps with team alignment.

Greg talks about working at Microsoft on Windows XP and they determined what the core missions were for XP. Every feature that went into Windows XP had to fit into the buckets they defined.

[9:00] Is waterfall more holistic and agile more flexible? Both methodologies deliver great software. It's more a matter of how you see and use them. Agile allows you to roll with the punches like new technologies and challenges that come up. You can then reprioritize the features.

Delivering each week also means that people can play with something right when it's complete and you can modify it the next week.

The terms can be confusing. The main point of software development is to create something that solves a real user problem

Google Design Sprint methodology focuses on gathering data and making decisions over a condensed work of time.

[13:55] What types of work do you apply this approach to? Android, iOS, Alexa skills, medical applications, and IoT products all benefit from this way of thinking.

[15:00] BlindWays App Perkins School for the Blind

The people who can see, Google maps will get you to the corner where you can see the bus stop.

Blind people get to the corner, but the buses drive right by them because they're not standing at the right place.

Bus drivers are trained to pick up people who are looking for them.

GPS isn't precise enough to get the blind people within a 2 foot radius of where they're supposed to be.

The app's purpose was the get them to the bus stop where they're touching the bus stop pole.

They considered all sorts of features, functionalities, and technologies, but it was all about the mission, not the feature.

Cities move slowly, so the infrastructure isn't going to change or it won't change very quickly.

Agile allowed them to test several solutions and iterate on what was working.

For example, they created several interfaces, added the voiceover accessibility features to it, and handed them off to Perkins students.

You can test voiceover with the screen off. You can also test for automation and scriptability.

[23:05] How do you turn on Accessibility and Voiceover? Most UI elements have it built in, but if you do it wrong, some buttons will say "Button" instead of what the button does.

Apple also has sessions on Accessibility at WWDC.

[25:40] How BlindWays works for users Focus on micro-navigation problem. They count on other maps to get you close and then do the micro-navigation to get you closer.

They crowdsourced clues which are explanations of what you'll see if you're facing the bus stop to the left and the right of the bus stop. This tells the blind person how to figure out where they are in relation to the bus stop based on what they're detecting with their canes, etc.

If you're appoaching a stop, then it tells you if the street is on the left or the right. Then it tells you what you'll encounter before and after other objects to help you navigate.

A clue can also be what the stop is attached to like a wooden or metal pole, concrete wall, etc.

[30:00] How did you gather the clues data? Raiz labs had several people in the area and people who worked in the Boston office.

After a while, people started trying to find stops that didn't have clues.

Then the city got involved and started noting cracks in the sidewalk and things like that.

[31:51] How did you approach designing screens? The followed the HIG and thought about how you build standard interfaces.

They also considered "When I get here, what do I want to hear?" They wanted to make the voice interfaces conversational.

What information does the person at this point need to hear?

People who use voiceover usually use it at around 5x the speed that Greg uses it at. Voiceover generally doesn't slow people down.

[34:48] How do you put your app on a feature diet? Having the mission statement and the story behind it. Understanding the use cases helps keep it simple and limited to the story around the application.

"Wouldn't it be great if..." sometimes made it in and sometimes didn't with BlindWays.

They use stakeholders and project managers they work with to make sure that everyone has the same vision and to prioritize the right things that bring value.

[38:38] How do you sanitize crowd-sourced data? They ruled out several solutions because they were too complex or would have over-scrubbed the data.

They instead looked for things that specifically would be to the left or right and could service the majority of bus stops. They also allowed people to say if a clue was helpful or not helpful.

Citizens Connect where people could take a picture of graffiti or pothole and report them to the city and then city would report back repairs.

In this case, they're trying to reward contributors by closing the loop on clue contributions.

Picks Erica

  • Ancillary Justice

Jaim

  • Swift by Sundell on Command Line Interfaces

Greg

  • Businessy books on Audible
  • The 5 Dysfunctions of a Team
  • Work Rules

View Details

iPS 211: Making Your App China-Friendly

On today's episode of iPhreaks, Gui Rambo, Erica Sadun, Jaim Zuber and special guest – Guanshan Liu talk about Making Your App China-Friendly. Guanshan is on the show today to give some tips on how to prepare your apps to get into the Chinese App Store. Don’t miss this one!

[00:25] – Introduction to Guanshan

Jaim met Guanshan when he was at O-camp. Guanshan was one of the speakers and gave a talk called Make Your Apps China-Friendly. He talked about some of the challenges that people face when trying to get their apps into the Chinese market. Guanshan works at Booking.com and now lives in Shanghai.

[01:15] – Why to get into Chinese App Store

There’s a huge market in China. More Chinese people are going abroad and Chinese users have these smartphones. These smartphones have iOS, but most of them are Android. The people are spending lots of time on their phones every day.

[03:10] – Things to do to get your apps ready for China

First, you need to support Simplified Chinese because not everyone in China can read English.

[03:25] – Simplified Chinese difference

There are two ways of writing Chinese. One is Simplified Chinese, which is used in Mainland China. The other one is called Traditional Chinese. It is used in Taiwan, Hong Kong, and Macau. Most of the time, people can relate on both Simplified and Traditional Chinese.

[03:50] – Dialects

You can still communicate via Simplified Chinese even though there are many dialects in China. But that also depends on the accuracy of translation because sometimes the same word doesn’t mean the same thing. Chinese is not that easy.

[04:25] – Different versions for different parts of China

Booking uses the same app in China as the rest of the world. They use an iPhone API so they don’t need to create a separate app only for China. That really depends on your project.

[07:00] – Strategies on creating apps for many cultures or languages

You only need some knowledge about the people. The data from companies like Alibaba are different. For example, today, there is an app that when you tried to search, it will not return the result.

[09:40] – Designing for different age groups

Young people, they have different tastes. They use an app a different way. For example, they like to send comments and share what they’re watching. They like to shout-out their opinions to other people. They love these features. They are available on radio content providers in China. The idea is originally from Japan but Chinese people also allow it. As they listen to it, they can talk and share them with their friends.

[12:15] – Most users are not going to use cellular data for your app

Cellular data in China is for sale and very expensive. That is true for many developing countries like Brazil. So you have to think about that if you’re targeting any developing country.

If you want to test your app with connectivity, you can use the Network Link Conditioner. You can turn it on and it will degrade your internet connection like a fake bad connection. You can use that to get an idea of how a person in a really bad connection will use your app. It’s very important for a place like China. But Wi-Fi is fairly ubiquitous in the big cities like Shanghai. In most places, there are also free Wi-Fis.

[15:05] – First steps to be China-Ready

It would be good to find a Chinese user to test your app. Most developers in the States, they’ve always been taught to keep their apps simple. With the Alibaba app, it’s different. It has full of stuff. There are lots of icons everywhere. That’s the norm in China.

Picks

Guanshan Liu

  • Book: Rework

Erica Sadun

  • Manga: Monkey King
  • Blog: Simulating a Second Finger During Drag

Gui Rambo

  • Chibi Studio
  • iOS Drag and Drop (Session 203)

View Details

iPS 210: Build Special 3 - Visual Studio Mobile Center Deeper Dive with Ela Malani & Piyush Joshi

This is a special episode of iPhreaks from Microsoft Build with panelists Jaim Uber and Andrew Madsen. There are joined by two special guests, Piyush Joshi and Ela Malani, to discuss Visual Studio Mobile Center. Tune in to learn more about this product!

[00:00:20] Introduction to Piyush

Piyush is a program manager on the Visual Studio Mobile Center team. He has been at Microsoft for nine years. He’s recently been working on the Mobile Setup Services that are provided by Microsoft.

[00:00:44] Introduction to Ela

Ela is a program manager in the Mobile Center and has been working for Microsoft for three years. She owns the SDKs and CLIs for Visual Center.

[00:01:34] What SDKs does Visual Center have?

Mobile Center supports a variety of platforms (iOS, React Native, etc). A great feature is that the SDKs are all Open Source on GitHub. Users can just use the SDKs they want, which provides the ability to keep app sizes small.

[00:02:44] Do you accept contributions?

Definitely. They are always actively looking for the developer community to contribute to the Open Source SDKs.

[00:03:00] If I want to check out the project how do I find it?

There are four projects on GitHub. They are Mobile Center SDK’s iOS, Mobile Center SDK Android, one for dotnet and one for React Native.

[00:03:25] What installation methods do you support?

Developers for iOS can download two ways. They can download manually or via CocoaPods to get started. There is no Carthage support yet, but it is coming.

[00:04:30] When you download this, are you getting a library?

Users are downloading a library. The biggest reason to have it on GitHub is to gain developers’ trust. Developers want to know what you are shipping because of privacy reasons - is it secure, is it safe? SDK’s are collecting user data and developers need to be confident in the privacy abilities. Open Source SDK’s makes the product more attractive. The app developer gets full control of what info gets sent to the backend. Data does not get transmitted if users do not want it to be.

[00:07:30] What does your Command Line Interface (CLI) do? Why do you provide one and how can your users utilize it?

Mobile Center has an open CLI in order for users to have a lot of control. Everything can be done via CLI – using the test services, distributing to users, getting crash reports, uploading files, etc. Developers don’t have to go through the portal. Just open the CLI and perform the same actions.

[00:08:50] Do you know what your users are using the CLI’s for?

Test services is one service that is being heavily used. Mobile Center can provide one line of command that shows what need to trigger in the CLI to set up test services on every device.

[00:10:00] Can you use your own CLI service with Mobile Center?

Yes. Mobile Center provides all setup services but users are free to choose which services they want to take utilize. They don’t have to download a huge file with everything included; they can just download the one thing they want. Each of the services can be used individually or integration with various test distribution. It is up to developers how they want to customize their app.

[00:11:46] How do I set up test services?

Create an account and app within Build. Then access the test service in this case. Use any of the frameworks and start a new test run. Then, upload your package and test scripts. After that, send the tests to the backend, which will run them for you. You can select which devices you wish to run tests on and then can see the results.

[00:15:40] Fast Lane Support

There is no fast lane support in Build right now but they are investigating how that can happen soon.

[00:16:35] Does Microsoft have any Ruby applications?

Not right now but it should not be a problem.

[00:17:10] What platforms are supported with the CLI?

There are two platforms that are supported right now, which are Windows and Mac.

[00:18:00] What led you to support React Native?

A full focus for Mobile Center is React Native. There are not a lot of products out that currently support React Native. A goal is to provide first class support for React Native. Build service also provides support with React Native Apps. They are thinking of how to support CodePush as well.

[00:20:50] HockeyApp

Mobile Center SDKs are developed on top of the HockeyApp SDKs. For people that use HockeyApp, Ela and Piyush recommends trying Mobile Center. The difference is that they are attempting to make Mobile Center the “one stop shop for all developer needs.”

Picks Ela:

Settlers of Catan

Piyush:

Born to Run by Christopher McDougall

Links * Visual Studio Mobile Center * https://github.com/Microsoft/mobile-center-sdk-dotnet * https://github.com/Microsoft/mobile-center-sdk-ios * https://github.com/Microsoft/mobile-center-sdk-android * https://github.com/Microsoft/mobile-center-sdk-react-native

View Details

iPS 209: Vapor with Bob Snyder On today's episode of iPhreaks, Andrew Madsen and Jaim Zuber talk about Vaporwith Bob Snyder. Bob is on the show today to discuss the structure of Vapor and web app deployment, etc. Don't miss this one!

[00:01:20] – Introduction on Vapor

Vapor is a server-side Swift framework. It came out two months after Swift became open-source. A couple of weeks ago, they just released Vapor 2.0. It’s a big jump from 1.5. Swift has protocols and has incredible performance as compared to Objective-C and other languages like JavaScript. It deserves more attention.

[00:02:30] – Back-end development before Vapor

Bob is a former graphic designer. He went to a boot camp last year and made that career shift. The boot camp focused on Python and iOS but that was all front-end for apps.

Right now, he is a full-stack developer for a start-up called Crew and he works on Objective-C and Python, and Python Django for the backend. You can deploy, build, and have a production-ready server-side Swift application but you probably want to keep it for a small to mid-size projects. It’s not quite enterprise-level yet.

[00:03:35] – Swift vs. Python

Besides the curly brackets, Bob also loves the Swift protocols. With these protocols, you can apply pretty much different attributes to a class. Working with Xcode and protocols, it gives you good practices for building applications. It’s also type-safe. When it comes to making variables, knowing that you’re keeping the same type of values is very important. That’s actually one of the reasons why the performance is better than JavaScript that isn’t type-safe.

[00:04:45] – Projects with Vapor

Bob has a project with his friend, and they’re making it open-source. It’s a web-based application where you just insult your friends and maybe insult you back. It goes back and forth. In doing that, what allowed Bob to really explore is how easy it is to set up relationships for your database inside Swift versus something else like Python.

[00:05:40] – Structure of Vapor

You have the Droplet which is your entire application. It’s where everything comes down to. That is your server. Everything else just kind of relates to that. You have the Vapor Nodes, which is going to be your central point for all of your data types. The real premise of the server is you have information that you take from outside, get request, you process them, and most of the time that you’re sending it to the database or returning it without going to the database. Each one of those parts to this environment generally takes a lot of interaction to get information for one piece to the next. That’s what vapor nodes kind of comes into play. It makes using that data very easy.

[00:06:30] – Node

A node is a class that has protocols built on top of it. If you want to return a JSON object with a request that you got, you can immediately spit out a JSON object. You get some information from the database. It’s basically a converter that you can return almost any format that you will need inside of Vapor.

[00:08:25] – Fluent

Nodes interact with Fluent. It allows Vapor to communicate with whatever database you’re using. It makes it easy to go from Vapor to a MySQL, a Postgre, or a MongoDB database. You can have a basic server. You’re going to have the Droplet. You’re going to have the information you want to get into a Node. And then, you’re going to send that information to Fluent. Then, Fluent will communicate your profile of the database. That will send on to the actual database. If you want to change the database you’re using, you can do that without changing Fluent, without changing Nodes, or the Droplet. All you have to do is change how your profile on the back-end.

[00:09:30] – Droplets

Vapor has different packages that are built into the Vapor library. The Droplet is the thing that you create. You instantiate one of those. That’s the web server and you can attach handlers for URL’s for routing to it, etc. It’s a top level application where everything else goes through.

Actually, between 1.5 and 2, they’ve made some improvements to the structure of it, as well. In 1.5, they have a lot of things in their main .swift file. And now, it’s really down to 6 lines of code. They have everything partitioned out.

[00: 11:05] – Vapor is modular

That is one reason why Bob thinks Vapor is going to outlast a lot of the other frameworks. You don’t really have to use every part of it. It also allows you to add-in whichever tool you need. Everything’s modular.

[00: 12:50] – Who’s behind Vapor?

They’re called Node. They’re based out of London. They’ve been financing the Vapor project early on. But it was Tanner Nelson and Logan Wright who founded it. They’re still both heading it.

[00: 14:25] – Tools to create new Vapor project

It’s really simple if you can break into a terminal. You will have to download Vapor. You have one command for Vapor. It constructs a framework for you. Vapor xcode will create your Xcode build file. If you check on the run schema to your Mac, you can just run it as a server straight to Xcode.

[00: 18:25] – Validation, Authentication

They have this validation tool that fully manages Swift’s protocols. The authentication is also there. It helps you to connect securely with your users. It’s not in their 2.0 docs but the 1.5 web sockets are still compatible with Vapor 2.0.

[00: 21:30] – Web app deployment

Vapor does have support for Heroku. That’s one of the first deployment options that they have. But using Ubuntu server is going to be the better option down that road. Heroku is good but it’s not something you have that much control when it comes to scaling. If you ever need to deploy something larger, to a cloud-based ecosystem, try to figure out Ubuntu, try to figure out better ways to deploy it. Heroku used to be the only deployment option that they offer but now they have Nginx and Supervisor.

There’s a build pack for Heroku that is on Github. Just point the Heroku command line tool to the build pack on Github and it figures out what needs to be done. Digital Ocean also has an option that’s using Docker. Docker container probably uses any number of cloud hosting – Amazon, Azure.

[00: 25:35] – Swift 4

They’re expecting that this is going to be the first real stable build of Swift. If 4.0 is a stable build as people are expecting, that could be a really big deal for Vapor. You can see enterprise-level applications. They’re talking about implementing that next year. It could lead to a full-stack Swift environment. We can see an environment where you have a full-stack that has no HTML, no CSS, and no JavaScript. It’s just all Swift and possibly XML.

Picks

Bob Snyder

  • Podcast: Turing-Incomplete

Andrew Madsen

  • WWDC Mac app

Jaim Zuber

  • Blog post: Overview of Swift Serve-side Frameworks

View Details

iPS 208: Build Special 2: Visual Studio Mobile Center with Karl Piteira This episode of iPhreaks features Andrew Madsen, Jaim Zuber, and special guest Karl Piteria. Karl is on the show today to discuss Visual Studio Mobile Center. He is a Product Manager on the product and heading a small team of product managers who are looking at how app developers can learn from their app once it is on people’s phones.

[00:01:35] We’ve talked about the Mobile Center in the past, what have developers worked on since then?

There has been improvement in the dev apps portion, improvement in the continuous distribution portion, and an Android portion has been released. There has also been work done on the link between builds tests and attributes. Now you can ask for an automatic test from the build definition on Mobile Center and launch an application and make sure that it doesn’t crash.

[00:3:54] If I want to set up continuous integration (CI) on my app, is this available for all three platforms? How do I start it up for a Native iOS app?

Yes. For a Native iOS app go to Mobile Center and create an app. Then, label the app iOS and label whether it’s Objective C or Swift.

[00:04:20] I want to run unit tests. Does it work out of the box based on the test target?

If your projects have unit tests defined, they will be run automatically.

[00:04:41] What kind of customization is possible?

They have been trying to simplify the process and have it where you can set it up quickly. People may want to set up credentials in a build process, but do not have it currently. They are working on that and will be released soon.

[00:05:50] What does your support for continuous deployment (CD) look like?

The point of defining a flow with Mobile Center is that you select a branch, set up a build test, and set up which distribution group will receive that build. This will automatically be sent once who is in distribution group is invited.

[00:06:38] Are you using HockeyApp still?

Yes, mobile center is HockeyApp. The future of HockeyApp is mobile center: they are merging the two.

[00:07:00] What are some things you can do to improve your process?

The big win is the time having your build actually delivered to the device, while having all that chain already set up. To set up a build with a signature and some start up tests defined can be done under five minutes. The concept for developers is to be focused on what you want to do with your app and learn about it quickly.

[00:09:45] So if I wanted to build every branch that started with Feature, how would I set that up?

You would have to set it up for each branch. They do not have definition yet for that.

[00:10:12] Does that affect cost?

It is right now a preview product. They have not yet communicated on the cost. At the moment it’s free.

[00:10:36] Does it affect how fast it runs?

There is a concept of capacity. Users might get throttled if there are a huge number of users at one time, but haven’t experienced that.

[00:13:37] Can you explain what a funnel is?

Funnels are, for example, a login process in an app where people go to a login screen. They enter their credentials and the login either succeeds or fails. Developers want to gather different types of information from this in order to solve the problem. They should know whether the user went to the login page or if they passed or failed validation. How many succeed or failed? Why did they fail? All these are things need to be learned because if users don’t get past the login screen, users may never use the value of the app. These analytics service give insight of what to address.

[00:16:18] How do we identify those things to the server so we can monitor?

As a developer, defining what you want to learn is key. The second part is instrumentation, which is done through the SDK. Once Mobile Center portal is built, all data that goes through the server can be collected.

[00:19:12] What kind of tools does Mobile Center provide for making sense of your data?

Charts and tables. Counting the event for time as well as users is provided. Does everybody do it or a few people do it often? A distribution of the properties is also provided.

[00:20:50] What kind of crash reporting tools does Mobile Center provide?

Integrate the crash SKD into the app. When the app crashes next, a notification will be sent to the developer. The crash is sent to the backend, where there will be counts, and the crash will be symbolicated. If it was built with Mobile Center the symbols are already there. There is also the option to upload symbols from other apps.

[000:22:12] You get counts?

On crash first decision you make is should you or not? Analytics of crash kicks in. Number of crash per user, per day, group the crash if they are the same thing, etc. Developer can start prioritizing what to fix.

[00:23:56] Why use Mobile Center?

We want to provide a unified experience where you define what you want to happen and get your information in one place. Save time, make lives of developers easier. When you can follow most of your process in one place. Making sure the tools provided will have uniformed experience.

[00:26:08] What’s next for Mobile Center?

They are customizing environments. They are working on analytics to bring much more segmentation. Analyze information through different angles, ability to be able to define scenarios with notifications based on different types of behavior, and push notifications.

Main energy that is being put in is looking at the cycle and seeing where friction could be further reduced to make it more useful.

[28:40] Is your vision for push notifications to make it as painless as possible for developers?

Definitely. The ideal is to have one starting line and add push and have it work.

Picks: Karl: Walking in the mountains

View Details

iPS 207 White Label Apps On this episode on iPhreaks, we have panelists Guilherme Rambo, Erica Sadun, and Jaim Zuber talk about White Label Apps, its technical challenges, and its advantages over web apps, etc. Don't miss this one!

[00:01:10] – Introduction to White Label Apps

This is an app that you built at one time but you skin different things for different customers. There are a lot of customers around that will build an app but they got different versions of the app that they distribute on behalf of their customers. Your controls have a lot of the same behavior in your app but the color is different, the icons are different, maybe there’s text difference.

[00:03:50] – Pre-built components

This kind of notion of pre-built components has been in the development arena, specifically, in Apple’s ecosystem for a very long time. When the app store first started, you could buy custom widgets, custom controls, and custom art.

[00:06:10] – Customization

Most of the companies have a very limited ability to customize. You can start up with things like changing the name of the app. You can change the icon. You can change the color scheme. You can change some text. You just solve the problem the user is going to deal with.

[00:12:35] – Technical challenges

For Erica, one of the biggest issues is going to be the customer ticketing process on tracking or the customer service process. Typically they’re calling the end owner of the app, which is not a very good solution. And you also have to support the businesses because those businesses have to support their customers.

[00:16:10] – Corporate Entity

If you are selling your apps to small realtors, you'll probably just manage everything yourself. You’ll do certificates, customer profiles. You’ll host it under your own app ID. But if you sell to bigger organizations, they might have their own Apple ID and want to keep it under their roof with their own Apple account. You need things like getting your own certificate with their Apple ID, getting provision profile, creating the app ID, going to iTunes connect and doing the same thing.

[00:22:15] – If-def approach

Typically what happens in most companies is your team leader goes, “Hey, we could sign a new customer. Let’s make the app. Let’s rebrand it. Let’s white label it.” The developers will shrug off their shoulders and say, “I don’t know how to do this so I’ll do something like creating an if-def for different texts.” That’s going to be a problem. But this is where a lot of people start.

[00:25:40] – Interface file approach

One approach is you could create your own tool to customize the apps. They are all the same app but there is one internal configuration file or database or whatever is different between them.

Developers run into problems on finding ways to build internal tool that will reach their configuration file and modify the app as needed. Most of the companies that have a mature platform they can just drop the configuration file and build a list of file that describes where the images are, what the texts are if they have any features that are turned on or off. Most companies can build a configuration file because they’ve narrowed down what problems they’re going to solve.

[00:35:30] – Saturation of apps

There has been a push back in apps. We got to a point where a lot of companies build apps that no one cared about. No one downloaded them. If they download them, they didn’t use them more than once. People can make a smarter decision if they really need an app. They’re not going to download the apps for every business out there. If you are running a business and have loyal customers, you can get them to order easily with their app by first calling in. That might work in some cases or you can be making an app for more than just one pizza place.

[00:40:35] – White label components vs. websites

Web sites are not going to do push notifications so if you need to get a hold of people or notify them of something important, you need to get them to order an app. Their user experience is going to be better. But there’s a lot of benefits for something that you don’t use very often for making a web app because web apps work on every platform. Anytime that you can take advantage of the specific hardware features like 3D Touch or Touch ID, you need an app because you can’t use them on the web yet. The Touch ID is also great for apps that need some level of security like a banking app.

Picks

Erica Sadun

  • Guardians of the Galaxy 2

Gee Rambo

  • Stranger Things

Jaim Zuber

  • Turnpike Troubadours

View Details

iPS 206: Build Special 1: Embeddinator 4000 with James Montemagno This episode is live at the Microsoft Build 2017 in Seattle with Andrew Madsen and Jaim Zuber. We have James Montemagno from the Mobile Developers Tools Team at Microsoft. Tune in and learn more about Embeddinator 4000!

[00:01:05] – Introduction to James Montemagno

This is James Montemagno’s third time on iPhreaks. He is a Principal Program Manager on the Mobile Developers Tools Team. He is a long-time Xamarin developer for almost 6 years now.

[00:01:55] – What is it that you wanted to talk to us about?

The Embeddinator 4000 is an open-source project. It falls underneath the Mono open-source. It’s a Github organization so it’s not under Microsoft branding. It’s been around for a while but the team re-tooled it in a way that every single iOS, Android, Mac, Linux, and Windows developers is going to love. Their goal is to bring .NET to every developer.

Developers still want to find a way of sharing code. There are a few ways to do it today. You can write a bunch of C++ but no one wants to do that. The Embeddinator has the ability to execute C# and .NET code anywhere. It enables every developer writing applications in any language to take a .NET library to write some business logic. And then, compile that through a tool into a native library that they can consume in Objective-C, Swift, Java, or C++ library.

[00:04:20] – C# library, not Xamarin-based

It’s not Xamarin-based so you don’t need the Xamarin toolkits. You could use Visual Studio 2017. It’s just a command line tool so you can run it on Mac or PC. You don’t need anything besides the ability to write a C# library. Run that into the Embeddinator, which would then give you a dynamic library if you’re just doing an Objective-C Mac OS app, or it would give you a framework for iOS.

[00:07:20] – How do you take a C# / .NET library and give it an Objective-C interface?

Each platform whether it’s Objective-C for Mac, for iOS, or Swift for iOS, will be able to create those specific libraries, which will go to their own tooling. Obviously, the syntax is different. There are some things in C# that don’t necessarily exist in Objective-C. So it has to be converted into a call block or maybe you’ll not write that type of code because you know you’re going to consume this library.

All the code is open-source on the Github page. You can think of it that it is going to provide the native interfaces and then, kind of P/Invoking into the compiled-up run time or the machine code that’s there.

[00:09:00] – Difference from Microsoft Windows Bridge for iOS

That bridge application is focused on iOS applications, specifically, on games. These games are brought over into to a UWP application. On the other hand, Embeddinator is very powerful for companies which are literally doing the same thing over and over again. This also allows collaboration with other teams. If mobile developers are calling their mobile API, they could just have one shared mobile API that’s being called across each platform.

The difference here is you’re not porting any application, you’re creating a common framework or a common element that’s going to be running natively on each platform. You’re first writing it in C#, and then, embedding it into each application.

[00:12:05] – Libraries and frameworks available

All of .NET is available to them. When they’re creating .NET libraries, Embeddinator supports almost everything in .NET 4.6, which is a large amount of .NET. It can be embedded into your applications.

[00:13:15] – What else is brought in?

What you’ll see inside of this framework is a bunch of registers and header files. The bindings that get created are all here. It will create the header files that will talk and communicate to that framework specifically. It's executing .NET code based on the device you’re running it on - ARM32, ARM64, i386, your simulators, x86, x64-bit.

[00:14:40] – Is there a reason you’re not using frameworks on MAC OS?

The team got a dynamic library that they’re working first but the plan is doing framework. They want to keep it simple and do frameworks everywhere. They’re also going to be adding Swift support, Java support for Android, C, C++, Linux support, and continuously putting it into more and more platforms.

[00:23:35] – Development cycle

The getting started is you have this library, run this command line, and then, drag and drop some files. That’s just day one. But you don’t want to do that over and over again. The command essentially says. “Run this Objective-C generation in this DLL. I want to create a framework. It’s iOS. Put it in this directory.”

You have 2 IDE’s open. Visual Studio for Mac and Xcode. When you’re writing your C# code, you’d write that in Visual Studio. In each of the libraries, you can have a post-build step. When you hit compile, you can essentially run this command line. The output directory would be your Objective-C, iOS or Mac application. And then, it’s available immediately inside of Xcode.

[00:25:10] – Debugging

At this point, you’re not going to be debugging across Xcode. Think of it like you’re debugging another framework. Think of creating a library but then, create a unit test around it. You can test it. You can write a console application. You can write a Xamarin application that is a bunch of buttons that you click to test the Native functionality.

[00:26:15] – How to integrate with Visual Studio?

It’s not yet super integrated into Visual Studio, where you can right click and say Export to this.

When you go to the Github page, there are walk-through tutorials – Getting Started with Mac OS, Getting Started with iOS, etc. There’s a download package that you have to install that will install all the Embeddinator and all of the requirements. It requires Mono, which is the .NET runtime on Mac. But when you install Visual Studio for Mac, it will bring it in. That’s all you really need. The Embeddinator 4000 is literally inside the /Library/Frameworks/Xamarin/.Embeddinator-4000. And then, you start executing some commands, which are documented.

[00:27:50] – Microsoft announcement with regard to Embeddinator

The Embeddinator is available. It’s part of the Mono project. Microsoft is actively working on it. Core members of the Xamarin team are working on this tooling to make it a great experience. Give it a try. Essentially, it’s under development but it’s a v1-type of release for Mac, iOS, and Objective-C, Swift applications, etc.

[00:31:15] – How large is Mono

There is an advanced optimizer and linker so you’re not bringing in the entire Mono runtime or the entire .NET installation. The actual Mono runtime is extremely small. It’s usually in a few MB. But on different devices, there’s a difference in runtime because they’re executing code a little bit different. And it’s not as big as Swift.

[00:32:30] – Microsoft as open-source supporter

The Embeddinator project started under the Mono organization. The license should be under MIT license. It’s copyright Microsoft, technically. The project is also accepting external contributions.

[00:34:45] – How to fix a bug

When you go to the Embeddinator source code, it’s all just C# code. There’s probably going to be command line and build things. There’s documentation to getting started.

For iOS developers, if you can read Swift, you can read C#. It’s still object-oriented, still, have classes and methods.

Picks James Montemagno

  • Coffeehouse Blunders podcast
  • Chess.com

Andrew Madson

  • Merge Conflict podcast

View Details


Mac Store Problems. On this episode of iPhreaks we have panelists Gui Rambo, Erica Sadun, Andrew Madsen, and Jaim Zuber. Check in to hear the crew talk about Mac store problems and a bit about the differences in developing Mac OS apps vs iOS apps. Gui Rambo gives us some insight about writing Mac OS apps from iOS apps and the panel digs into the potentials of Apple TV. Don’t miss this one.


Gui How did you get started converting iOS apps to Mac? Gui talks about being a fan of Mac and being a Mac user and when the iPhone started having apps he didn’t have an iPhone so he started developing for Mac. Soon after he started developing for iOS as well.

What are some examples of apps you’ve converted? He talks about the most famous being the WWDC app. He is in the process of working on it now. He talks about how the code is old and clunky, being that he wrote it on Swift 1. It was inspired by Apple’s WWDC app. Gui reversed engineered it and brought it to the mac. Instead of looking at source code Gui reversed engineered the application using HTTP proxies and looking at what API they were using. He found that it was mainly JSON hosted on AWS storage, and the app downloads them and parses them and that’s about it. Erica adds that the application has been a huge contribution to the development community and for WWDC attendees.

Can you tell us about your design philosophy? Gui mentions that it depends on the app itself. Sometimes the iOS app is a companion to the main Mac application while other times it’s the opposite. In some cases apps are independent of each other. In most cases the iOS is just a remote version of the main Mac OS app. Sometimes the Mac OS app lacks. Gui likes to see both apps to be full of functionality.

What apps are less featured on the Mac vs iOS? It’s most common that there is no Mac app at all. Using features of the iOS app in many cases will only have a web browser version for the Mac. In many cases this is happening because it’s harder to develop apps for the Mac OS. The frameworks are older, the foundation is the same, but taking a Mac OS app and making an iOS app isn’t easy or simple.

What are your thoughts about developers and the decision of publishing outside the app store? Gui mentions that he sells an app called Browser Freedom that he sells online as well as in the app store. The application uses a set of rules to decide which browser it should open, along with other features. He decided to do both to find which would sell more. Despite that Apple takes 30% of sales from the app store, he is selling much more from the app store. Another consideration is if the application was made before sandboxing it may not work and may restrict some features you may want to add that won’t work. Applications for Mac OS must be sandboxed, making it so they are not allowed to write on the disk. A common issue that comes up for apps would be any application that has a built in file browser. In many ways Mac OS apps are more restrictive than iOS apps

Is it fair that Mac developers are moving away from the Mac App Store? Gui talks about it being fair. If the Mac App Store is lacking features then it make sense for developers to move away. One thing that is missing is the Test Light system. The Test Light System is something that Apple provides for the iOS store that allows the developer to create a beta of applications via invites before the full release. The Mac App Store still does not have this feature. The app store lacks features more for the developer than it does for the user.

Can you tell us more about upgrade pricing? Upgrade pricing has been an important price model since software exists. You pay for the application initially and then over time if you want to upgrade or add feature you pay some small price for that. Allowing for cashflow from existing customers. Some developers found ways around it by making new versions a completely new app on the store but it’s still very messy.

Whats the theory behind Apple pushing subscriptions? Gui talks about how subscriptions have a different psychological effect on people. Having to pay for something monthly or annually is different from thinking about a single purchase. Many people are not willing to go through that sort of commitment. Apple isn’t in the business of selling software. Subscription as a pricing model isn’t necessarily part of the future that Apple intends to have. Their focus is to sell the hardware and would be just as happy to see applications for free.

Is Apple not supporting upgrades part of Apple philosophy? Gui says that if you think about Apple’s philosophy, they always have thought of the users first. Apple would like to have their customers pay once for software but, Gui states that he thinks that there may be some technical issues that involves upgrade pricing to make that it available. Erica adds that it’s on the record that Apple has said that adding upgrades to the App Store would take major engineering. Gui adds that the Apple App Store is an old system that was designed based off of an older iTunes system and would be hard to implement changes on.

What about discoverability. Gui talks about developers deciding to develop for iOS just due to the greater number of people using iOS and mobile being the future. He adds that you can make plenty of money making Mac OS apps as long as it’s well done and polish and if you’re giving a niche market something it really needs. Apps don’t get famous like they do for iOS. You have to find your market and make sure it’s niche enough. There are often too many apps of the same category that do similar things.

Ugly apps that make it and word of mouth marketing. Gui talks about how the icon can be a game changer if it’s not good. Apple users tend to find how polished an app is to be vital to if they use that. Erica adds that there are some cases where ugly apps make it, but generally because they have great features and tend to get traction by word of mouth, specifically for Mac applications. iOS tends to push apps in places like spotlight, while on Mac OS, applications aren’t pushed nearly as much, needing word of mouth to get traction. There are many tools that become very popular despite lacking a polished graphic UI, some being command line tools. These tools make it because they actually solve a problem.

If someone is trying to sell something in the Mac App Store, what else is there to consider? Erica adds that integration between the hardware for application becoming something that people expect. The Mac application has become almost a bonus to the iOS app, and people tend to look for their iOS apps to have versions on the other platforms. Gui adds that he would like to have applications on the Mac like Youtube. He wishes that Apple would make it easier to make iOS counterpart Mac applications. There are many apps that could be imported without that much work. The underlining framework can sometimes be very similar.

What about the Apple TV? The exception may be Apple TV. It tends to mainly work for content consumption but allows for things like games. Gui adds that he tried coming up with an Apple TV app but couldn’t manage to think of one that would work. Eric mentions that Apple TV could work really well with applications revolved around parties, where it doesn’t necessarily need interaction but has some sort of features that work well while the owner has company. She also mentions that Apple TV could use a check ins feature, where the TV connects more with the Health Kit or todo reminders or personal coaching features. She suggests it could be a great win for Apple. Gui adds that the Apple TV would also do well with multiple user support where people in the room can all use it together in ways at once. Everyone bounces ideas back and forth about ways to use Apple TV for things like biometrics and other ways Apple TV could tap into integration with other Apple platforms. Apple TV adds a potential to get users away from the computer.


Picks Gui Watch WWDC sessions on WWDC App Simpholders

Erica The Rithmatist Brandon Sanderson

Andrew The Living Computer Museum in Seattle

Jaim Blog post on the four major frameworks of Swift

View Details

Underpass with Jeff Johnson On today's episode, Jaim Zuber, Andrew Madsen, and Guilherme Rambo talk about Underpass with Jeff Johnson. Jeff is a Mac and iOS developer with more than a decade of experience as a software engineer. He recently released an app for Mac and iOS called Underpass. Tune in to learn about it!

What is Underpass? As Jeff puts it, Underpass enables encrypted chat and file transfer between two devices. The data you transfer is encrypted from end to end.

It does not even rely on any third party. You also don't have to login to a server. The app allows you to communicate directly on any network.

Inspiration Kicks Off When Apple made the change from iTunes to the iCloud as the preferred way of setting up iOS devices, a lot of the functionality was removed. The iTunes features were removed and if you're like Jeff and don't rely on the cloud, this could be a bit frustrating.

Jeff wanted an easier way to bring data from his Mac to his iPhone. This was his motivation to write the app but it's grown from there.

Writing Your Own Code Jeff could not use the higher level API or S-URL connection because they deal with existing center protocols. He had to go down to a lower level core foundation API, CS Stream. Jeff had a lot of experience with this level when he was a lead developer at Airfoil so it wasn't too difficult for him.

Jeff did not write his own encryption, he used Common Crypto. It offers the same functions on Mac and iOS on one shared code base. Jeff warns against trying to write your own crypto. You'll have problems with export compliance and you'll have to go through a compliance application process.

Objective-C Versus Swift Jeff used Objective-C versus Swift in new projects. The compilers are there, they aren't going to be removed, they are always going to work and the language is not changing. In the podcast, Jeff discusses why it's a good idea to wait a while longer before switching to Swift due to it's changing nature.

To learn why Jeff decided to build Underpass's UI entirely in code download and listen to Underpass with Jeff Johnson.

What are your thoughts about Underpass with Jeff Johnson? Leave us a rating and review if you enjoyed the show. We would love to hear from you!

Picks: Jaim: The Trans album by Neil Young

Gui: Apple Watch, Hacking with watchOS book

Jeff: Manifold: Time by Stephen Baxter

Andrew: Neil Young Unplugged album, Techmoan on YouTube

View Details

Are you up for the 100 Day UI Challenge with Mark Moeykens? Mark has been developing since 1996, and works mostly on backend and UI. He got into iPhone development few years ago. Recently, he took up a challenge to get better at UI. Tune in to know how you too can join!

“All the information you see on the UI don't have the same value. Some of them are more important than the other pieces, and you want them to stand out more.” -Mark Moeykens

View Details

Today on iPhreaks Show, Andrew and Guillherme discuss Swift TDD with Jon Reid. Jon is the author of Quality Coding blog, and has been doing test-driven development for some time. He appeared as guest in episode 116, where he talked about TDD and testing. Tune in for more classic insights about it and about why you should not take Apple sample code literally!

View Details

On today's episode, Jaim, Erica, and Andrew discuss Japan, Sequences & Collections with Soroush Khanlou. Soroush is an iOs developer from New York City. He served as one of the speakers in try! Swift Conference in Japan. Also, he is a blogger and the co-host of a popular software engineering podcast titled Fatal Error. Tune in!

View Details

Andrew just bought a NextCube so the iPhreaks thought they'd talk about the NextStep platform and how it still influences iOS and Mac development. Tune in!

View Details

On today's episode, Jaim talks about Sourcekit and SourceKitten with JP Simard. JP has been working with Realm for about three years. He appeared as guest on episode 104. Listen to this exciting episode on Apple's SourceKit and learn how SourceKitten can make your work easier!

View Details

On today's episode, Jaim and Erika discuss When Your App Becomes a Company with Matt Ronge. Matt is the cofounder of Astropad, a drawing app that works well on an iPad. He has appeared as guest in episode 113, where he talked about launching an app. Tune in and learn how they developed Astropad and how it evolved into a company!

View Details

On today's episode, Andrew Madsen and Jaim Zuber discuss Visual Studio for Mac with Omar Khan. Omar runs the product marketing team for their developer tools at Microsoft. There has been a lot of talk about the exciting new release. A preview is now available for developers. Tune in to learn more about it!

View Details

On today's episode, Jaim, Andrew, and Gee discuss Unity for iOS with Martin Grider. Martin is the owner and lead developer of Abstract Puzzle, LLC. He is lately into iOS freelancing and has a blog at chesstris.com. Stay tuned to learn more about what is new with iOS and what Martin currently enjoys doing!

View Details

On today's episode, Jaim and Andrew discuss with Keith Ballinger. Keith is the Director of PM in Microsoft's Mobile Development Tools Division, and currently focuses on the different cloud services from mobile developers. He's also had a series of startups before he came to the company. Stay tuned to learn about his projects, which include Microsoft's Visual Studio Mobile Center!

View Details

On today's episode, Jaim and Guilherme discuss Linea with Dustin Bruzenak and Troy Gaul from Iconfactory. Dustin is a programmer and consultant at Iconfactory, while Troy is the primary developer for Linea. Both have been in the industry for many years. Tune in to their exciting talk about developing and releasing the incredibly simple drawing app!

View Details

On today's episode, Andrew and Jaim discuss Take Manhattan III with Kasey Uhlenhuth. Kasey hails from Louisville, Kentucky. She is a program manager of .NET and the visual studio team at Microsoft, specifically on Roslin. Stay tuned to learn more about what she is up to as well as her expertise in programming.

View Details

On today's episode, Andrew and Jaim discuss Core Data. Core Data is now easy to use as a result of the recent changes in Xcode 8 and iOS 10. Learn what it is and understand how you can get the most out of it. 

View Details

On episode 191 of iPhreaks, Andrew and Jaim discuss Take Manhattan II with Sam Guckenheimer. Sam is the Group Product Planner of the Visual Studio Team Services of Microsoft. In the last 6 years, he has been working on Microsoft's transformation from Agile to DevOps. Tune in to their exciting talk, and learn about it!

View Details

On episode 190 of iPhreaks, Andrew and Jaim discussNotifications with Paola Mata. Paola is an iOS Swift Developer and organizer of NYC Tech Latinas. Tune in to learn more about notifications and how she got interested in it.

View Details

On episode 189 of iPhreaks, Andrew and Jaim talk to Xamarin Founder Nat Friedman in New York City during Microsoft Connect(). Nat talks about his new role and about creating Visual Studio Mobile Center. Tune in to iPhreaks Take Manhattan - Nat Friedman.

View Details

On episode 188 of iPhreaks, Jaim Zuber and Anastasia talk about iOS Security. Anastasia has been doing a lot of talk about it. It is a topic which is often thought that's been covered enough but not quite in reality. Stay tuned and learn how secure iOS Security really is.

View Details

On episode 187 of iPhreaks, Jaim Zuber and Andrew Madsen talked about Giving Back and helping new comers. Andrew just started on a new job as an iOs instructor in an iOs bootcamp in Salt Lake City. Learn more and be excited as you listen to Andrew's venture in the reaching out to novice developers.

View Details

On episode 186 of iPhreaks, Alondo Brewington, Jaim Zuber, and Andrew Madsen discussed about Year End Review and Predictions. They just thought it's a good idea to look back on what happened throughout 2016 in iOs and to make predictions for 2017 hoping for good things. Stay tuned to what they have to say!

View Details

Introduction

  • Ariel Elkin
  • Why I Am Not a React Native Developer

1:20: React Native

  • Functional reactive programming
  • Reactive architecture
  • Inconsistent state

7:15: Context of iOS app

9:50: Developing in React Native

  • What went well
  • What didn’t go well

18:45: JavaScript patent

  • Example with Facebook
  • Example with Airbnb
  • Patent trolling

29:30: More concerns with React Native

  • Ubuntu
  • Parse

Picks: How to Disagree by Paul Graham (Ariel)

Bullet list of what real programmers are (Ariel)

Chainsawsuit comic (Ariel)

Hired.com/iphreaks

View Details

Introduction

  • Branch
  • Branch blog

1:05: Deep linking

  • Storyboarding
  • URI schemes
  • Fragmentation of standards

12:15: Examples of deep linking

  • Sharing
  • App adoption

15:15: Direct to App Store

  • Referring user information
  • Fingerprinting
  • Burrito ad

24:00: App delegate

  • Link routing
  • App.link
  • Preventing malicious attacks

27:30: Success stories

31:00: App without website

Picks: Amazon Echo (Rod)

JMP (Alex)

Bose headphones (Alex)

Fellow Coffee (Alex)

hired.com/iphreaks

View Details

00:16 Intro to David Carmona from Microsoft

  • .NET, Visual Studio

1:46 Overview of .NET

8:39 .NET Core open source vs. .NET

14:09 C# language and .NET platform

18:33 Async/Await

25:26 Visual Studio and IntelliSense

27:42 Live unit testing

34:52 Getting started in .NET

36:51 Visual Studio for Mac and .NET for iOS development

Picks Kasia’s Deli (Jaim)

Cadiz, Spain (David)

Donovan Brown demo on DevOps (David)

Hired.com

View Details

Introduction

  • Erica Sadun
  • Erica on Twitter
  • Pinky and the Brain

2:30: Moving from Swift 2.0 to 3.0

  • Swift Style

7:50: One True Brace

  • Hybrid approach
  • Mixing Allman with One True Brace

14:30: Long declarations

  • Linewidth

18:00: Structure vs. comment

  • Augment the code
  • Different types of comment systems

24:20: Hardest style decisions to make

  • Advantages and disadvantages
  • Static public vs. public static
  • Understanding the context of style

30:50: Importance of the team adopting a style

  • Anti-turbulance system
  • Why have a style guide

37:45: Tools

  • Linters
  • SwiftLint
  • Formatters

Picks: EveryNoise.com (Jaim)

iOS Remote Conf (Charles)

Toggl (Charles)

SpamSieve (Erica)

Keyboard Maestro (Erica)

BetterTouchTool (Erica)

Hired.com

View Details

0:20: Introduction

  • Hesham Salman
  • View the Space

1:00: Migrating from Swift 2 to 3

  • Layering

4:30: Problems with 2.3 migrations

  • Core Telephony
  • Problems with Swift 3.0
  • CocoaPods
  • Upgrading to XCode

10:40: Preparing for new version of XCode

14:15: Hesham’s development team

  • Push service
  • Abstraction

18:30: Migration walk-through

  • Automatic vs. manual
  • Manual sweeps

27:20: Suggestions to mitigate problems in the future

Picks: Quick testing framework (Hesham)

Bell’s Two Hearted Ale (Hesham)

Pastrami (Jaim)

Swift Check (Rod)

World Series Game 7 (Rod)

iOS Remote Conf (Charles)

Born to Win Seminar (Charles)

Hired.com

View Details

0:15: Introduction

  • Ash Furrow
  • Artsy
  • Playground Books

5:45: Capabilities

  • Customization
  • Coding

9:45: Comparison to Apple

  • Learn to Code Playground book
  • Lack of tools
  • RxSwift Playground

14:50: Who are the books for?

  • UICollectionView

18:00: The user experience

  • Keyboarding
  • Auto-complete

23:15: Playground Book tool

  • Ruby
  • Open-source project

Debugging experience

  • Configuration to Mac
  • HyperCard

Picks: Postman Mac App (Andrew)

Turn Season Two (Rod)

Rod’s Blog (Rod)

Dark Matter (Ash)

View Details

Introduction

  • Coding Schools
  • DevMountain

3:40: What is bootcamp?

  • What the students are learning
  • Inspiration
  • Cocoa Programming
  • Structured environment

9:50: Alternative to bootcamp

  • College for four years
  • Degree vs. being self-taught

14:00: Interviewing

17:10: UI Kit

21:15; Marketing

  • For-profit school
  • Motivation
  • Hard work on the part of the student

26:45: What bootcamps mean for education overall

  • Filling a void
  • A jumpstart to career
  • Hard-won knowledge

35:30: Variation between bootcamps

  • Young industry
  • Potential issues

Picks: Salt and Sanctuary (Layne)

SCSI2SD (Andrew)

Macintoshgarden.org (Andrew)

For the Love of Spock (Andrew)

View Details

1:00: Introduction

  • Paul Cantrell
  • Siesta Library for Swift
  • Episode 124
  • Javascript Jabber: Why JavaScript Is Hard

4:20: How the language is written

  • Ruby
  • Swift

12:30: Synthetic Sugar

  • Swift 1.0
  • Double optionals

15:30: New API Guidelines

  • Strings
  • Fluency

21:15: Verbosity vs. Terseness

24:00: Successful Server Languages

  • Python
  • Garbage Collection
  • Go

28:30: Problems

  • Domain model
  • Limitations of control

32:40: Brand new startups

  • Limited users as a positive
  • Client development

Picks: Swift (Paul)

BBS the Documentary (Jaim)

CleanCoders.com (Rod)

Swift from Two to Three (Paul)

Article on how we teach math (Paul)

Lockhart’s Lament (Paul)

If I Sleep for an Hour, 30 People Will Die (Paul)

Bust Out Solutions

View Details

1:00: Introduction

2:00: Swift Package Manager

  • Carthage
  • Sources folder

3:30: GitHub Repository

  • Sub modules
  • CocoaPods

13:40: X-code

19:00: Frameworks

22:30: Providers

  • Brew
  • Apt

24:50: Future road map

  • Apple
  • Giro box

33:10: Contacting Marcin

  • Twitter
  • Blog
  • GitHub

Picks:

The Accountant (Rod)

12 Week Year (Charles)

Din Group (Marcin)

Project Distribution Test (Marcin)

Hired.com

View Details

1:25: Mobile Devops definition

  • Unique challenges

  • “It’s not just tools, it’s people in progress.”

  • Friction

4:30: Difficulty of mobile devops

  • Perfecto Mobile’s test cloud
  • Xamarin test cloud
  • Best practices

7:15: Unit testing

  • C Sharp
  • React Native
  • Manual testing
  • UI type test
  • Verification

14:50: HockeyApp

  • Installation
  • URL generation
  • Visual Studio Team Services
  • Control over source control events

27:00: Stories

  • Keynote: acquisition of Xamarin
  • Keeping your customers by delivering value

30:00: Experiments

  • Monitor your application
  • The Lean Startup
  • A/B testing

32:40: Feature Flags

  • Thought Works
  • Launch Darkly

Picks:

Pappadeaux (Jaim)

The Lean Startup (Charles)

Lyft (Charles)

BMW (Donovan)

Air hockey (Donovan)

HockeyApp (Josh)

Donovan on Twitter

View Details

1:00: Introduction

3:50: Xamarin

  • Advantages
  • Comparison with Swift
  • Cross-platform capability

9:15: Same-day support

12:30: Standard library

  • Apple
  • Microsoft
  • Bitrise

16:00: Development process

  • E-sync away
  • Uiview.animate
  • C#
  • Dev ops
  • iOS simulators
  • Visual Studio
  • CodeLens
  • Refactoring

22:40: Sharing code

  • Java libraries
  • Dot.net
  • Json.net

28:00: Xamarin Forms

  • Native controls

34:40: UWP: Universal Windows Platform

  • Write Xamarin for Playstation
  • Web framework

39:50: What’s new in C# 7

  • Tube holes

Picks: Clarks Shoes (Jaim)

James on React Native Radio (Charles)

STK Atlanta (Charles)

Dot.net (James)

Monorail Espresso Seattle (James)

Merge Conflict podcast (James)

View Details

1:15: Introduction: Chris Eidhof

  • OBJC.io

2:05: Structs in Swift

  • Blog post
  • Functional programming inspiration
  • Mutations in structs can be positive

3:55: Problems that can be solved

  • Unexpected changes, unexpected mutations
  • Make mutable opt-in

8:15: When mutating can be useful

  • Change an element at a specific index
  • Struct copies are very expensive

11:15: Benchmarks

15:30: New Data and Updates

  • Strategies for communicating changes in state

23:00 Writing simple code

  • Subjective
  • Issues with structs
  • Swift Summit

27:00: ObjectiveC.io

  • Functional Swift

33:00 Other projects

  • Advanced Swift
  • Functional Swift Conference

Picks: The Retro Mac Cast (Andrew)

68KMLA.org Forums (Andrew)

Twin Cities Startup Week (Jayme)

Eli Document Picker (Rod)

Functional Swift (Rod)

Michael Vey Fall of Hades (Chuck)

Webinar Jam (Chuck)

Get a Coder Job (Chuck)

Kyle Fuller (Chris)

Links: Hired.com

Chris on Twitter

View Details

1:17 Justin Grammens Introduction

  • Recursive Awesome
  • IoT Weekly
  • Lab 651
  • IoT Fuse

3:59 Arduino Open Hardware Platform

  • Arduino.MN
  • IoT Hack Days

11:50 Raspberry Pi

  • Democratization of Technology

14:07 Justin’s Internet of Things course

  • Smart Things
  • Exocite
  • Particle
  • Punch Through
  • Digi International

24:41 Connecting to Data and Mesh networks

  • Zigbee
  • Z-Wave

28:27 IoT and M2M

31:25 How to get started in IoT

  • Designing the Internet of Things
  • Calm Technology
  • Enchanted Objects
  • Hackster
  • Hackaday
  • Adafruit

36:57 Recent IoT projects

39:40 Inspiration for an IoT idea

47:54 IoT Mentoring

  • Coder Dojo

Picks Skillshop.me (Andrew)

SparkFun (Andrew)

DigiKey (Andrew)

Calmtech (Jaim)

Miss Peregrine's Home for Peculiar Children (Layne)

Pinewood Derby Track (Charles)

Raspberry Pi Amazon Echo (Charles and Justin)

iOS Remote Conf 2016 (Charles)

DevChat webinars (Charles)

Amazon Dash Button (Justin)

Links Justin Grammens Twitter

Justin Grammens LinkedIn

IoT Weekly

View Details

1:10: Introduction: Andy Rahn

  • Works for Iconfactory
  • Swift
  • Lua
  • Kotlin

6:20: Kotlin: What it is, who is responsible

  • New language by JetBrains
  • Similar to Swift but for Android

10:50: Future of Kotlin

  • Google looking at Kotlin?
  • Running on the JVM

15:45: Benefits of Kotlin: Familiarity

  • Feels familiar; same syntax as Swift
  • Shares similar disadvantages

19:20: Interacting with Java API

  • Nullability
  • Bridging

23:20: Kotlin vs. Xcode

  • Kotlin has many more features

  • Debugger in Android Studio difficult to use

25:20: Unit testing in Kotlin

26:10: Kotlin is stable

  • Swift is moving more quickly

29:40: Swift vs Kotlin: Advanced features

  • Generics
  • Compile time analysis
  • Reactive extensions

37:25: How many are using Kotlin?

Picks: Skillshop.me (Andrew)

Dylan and Dustin Bruzenak episode (Andrew)

Freelance Remote Conference (Charles)

Webinars (Charles)

The Sword of Shannara (Charles)

Reactive extensions (Andy)

Smile Train Charity (Daniel)

Cocoaheads (Andy)

iOS 10 Messages apps and stickers (Andy)

Links: Hire.com

Andy on Twitter

View Details

2:45: Introduction * What Is Day One?

  • I.tv

7:00: History of Day One

  • App of the Week
  • The Verge Review of Day One
  • Mac App Store App of the Year
  • Paul Mayne, CEO and Designer

13:00: Development Flow

  • GitHub

17:15: Advantages and Features of Day One

  • Metadata
  • Tagging
  • On This Day

22:30: Syncing and Security

  • Dropbox
  • Sharing Files
  • Privacy/Encryption

26:00: Mac App vs. iOS

  • Shared Code
  • Data Storage

Picks Airplane Jokes (Jaim)

RescueTime (Layne)

Skillshop.me (Andrew)

Suggest a Guest (Charles)

iPhreaks Facebook Page (Charles)

ScheduleOnce (Charles)

View Details

2:00: Apple Event - Overview * Primarily about iPhone and Apple Watch * For iOS developers and iPhone users

4:15: Announcements

  • Apple Music
  • 140 billion app downloads
  • 500,000 games
  • Mario, Pokemon GO

11:45: Apple Watch

  • Pokemon GO on the Apple Watch
  • Improvements
  • Built-in GPS
  • Water-resistance

18:00: Education

  • ConnectEd

19:30: Nike Plus Model (Apple Watch)

21:40: AirPods

  • Works with iPhone, Mac and iPad

26:00: Next Apple Event

  • Rumored for October

27:00 MacBook Pro

  • Rumored updates

28:50: iPhone

  • Improved Speakers
  • Camera
  • Removed headphone jacks
  • Better, richer color
  • More storage

Sponsors * Hire.com * Qbserve

View Details

1:28: Tyler McGinnis Introduction

  • Sparrow
  • React.js Program
  • Tyler’s website

2:15 React Native

  • CodePush

4:37: Cross Network Frameworks

11:20: The Experience of Going From iOS to Android

  • Flexbox

16:20: Andy Matuschak Tweet

17:05: Basic Building Blocks

  • Container Components
  • Presentational Components

21:17 Reducers

  • Time Travel Debugging

23:15: Downsides of React Native

26:45: Proper Threading

  • Animation Issues

30:58: Route Transitions

  • Reactive Native Vector Images

36:15: Testing a React Native Application

40:12: Facebook’s Goals with App Development

Picks Cannery Row by John Steinbeck (Jaim)

No Man’s Sky (Layne)

Remember the Titans (Charles)

Dan Abramov - Live React: Hot Reloading with Time Travel (Tyler)

React.js (Tyler)

Links: Tyler on JavaScript Jabber

Redux and React With Dan Abramov

JavaScript Core With Cesare Rocchi

View Details

DevOps Remote Conference

NoSQL Remote Conference

1:50 - Introducing Simone Civetta

Twitter

Blog

Frenchkit Twitter

2:16 - Automated Code Metrics in Swift

4:06 - Strategies to Determine Code Complexity

  • Lizard

6:17- Adding a Language

7:28 - Why Is Cyclomatic Complexity Important? How Can We Use This Information To Improve Our Code?

11:02- Difference Between Cyclomatic Complexity and End Path Complexity

13:40 - Using and Understanding Different Values of Cyclomatic Complexity

15:10 - Automating The Process

16:38 - Integrating Metrics Into A Complete Dashboard

  • SonarQube

18:12- Technical Debt Metric

21:16 - Stressing About Metric Values

25:50- Impact Of The Community on Swift’s Tools

  • SwiftLane
  • Carthage
  • Tailor

27:55- First Steps To Evaluating Code

  • Ace

30:15- Using Code Climate

  • Slather

31:20 - Using Hound

33:30- French Kit Conference

Picks: Slide Deck Link (Jaim)

The Hero of Ages: Book Three of Mistborn by Brandon Sanderson (Layne)

Wood Badge Scout Training (Charles)

Boy Scouts of America (Charles)

Postal (Simone)

View Details

01:36 - Orta Therox Introduction

  • Twitter
  • GitHub
  • Blog
  • Artsy

01:56 - CocoaDocs

03:06 - CocoaDocs vs CocoaPods

04:22 - Documentation Generation

  • jazzy
  • appledoc
  • Macminicolo

08:49 - Setting Up CocoaDocs in a Private Repository

10:17 - Metrics

  • Publishing Criteria

13:45 - Package Management Support

15:34 - CocoaDocs History

17:17 - Scaling Challenges

  • RxSwift

19:32 - Artsy

  • danger

21:18 - Working with React Native

  • eigen

24:39 - Is CocoaDocs similar to projects that are available on other platforms? Effect on Swift Going Cross-platform

27:08 - Paying For Hosting

  • Button

30:12 - danger

  • Felix Krause

Picks

  • iPad Pro Smart Keyboard (Andrew)
  • Bose SoundTrue Around-Ear Headphones II (Layne)
  • curlbuilder.com (Jaim)
  • injectionforxcode (Orta)

View Details

01:58 - Natasha Murashev Introduction

  • @NatashaTheRobot
  • @natashathenomad
  • GitHub
  • Blog
  • This Week in Swift Newsletter
  • The iPhreaks Show Episode #092: Unit Testing with NatashaTheRobot
  • try! Swift
    • try! Swift NYC Use discount code IPHREAKS100 for $100 off a ticket!

02:31 - Protocol-Oriented Programming

  • Natasha Murashev: Practical Protocol-Oriented-Programming
  • WWDC 2015: Protocol-Oriented Programming in Swift

03:49 - How Protocols Were Used Prior to Swift; Benefits

08:12 - Benefits in Regards to Testing

09:03 - Protocols in Swift vs Objective-C

10:18 - Downsides/Pitfalls When Using Protocols

13:04 - Associated Types and Type Erasure

  • Hector Matos @ AltConf 2016 - Type Erasure Magic
  • Gwendolyn Weston: Keep Calm and Type Erase On

17:02 - Keeping Code Clean

  • The Ghost of Swift Bugs Future

21:22 - Does protocol-oriented programming change the architecture of your apps substantially?

22:06 - Structs > Classes

25:13 - Protocol-oriented Programming Code Examples

  • Natasha's Talk
  • Protocol-Oriented Programming in Swift

27:05 - Changes With Swift 3?

28:03 - try! Swift

Picks

  • NorthFace Surge Transit Backpack (Alondo)
  • Andy Matuschak: Let’s Play: Refactor the Mega-Controller @ NSSpain (Alondo)
  • The Well of Ascension (Mistborn, Book 2) by Brandon Sanderson (Layne)
  • Prague (Layne)
  • Microsoft Sculpt Ergonomic Keyboard (Caleb)
  • ErgoDox Ergonomic Mechanical Keyboard Kit (Caleb)
  • Ben North & Oliver Nash: Magnetic core memory reborn (Andrew)
  • Rocket (Andrew)
  • Alexandros Salazar: The Ghost of Swift Bugs Future (Jaim)
  • Hector Matos @ AltConf 2016 - Type Erasure Magic (Jaim)
  • How to Stay Motivated: Developing the Qualities of Success by Zig Ziglar (Chuck)
  • Understanding Swift Performance (Natasha)
  • Win the Crowd: Unlock the Secrets of Influence, Charisma, and Showmanship by Steve Cohen (Natasha)
  • Rainbow Bagels (Natasha)

View Details

01:47 - Pokémon GO & Niantic

02:19 - Augmented Reality vs Virtual Reality

03:42 - Game Objective: How it Works

07:58 - Location Data

  • Ingress

10:11 - Cloud and Backend Service Issues

11:49 - Do bugs matter?

15:14 - Content vs Technical Execution

  • This man's Pokémon Go chat app is so successful that it's driving him bankrupt
  • The Dark Souls Video Games

19:59 - The Success of Pokémon GO and The Game Ecosystem

23:09 - Augmented Reality Awareness

  • QONQR
  • Microsoft HoloLens
  • The Untold Story of Magic Leap, the World’s Most Secretive Startup

Picks

  • The Pokémon GO Subreddit (Caleb)
  • Intocircuit 15000mAh 4.8A Dual USB Portable Power Bank with SmartID Technology (Caleb)
  • Nintendo Pokemon Go Plus (Caleb)
  • PlayStation VR (Layne)
  • Poweradd Pilot 2GS 10000mAh Portable Power Bank with Smart Charge (Jaim)

View Details

01:33 - Boris Bügling

  • Twitter
  • GitHub
  • Blog
  • Contentful
  • Cross-platform Swift by Boris Bügling

02:20 - The State of Cross-platform Swift

04:45 - Tooling

  • Swift Package Manager
  • SourceKit
  • Xcode
  • WWDC 2016: Going Server-side with Swift Open Source

06:46 - Frameworks

  • Perfect
    • The iPhreaks Show: Episode #140: The Perfect Framework with Sean Stephens and Kyle
  • Frank
  • IBM

10:24 - Use Cases in Production?

12:10 - Other Uses for Cross-platform Swift

  • SwiftFoundation
  • PocketCHIP

19:04 - CocoaPods; Installation

23:59 - Distributing Command Line Tools with Swift

  • Homebrew

26:48 - Using the Swift Package Manager

28:44 - ThisCouldBeUsButYouPlaying

29:45 - Generating Playgrounds for Swift Playgrounds on iPad

Picks

  • 3DRenderingTechniques (Andrew)
  • PocketCHIP (Andrew)
  • iWoz: Computer Geek to Cult Icon by Steve Wozniak (Layne)
  • Spikeball (Layne)
  • We are Twisted F*cking Sister (Jaim)
  • Swift Weekly Brief (Boris)

View Details

All Remote Conferences 01:59 - iMessage vs SMS (Short Message Service)

04:31 - Programmers and iMessage

  • App Extensions
  • Square Cash

06:14 - Standalone Apps; Games?

  • Compact and Expanded Mode

08:39 - Group Messaging

10:27 - Stickers

  • WWDC: iMessage Apps and Stickers, Part 1
  • WWDC: iMessage Apps and Stickers, Part 2

14:10 - Maps

  • Apple overhauls iOS Maps with a new design

16:43 - Extensions

  • Viral Potential
  • Reactions/Effects
  • WeChat

26:31 - VoIP (Voice over IP)

27:04 - Security/Privacy

Picks

  • ClippyJS (Jaim)
  • Auric Solar (Layne)
  • Procrastinate on Purpose by Rory Vaden (Chuck)

View Details

01:13 - Veronica Ray Introduction

  • Twitter
  • Medium.com: Veronica
  • LinkedIn

01:47 - Dependency Injection

02:41 - Decoupling Code

03:39 - Local Reasoning; Testing

04:45 - Mocking in Swift

Dependency Injection (Cont’d)

  • OCMock

15:36 - Well-done Mocks

  • Value Types
    • What's New in Foundation for Swift
    • Protocol and Value Oriented Programming in UIKit Apps

18:03 - Resources

  • Veronica Ray: Real World Mocking in Swift
  • Mocks in Swift via Protocols
  • Swift: The Only Modern Language without Mocking Frameworks
  • Cleanse

Picks

  • slither.io (Caleb)
  • Sharp Five Software Category: TDD (Jaim)
  • HTC Vive (Layne)
  • The Eye of Minds by James Dashner (Layne)
  • Sense (Veronica)
  • Script Debugger 6 (Andrew)

View Details

00:58 - Amir Rajan Introduction

  • Twitter
  • GitHub
  • Blog
  • A Dark Room (App)
  • Surviving The App Store: How to Make It as an Indie Game Developer by Amir Rajan
  • A Noble Circle

03:08 - Building A Dark Room

07:14 - Marketing the Game

  • A Dark Room (Web Version)
  • Twitter
  • Facebook Ads
  • Reddit
    • Accessibility
      • Raising Awareness, the Blind use iOS Devices
      • AppleVis

23:40 - Earning a Sustainable Income

29:03 - Amir’s Developer Experience

  • John Sonmez (Simple Programmer)

33:22 - Reviews

37:05 - The Iterative Aspect of Building an Application

  • Flatland
  • appstorepromotion@apple.com
  • Surviving The App Store: How to Make It as an Indie Game Developer by Amir Rajan

Picks

  • Hoplite (Amir)
  • Alto’s Adventure (Amir)
  • Transistor (Amir)
  • Blackbox (Andrew)

View Details

01:45 - Evan Stone Introduction

  • Twitter
  • GitHub
  • Blog
  • Cloud City

02:38 - IoT (Internet of Things); iOS & IoT

  • iBeacon

06:48 - Panelist IoT Device Experiences

  • Andrew & Caleb: Wired In
  • Layne: Nest Thermostat
    • Amazon Echo
    • Rachio Smart WiFi Sprinkler Controller
  • Caleb: RFduino
  • Chuck: Ring Wi-Fi Enabled Video Doorbell

14:00 - Near Field Communication

  • Core Bluetooth
  • Core Location
  • Bluetooth Low Energy

17:06 - Getting Started: Devices

  • The Bean
  • LightBlue Bean+
  • Arduino
    • BLE Shield
  • The Particle Photon
  • iBeacons
    • Estimote Beacons
    • Gimbal
      • Pop Up Labs

21:35 - Starting Projects

  • Tile
  • iPhreaks Episode #127: iBeacons with Azam Sharp
  • Samsonite Track&Go™ Suitcase
  • 24:19 - Devices Connected to the Internet
  • iPhreaks Show Episode #158: Internet of Things (IoT) with Olivier Bloch (from Microsoft Build Conference 2016)

28:19 - Threshold of Devices

  • A.I. (Artificial Intelligence)
  • Apple HomeKit

33:05 - Security

  • Security in the Internet of Things
  • TechCrunch - Why IoT Security Is So Critical

38:57 - Core Bluetooth Work Processes

  • Texas Instruments Sensor Tags

Picks

  • PMKVObserver (Andrew)
  • Electric Imp (Andrew)
  • iPhreaks Episode #030: Building Hardware for iPhones with Joel (Andrew)
  • iPhreaks Episode #043: Core Location & iBeacons with Josh Johnson (Andrew)
  • iPhreaks Episode #059: Device-Connected Apps with Carl Brown (Andrew)
  • iPhreaks Episode #127: iBeacons with Azam Sharp (Andrew)
  • iPhreaks Episode #107: Andrew Talks Arduino (Andrew)
  • Yoav Schwartz: Practical CoreBluetooth for Peripherals (Andrew)
  • BTLE Central Peripheral Transfer (Jaim)
  • We put a chip in it! (Jaim)
  • @internetofshit (Jaim)
  • PaintCode (Caleb)
  • Handy BLE (Caleb)
  • Rachio Smart WiFi Sprinkler Controller (Layne)
  • Motion Stills (Layne)
  • Procrastinate on Purpose by Rory Vaden (Chuck)
  • Mophie Battery Cases (Chuck)
  • Adafruit Learning System (Evan)
  • BeaconsInSpace (Evan)
  • Adam Savage's Maker Faire 2016 Talk (Evan)

View Details

Check out Newbie Remote Conf!! 01:06 - Mark Dalrymple Introduction

  • Twitter
  • GitHub
  • Blog
  • Bio
  • Big Nerd Ranch
  • Big Nerd Ranch Blog

01:58 - Debugging, Troubleshooting, and Performance Tuning

02:40 - The Universal Troubleshooting Process

  • Troubleshooters.com
  • Thoughts on Debugging, Part 1
  • Thoughts on Debugging, Part 2

10:32 - Mark’s Favorite Bug

15:48 - Debugging with Others

18:02 - Bug Reproduction

20:40 - Chuck’s Favorite Bug

25:31 - Specific Tools

  • Xcode
  • LLDB Command Line Interface
  • Caveman Debugging (Print Statements)
  • Programmers at Work: Interviews With 19 Programmers Who Shaped the Computer Industry

30:55 - Testing

36:28 - Tracking

39:10 - Code Review

42:07 - Resources for Getting Better at Debugging

Picks

  • Ludiphilia Podcast (Andrew)
  • The Manhole (Andrew)
  • Start with Why by Simon Sinek (Chuck)
  • VoodooPad 5 (Mark)
  • Mark Dalrymple: Adventures in Debugging - Keeping a Log (Mark)
  • Acorn 5 (Mark)

View Details

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Olivier Bloch of the Microsoft Azure IoT team about the Internet of Things and the Azure IoT Suite.

Resources

  • azure/azure-iot-sdks
  • ms-iot/samples
  • Microsoft Azure IoT Starter Kits

Picks

  • Sous Vide (Olivier)

View Details

01:05 - Matthew Henderson Introduction

  • Twitter
  • GitHub
  • Blog

03:04 - Azure App Services

  • Parse

04:27 - Cross-platform Options

05:05 - Getting Started

07:13 - APIs

09:34 - Azure Mobile App Engagement

11:51 - HockeyApp and Xamarin

  • Episode #152: HockeyApp with Thomas Dohmke

12:52 - Data

16:49 - Writing Your Own Backend Using Azure

19:22 - Security

29:37 - Use Cases

33:01 - Testing

  • tryappservice.azure.com

Picks

  • ThisCouldBeUsButYouPlaying (Andrew)
  • Tosh's Ramen (Chuck)
  • Fully Alive: Lighten Up and Live - A Journey that Will Change Your Life by Ken Davis (Chuck)
  • Fitbit One (Chuck)
  • Hamilton Soundtrack (Matt)

View Details

A special discussion about what’s already transpired out at WWDC 2016!

Picks

  • Westfield San Francisco Centre Food Emporium (Jaim)
  • iOS 10 Preview (Caleb)
  • Funko Pop! Tees (Caleb)
  • Smart Keyboard for 12.9-inch iPad Pro (Layne)
  • The unofficial WWDC app for macOS (Andrew)
  • Andrew Madsen: Objective-C Class Properties (Andrew)

View Details

01:22 - Hopes and Wishes

  • AltConf
  • Instant Apps
    • Google I/O 2016 Keynote
  • Bots
    • Amazon Echo
  • SiriSDK
  • Xcode, Playgrounds for iOS
    • Pythonista
  • Swift First Framework

16:18 - iOS 10, Swift 3.0

19:43 - Wearables

21:53 - Apple TV / tvOS

24:56 - The App Store

26:41 - CloudKit

28:46 - Firebase

Picks

  • Curry Up Now (Jaim)
  • Box Kitchen (Jaim)
  • Southside Spirit House (Jaim)
  • Local Edition Bar: San Francisco (Jaim)
  • Cathode (Andrew)
  • Woo (Andrew)

View Details

01:04 - Ryan J. Salva Introduction

  • Twitter
  • GitHub
  • Blog

02:08 - Cordova

  • WebView

05:19 - Hybrid; Native Applications

11:58 - Code Reuse and Sharing

16:01 - Performance

25:32 - Update

29:36 - Performance (Cont’d)

37:11 - The Development Process

Picks

  • Microsoft Bot Framework (Ryan)
  • Ryan's Blog (Ryan)

View Details

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Nick Gerard and Salmaan Ahmed of the Windows Bridge Project aka Project Islandwood.

Picks

  • Tesla Model 3 (Nick and Salmaan)

View Details

01:06 - Scott Hanselman Introduction

  • Twitter
  • GitHub
  • Blog
  • Hanselminutes
  • This Developer's Life

02:23 - Managing Diabetes

  • American Diabetes Association

13:14 - “Closed-Loop” System

  • Dexcom Continuous Glucose Monitoring (CGM)

20:16 - OpenAPS

23:00 - Monitoring

26:37 - The Current State of Systems

28:44 - What can people do now?

  • openaps

34:56 - The Future

  • Bigfoot Biomedical

37:37 - Wearing Devices

  • Scott Hanselman: Hacking Diabetes

Picks

  • Reading Papers (Andrew)
  • Diabetes Light (Jaim)
  • Diabetes Light: My holistic journey to health (Facebook) (Jaim)
  • The Essential Prince Reading List (Jaim)
  • Jimmy Jam and Terry Lewis have become synonymous with recording excellence (Jaim)
  • The Primal Blueprint (Chuck)
  • Mark’s Daily Apple (Chuck)
  • Chatting with Prince on AOL in 1999 (Scott)

View Details

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Thomas Dohmke of HockeyApp and the evolution of Interactive C#. You can follow him on Twitter, or see what he’s done over on GitHub.

Picks

Tesla Model 3 (Thomas)

View Details

01:06 - JP Simard Introduction

  • Twitter
  • GitHub
  • Blog
  • Realm

01:47 - Getting Started with Cross-Platform Development in Swift

02:57 - Challenges

06:41 - Foundation

09:36 - Writing a Swift App on Linux

  • AppCode

12:02 - Docker

14:26 - The Virtual Machine and Xcode

  • LLDB

18:24 - The Swift Build System

  • swift-llbuild

21:10 - Buck

22:06 - Android

27:30 - Foundation (Cont’d)

30:10 - Cross-Platform Swift and Realm

Picks

The Phantom Radio (Andrew)

For Whom the Bell Tolls by Ernest Hemingway (Jaim)

Flixel: The Case for Pricing Parity for Desktop and Mobile Apps (Alondo)

The Largest Ever Analysis by Film Dialogue by Gender: 2,000 Scripts, 25,000 Actors, 4 Million Lines (JP)

View Details

Episode 150 Celebration! Here’s to 150 more!

01:38 - Confession Time

08:36 - Show Highlights

  • Episode #150: The Perfect Framework with Sean Stephens and Kyle Jessup
  • Episode #132: Fastlane with Felix Krause
  • Episode #149: Xamarin and The Evolution of Interactive C# with Miguel de Icaza
  • Episode #133: The GROWS Method with Andy Hunt and Jared Richardson
  • Episode #110: Design and The Business of Apps with Dustin and Dylan Bruzenak of Iconfactory

11:58 - The Microsoft Build Conference

  • HoloLens
  • Project Islandwood
  • .NET Rocks!
  • WWDC

Check out Chuck’s Remote Conference Lineup!

Picks

Introducing GPUImage 2, redesigned in Swift (Jaim)

Ramen YAMADAYA (Jaim)

Candy Japan (Andrew)

MicroConf (Chuck)

GenerateWP (Chuck)

WordPress Membership Plugin (Chuck)

View Details

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Miguel de Icaza of Xamarin and the evolution of Interactive C#. You can follow him on Twitter, see what he’s done over on GitHub, or visit his blog.

View Details

01:10 - iPhone

  • Gigabyte Options
  • iPhone SE

08:34 - FBI Case and Security

15:19 - iOS 9.3

  • Night Shift
    • f.lux
  • Color Profiles

17:44 - iPad Pro

  • Apple Pencil

22:40 - Apple Watch

24:10 - Apple TV

27:48 - ResearchKit and CareKit

30:49 - April 1st Intro

Picks

Uvex S0360X Ultra-spec 2000 Safety Eyewear (Jaim)

Andyy Hope: Swift: Selector syntax sugar (Andrew)

OLO - The First Ever Smartphone 3D Printer (Andrew)

Shapr3D (Andrew)

Taking a break (Chuck)

Facebook Groups (Chuck)

iPhreaks Show on Facebook (Chuck)

View Details

Check out iOS Remote Conf!!!

01:27 - Hardware

06:51 - Cloud Storage

  • Dropbox
  • iCloud

09:00 - Tools

  • Xcode
  • BBEdit
  • TextMate
  • Dash
  • Emacs
  • AppCode
  • ReSharper
  • Sublime Text
  • Git Tower
  • SourceTree

13:14 - Continuous Integration

  • Jenkins
  • CircleCI

18:11 - TestFlight

19:57 - Desk Setups

  • Lifehacker Ikea Desk
  • Herman Miller
  • Spotify

26:06 - Coding Music

  • Bach Cello Suites
  • Gustav Mahler - Symphony No. 1 - Bernstein · Vienna Philharmonic Orchestra
  • Nashville (Bill Frisell Album)
  • The Masters of Classical Music - Vivaldi
  • White Noise

30:28 - Miscellaneous Gear

  • PlugBug

Picks

Open Radar (Andrew)

Filing radars with Apple (Andrew)

Twin Peaks (Jaim)

Torrentz (Chuck)

Come see the iPhreaks at Microsoft Build Conference! (Chuck)

View Details

The iPhreaks are going to the Microsoft Build Conference! Come see the panel in San Francisco from March 29th - April 1st!

01:47 - Heiko Behrens Introduction

  • Twitter
  • GitHub
  • Blog

02:25 - Daniel Rodríguez Troitiño

  • GitHub

02:46 - Pebble vs The Apple Watch

  • @pebbledev

07:06 - The Pebble Development Experience

  • Where To?

10:49 - Accelerometer Functions

11:48 - JavaScript; JavaScriptCore

  • Pebble.js

17:42 - Device Capabilities

  • Apple Notification Center Service (ANCS)
  • Notifier App

21:02 - Bluetooth

22:24 - Notifications

30:59 - The Developer Experience (Cont’d)

31:45 - Running/Sports Apps

  • Runkeeper
  • Bluetooth Low Energy (BLE)

33:46 - Apps and Screens/Watchfaces

  • UITableView
  • UIkit

39:56 - Getting Started with Building an App for Pebble

  • developer.pebble.com

41:59 - Shipping an App that Allows Users to Download Other Apps

47:36 - Waterproof?

Picks

Ono (Andrew)

Mike Ash: Friday Q&A 2016-03-04: Swift Asserts (Andrew)

Smart Go (Andrew)

2016 Minnesota State High School All Hockey Hair Team (Jaim)

The Best Podcast Rap Video (Chuck)

PaintCode (Heiko)

Jetbrains: The unicorn Silicon Valley doesn't like to talk about (Heiko)

How to Move to Germany if Donald Trump is Elected President (Heiko)

Greg Wilson: What We Actually Know About Software Development, and Why We Believe It’s True (Daniel)

Ruby Rogues Episode #184: What We Actually Know About Software Development and Why We Believe It's True with Greg Wilson and Andreas Stefik (Chuck)

View Details

Check out and sign up for iOS Remote Conf! April 13-15th, 2016.

01:22 - Dominic Jodoin Introduction

  • Twitter
  • GitHub
  • Blog

01:46 - Emma Trimble Introduction

  • Twitter

02:03 - Travis CI Background and Origin

  • @travisci
  • Continuous Integration (CI)

06:27 - Travis CI vs Other CI Solutions

  • CircleCI
  • Jenkins

10:44 - Travis and Open Source

  • Getting Set Up
  • YAML

14:47 - iOS and Travis CI

  • fastlane

16:04 - Testing and The Backend

21:17 - CocoaPods

22:41 - Support

  • Swift

24:53 - Pricing and Cost

27:33 - GitHub Integration

29:27 - Setup and Tool Support

  • Mercurial

Picks

Smoked Gouda Cheese (Jaim)

Smooch (Dominic)

Making voice calls in Slack (Emma)

The Most Important Object In Computer Graphics History Is This Teapot (Andrew)

Big John's Cajun Cheese (Andrew)

2016 Chocolate and Cheese Festival @ The Natural History Museum of Utah (Andrew)

View Details

01:13 - How Jaim and Andrew Got Started in Programming

  • Apple IIe
  • HyperCard

05:33 - Learning How to Program

08:46 - Mentoring

  • Code Reviews
  • Pair Programming

15:37 - Lessons Learned Teaching New Devs

  • “Go read the documentation.”

23:17 - Getting Kids Involved in Programming

  • Code.org
  • Scratch
  • CODE SAVVY

Picks

Scratch (Jaim)

Hour of Code (Jaim)

CODE SAVVY (Jaim)

Prepo 2 (Andrew)

App Camp For Girls (Andrew)

View Details

01:04 - Travis Jeffery Introduction

  • Twitter
  • GitHub
  • Blog
  • Stash

01:36 - Clang-format, Clang-Tidy

02:00 - What is a linter?

02:40 - Uses

  • ClangFormat-Xcode

05:49 - Lining Up Method Perimeters

07:00 - Configuration

07:52 - Integration

08:50 - ClangFormat-Xcode

09:22 - Apple Support for ClangFormat

11:00 - Support for Swift

11:41 - Getting Started

14:13 - Code Style

  • Documentation on Style Options

19:21 - Continuous Integration Workflow

20:48 - Clang-Tidy (Cont’d)

  • clang-query

Extra Resources

  • Daniel Jasper: clang-format - Automatic formatting for C++
  • Daniel Jasper: Keep your code sane with clang-tidy: Meeting C++ 2015 Lightning Talks

Picks

objClean (Andrew)

Swift-Clean (Andrew)

Friction Between Programming Professionals and Beginners (Andrew)

Help people that are new (Andrew)

Hopper (Jaim)

Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values by Robert M. Pirsig (Travis)

Stash (Travis)

A Guide to the Good Life: The Ancient Art of Stoic Joy by William B. Irving (Travis)

View Details

This week, we’re bringing to you a behind the scenes look at the man behind the mic and the guy who puts out over 5 hours worth of free audio content per week to support the development community: Charles Max Wood.

Long-time listener, Thom Parkin, asked Chuck if he would sit down and do an interview with him to describe all the interesting things he’s been up to and his goals for the future. In this interview, Chuck gives listeners a behind-the-scenes look at all of his podcasts, the DevChat.tv platform, RailsClips, his remote conferences and his upcoming book that will focus on tips for getting hired as a developer.

View Details

01:25 - Open Source Swift

  • iPhreaks Show Episode #138: Open Source Swift

06:13 - Is Apple going to continue being innovative?

09:46 - Will Apple gain or lose market share in 2016?

13:01 - The Apple Watch

16:33 - The iPhone

  • Headphone Jack and Bluetooth
  • Camera Quality

22:05 - iOS10

24:22 - Frameworks Rewritten in Swift

26:46 - Writing Objective-C

28:37 - Siri

30:50 - Force/3D Touch

32:39 - Apple Watch (Cont’d)

34:54 - Purchasing Options/Financing

36:04 - The App Store

  • TestFlight

41:24 - Apple TV

Picks

Tortuga Travel Backpack (Alondo)

Twelve South PlugBug World Charger and Power Adapter (Alondo)

Creating App Previews with iMovie (Andrew)

Know It All! (Andrew)

RushMyPassport (Chuck)

Trello (Chuck)

View Details

00:59 - Sean Stephens Introduction

  • Twitter
  • GitHub
  • Blog

Kyle Jessup Introduction

  • Twitter
  • GitHub

01:04 - Perfect

03:14 - The Lasso Language and Framework

  • Lasso (Wiki)

07:10 - Lasso Parts => Perfect

13:42 - Developer Response to Perfect

15:32 - What Perfect Currently Consists Of

  • PerfectLib
  • lib/gcd.c
  • libdispatch

20:02 - Getting Started on Perfect

23:50 - Open Source, Licensing, and Contribution

28:50 - Swift on Windows

29:40 - Swift and the Backend Ecosystem

30:55 - Why Choose Swift?

33:48 - Performance

35:39 - Benchmarks

38:26 - Use Cases

Picks

Charlestown, SC (Jaim)

Amphibious (Kyle)

Pleiades (Sean)

SwiftyGPIO (Andrew)

Anker (Andrew)

View Details

Check out Freelance Remote Conf and iOS Remote Conf!

01:20 - Josh Brown Introduction

  • Twitter
  • GitHub
  • Blog
  • Parsing JSON in Swift by Josh Brown

02:23 - Why Parsing JSON in Swift is Tricky

03:53 - Basic Approaches

06:11 - What do you do if it doesn’t work?

07:59 - Libraries to Parse JSON

  • SwiftyJSON
  • NSJSONSerialization

09:06 - Testing

13:14 - Libraries (Cont’d)

14:07 - The Pyramid of Doom

16:15 - Guard

18:34 - Encoding

19:17 - Writing a Book

21:58 - Parameters

24:42 - typealias

  • How to use typealias to make JSON parsing more readable in Swift

26:34 - App Architecture

27:37 - Model Mapping

28:41 - Handling Arrays

29:33 - Handling Nested Data

30:47 - Resources

Picks

PlayNow (Andrew)

VIM Adventures (Andrew)

Mondo (Andrew)

Eat a healthy snack (Jaim)

Honeybadger (Chuck)

New Relic (Chuck)

Ash Furrow: MVVM is Exceptionally OK (Josh)

Coupon code for 10% offParsing JSON in Swift: iphreaks

View Details

iOS Remote Conf will be from April 13th - April 15th. Get your ticket (or submit a CFP!)

Check out Freelance Remote Conf!

Get the top 10 episodes of iPhreaks! Text IPHREAKS to 7656263464.

02:23 - Swift is Open Source: Why?

  • Swift
  • WebKit
  • Perfect

05:59 - Running Swift on Linux and Raspberry Pi

  • Andrew Madsen: Swift on Raspberry Pi

08:40 - Benefits of Running Swift as an Embedded Program

  • Go

10:50 - Is this a different Swift?

11:35 - Cross-Platform Approaches

  • Java

13:27 - What is included in Open Source Swift?

  • The Swift Package Manager

19:00 - Vs CocoaPods and Carthage

20:38 - Building and Installation

21:30 - IDE Integration; Opening Things Up with Xcode

22:26 - Developing on GitHub

  • Erica Sadun

24:56 - Downsides to Open Sourcing Swift ?

26:47 - Benefits of Swift as a Server Side Language

28:01 - Linux Support

  • FreeBSD

29:21 - Are we going to see Apple support other efforts?

34:37 - REPLs (Read, Evaluate, Print, Loop)

Picks

Alexandros Salazar: The Ghost of Swift Bugs Future (Jaim)

Andrew Madsen: Swift on Raspberry Pi (Andrew)

Swift Sandbox Open Source Newsletter (Andrew)

IBM Swift Sandbox (Andrew)

Nike+ Running (Chuck)

Run 10k (Chuck)

Pebble Time Steel (Chuck)

AfterShokz Bluez 2 Headphones (Chuck)

MyFitnessPal (Chuck)

View Details

This episode is from Ara T. Howard’s talk at Ruby Remote Conf 2015. You can watch the full, unedited presentation, Program Like You Give a Damn, on YouTube at your convenience.

  • Check out All Remote Confs for next year’s remote conference lineup!
  • iOS Remote Conf will run from April 13-15 2016. Buy a ticket or submit a CFP!
  • JS Remote Conf is running from January 14th-16th 2016. Check out the speaker lineup!
  • Freelance Remote Conf will run from February 24th-26th. The speaker lineup is all but complete!

We, the iPhreaks Show panelists (And, Mandy!), hope you had a very happy holiday season.

View Details

01:20 - Neal Ford Introduction

  • Twitter
  • GitHub
  • Blog
  • iPhreaks Episode #84: Building Your Technology Radar with Neal Ford
  • iPhreaks Show Episode #119: Ambient Information and the Apple Watch with Neal Ford
  • ThoughtWorks

02:16 - Efficient Engineering Practices for Software Projects

  • Test-Driven Development
  • Continuous Integration
    • Continuous Integration Servers
      • CruiseControl
  • Continuous Delivery

08:42 - Feature Branching

  • Martin Fowler: FeatureBranch

12:13 - Bad Things About Feature Branching

  • Merge Ambush
  • No Opportunistic Refactoring
    • ClearCase
  • Merge Conflicts

17:02 - Trunk Based Development

  • Feature Toggles
    • Martin Fowler: Feature Toggles

24:10 - Continuous Integration (Cont’d)

26:58 - Hypothesis-Driven Development (Experiment-Driven Development)

  • Radiolab Podcast: The Trust Engineers

32:08 - Pull Requests

35:32 - Feature Branching (Cont’d)

  • CircleCI

40:32 - Implementing Feature Toggles

44:47 - Automatic Machine Provisioning

  • Unit Testing
  • Functional Testing

49:15 - Consulting Judo - Michael Nygard

  • “Demonstration trumps discussion.”

54:28 - Eliminating Pain Points; Automation & Delegation

  • The Productive Programmer by Neal Ford
  • Eventual Millionaire Podcast

01:00:33 - The Out-of-town Consultant Effect

Picks

Apple TV (Jaim)

Pebble Time Steel (Chuck)

iOS Remote Conf (Chuck)

LaunchDarkly (Neal)

Grasp (Neal)

View Details

Check out JS Remote Conf and Freelance Remote Conf

Submit a CFP for iOS Remote Conf!

01:43 - Jeff Kelley Introduction

  • Twitter
  • GitHub
  • Blog
  • Detroit Labs
  • Developing for Apple Watch by Jeff Kelley

02:39 - The Apple Watch (Overview)

03:33 - How do people decide if they need a watch app?

04:53 - Notifications

07:16 - Interacting with an Apple Watch

09:42 - Complications

14:39 - 2.0 Changes to Making Apps

16:57 - Models, Controllers, Views

  • Sharing Code

18:12 - Compatability

19:48 - Developing with HealthKit

24:41 - New Releases with 2.1

26:40 - Screen Sizes and Resolutions

28:36 - Should developers buy more than one watch to test apps?

30:52 - Minimizing Delays

33:00 - Resources

  • WWDC Videos

35:17 - Pain Points with 2.0 Development

37:30 - Phone/Watch Communication

40:39 - Testing

42:09 - Gotchas

43:20 - Memory/Performance Constraints

Picks

The Song Exploder Podcast (Jaim)

Erica Sadun's Blog (Andrew)

Hacking Atom to create a Swift IDE that runs on Linux and Mac (Andrew)

Authy (Andrew)

Serial Podcast (Chuck)

BADLAND (Jeff)

swift-evolution Mailing List (Jeff)

Rocket Fiber (Jeff)

View Details

01:06 - David Mauro Introduction

  • Twitter
  • GitHub
  • Blog
  • BuzzFeed

01:17 - Kevin Lord Introduction

  • Twitter
  • GitHub
  • BuzzFeed

01:54 - mattress

05:01 - Caching and Implementation

  • NSURLCache
  • UIWebView

10:19 - WKWebView

14:55 - NSURLProtocol

20:56 - Can you use Mattress with other systems?

22:07 - Performance Implications

26:43 - The Conception and History of Mattress

  • Entering the Open Source World

31:20 - Swift, adoption, and will it work in Objective-C?

39:13 - What’s next?

Picks

How The Wrong Name Cost Our Startup $10,000 (Alondo)

Patterns (Andrew)

CodeRunner (Andrew)

Odesi (Andrew)

Recognizing what things are truly important (Chuck)

Cleaning your office (Chuck)

Mattt Thompson: NSURLCache (Jaim)

Josh Johnson: Intercepting Requests with NSURLProtocol (Jaim)

Swift.org (David)

@wkwebview (David)

Hackaday (Kevin)

Jamaica Ting (Kevin)

View Details

01:14 - Jared Richardson Introduction

  • Twitter
  • Blog

01:31 - Andy Hunt Introduction

  • Twitter
  • Blog
  • The Pragmatic Programmer by Dave Thomas and Andy Hunt
  • Teach Me To Code #41 – Andy Hunt

02:35 - Background, The GROWS Method

  • Agile Software Development
  • The Agile Manifesto
  • Scrum
  • Dreyfus Model of Skill Acquisition

16:51 - Getting Things Done

19:18 - Transitioning to GROWS

  • Ship It! by Jared Richardson

23:45 - Experiments

28:39 - Blind Spots

30:22 - Pain Points and Benefits

35:52 - Where do I start?

  • Starting with GROWS
  • Checklist-driven Development

43:30 - Can you do GROWS on a small team?

50:25 - Working on Stage 2 before Stage 1 is Done

  • The Unit

54:06 - The Growth of GROWS

Announcement

  • Check out Freelance Remote Conf and iOS Remote Conf at All Remote Confs

Picks

Dan Wilson: Regarding Ground Rules For Collaboration (Jaim)

Saramonic SmartMixer Professional Recording Stereo Microphone Rig (Chuck)

Unboxing of saramonic smartmixer for periscope. #ufy (Chuck)

Clash of Clans (Chuck)

Derek Sivers: The /now page movement (Andy)

nownownow.com (Andy)

tonymacx86.com (Jared)

Get out from behind the keyboard (Jared)

View Details

01:02 - Felix Krause

  • Twitter
  • GitHub
  • Blog

01:17 - Fastlane

01:37 - The Background and Motivation of Fastlane

03:19 - Fastlane as a Collection of Tools

04:06 - Plugin Architecture

05:08 - Language = Ruby

06:29 - Nomad

08:32 - What do these tools help with?

  • snapshot
  • deliver

12:23 - Using Fastlane for Continuous Integration

  • Jenkins CI
  • Travis CI
  • CircleCI
  • Bitrise
  • scan
  • Xcode Server

14:17 - Fastlane Growth and Community

17:14 - Contribution

20:29 - Integrating and Using Tools in Workflows

26:10 - Keeping Up with Changes

27:00 - Twitter + Fastlane

29:34 - Support and Community (Cont’d)

32:12 - Getting Started

  • Felix Krause: iOS Continuous Delivery with Fastlane @ CocoaHeads Stockholm

33:10 - Difficulties and Gotchas

  • Code Signing
  • sigh

34:23 - Naming Tools

Picks

Swift Sandbox (Andrew)

Chris McVeigh (Andrew)

Brine your turkey (Jaim)

Tower (Felix)

what-terminal-is-felix-using (Felix)

Google Flights (Felix)

View Details

01:12 - MIKMIDI

  • The iPhreaks Show Episode #57: MIDI

02:17 - Adding Features or Changing the Way a Library Works in an Open Source Projects

04:49 - Deprecation

07:23 - Deprecation vs Replacing

09:37 - Semantic Versioning

15:14 - What is a breaking change?

17:51 - Choosing Issues and Bugs to Tackle; How long should it take?

24:31 - Maintainer Responsibility

26:33 - Being a Good Contributor; Documentation & Examples

  • Contributor Covenant

31:01 - Using Badges

32:12 - How Travis CI Integrates with an Open Source Project

  • ClangFormat

35:22 - Hosting for Open Source Projects

  • GitHub
  • Bitbucket
  • Kiln

36:37 - Generated Documentation

  • CocoaPods
  • CocoaDocs
  • Dash

39:07 - Licensing

  • The MIT License
  • The Apache License
  • GPL License
  • AGPL License

40:56 - What’s changed in MIKMIDI? (Since Episode #57)

Picks

The Big Star Story (Jaim)

Searching for Sugar Man (Andrew)

Erica Sadun: A handful of Swift style rules #swiftlang (Andrew)

appledoc (Andrew)

jazzy (Andrew)

Toastmasters (Chuck)

View Details

01:02 - Fei Wang Introduction

  • Twitter
  • Blog
  • Secret Sauce

02:24 - Validating an App Idea

03:54 - Identifying Your Market and Your Market’s Pain Points

08:52 - Networking and Communication

14:24 - Dealing with “Low-Tech” Clients

16:24 - Tools and Approaches for Prototyping

  • Sketch
  • InVision
  • Marvel
  • Ionic Creator

24:51 - The Value Proposition

  • Facebook Ads

28:07 - When Things Fall Through…

29:35 - Validating Your Marketing Channels

  • Traction: Get a Grip on Your Business by Gino Wickman

33:10 - Pricing

36:20 - Building a List

39:23 - Recap

  • Hooked: How to Build Habit-Forming Products by Nir Eyal

41:34 - Validating You’re on the Right Track

Picks

Sketch Toolbox (Alondo)

Clever Coffee Dripper (Alondo)

You Must Remember This Podcast (Jaim)

FamilySearch (Chuck)

Relative Finder (Chuck)

The New Yorker Podcast (Fei)

Adblock Fast (Fei)

More Resources From Fei (Fei)

View Details

01:08 - WebRTC

03:23 - Advantages

04:51 - Approaching WebRTC

  • Bowser
  • Pristine IO: Build iOS AppRTC iOS AppRTC Deep Dive (Pt. 1)
  • webrtc-build-scripts
  • AppRTC on CocoaPods
  • openTalk API
  • OpenTok Developer Center

08:24 - Use Cases and Gotchas

  • PodClear
  • Zencastr
  • ICE Candidates Explanation
  • Thomas Gorissen: jQuery for WebRTC @ JS Remote Conf 2015
  • JavaScript Jabber Episode #155: Webtorrent with Feross Aboukhadijeh

15:51 - Capturing and Collecting Data

18:35 - Handling Errors

20:31 - Encryption

22:35 - Alternatives to WebRTC

Picks

Observable-Swift (Andrew)

CocoaHeads-SLC-Presentations (Andrew)

Karma (Alondo)

Eden Twig Tea (Jaim)

iphreakstopics (Chuck)

Geek Toys (Chuck)

ThinkGeek (Chuck)

Sonic Screwdriver (Chuck)

View Details

00:58 - Cesare Rocchi Introduction

  • Twitter
  • Studio Magnolia
  • Ray Wenderlich
  • Podrover

01:55 - JavaScriptCore

  • asciiwwdc
  • webkit.org/blog

04:15 - WKWebViews

  • Web Assets: Local vs On The Web
    • UIWebView
    • The Ionic Framework
    • Adventures in Angular Episode #064: Ionic with Matt Kremer and Mike Hartington
    • JSContext
  • MacOS and iOS Platforms
    • Electron
    • Cordova
    • React

21:58 - Hybrid Apps

27:48 - Performance and Upgrades

  • LLVM

32:17 - Organizing JS Code with Exports

33:47 - Background Processes in JavaScript

Picks

Highrise (Chuck)

The Ionic Framework (Chuck)

Podcasting (Cesare)

Pick Up Podcasting (Chuck)

View Details

01:11 - Azam Sharp Introduction

  • Twitter
  • GitHub
  • Blog
  • Blinds.com
  • 7 Minute Body

02:14 - iBeacons

03:50 - Retail Adoption

05:26 - Apps and iBeacons

05:56 - Can you fake out an iBeacon?

  • Estimote Beacons

07:12 - Why the slow adoption of iBeacons?

08:48 - Setting Up Beacons

14:21 - Precision

  • Nearables are here: introducing Estimote Stickers

18:12 - Range

19:28 - Life Expectancy

  • Particle

21:08 - APIs and SDKs

  • Beacons
  • eddystone
  • Arrived
  • MactsAsBeacon

30:35 - More Use Cases

Picks

Anker PowerPort 5 (Alondo)

FIRST LEGO League (Jaim)

UIStackView (Andrew)

Rewind (Andrew)

DMG Canvas (Andrew)

Allrecipes (Chuck)

LinkedIn (Chuck)

7 Minute Body (Azam)

View Details

01:10 - Janie Clayton Introduction

  • Twitter
  • GitHub
  • Blog
  • iOS 8 SDK Development: Creating iPhone and iPad Apps with Swift
  • The Swift Apprentice: Beginning Programming with Swift 2
  • Ray Wenderlich
  • Black Pixel

03:02 - iOS and Robotics

  • SonoPlot, Inc.
  • Brad Larson
  • GPUImage

08:39 - System Architecture

  • SerialPortExample-Swift

11:24 - History

14:19 - Robot Design

  • Microns to Inches
  • Mac Software
    • SonoDraw

18:52 - Why is robotics more complicated?

20:09 - Assembly

21:24 - Rewriting Objective-C Apps in Swift

27:25 - Design Patterns

29:21 - Connecting Worlds

30:52 - Realtime

33:44 - Open Source and GPUImage

Picks

ORSSerialPort (Andrew)

Honeycrisp Apples (Jaim)

NSScreencast Episode #188: App Transport Security (Jaim)

Rush Revere and the Brave Pilgrims by Rush Limbaugh (Chuck)

The Magician's Nephew by C. S. Lewis (Chuck)

MONEY Master the Game: 7 Simple Steps to Financial Freedom by Tony Robbins (Chuck)

GPUImage (Janie)

OpenGL ES Pixel Shaders Tutorial (Janie)

Programming Sucks (Janie)

View Details

01:04 - Jake Gundersen

  • Twitter
  • GitHub
  • Blog
  • The Ray Wenderlich Podcast

01:38 - GameplayKit Framework Reference

  • GameplayKit Programming Guide

03:56 - What’s the advantage of GameplayKit?

  • Unity 5

09:05 - Component Architecture

11:52 - ComponentKit | Component API

14:29 - Randomization

16:21 - State Machines

  • GKStateMachine
  • GKState

24:10 - Rules Systems

24:51 - Pathfinding

  • GKGraph
  • GKGraphNode
  • GKObstacleGraph
    • GKPolygonObstacle

30:50 - Agents, Goals, and Behaviors

  • GKAgent
  • GKGoal

33:58 - Compatability

35:54 - Cross-platform Limitation

Picks

fastlane (Andrew)

Swift State Machines (Andrew)

Ryan Olson: Libraries Used in the Top 100 iOS Apps (Andrew)

Charles Max Wood "Upgrading From Yesterday" (Chuck)

Charles Max Wood: UFY 007: Standing Desk and Upgrading My Health (Chuck)

A Simple, Portable, Inexpensive Standing Desk Solution (Chuck)

Periscope (Chuck)

Ray Wenderlich: Introducing the iOS 9 Feast! (Jacob)

The Life-Changing Magic of Tidying Up: The Japanese Art of Decluttering and Organizing by Marie Kondo (Jacob)

View Details

01:19 - Paul Cantrell Introduction

  • Twitter
  • GitHub
  • Blog
  • Bust Out Solutions

01:41 - Siesta

07:31 - Is Siesta a specialized tool?

09:06 - Defining REST

10:35 - How Siesta Works

20:26 - Why use Siesta?

27:57 - Conversion

32:44 - Handling Requests

34:09 - Observers

35:51 - Checking

41:44 - Storing Resources, Caching

45:11 - Readability

Picks

Siesta README (Jaim)

Standing Up (Chuck)

SmartCells Anti-Fatigue Comfort Mat (Chuck)

Lifehacker Ikea Standing Desk (Chuck)

Periscope (Chuck)

Katch (Chuck)

The Complete Guide to the Alexander Technique (Paul)

Alexandros Salazar: The Ghost of Swift Bugs Future (Paul)

99% Invisible Episode #52: Galloping Gertie (Paul)

Proofs and Refutations: The Logic of Mathematical Discovery by Imre Lakatos (Paul)

View Details

01:15 - DevChat.tv: The App

03:51 - Basic Authentication

  • OAuth
  • NSURLSession
  • HTTP: Basic Access Authentication

08:05 - Making a Universal App

  • Size Classes

09:24 - Possible Starting Points and Features

  • Balsamiq

14:04 - Design and Finding a Designer

  • Dribbble
  • Web => iOS Design

18:42 - Audio: Streaming, Downloading

  • Overcast

21:23 - Recording

22:46 - RSS

23:21 - Is the DevChat.tv app idea overambitious?

  • Stack Overflow

24:38 - Animations and Transitions

25:27 - Core Data?

  • Realm
  • fmdb

27:13 - Synchronization and Persistence

27:50 - Flagging Updates

29:00 - Social Integration & Subscription Content

29:59 - Security and Privacy

31:00 - Learning Resources

  • Ray Wenderlich
  • Stanford on iTunes U

34:55 - Third-party Libraries?

36:39 - HTTP Live Streaming

  • AV Foundation

Picks

Exit Through the Gift Shop (Jaim)

Learn Something New (Andrew)

Michael Vey 5: Storm of Lightning by Richard Paul Evans (Chuck)

Get outside and get moving (Chuck)

View Details

01:37 - Apple Watch

  • Hermès Strap Collection
  • Pebble Time
  • watchOS 2

08:55 - iPhone 6s + 6s Plus

  • 3D Touch
  • Maintaining Usability Across Multiple Systems
  • Live Photos
  • Multitasking
  • Storage

19:06 - iPad Pro

  • Apple Pencil
  • Use Cases

29:20 - Apple TV

  • AirPlay
  • Cross-Device Interaction ??
  • HomeKit Integration
  • tvOS

Picks

Oktoberfest Beer (Jaim)

CodeCombat (Alondo)

Airplay Tutorial: An Apple TV Multiplayer Quiz Game (Alondo)

Beginning tvOS Development with TVML Tutorial (Alondo)

Pebble.js (Chuck)

Basecamp (Chuck)

View Details

01:18 - Gábor Szántó Introduction

  • Twitter

02:46 - Superpowered

Typical Applications

  • C++
  • Core Audio

13:00 - Audio Apps on iOS vs Android

  • Android’s 10 Millisecond Problem: The Android Audio Path Latency Explainer

16:59 - Superpowered Cost

17:51 - Connecting Code

22:18 - Algorithms

24:25 - DJ PLAYER and The DJ Market

  • iMashup
  • Flow 8 Deck
  • Piracy

Picks

Hardcore History (Jaim)

Whynter Ice Cream Maker (Andrew)

The Aggregate Magic Algorithms (Mike)

Solarbotics Bundles (Mike)

15 Minute Podcast Listener chat with Charles Wood (Chuck)

Pebble Time (Chuck)

The DFT “à Pied”: Mastering The Fourier Transform in One Day (Gábor)

View Details

01:05 - Chris Grant Introduction

  • Twitter
  • GitHub
  • shinobicontrols
    • Shinobi GitHub Account
    • @shinobicontrols

01:19 - iOS9 Day-by-Day Blogs

  • iOS9 Day-by-Day GitHub Repo

01:52 - Search APIs

  • iOS9 Day-by-Day :: Day 1 :: Search APIs

03:27 - NSUserActivity

04:56 - Indexing

  • Use Cases

09:06 - Displaying Results, Supporting Deep Linking

10:28 - Core Spotlight

11:54 - Images

13:34 - Benefits of the API

14:49 - Content & Discoverability

16:41 - Is anything missing?

18:24 - Testing

18:50 - Indexing Shared Data

  • iOS9 Day-by-Day :: Day 7 :: Contacts Framework

19:30 - shinobicontrols

22:52 - iOS9 Day-by-Day Blogs

24:18 - Recommendations for Developers Updating Apps to iOS9

Picks

Hackathons (Alondo)

Flock (Alondo)

keen (Andrew)

Autodesk 123D Design (Andrew)

React Native Podcast (Chuck)

15 Minute Podcast Listener chat with Charles Wood (Chuck)

Orphan Black (Chuck)

fastlane (Chris)

View Details

01:26 - Neal Ford Introduction

  • Twitter
  • GitHub
  • Blog
  • ThoughtWorks

01:42 - Ambient Information and the Apple Watch

  • “Mean Wrangler”
  • Ambient = Accessible and Available

06:39 - Benefits of Having Ambient Information

  • Safety
  • ETAs

08:52 - When should information be ambient?

12:53 - Notifications

15:58 - Visualizing Information, User Experience

  • Dark Sky
  • Apple Pay

17:09 - Apple Watch as a Fashion Accessory

18:04 - Ambient Control

  • Bluetooth
  • Timers
  • Texting/Voice Control w/ Siri
  • Reminders
    • OmniFocus

22:29 - Training Siri

23:46 - Google Glass

  • Neal Ford: Ambient Information

26:45 - Apps That Shouldn’t Push Ambient Information

29:42 - Customization

  • Watch Faces

32:10 - What can app designers do to make their applications more approachable on the watch?

34:10 - Battery Life

35:00 - Security

36:13 - Could-be Feature Improvements (User Customization)

Other DevChat.tv Episodes Featuring Neal Ford

  • iPhreaks Show Episode #54: Building Your Technology Radar with Neal Ford
  • Ruby Rogues Episode #195: Building Your Technology Radar with Neal Ford
  • Freelancers' Show Episode #145: Life as a Traveling Consultant with Neal Ford

Picks

Remote Year (Alondo)

Homemade Chicken Broth (Jaim)

Adafruit Inductries (Mike)

Soaring Society of America (Mike)

HMDX - JAM XT Extreme Wireless (Chuck)

Orphan Black (Chuck)

iOS Remote Conf! Interested? Email chuck@devchat.tv (Chuck)

Seveneves: A Novel by Neal Stephenson (Neal)

Badass: Making Users Awesome by Kathy Sierra (Neal)

Bose SoundLink Mini Bluetooth Speaker II (Neal)

Beats II Bluetooth Headset (Neal)

View Details

01:14 - Ray Wenderlich Introduction

  • Twitter
  • Blog

01:23 - Mic Pringle Introduction

  • Twitter
  • GitHub
  • The raywenderlich.com Podcast

01:40 - Greg Heo Introduction

  • Twitter
  • GitHub
  • Blog

01:47 - The Conception of Ray’s Tutorial Website and The Tutorial Team

  • Ray Wenderlich: Tutorials for iPhone / iOS / Developers and Gamers
  • EA Games

05:58 - Maintaining High Quality and Consistency

07:26 - Tips & Advice for Writing a Tutorial

09:12 - Avoiding User Frustration

11:54 - Writing Books

13:00 - Traditional vs Self-Publishing

  • Pragmatic Programmers

14:31 - Book Content vs Site Tutorials

15:41 - Starter Kits

16:33 - Transitioning to Swift

19:47 - Error/Bug Support

21:06 - Branching Out Into Other Technologies

22:21 - Selling Introductory vs Advanced Tutorials

25:15 - Choosing Topics

26:08 - RWDevCon

31:48 - Working with Ray and on raywenderlich.com

36:31 - Maximizing Marketing Opportunities

39:46 - Writing Tutorials for Mainstream Apps & Games

41:08 - Highlights

  • Video Tutorials
  • iOS Games by Tutorials Second Edition: Beginning 2D iOS Game Development with Swift
  • iOS Animations by Tutorials by Marin Todorov

Episode Resources

  • The Freelancers' Show Episode #164: Teaching and Learning Courses with Breanne Dyck
  • The Freelancers' Show Episode #165: Strategy and Project Management with Marie Poulin
  • JavaScript Jabber Episode #173: Online Learning with Gregg Pollack

Picks

WinObjC (Andrew)

Friday Q&A 2015-07-31: Tagged Pointer Strings by Mike Ash (Andrew)

The Web Platform Podcast Episode 56: Building Your Brand with Charles Max Wood (Chuck)

Developer On Fire Episode 017 - Charles Max Wood - Get Involved and Try New Things (Chuck)

Skype’s Inside Out Emojis (Chuck)

little bites of cocoa (Ray)

The insanely slow road to building a blog (and why most people give up) by Belle Beth Cooper (Ray)

What the Best College Teachers Do by Ken Bain (Greg)

What’s Your Learning Style? Quiz (Greg)

Brian Gilham's WatchKit Resources (Mic)

Exploding Kittens (Mic)

View Details

Claim 15 minutes of Chuck’s time!

01:49 - Wes McCabe Introduction

  • Twitter
  • Blog
  • SensorTower
    • @SensorTower

02:46 - App Store Optimization (ASO) for SEGA

  • Alex Malafeev: Increase your mobile app downloads using App Store Optimization (SEGA Video)

04:09 - Improving Visibility Within the App Store

  • Titles and Keywords
    • [SensorTower Blog] The Keyword Spy Module Reveals Your Competitor’s iOS App Keywords

13:19 - Launching a New App

  • Repeating Terms
  • Localizing

16:54 - Images and Videos

18:04 - Improving Rank

19:58 - Getting Featured

  • iPhreaks Show Episode #54: Getting Featured in the App Store with Ben Johnson

21:22 - Using SensorTower (Results)

23:55 - Broad vs Focused Apps/Niches

26:30 - Influencing ASO Through SEO, Press Releases, etc.

27:38 - Downloads

29:12 - Brand New App Boost/Version Releases

30:06 - Appstore Views (Reviewing Analytics)

Picks

NHL94 Online (Jaim)

Podcast Movement (Chuck)

Entrepreneur On Fire (Chuck)

The Eventual Millionaire (Chuck)

Periscope (Chuck)

Alex Malafeev: Increase your mobile app downloads using App Store Optimization (Wes)

ASO Academy (Wes)

Jot (Wes)

View Details

01:21 - John Reid Introduction

  • Twitter
  • GitHub
  • Blog

02:45 - Tools For Testing and Test-Driven Development (TDD)

  • XCTest
  • OCHamcrest
  • OCMockito

03:24 - Matching/Matchers

07:13 - Getting Started

  • OCHamcrest/README

08:58 - Partial Matching

10:26 - Mocking and Stubbing

14:04 - TDD Process and Workflow

17:49 - TDD vs Unit Testing

  • Red, Green, Refactor

19:54 - iOS Code That Doesn’t/Does Adapt Well to TDD

21:17 - User Interface Testing

24:58 - End-to-End Testing

30:18 - Communication and Collaboration

  • Working Effectively with Legacy Code by Michael Feathers

33:39 - OCMock, OCMockito

39:13 - OCMockito with Swift?

  • Quick
    • Brian Gesak

41:07 - Inside Out vs Outside In

Picks

wit.ai (Mike)

Jon's UIViewController TDD Screencast (Jaim)

Test-Driven iOS Development (Developer's Library) by Graham Lee (Jaim)

NeewerHandheld Video Stabilizer for DV GoPro Mini Cameras (Chuck)

Cell Phone Tripod Adapter (Chuck)

Working Effectively with Legacy Code by Michael Feathers (Jon)

Clean Coders (Jon)

AppCode (Jon)

View Details

Check out RailsClips!

01:53 - Michele Titolo and Women Who Code Introduction

  • Twitter
  • Blog
  • Facebook

02:15 - Origin Story

  • 501(c) Organization

03:11 - Stated Mission

  • “Inspire women to excel in technology careers”

04:12 - Mentorship

  • Glassbreakers (A peer mentorship community for professional women)

08:54 - Getting Started and Getting Involved

11:27 - Value

12:42 - Remote/Virtual Membership/Communication

15:08 - What Makes Women Who Code Different (from other groups)?

18:02 - Is there a need for groups like this? What issues do these address?

22:34 - Implementing Diversity into the Workplace

  • Job Postings
    • Michele's tweet about a job posting
  • Practical and Universal Interview Questions
  • Workplace Culture
  • Benefits
  • Communication & Teamwork
    • Cate Hudson: Programmers and Racecars

32:29 - Terminology (Using words like “guys”)

35:16 - Is it really harder for women to get jobs?

  • Resume Anonymization
  • Dropping Out/Reentering the Tech Industry
    • Re-Recruit From the Leaky Pipeline (Model View Culture article)

43:13 - The Community at Large (How can we help make the community more open and welcome?)

  • Inclusive Events
  • Codes of Conduct
  • Change Within Your Own Organization (Advocacy)
  • Learning About Other People (Be Empathetic; Be Respectful)

46:08 - Are there people who can help people/companies diversify?

  • Ashe Dryden
    • The Diverse Team by Ashe Dryden
  • The Ada Initiative
  • Natural Introductions

49:49 - How can I help? (as a man)

  • Donations
  • Fund Club
  • AlterConf
  • Volunteering

51:47 - Study Resources (Proof)

  • Model View Culture
  • Cosmodrome (from Brianna Wu)

Groups and Mailing Lists (mentioned in this episode) * Glassbreakers * Women Who Code SF (San Francisco) * DevChix * Tech LadyMafia * Girls Who Code * Black Girls Code * PyLadies * Ladies Who Code * RailsBridge * App Camp For Girls * Girl Develop It * Mobile Bridge * Geekettes * PowerToFly * MotherCoders * The Ada Initiative * Fund Club * AlterConf

Picks

Power Up Your Animations! with Marin Todorov (Alondo)

Poker Theory & Analytics (Alondo)

Paracord (Chuck)

Soto Pocket Torch (Chuck)

Kate Heddleston: How Our Engineering Environments are Killing Diversity (Michele)

Ashe Dryden: The Responsibility of "Diversity" (Michele)

Conference proposal writing: From brainstorm to submit @ 360iDev 2015 (Michele)

View Details

Check out RailsClips!

02:28 - Samuel Giddins Introduction

  • Twitter
  • GitHub
  • Blog
  • Realm
    • @Realm

02:57 - The Limits of Modularity

05:53 - Where were/are cracks discovered?

  • The 5 Whys

13:40 - Modularity in iOS/Swift Apps

  • Dependencies
    • iOS 9 Beta Negative Reviews: MacBreak Weekly 463

16:48 - Boundaries

24:11 - Going Too Far With Modularity (Warning Signs)

35:45 - Getting Too Modular

  • Too Many Views
  • Networking
    • AFNetworking
    • NSURLSession
    • JXHTTP
    • ASIHTTPRequest

Picks

RimWorld (Mike)

Daniel Steinberg: Somewhere Between Tomorrowland and Frontierland (Alondo)

AltConf 2015 Videos (Jaim)

Joshua Marker: Mastering Time and Space: Testing the Objective-C Runtime (Jaim)

remoteconfs.com (Chuck)

God (Chuck)

Jesus Christ (Chuck)

The Church of Jesus Christ of Latter-day Saints (Chuck)

Graham Lee: I Have No Idea What I'm Doing (Samuel)

Tower (Samuel)

Hopper (Samuel)

opensource.apple.com (Samuel)

View Details

01:34 - Matt Ronge Introduction

  • Twitter
  • GitHub
  • Blog
  • Astro HQ
  • Astropad
    • @astropadapp

01:54 - Launching Astropad

  • Wacom Tablets

05:10 - Being Unique (Unique Selling Proposition)

  • Clear
  • Sparrow => Gmail

10:05 - Launch Sequence

  • Press Contacts
  • Videos, Demos
  • Elevator Pitch, Press Kit
  • Engage on Social Media

12:34 - Approaching the Press

14:31 - Marketing Towards Non-Press Members (Influencers)

16:14 - Launch Day

  • App-Store Purchase
  • Trial

20:51 - Learning to Launch

  • The Burned-Out Blogger's Guide to PR by Jason Kincaid

22:05 - Marketing: Messaging/Communication/Packaging

25:36 - The Technical Story Behind Astropad

  • TCP (Transmission Control Protocol)
  • Optimization & Latency
  • Fluctuations in WiFi

32:02 - Marketing After a Launch

34:16 - Splitting Responsibilities

35:42 - Niche Down

  • ForeFlight

Picks

Script use for teams for gender neutral environments (Jaim)

KanbanFlow (Chuck)

HandBrake (Chuck)

Hire Chuck for training! Email Chuck@devchat.tv

Rails Testing Coach (Chuck)

The 22 Immutable Laws of Marketing: Violate Them at Your Own Risk! by Al Ries (Matt)

Computer Networks by Andrew S. Tanenbaum (Matt)

Findings (Matt)

View Details

02:05 - Erik Kerber Introduction

  • Twitter
  • GitHub
  • Blog
  • Target
  • Target App

02:38 - Apple Pay

04:01 - Why care about Apple Pay?

  • PassKit

05:44 - Integration

  • Stripe

09:53 - The API

  • Encryption

12:48 - How To Do/Setup/Use Apple Pay

17:41 - Apple Pay and iOS 9

19:56 - Offline Use

22:16 - Apple Pay and the Apple Watch

27:30 - Pain Points

30:47 - The Impact of Adding Apple Pay to the Target App

Picks

Demotivators (Jaim)

Blitzortung (Mike)

Hopper (Andrew)

Ham Radio (Andrew)

Boy Scouts of America (Chuck)

Elixir (Chuck)

Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun by Dave Thomas (Chuck)

Reveal (Erik)

View Details

WWDC 2015 Videos

02:09 - Apple Music

03:12 - Metal for OSX

  • The iPhreaks Show Episode #160: Metal with Warren Moore

05:04 - The New Swift Features

  • Protocol Extensions

07:15 - Value Types

09:32 - Error Handling

16:02 - Support for Function Pointers from C

20:04 - Lightweight Generics

22:42 - Guard and Defer

27:27 - Xcode Improvements, Autolayout

29:55 - New Core Audio and Core Image Features

34:01 - Testing

38:15 - The Address Sanitizer

  • Valgrind

51:07 - Crash Logs Addition in Xcode7

  • Crashlytics

54:43 - Installing Apps Without a Subscription to the Developer Program

Picks

Owen Williams: Apple’s biggest developer news at WWDC that nobody’s talking about: Bitcode (Alondo)

neo-Style Lightning Charge & Sync Cable (Alondo)

Hardcore History Podcast (Jaim)

WebAssembly (Mike)

ASCIIwwdc (Andrew)

View Details

Get your Ruby Remote Conf tickets and check out the @rubyremoteconf Twitter feed for exciting updates about the conference.

02:05 - Dustin Bruzenak Introduction

  • Twitter
  • GitHub
  • Twitterrific

02:29 - Dylan Bruzenak Introduction

02:54 - The Iconfactory

  • @Iconfactory

08:54 - Design and User Experience

18:24 - Lessons Learned From AppViz

  • Matt Ronge: Managing Your Psychology as an Indie Dev

27:56 - Positioning Your App Properly

  • Marketing
  • Metrics
  • Login Barrier

34:19 - The Developer Market

  • Dash

37:09 - Niche Market Focus

  • In-App Purchases
  • Cross-App Promotion

45:41 - The App Store

  • Customer Analytics and Reviews
  • Selling Outside vs Inside the App Store
  • Payment Providers
    • FastSpring
    • PayPal
    • Square
    • Stripe

Picks

FastSpring (Andrew)

DevMate (Andrew)

Apple API Diffs (Andrew)

GOG (Andrew)

Sample Code from WWDC Sessions (Mike)

Wits (Mike)

Listen to other people’s views (Chuck)

Ruby Remote Conf (Chuck)

World Time Buddy (Dylan)

Complice (Dylan)

Transmit (Dylan)

xScope (Dustin)

Slack (Dustin)

View Details

01:44 - Dave Verwer Introduction

  • Twitter
  • GitHub
  • Blog

02:30 - iOS Dev Weekly

  • Ruby Weekly

05:29 - Curating Process

  • Twitter
  • RSS Feeds
  • Submissions

07:17 - Editing

08:39 - Feedback

09:51 - Curation (Cont’d)

10:52 - Sponsorship

15:24 - Curated and Email Marketing

  • Customers
  • Remotive
  • Spam

21:21 - Avoiding Spam Filters

  • Litmus

24:54 - A/B Testing

26:07 - Dave and iOS Development

Picks

Russ Bishop: More Swift Attributes (Andrew)

Silicon Labs Microcontrollers (Andrew)

DigiKey (Andrew)

ASCIIwwdc (Mike)

Lifeline... (Dave)

Pink Floyd on Vinyl on YouTube (Jaim)

View Details

01:36 - Mike Ash Introduction

  • Twitter
  • GitHub
  • Blog
  • Plausible Labs
    • PLCrashReporter
    • VoodooPad
  • NSBlog, Friday Q&A
  • mikeash.com/lispob3.c
  • mikeash.com/tmp/tetris6.c

06:26 - Synchronization and Collaborative Editing

  • Dropbox

09:41 - Existing Solutions?

  • Differential Synchronization by Neil Fraser

11:32 - VoodooPad

  • Snapshots

14:43 - Common Approaches for Document Syncing

  • Images
  • Audio
  • Text

19:02 - Conflicting Changes

21:56 - Merge Strategy

24:27 - Use Cases, Connection

  • AT&T Mark the Spot App
  • Network Link Conditioner
  • Designing for Real-World Networks

33:51 - Online/Offline Detection, Handling Slow Responses

  • Reachability

39:32 - Retries

  • Slack

41:35 - Dropbox and Document Syncing Problems

42:50 - Support

Picks

Differential Synchronization by Neil Fraser (Mike)

MailRoute (Andrew)

SCSI2SD (Andrew)

GFood Lounge (Jaim)

Calzone's Italian Restaurant in San Francisco (Jaim)

View Details

01:47 - An Arduino is a Microcontroller

03:46 - Where Do You Get an Arduino?

  • Arduino Uno
  • SparkFun
  • Adafruit

05:00 - Getting Started (Equipment)

  • Shields

07:58 - Language/Interface

  • Arduino - Software
  • Functions:
    • Setup
    • Loop

13:07 - Raspberry Pi vs Arduino

16:30 - iOS Compatibility

  • WiFi
  • Bluetooth 4.0
    • The Core Bluetooth Framework
      • Packetizer
      • Firmata

24:12 - Projects

  • [Kickstarter] Wired In - Wireless Productivity Sign With Arduino & HomeKit
    • Wired In
  • Arduino Esplora
  • Electric Imp

32:24 - Patterns

34:41 - Debugging

Picks

The 7 Day Startup: You Don't Learn Until You Launch by Dan Norris (Alondo)

UIKonf 1995 Keynote: Object-Oriented Programming in Objective-C (Andrew)

AmScope SE400-Z Professional Binocular Stereo Microscope (Andrew)

Charlie Christian Neck for Telecasters (Jaim)

View Details

Check out Andrew’s Wired In Kickstarter! Go here to check it out and contribute!

02:53 - Warren Moore Introduction

  • Twitter
  • GitHub
  • Metal By Example

03:58 - Working for Apple => Doing Metal (Transition)

05:15 - 3D Graphics APIs

  • 3D Game Engines (Unity, Unreal)
  • 3D Rendering
  • OpenGL
    • GPU (Graphics Processing Unit)
    • glVertex

11:14 - Metal = Objective-C API

13:11 - The Programmable Pipeline (Shading)

  • Vertex Shader
  • Fragment Shader
  • Shading Languages:
    • GLSL
    • The Metal Shading Language
  • Rasterization

19:40 - Metal

  • Precomputed Render States
  • Explicit Memory Management

22:07 - Draw Call Batching

  • UE4 "Zen Garden" Using Metal API for iOS 8 Revealed at WWDC

25:30 - Testing Metal

26:01 - Who Is Metal For? What Else Can Metal Do? (Besides 3D Graphics)

  • Task Parallelism
  • Compute Programming (GPGPU = General-Purpose Computing on Graphics Processing Units)
  • Signal Processing

33:35 - Getting Started with Metal

  • Metal By Example
  • CAMetalLayer

38:15 - Multithreading

  • MTLCommandQueue

41:34 - Metal Adoption and Future

  • Metal For Developers (Apple)
  • OSX Demand?

45:11 - 3D Graphics Programming Resources

  • SceneKit
  • Sprite Kit
  • Core Animation
  • Mathematics for 3D Game Programming and Computer Graphics by Eric Lengyel
  • OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 by Dave Shreiner
  • David H. Eberly
  • Mike McShaffry

View Details

02:42 - Models

  • Apple Watch
  • Apple Watch Sport
  • Apple Watch Edition

04:51 - iPhone Interaction

  • Battery Life

06:06 - Apps

07:37 - Simplicity and Accessing Basic Information

10:02 - Storage?

12:22 - Bluetooth Connection

13:06 - Notifications

15:55 - Text Input

16:56 - Sensor for Health Features

17:38 - Apple Pay

19:16 - Apps (Cont’d)

  • MLB
  • Zillow

21:00 - Screen Brightness

22:45 - Motion Sensing?

Picks

SPIbelt (Jaim)

Ruby Remote Conf (Chuck)

Traction: Get a Grip on Your Business by Gino Wickman (Chuck)

New Star Wars Trailers (Chuck)

View Details

01:42 - JP Simard Introduction

  • Twitter
  • GitHub
  • Blog

02:11 - Realm

  • @realm
  • [GitHub] Realm
  • News
  • Realm Newsletter Signup Page

03:59 - Realm vs SQLite or Core Data

06:27 - Getting Started

  • “The Default Realm”

08:17 - API

10:27 - Relationships

11:34 - Inheritance

15:24 - realm-cocoa & realm-java

16:42 - Enterprise Services and Company Sustenance

19:21 - Migration, Updating the Data Model

  • Marco Arment
  • Resources
    • Users

27:12 - Transactions/Onboarding

30:18 - Cascading Deletes

31:40 - Drawbacks, Feature Addition

  • Syncing
    • German Coastguard Sinking - Learn English Commercial
  • Notification Inspection
  • Null Values = Not Supported

37:18 - Getting Involved with Realm

  • Realm Google Group (Mailing List)
  • Stack Overflow
  • [GitHub] Realm
  • Email: help@realm.io

38:47 - SQL Querying

41:26 - Testing

Picks

desksurfing (Alondo)

How to Win Friends & Influence People by Dale Carnegie (Chuck)

WorkFlowy (Chuck)

Mini Habits: Smaller Habits, Bigger Results by Stephen Guise (Chuck)

Habit Stacking: 97 Small Life Changes That Take Five Minutes or Less by S.J. Scott (Chuck)

Waffle (JP)

View Details

02:17 - Persistence

03:08 - Approaches for Persistence

  • NSUserDefaults

06:03 - NSCoding

  • NSKeyedArchiver

07:57 - .plists (Property Lists)

10:44 - Options for Handling Large Elements

  • SQLite
  • Core Data

12:29 - SQLite & Core Data Pros and Cons

  • Object Graphs vs ORMs
  • Multithreading
  • Undo/Redo Support
  • Different Stores

23:40 - Different Implementations with Core Data

  • Aether

25:29 - Binary

26:31 - In-Memory

27:39 - Using Core Data for the First Time (Gotchas)

30:11 - Third-Party Persistence Frameworks/Libraries

  • Realm
  • YapDatabase
  • fmdb
  • CouchDB

32:24 - APIs, Crashing Issues

35:35 - Tracking Core Data Changes

37:05 - Migration

Picks

Marcus Zarra: My Core Data Stack (Alondo)

NSHipster: NSUndoManager (Alondo)

The Lytro Camera (Andrew)

Don’t drink coffee as soon as you wake up (Jaim)

iPhreaks T-Shirts are available via Teespring! Visit teespring.com/iphreaks to reserve yours by Wednesday, May 6th!

T-shirt styles include: unisex up to 3x, ladies', hoodies, and long sleeve tees. Teespring also offers international shipping so that all of our listeners have a chance to buy!

View Details

02:47 - Martin Grider Introduction

  • Twitter
  • GitHub
  • Blog
  • ActionChess
  • Go Tetris
  • For The Win
  • Catchup
  • Abstract Puzzle
    • @abstractpuzzle

09:29 - Interaction Design and Mechanics

  • Make it Playable, Then Add “Juice”

12:25 - Designing for Mobile vs Board Games

  • Touch Interaction

14:30 - Converting Board Games to Mobile

  • Getting the Company on Board
  • Michael Mindes
    • @MichaelMindes
  • For The Win Kickstarter
  • Carcassonne
  • Ascension

17:09 - Copyright Infringement (Cloning)

  • Settlers of Catan
  • Threes
  • 2048
  • Triple Town

20:54 - Protecting Your Ideas and Partnering with Publishers

23:19 - Getting Help as an Indie Game Dev

  • Marketers, App Store SEOs, etc.

27:02 - App Shopper

28:24 - Technical Aspects of Game Development

  • Cocos2d
  • UIkit
  • SpriteKit
  • Unity
  • Unreal Engine

34:31 - Physics

36:12 - The International Game Developer's Association (IGDA)

39:47 - Catchup

Picks

Hunter Loftis: We Will All Be Game Programmers (Pete)

Indie Game: The Movie (Pete)

Eurogames (Pete)

The Changelog #151: Rust with Steve Klabnik and Yehuda Katz (Pete)

A Swift Guide to Rust (Andrew)

Arduino Esplora (Andrew)

Analogue Nt (Andrew)

L3D (Martin)

Game Developers Conference (Martin)

GameLoading (Martin)

Top Hat (Martin)

CumulusPRO Commercial Grade Anti-Fatigue Comfort Mat Area Mat (Jaim)

iPhreaks T-Shirts are available via Teespring! Visit teespring.com/iphreaks to reserve yours by Wednesday, May 6th!

T-shirt styles include: unisex up to 3x, ladies', hoodies, and long sleeve tees. Teespring also offers international shipping so that all of our listeners have a chance to buy!

View Details

Related iPhreaks Freelancing Episodes:

  • Episode #071: Freelancing
  • Episode #087: Freelancing Part 2

02:52 - What is Work/Life Balance? Is There a Perfect Balance?

  • Art > Science

08:29 - Family Time

10:10 - Structuring Your Work Week (Prioritization)

  • John Sonmez of Simple Programmer
    • John Sonmez: How I Plan My Week
    • Episode #091: Soft Skills and Marketing Yourself as a Software Developer with John Sonmez
  • KanbanFlow
  • Agile Software Development
  • Quadrant II => The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change by Stephen R. Covey
  • The Pomodoro Technique

16:30 - Shortening Hours to Maintain Sanity and Maximize Productivity

  • Physical Activity = Essential
  • Doing Nothing is OK; Doing Nothing Brings Clarity.

22:06 - Just Say NO

  • The Freelancers' Show Episode #072: Saying NO
  • The Freelancers' Show Episode #069: Setting Boundaries
  • Do NOT Tolerate Toxic Clients; Find Clients That Are a Good Fit (Mutual Benefit)

Picks

Primus and the Chocolate Factory (Jaim)

VARIDESK (Jaim)

Audible (Chuck)

The Magic of Thinking Big by David J. Schwartz (Chuck)

Firefight (The Reckoners) by Brandon Sanderson (Chuck)

Going for a run (Chuck)

View Details

Congratulations, iPhreaks, on 100 Episodes!

02:50 - What’s Up, Ben Scheirman?

  • Twitter
  • GitHub
  • Blog
  • NSSreencast

03:30 - What’s Up, Rod Schmidt?

  • Twitter
  • GitHub
  • InfiniteNIL

05:18 - The Evolution of The iPhreaks Show and the Panel

07:32 - WWDC

08:00 - The Amazon Dash Button

09:28 - WWDC (Cont’d)

11:34 - Show Topics: Growth

  • Is Objective-C Dead?
  • The Introduction of Swift

15:10 - Favorite Episodes

  • Episode #076: Finding Jobs
  • Episode #048: Sprite Kit with Jonathan Penn
  • Episode #040: MGPCommandBus with Saul Mora
  • Episode #006: Core Data with Saul Mora
  • Episode #024: 64-bit with Mike Ash
  • Episode #008: Prototypes with Ben Lachman

20:38 - Ben’s Guitar Podcast: Vibrato.fm

  • @vibratofm
  • Cohost: Daniel Pasco
  • Recording Gear
    • Heil PR-40 Dynamic Studio Recording Microphone
    • Mackie Onyx 820i 8-channel Premium FireWire Recording Mixer
  • Consumer Electronics Show (CES)

27:48 - The Show Process: Scheduling => Final Product

  • Mandy = DevReps
  • Chuck's Podcasting Setup
    • Roland R-05 Studio WAVE/MP3 Recorder
  • Zoom H5 Four-Track Portable Recorder (Ben)

30:40 - Getting Good Sound

  • Derick Bailey
    • Signals And Leaves Podcast
  • WhisperRoom Sound Isolation Booths

37:20 - Listenership: Finding Our Audience

  • Saul Mora’s NSBrief Podcast
  • “Podcast Fatigue”

Picks

Shanghai (Ben)

Scanbot (Ben)

Vibrato.fm (Ben)

Electro-Harmonix SOULFOOD Distortion/Fuzz/Overdrive Pedal (Ben)

Hire Rod! (Rod)

GoPiGo (Rod)

The New James Bond Trailer: SPECTRE (Rod)

RATIONAL FUNK with Dave King Video Series (Jaim)

Shun VBS0200 Sora 2-Piece Knife Set (Alondo)

CompareFolders (Andrew)

TenFourFox (Andrew)

The New Nintendo 3DS (Andrew)

Steelheart (The Reckoners) by Brandon Sanderson (Chuck)

View Details

Thank you RailsClips Kickstarter Backers!

02:02 - Is Objective-C dead? Will all apps eventually be written in Swift?

  • Will Objective-C’s popularity decline?
  • Replacing/Rewriting Frameworks
  • Updating Code? Legacy Code?
  • Dependency Injection, NSObject
    • iPhreaks Show Episode #85: Prototyping with Jay Thrash

08:48 - Xcode Support

10:18 - Mixing Objc and Swift (Becoming Bilingual) or Choosing One or the Other?

  • Current Apps Using Swift
    • GitHub
      • iPhreaks Show Episode #98: Carthage with Justin Spahr-Summers
  • Gotchas with Using Both
  • Objc = fear, Swift = familiarity
  • Complementary Languages and Options
  • Challenging Yourself as a Developer (Expanding Your Toolbelt)

25:33 - Is there a dying language?

27:05 - If you learn Swift are you disadvantaged if you don’t know Objc?

Picks

iOS Animations by Tutorials by Ray Wenderlich (Alondo)

Elevator Saga (Alondo)

Vibrato.fm (Jaim)

CODE 87-Key Illuminated Mechanical Keyboard with White LED Backlighting - Cherry MX Clear (Chuck)

Grifiti Fat Wrist Pad (Chuck)

Pebble Watch Kickstarter Campaign (Chuck)

Ready Player One by Ernest Cline (Chuck)

Are you attending MicroConf? Chuck wants to know! Tweet him at @cmaxw.

View Details

01:47 - Justin Spahr-Summers Introduction

  • Twitter
  • GitHub
  • Blog
  • GitHub (Company)
    • @GitHub

02:04 - Carthage

  • [GitHub] Carthage

02:30 - CocoaPods vs Carthage

04:09 - Motivation for Creating Carthage

  • Mantle
  • ReactiveCocoa

06:38 - Support and Getting Started with Carthage

08:19 - Working with Other Custom Build Tools like RubyMotion or Xamarin

  • Requirements

09:50 - Static Libraries?

10:58 - The Implementation of Carthage

11:53 - Using This Tool: Mac vs iOS Projects

  • Build Phase

13:24 - Keeping Carthage Working

14:23 - Naming Carthage

  • Rob Rix

14:51 - Choosing CocoaPods or Carthage

16:54 - Carthage and Swift

19:02 - Challenges

  • Xcode

21:02 - Working with Private Repositories

21:56 - Support for Other Version Control Systems

  • Mercurial
  • Kiln

22:58 - The Future of Carthage

  • 1.0
  • 2.0

30:25 - Forward Compatability

31:44 - ReactiveCocoa

Picks

Welcome to Macintosh Podcast (Andrew)

Appalachian Jerky Company (Andrew)

The Wizard of Earthsea Trilogy by Ursula K. Le Guin (Chuck)

Traction by Gino Wickman (Chuck)

Few.swift (Justin)

For more on Carthage, check out the Github repo and the Quora answers from Justin!

View Details

Support the shows at devchat.tv/kickstarter!

01:45 - Michele Titolo Introduction

  • Twitter
  • Blog
  • Reddit
  • Women Who Code
  • Ruby Rogues Episode #147: APIs That Don't Suck with Michele Titolo

02:26 - Deconstructing and Decoupling

  • Reuse Goals

08:36 - Having Seams in Your Code to Avoid Conflict

  • 8 Patterns to Help You Destroy Massive View Controller

11:35 - The Deconstructing Mindset (Finding Reuse Patterns)

  • The Rule of Three
  • Inheritance

17:48 - The Decorator Pattern

18:43 - Categories

21:34 - Sharing UI (User Interface) Codes

23:55 - Mechanics of Sharing Code Between Apps

  • Jeffrey Jackson: Private Cocoapods
  • CocoaPods Guide: Podspec Syntax Reference

29:02 - Lessons Learned: Easy Ways/Patterns to Know When to Break Up Small Functionalities

  • Separate as Soon As Possible
  • Do a Local Pod Using the Path Option (Path is Your Friend!)
    • CocoaPods Guide: Private Pods
  • Have a Good Code Review Process

33:23 - Cocoapods: Commit to Source or Not?

39:59 - Team Collaboration

  • Spotify
  • Kent Beck: Software G Forces: The Effects of Acceleration

Picks

Refactoring: Improving the Design of Existing Code by Martin Fowler (Pete)

Working Effectively with Legacy Code by Michael Feathers (Pete)

Refactoring To Patterns by Joshua Kerievsky (Pete)

WWDC 2010 Session 138: API Design for Cocoa and Cocoa Touch (Andrew)

[Slides] Michele Titolo: Cocoa Design Patterns in Swift (Andrew)

The Cocotron (Andrew)

Matt Gallagher: Design of a multi-platform app using The Cocotron (Andrew)

Zombie Monkie by Tallgrass Brewing Company (Jaim)

Getting out and participating in programming language communities (Chuck)

The Earthsea Cycle Series Book Series by Ursula K. Le Guin (Chuck)

The Pixar Touch by David A. Price (Chuck)

8 Patterns to Help You Destroy Massive View Controller (Michele)

Artsy - iOS at Scale - objc.io issue #22 (Michele)

View Details

01:42 - James Montemagno Introduction

  • Twitter
  • GitHub
  • Blog

02:42 - Printer Software Development

04:50 - Moving to Mobile Development

  • CES (Consumer Electronics Show)

06:19 - Xamarin

  • @xamarinhq
  • [GitHub] Xamarin
  • The iPhreaks Show Episode #081: Xamarin with Frank Krueger

08:19 - Cross-Platform Development

  • Code Reuse

11:37 - Companies and Libraries (Sharing Libraries)

  • NuGet

13:09 - Plugins for Xamarin

  • Simplifying the Process (Barrier of Entry)

15:08 - Techniques for Sharing UI Elements

  • MVVM Light
  • MvvmCross
  • Mike James: Code Sharing Strategies for iOS & Mac
  • Edgecases

21:00 - Developing On the Watch with Xamarin

  • The iPhreaks Show Episode #082: WatchKit with Carl Brown

23:52 - Android Wear vs Watch (Wearables)

  • Synchronization
    • Google Play Services
  • “Should You?”
  • Automation
  • Committing to and Investing in a Platform

Picks

Smokette Elite Model SM025 Electric Smoker (Jaim)

Monodraw (Andrew)

The LightBlue Bean (Andrew)

The Three Fives Kit: A Discrete 555 Timer (Andrew)

Refactoring to Patterns by by Joshua Kerievsky (Alondo)

Ray Wenderlich: iOS 8 by Tutorials (Alondo)

Ready Player One by Ernest Cline (James)

Strava (James)

Tavour (James)

graze (James)

View Details

Check out RailsClips on Kickstarter!!

01:56 - Testing and Test-Driven Development (TDD)

  • The iPhreaks Show Episode #92: Unit Testing with NatashaTheRobot

03:23 - Panel Experiences with TDD

  • Unit Testing
  • The Difference Between Faking, Mocking, and Stubbing

08:10 - Value Objects

09:08 - How To Do TDD

  • “Red, Green, Refactor”
    • BDD (Behavior-Driven Development)
    • The Cucumber Book: Behaviour-Driven Development for Testers and Developers by Matt Wynne and Aslak Hellesøy
    • The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends by David Chelimsky, Dave Astels, Zach Dennis, Aslak Hellesøy, Bryan Helmkamp, Dan North

11:28 - Jaim’s TDD Process

13:44 - Value and Getting Started with Testing

  • Ruby Rogues Episode #178: Refactoring Ruby with Martin Fowler

21:58 - Writing Tests First

  • “If Code is Easy to Test, It’s Easy to Change.”

27:18 - Testing on a Team

  • Automation
    • guard (Ruby)
    • clang
  • Continuous Integration (CI)

32:47 - Higher Level Testing

36:54 - KIF

38:00 - Other Ways of Testing UIs

39:44 - Who Writes the Tests?

44:06 - Test Data and Environments

  • Test Time => Feedback

46:50 - Lower-level to Higher-level Tests Transition

  • Value
  • ROI (Return on Investment)

51:51 - Recording User Interactions

Picks

John Reid: UIViewController TDD [Screencast] (Jaim)

Test-Driven iOS Development (Developer's Library) by Graham Lee (Jaim)

WatchKit FAQ (Alondo)

This Idea Must Die: Scientific Theories That Are Blocking Progress (Edge Question Series) by John Brockman (Alondo)

Martin Fowler: The Test Pyramid (Pete)

Working Effectively with Unit Tests by Jay Fields (Pete)

Avery Brewing IPA (Pete)

A Wizard of Earthsea by Ursula K. Le Guin (Chuck)

80/20 Sales and Marketing: The Definitive Guide to Working Less and Making More by Perry Marshall (Chuck)

Miracles and Massacres: True and Untold Stories of the Making of America by Glenn Beck (Chuck)

View Details

Check out RailsClips on Kickstarter!!

02:16 - Conference WiFi

03:31 - Conferences

  • WWDC
    • @WWDCGlobalPR
  • CocoaConf
    • @cocoaconf
  • 360iDev
    • @360iDev
  • RWDevCon
    • @RWDevCon
    • Ray Wenderlich
  • That Conference
    • @ThatConference
  • RubyConf
    • @rubyconf
  • RailsConf
    • @railsconf
  • MountainWest JavaScript
    • @mtnwestjs
  • ng-conf
    • @ngconf
  • MountainWest RubyConf
    • @mtnwestrubyconf
  • DevNexus
    • @devnexus
  • Podcast Movement
    • @PodcastMovement
  • NSNorth
    • @nsnorth

10:23 - Budget, Content, and Social Aspects => Value

  • Hallway Conversations
  • Evolution of Attending Conferences
  • “Slam Dunk Sessions”

14:38 - Panelist Plans for 2015

  • WWDC Experiences
  • AltConf
    • @altconf

19:57 - Size: Smaller, Regional, International Conferences

  • ÇINGLETON
    • @cingleton
  • Úll
    • @ullconf
  • Aloha Ruby
    • @AlohaRubyConf

21:29 - Travel & Accommodations

  • Uber
  • Amtrak

26:46 - CocoaConf vs 360iDev

28:44 - Presenting/Speaking at Conferences

  • CocoaHeads
  • Call for Papers/Proposals (CFPs)

32:53 - Attending Conferences (Tips)

  • Meet People
    • Go Out to Eat
    • Tweet with Conference #
    • Back Channel IRC
  • Make a Friend on Day 1 => “The Crowd”
  • Talk Shop
  • Find a Local: “Take me to the best _____?”

37:52 - “The Unconference”

40:29 - Favorite Speakers in the iOS Space

  • Daniel Steinberg
  • Jonathan Penn
  • Matthijs Hollemans
  • James Dempsey and the Breakpoints

41:56 - Jam Sessions and Playing Games

Picks

The Shape of Things to Come: How an Industrial Designer Became Apple's Greatest Product (Andrew)

Orange Juice Liberation Front: WWDC First-timer tips (Andrew)

WWDC Tips as Accumulated by a Veteran of a Staggering ONE WWDC (Andrew)

5 Tips for WWDC 2013 (Andrew)

Carl Brown: Making the Most of Your (iOS) Dev Conference Experience (Jaim)

Ray Wenderlich.com (Alondo)

360iDev (Alondo)

RailsCasts Kickstarter (Chuck)

YouTube (Chuck)

FFmpeg (Chuck)

Developer’s Box Club (Chuck)

Ruby Remote Conf (Chuck)

Would you attend an iOS Remote Conf? Email chuck@devchat.tv

View Details

The panelists discuss code standards in Swift with David Mauro.

View Details

The panelists talk to NatashaTheRobot about unit testing in Swift.

View Details

In this giveaway episode, the panelists interview John Sonmez about how to market yourself as a software developer.

View Details

The panelists talk about HealthKit with Constantin Jacob.

View Details

The panelists talk to Jeff Gilbert about finding a process that works well for teams.

View Details

The panel discusses open source projects.

View Details

Jaim and Chuck continue their discussion on freelancing.

View Details

The panelists talk to DevMountain's Joshua Howland about teaching people to code in iOS.

View Details

The panelists talk about prototyping with Jay Thrash.

View Details

The panelists talk about technology radars with Neal Ford.

View Details

The panelists talk about Swift with René Cacheaux.

View Details

The panelists talk about WatchKit with Carl Brown.

View Details

The panelists talk about Xamarin with Frank Krueger.

View Details

The panelists discuss cross-platform programming and devices with Chris Stevenson

View Details

The panelists talk about communication in programming.

View Details

The panelists talk to Jay Thrash about skinny controllers.

View Details

The panelists talk about debugging.

View Details

The panelists give their tips for finding jobs in the world of iOS programming.

View Details

The panelists discuss App Preview and AppShow with Daniel Foster and Mike Malinak of TechSmith.

View Details

The panelists interview Josh Brown about teaching other to build iOS applications and using Swift.

View Details

The panelists talk to Bob McCune about AF Foundation.

View Details

The panelists talk to Moodboard's creator and CEO, Christopher Nurre.

View Details

Chuck and Jaim talk about being on your own as a freelancer.

View Details

The panelists talk to Delisa Mason about the Alcatraz Xcode Plugin Project.

View Details

The panelists discuss The Khan Academy iOS with Laura Savino.

View Details

Alondo and Chuck discuss team dynamics.

View Details

The panelists discuss functional Swift with Michael Dippery.

View Details

The panelists talk to Oliver Guests about the internals of Reveal.

View Details

The panelists discuss mobile backend services, API design & hypermedia with Stewart Gleadow.

View Details

The panelists discuss VIPER with Conrad Stoll and Jeff Gilbert.

View Details

The panelists talk about their office setups, tools and workflows.

View Details

The panelists discuss TableView with Tony Ingraldi.

View Details

The panelists discuss core data with Marcus Zarra.

View Details

The panelists discuss device-connected apps with Carl Brown.

View Details

The panelists discuss Windows Azure with Chris Risner.

View Details

The panelists discuss MIDI.

View Details

The panelist talk to Brit Young of New Relic about performance monitoring.

View Details

The panelists discuss faking out backend services.

View Details

The panelists talk to Ben Johnson about how to get your app featured in The App Store.

View Details

The panelists talk about high performance computing with Colin Cornaby.

View Details

This Book Club Episode features Ash Furrow, who wrote the book, Functional Reactive Programming.

View Details

The panelists interview Jim Rutherford and talk about cool ways to get kids involved in programming.

View Details

The panelists discuss HTTP APIs.

View Details

The panelists talk to Terry Lewis about ReactiveCocoa.

View Details

The panelists discuss Sprite Kit with Jonathan Penn.

View Details

The panelists talk about game development with Brianna Wu, Amanda Stenquist Warner, and Maria Enderton of Giant Spacekat of Revolution 60.

View Details

The panelists talk to Jared Richardson about Technical and Credit Card Debt.

View Details

The panelists talk to Jonas Budelmann about The Masonry Pod.

View Details

The panelists talk about offline authentication with Peter Kananen.

View Details

The panelists discuss core location beacons with Josh Johnson.

View Details

The panelists talk to Jeff Kelley about Concurrency in OS X and iOS.

View Details

The panelists talk about the app store with Azam Sharp.

View Details

The panelists talk to Saul Mora about The Responder Chain and MGPCommandBus.

View Details

Panel

``` Manton Reece (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Pete Hodgson (twitter github blog) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:13 - Manton Reece Introduction

``` VitalSource Riverfold Software

```

01:33 - Subscription APIs and Recurring Revenue

02:25 - How Subscriptions Work

12:10 - In-app Purchases

``` Non-renewing Subscriptions Auto Renewing Subscriptions

```

16:11 - Verifying Receipts

``` Store Kit

```

19:32 - Subscription Levels

``` Changing Plans

```

25:14 - Payments

``` Stripe vs PayPal

```

Picks

``` Eric S. Raymond: The Lost Art of C Structure Packing (Jaim) Torchlight II (Ben) SC2Casts (Ben) after_party (Ben) thebennybox (Ben) Using Receipts to Protect Your Digital Sales (Ben) Using Store Kit for In-App Purchases (Ben) 2 Free (Technical Support Incidents) TSIs (Pete) Bay Area Casual Carpool (Pete) Bay Area Bike Share (Pete) Lucky 13 (Pete) Mike Ash: Friday Q&A 2014-01-10: Let's Break Cocoa (Andrew) The official raywenderlich.com Objective-C style guide (Andrew) Bacon Ipsum (Chuck) David Brady: The Job Hunting Mindset (Chuck) David Brady: The Job Replacement Guide: Why I Have To Write This Book (Chuck) Stripe (Manton) Helios (Manton)

```

Next Week

MGPCommandBus with Saul Mora

Transcript

CHUCK: We got this Man-ton on our show!

CHUCK: Hey everybody and welcome to episode 39 of the iPhreaks Show. This week on our panel we have Ben Scheirman.

BEN: Hello, from Bayou City.

CHUCK: Bayou City?

BEN: That’s Houston’s nickname. If we had a Ruby Conference, it would be Bayou City Ruby, and no one would know where it was.

CHUCK: Yeah, that’s true.

ANDREW: We’d all be in Louisiana.

[Chuckling]

CHUCK: Why are y’all in New Orleans?

JAIM: That would be dirty south [inaudible].

CHUCK: Hey, at least you can go [inaudible]. Anyway –.

JAIM: No offense to my New Orleans listeners.

CHUCK: [Chuckles] We also have Pete Hodgson.

PETE: Good morning from San Francisco! I don’t know what her nickname is; I should look that up.

JAIM: Golden Gate City, is that it?

PETE: I was tempted to go for Rainbow City, but –.

CHUCK: [Laughs] We’re batting two for two this morning. Alright, Andrew Madsen.

ANDREW: Hi from Salt Lake City.

CHUCK: Jaim Zuber.

JAIM: Hello from the Twin Cities.

CHUCK: I'm Charles Max Wood from DevChat.tv and this week we have a special guest, and that is Manton Reece.

MANTON: Hello from Austin, Texas! Good to be here.

CHUCK: Hey, I managed to say that right! Do you wanna introduce yourself for those of us who don’t know who you are?

MANTON: Sure. My name is Manton Reece, and I work for a company called VitalSource doing e-book software with Mac iOS12 web development, and I have a little side business called Riverfold Software where I have a number of iOS and Mac apps, web apps.

CHUCK: Cool! So we brought you on today to talk about subscription APIs and recurring revenue – is that a thing for iOS?

MANTON: That’s a thing for iOS. It depends who you ask what kind of answer you're gonna get about the right way to do that, or whether you should do it. But it’s a thing, I would say.

CHUCK: I thought the thing was to write Angry Birds and make millions of dollars.

MANTON: That’s one way to do it. The problem with the app store – the great thing and the problem is that you do have these huge hits that make way too much money, but then most of us aren’t that lucky, and even the ones that are lucky have a big hit, you sell a bunch of copies, you quit your job, you say, “This is great” and you do really well. Eventually, your app’s gonna fall out of the top 10 and top 100 and sales are gonna drop off and so you have to do it all over again and get a big launch. So, the subscriptions, the hope is you get a little more recurring revenue,

View Details

Panel

``` Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:45 - iOS vs OS X

``` UIViewController NSViewController

```

06:09 - NSWindowController

08:18 - Layered Views

09:48 - Bindings

``` Cocoa Programming for Mac OS X by Aaron Hillegass Debugging

```

14:51 - Navigation

``` NSPathView NSTableView NSScrollView NSCell

```

18:52 - Auto Layout

19:44 - Carbon

22:32 - Objective-C

24:44 - NS Classes

``` Next Step

```

25:54 - Customization

``` The Hit List Things NSOutlineView NSSplitView NSTabView

```

30:12 - Mac vs iOS Development

Picks

``` Mastering Modern Payments Using Stripe with Rails (Ben) The Doomsday Key: A Sigma Force Novel by James Rollins (Ben) The Art of the Screenshake (Ben) objc.io Issue #7: Communication Patterns (Jaim) The Snow Shark (Jaim) FastSpring (Andrew) objc-run (Andrew) Andrew's CocoaSlopes2013 Slides (Andrew) Disneyland (Chuck) New Media Expo (Chuck)

```

Next Week

Subscription APIs for Recurring Revenue with Manton Reece

Transcript

CHUCK: I’ll turn this podcast right around.

CHUCK: Hey everybody and welcome to episode 38 of the iPhreaks Show. This week on our panel we have Jaim Zuber.

JAIM: It’s 10 below, my car won’t start, and I'm not even mad.

CHUCK: Ben Scheirman.

BEN: It’s 35° and I'm also cold, but not quite as cold. [Chuckles]

CHUCK: Andrew Madsen.

ANDREW: 25° in Salt Lake City.

CHUCK: I'm Charles Max Wood from DevChat.tv. Last week it was like 70-something degrees where I was at, so, very nice. This week we’re gonna be talking to Andrew; he’s kind of our guest, I guess. We’re gonna be talking about OSX programming. It’s kind of interesting after learning some of the techniques and tools for building things for iOS, I haven’t really looked at what's different with OSX. Do you want to kind of get us started on some of the things we have to know or do differently?

ANDREW: Sure. Well I think the first thing to know is that iOS and OSX are sort of siblings, or you might even say that iOS is OSX’s kid, but iOS was obviously Apple’s chance to sort of do-over things that they wanted to do differently without the whole legacy baggage that kept them from doing that on OSX. In many ways, iOS is the more modern of the two – I wouldn’t say ‘operating systems,’ but the APIs are certainly more modern in a lot of places. There are things on OSX that are just more difficult if your coming from an iOS background you're sometimes left thinking, “Man, if I were in iOS this would be super easy, but it’s not so easy on OSX.” Fortunately there are also a few places where the opposite is true. OSX still makes things easier than they are on iOS. I'm not exactly sure where to start ‘cause there are quite a few differences.

BEN: How about just the, maybe the [inaudible] example. The first thing I notice when I create a new Mac app is I'm used to just getting a view controller for free and that is kind of absent. You got a .NIB and that gives you a main window but there's really nothing else it gives you, right?

ANDREW: Right. Well that's actually a great place to start. So on iOS, if you’ve done iOS programming, you know that UIViewControllers are sort of like the main class, almost, in iOS. Every single time you have a view onscreen, it has a UIViewController controlling it. On OSX, there is actually an NSViewController class, but that was introduced in 10.5, so relatively recently in the history of OSX, and what that means is that you can write an entire app without using NSViewController. It’s not sort of the vital class the UIViewController is on iOS, and that sort of gives you a lot more flexibility in terms of how you structure your application, but these days I've actually started using NSViewController more like UIViewControllers used on iOS.

View Details

Panel

``` Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Ben Scheirman (twitter github blog NSSreencast)

```

Discussion

01:32 - Model View Controller (MVC) and Model View Presenter (MVP)

``` Ruby on Rails Model View ViewModel (MVVM) MFC Knockout.js

```

14:20 - Implementing MVC in iOS Apps

16:46 - Designing Models

``` Alistair Cockburn: Hexagonal Architecture Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans Ruby Rogues Episode #78: Hexagonal Rails with Matt Wynne and Kevin Rutherford Ruby Rogues Episode #61: Domain Driven Design (DDD) with David Laribee

```

28:32 - Models and the Controller

``` Notifications

```

31:00 - Key-Value Observing (KVO)

35:48 - Delegates and Blocks

Picks

``` Mattt Thompson: Key-Value Observing (Pete) Alistair Cockburn: Hexagonal Architecture (Pete) Saul Mora - Design Patterns for Mobile Apps (Pete) New Spring: The Novel (Wheel of Time) by Robert Jordan (Chuck) Freelancing Q&A (Chuck)

```

Next Week

OS X

Transcript

PETE: I can’t believe I beat Ben Scheirman today.

CHUCK: With a stick?

PETE: No, he’s in the wrong state for that.

CHUCK: Hey everybody and welcome to episode 37 of the iPhreaks Show. This week on our panel we have Jaim Zuber.

JAIM: Hello from Minneapolis, where it’s a balmy 4°.

CHUCK: Pete Hodgson.

PETE: You just totally stole my thunder. I was going to complain about being cold in San Francisco, but it’s a lot warmer than that. Hello from not-so-frigid San Francisco.

CHUCK: How cold is it in San Francisco?

PETE: [Chuckles] Like, 32°. I don’t know, it feels like it’s freezing, but it’s probably not even 32°. Probably warmer than that, just cold for San Francisco.

CHUCK: Charles Max Wood from DevChat.tv and it’s also 4° here.

PETE: Okay, I’ll stop complaining.

JAIM: Really? Or is it just dry cold?

CHUCK: Yeah, it’s just dry cold here, too. We did get some snow.

JAIM: There we go.

PETE: It all makes sense now.

JAIM: A little bit nicer.

CHUCK: Yeah. Gives you something to do – go shovel snow, go skiing – we’re making people jealous now, I'm sure.

PETE: I think I've been here once in San Francisco when it snowed, and it was like two or three flakes on the top of Twin Peaks, which is like the only really tall bit of San Francisco, and people drove their cars up there in the middle of the night to see these snowflakes fall [chuckles]. But it wasn’t like snowball fights; it was like four snowflakes. It was really exciting; it made my year. No skiing that year for us at San Francisco.

CHUCK: Oh, come on. Alright. Anyway, so today on our [inaudible] we have MVC.

JAIM: Alright, we’re talking MVC – an MVC extravaganza of sorts, I think.

CHUCK: Yup. [Chuckles]

PETE: Maybe we should start off with a definition.

CHUCK: [Chuckles] A definition. Thanks, Josh.

JAIM: That might take the entire episode, I think.

PETE: With MVC, I always get really confused. So I know what MVC stands for: Model-View-Controller. And I kind of understand the principles quite well. But what I don’t get is the difference between MVC and MVP, and then it gets really confusing when you start talking about some of the other things out there. This is a long shot. Do either of you two know the difference between MVC and MVP? Because I definitely could not answer that if I have to save my life.

CHUCK: I have a very vague idea of what it means, so I'm not even going to venture to try because I’ll probably get it wrong. One thing that I can say, though is that I've come to iOS programming from a very strong Rails background, and MVC in Rails and MVC in iOS are not the same.

JAIM: Yup.

CHUCK: I tend to think of iOS as more of an MVVM, because –.

JAIM: I forgot about that one.

CHUCK: The controller acts more like a view model or a view controller than it does, you know, a full-on controller.

View Details

Panel

``` Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:59 - Language Backgrounds

05:23 - Other Languages vs Objective-C

``` Static Typing Go LINQ Semicolons First-Class Functions

```

18:46 - Benefits of Using Objective-C

``` RubyMotion

```

25:44 - Building Apps Not Using Objective-C

29:36 - Xamarin

33:03 - Calatrava

33:39 - Appcelerator Titanium

38:01 - PhoneGap

Picks

``` Get an HD Antenna (Ben) FizzBuzzEnterpriseEdition (Jaim) Forecast (Pete) Stranger in a Strange Land by Robert A. Heinlein (Pete) MadTree Identity Crisis: A Black IPA from Cincinnati (Pete) The Walking Dead (Chuck) Duct Tape Marketing Revised & Updated: The World's Most Practical Small Business Marketing Guide by John Jantsch (Chuck)

```

Next Week

MVC

Transcript

CHUCK: Hey everybody and welcome to episode 36 of the iPhreaks Show. This week on our panel, we have Jaim Zuber.

JAIM: Hello from Minneapolis.

CHUCK: Pete Hodgson.

PETE: Hello from San Francisco.

CHUCK: Ben Scheirman’s going to be joining us in a few. This is a weird Christmas episode that we’re recording a little bit early. I’m Charles Max Wood from DevChat.tv and I just want to announce really quickly that if you go to RailsRampUp.com and you sign up before the end of the year, the 31st basically, actually I’m going to give you a few extra days. If you sign up by the 4th, then you can get 30 percent off if you want to learn Ruby on Rails, which is a handy thing for backend stuff.

Anyway, this week we’re going to talk about some of the differences between some of our language backgrounds that we have. Some of us come from more enterprise languages like .NET or Java and some of us come from the hippie languages like Ruby, so should be an interesting discussion.

JAIM: I think so.

CHUCK: So real quickly, besides Objective-C, what are your languages that come out of your tool bag when you need to do something different?

JAIM: Well for a long time, I did C# and .NET. Even before that, it was C and C++, embedded stuff, thick client stuff. So I can write C in any language, pretty much. [Chuckles] But things that I like with Objective-C is I’m getting more familiar with how a dynamic language really helps us out, especially with testing and being able to be more fluid with our development. So I like that. But I definitely do come from a static language background. I don’t know. What about you guys?

PETE: So I guess I’ve been all over the place. I started off my career in C++. So when I first started doing iOS development, that actually felt quite familiar in some ways, doing manual memory management and all that fun stuff. And then I bounced around a bunch. I did some C#. I did a fair amount of Ruby. I still do quite a lot of Ruby. I do a lot of JavaScript. I do my current project, I’m writing Scala. I’m doing embedded C++ development in my spare time at the moment with Arduinos.

So I guess I’ve been all over the place. But my main, my language I reach for the most is probably Ruby, still. And yeah, it’s interesting. I guess I’ve come to my journey into Objective-C is the opposite where I’m coming more from a dynamic place and seeing how it’s actually quite nice to have a type system sometimes, or have a static type system sometimes, and annoying as well.

CHUCK: Very nice.

BEN: It was a good fight we have right now.

[Laughter]

PETE: You know what? If you ever want to play with a strong type system, do some Scala development and you’ll either fall in love with type safety or you’ll absolutely hate it. It’s been driving me a little bit crazy but it’s also pretty cool. But anyway, that’s I guess a different podcast.

CHUCK: Yeah. My background, I did Java and C++ in college but didn’t really take it seriously.

View Details

Panel

``` Christopher Judd (twitter github blog) Pete Hodgson (twitter github blog) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:37 - Christopher Judd Introduction

``` CTO of Manifest Solutions

```

01:59 - Mapkit

``` TomTom App Geocaching

```

04:16 - Getting an App to Work with Mapkit

``` Core Location

```

06:19 - Accuracy

``` iBeacon iSimulate

```

11:02 - Turn-by-turn Navigation

``` maps.apple.com/maps

```

13:16 - New in iOS7

``` Overlay Levels MK Camera Snapshotter Direction & Routing Geo District Polyline Overlay Rendering Tiled Overlays

```

15:00 - Heat Mapping

16:44 - Alternatives

``` Google Maps route-me CloudMade MapQuest Microsoft Bing Maps Mapbox Scout

```

19:35 - Gotchas

23:58 - Drawing Polygons/Charting

29:57 - Core Location

``` iBeacon Estimote Beacons

```

34:49 - Battery Life

``` Geolocation

```

Picks

``` Objective-Cloud (Andrew) Sound Exchange: Tampa Bay (Andrew) Jyoti Natural Foods Chhole, Chickpeas with Potatoes and Onions (Jaim) Indian Food (Pete) Cooking Your Own Indian Food: Madhur Jaffrey's Curry Nation (Pete) Upright Brewing (Pete) Pivotal Tracker (Chuck) Redmine (Chuck) Pepsi Max (Christopher) Cocoaconf (Christopher)

```

Next Week

Other Languages

Transcript

CHUCK: Hey everybody and welcome to episode 35 of the iPhreaks Show. This week on our panel, we have Pete Hodgson.

PETE: Good morning from sunny San Francisco.

CHUCK: Andrew Madsen.

ANDREW: Good morning from cold Salt Lake City.

CHUCK: Jaim Zuber.

JAIM: Hey, hey. My, my.

ANDREW: Rock and roll will never die.

CHUCK: There we go.

JAIM: [Inaudible] on mood.

ANDREW: I’m a huge fan.

CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest and that’s Chris Judd.

CHRIS: Thanks for having me.

CHUCK: Yeah, no problem. Since you haven’t been on the show before, do you want to introduce yourself really quickly?

CHRIS: Sure. I am the CTO of a medium-sized consulting company here at Columbus, Ohio called Manifest Solutions. And what I like to tell people is that by day, I’m a mild-mannered enterprise Java developer, but by night, I’m a crime-fighting mobile developer.

CHUCK: Ooh, very nice.

JAIM: Do you wear a cape for that?

CHRIS: I don’t. But one of the applications I worked on is like ADT for your body. So, if you feel like you’re in a harmful situation, you can triple click this big button in the app and it will dispatch emergency or police to your location or open a one-way communication to a dispatch center.

CHUCK: Oh, wow!

JAIM: Wow! That’s pretty cool.

PETE: It’s cool. It’s kind of like your phone is its own superhero or something.

CHUCK: There you go. Do you wear glasses during the day and then take them off to save the world?

CHRIS: Only when I go to the phone booth to change.

CHUCK: For a second there, I was like, “I’d like to see that,” and then I was like, “No, no I wouldn’t.”

[Laughter]

PETE: So, do you do mainly iOS development when it comes to mobile or do you do Android as well?

CHRIS: So, I do a variety. I do Android, iOS, I do mobile web, I’ve done some PhoneGap and I’m Titanium Certified.

PETE: Okay.

CHRIS: Wow.

PETE: That sounds like the kind of thing a superhero would say, “I am Titanium Certified.”

[Laughter]

PETE: But Kryptonite allergic.

CHUCK: Alright. Well, we brought you on today to talk about Mapkit.

CHRIS: Well, that’s great because I think writing applications that take advantage of mapping data are a lot of fun.

CHUCK: Do you know how many times my iPhone has gotten me lost?

CHRIS: No, I don’t.

[Laughter]

PETE: You have to be a real expert to know that. I know about everyone’s Mapkit.

CHUCK: It’s about half the time, it seems. I get directions and it’s just like,

View Details

Panel

``` Chris Adamson (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:03 - Chris Adamson Introduction

``` Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS by Chris Adamson iOS SDK Development by Chris Adamson and Bill Dudney iPhone SDK Development by Chris Adamson and Bill Dudney Swing Hacks: Tips and Tools for Killer GUIs by Chris Adamson and Joshua Marinacci QuickTime for Java: A Developer's Notebook by Chris Adamson

```

07:25 - HTTP Live Streaming (HLS)

``` Audio Streaming Browser Support Bitrates

```

22:35 - HLS vs Progressive Download

``` Servers Dropbox

```

27:15 - Static Files

``` Wowza Ustream Livestream Twitch Justin.tv Zencoder Compressor

```

35:57 - Encryption

``` HTTP Live Streaming (Apple) DRM

```

39:37 - Media Consumption

Picks

``` Gilmourish.com (Ben) Pig Hoof MkII (Ben) Saint Arnold Sailing Santa (Ben) Snow Day Winter Ale (Jaim) Laphroaig Single Malt Whiskey (Jaim) Anti-pick: Patents (Pete) Adafruit Industries (Pete) Prohands Gripmaster (Pete) Soldering (Chuck) Thai Food (Chuck) ThemeForest (Chuck) UStream (Chris) Wirecast (Chris) Crunchyroll & Crunchyroll App (Chris) Founders Centennial IPA (Chris)

```

Next Week

Mapkit with Christopher Judd

Transcript

Coming Soon

View Details

Panel

``` Kevin Harwood (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

02:44 - Does iOS7’s NSURLSession obviate the need for AFNetworking?

03:20 - SSL Pinning

``` Charles Multiple Certificates

```

08:09 - Reachability

10:24 - Is AFNetworking 2.0 based of NSURLConnection?

``` AFHTTPRequestOperationManager AFHTTPSessionManager

```

11:52 - Serialization

12:18 - Session Manager

``` NSURLSessionTask NSURLSessionDataTask

```

15:59 - Using AFNetworking

``` Upgrading

```

18:11 - AFNetworking and iOS7

20:46 - Prefetching

22:00 - Contributors

22:37 - The three20 Library

``` Category Methods BlocksKit

```

30:53 - Managing a Large iOS Open-Source Library

``` Mattt Thompson @mattt Mutual Mobile

```

34:00 - Submitting a Feature to Mattt

Picks

``` Macintosh Software Business (Yahoo Group) (Andrew) Low -- Christmas (Jaim) Awful Recruiters (Ben) backup (Ben) Three Africans Coffee (Ben) The Mute Button in Gmail (Pete) P2 Magazine (Pete) Chasin’ Freshies: a fresh hop IPA from Deschutes (Pete) The Hobbit: The Desolation of Smaug (Chuck) AFHARchiver (Kevin) Bamboo (Kevin)

```

Next Week

Streaming with Chris Adamson

Transcript

PETE: I actually don’t [unintelligible] that much.

BEN: But you are British. You have to.

PETE: Yeah. I'm a traitor to my nation. I also don’t watch football that much. And that’s why I use ‘football’, not ‘soccer’.

CHUCK: Hey everybody and welcome to episode 33 of the iPhreaks Show. This week on our panel, we have Jaim Zuber.

JAIM: Hello from Minneapolis.

CHUCK: Ben Scheirman. Andrew Madsen.

ANDREW: Hi from Salt Lake City.

CHUCK: Pete Hodgson.

PETE: Hello from my pajamas.

CHUCK: I'm Charles Max Wood from devchat.tv, with a real quick announcement: if you are interested in learning Ruby on Rails, my Rails Ramp Up course; if you buy it at the beginning of the year… actually, I´ll give you a few days. If you buy it by January 4th, you can get 30% off. You can get that on railsrampup.com

We also have a special guess, and that’s Kevin Harwood.

KEVIN: Hey guys, from Austin, Texas.

CHUCK: Is it snowing in Austin?

KEVIN: It’s actually 79 degrees right now. I think the high, it gets up 75 today. So it’s a nice day here in Austin.

ANDREW: That sounds nice.

JAIM: Not bad. So you are an Auburn guy?

KEVIN: I am. It was a pretty good weekend. Me and Tim Cook had a lot to cheer for on Saturday.

JAIM: I can sense the glow all the way through the internet.

KEVIN: I haven’t stopped grinning since Saturday evening.

CHUCK: [Laughs]

JAIM: Yeah, that Auburn virus really infected my timeline. Really, the only person on my timeline that was tweeting anything other than football was John Siracusa and he was talking about TVs or something.

PETE: I totally tune out whenever time it is that people tweet about this. I think it’s like Sundays or Mondays or something. I get quite annoyed with Twitter and I just stopped using because I don’t know, they are talking about touchdowns and basket hoops or something. I don’t know. It’s all very confusing to me.

KEVIN: I'm actually hoping Twitter releases some statistic like they do, like a super bowl halftime show or something and see if we can see an impact from that game and see the usage spike on Twitter.

PETE: Someone should do some sentiment analysis on Twitter, where they like to find out… that would be really cool actually to map like…

JAIM: Didn’t Apple buy a company that does that?

PETE: Really?

JAIM: Yeah, for like 200 million. What was it called, Topsy? Isn’t that what they did?

KEVIN: Yeah, I think so.

PETE: You are telling me I just came up a 200 million dollar idea?

[Laughter]

I'm not going to tell you guys my other ideas.

View Details

Panel

``` Rob Napier (twitter github blog) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:38 - Rob Napier Introduction

``` iOS 7 Programming Pushing the Limits by Rob Napier & Mugunth Kumar RNCryptor

```

01:30 - Apple and Security

04:21 - Security Concerns

``` Passwords Personal Information

```

06:10 - Prevention

``` SSL Verisign

```

09:50 - Generating Certificates

``` Rob's Practical Security Talk, Slides and Sample Code from CocoaConf Rob Napier: Get Security and Privacy Right PBKDF2

```

13:05 - Initialization Vector

``` AES Cipher Block Chaining (CBC)

```

16:06 - RNCryptor

17:34 - Formats

``` OpenSSL HMAC AES Crypt

```

20:55 - Device Encryption

25:28 - Server Security and Storing Passwords

``` Hashing Salting Shor’s Algorithm

```

37:48 - Breaking Passwords

``` Rainbow Table BitTorrent John the Ripper

```

41:47 - Keeping Passwords Safe

``` 1Password LastPass Convenience and Security

```

47:35 - Obfuscation

Picks

``` Use Option as Meta Key in Mac OS X Terminal (Jaim) iTerm2 (Chuck) Duct Tape Marketing Revised & Updated: The World's Most Practical Small Business Marketing Guide by John Jantsch (Chuck) Security Now (Chuck) Reflections on Trusting Trust by Ken Thompson (Rob) Coursera: Cryptography I (Rob) Learn You a Haskell for Great Good: A Beginner's Guide by Miran Lipovača (Rob)

```

Next Week

AFNetworking with Kevin Harwood

Transcript

CHUCK: Hey everybody and welcome to episode 32 of iPhreaks. This week on our panel, we have Andrew Madsen.

ANDREW: Hi from Salt Lake City.

CHUCK: Jaim Zuber.

JAIM: I'm still recovering from the Black Friday deals with the pawn shop. I waited in line for three hours to save $5 on an Xbox 360. Totally worth it.

CHUCK: [Laughs] I'm Charles Max Wood from devchat.tv. And we have a special guest this week and that’s Rob Napier.

ROB: That's right. I'm here in Raleigh, North Carolina.

CHUCK: So do you wanna introduce yourself really quickly for people who don’t know who you are?

ROB: Sure. I'm an iOS and Mac developer. I was a Mac developer before iOS come around in the iPhone. I write the book iOS Pushing The Limits. And I do a lot of work in the security world, so I keep a security cryptography package called RNCrytor, for simplifying cryptography.

CHUCK: Oh, nice. Isn’t that just a bunch of fancy math?

ROB: It is just a lot of fancy math. But it’s easy to do it wrong.

CHUCK: [Chuckles] That’s for sure.

ROB: [Chuckles]

ANDREW: Isn’t that computers? Just fancy math?

ROB: It’s so true. We need more math.

CHUCK: “So easy to do it wrong.” Don’t tell Adobe that.

ROB: [Chuckles]

CHUCK: So, speaking with security with iOS, it seems like Apple does a lot of things to provide you with security. I mean, they have sandboxing and all the other stuff that they do. Do we really need to worry about security when we are programming for the iPhone?

ROB: Oh certainly, yeah. Apple has done a really great job -- I feel -- in iOS. While over the years, there have been various problems; some of the earliest locks didn’t really work well and early device encryption have trouble, but they’ve improved over the years. But iOS is really the first main stream operating system that came out with least privilege as the default, which was really brilliant, that they said day 1, “You are going to be locked in a little sandbox and you can't do anything,” which made it very hard to write malware against the iPhone. But it still doesn’t get us off the hook of managing user information carefully. While we may not get infected with the virus, we still have lots of ways that we could leak our customer information.

CHUCK: What are some of those ways? If it’s just a self-contained app and it doesn’t talk to anything else, is that still a risk?

ROB: That's true.

View Details

Panel

``` Matthew Morey (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Andrew Madsen (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:35 - Matthew Morey Introduction

``` Buoy Explorer ChaiOne

```

01:23 - Making Core Data Perform

05:45 - Importing Data

08:23 - Batch Sizing

09:37 - Photo Blobs

13:25 - Persistence

16:43 - Query Performance

``` String Comparison Order of Operations Hashing Tokens

```

22:24 - Concurrency Models

``` Context Notifications

```

Picks

``` iPad Telepresence Robot (Ben) Mercurial SCM (Andrew) Florian Kugler: Backstage with Nested Managed Object Contexts (Andrew) Needle Doctor (Jaim) Grado Labs Black1 (Jaim) Remote: Office Not Required by Jason Fried and David Heinemeier Hansson (Chuck) Audible (Chuck) High Performance Core Data (Matthew) Planet Money Podcast (Matthew) Core Data: Data Storage and Management for iOS, OS X, and iCloud by Marcus S. Zarra (Matthew)

```

Next Week

Security with Rob Napier

Transcript

BEN: That’s the problem is that when my kids see the mixer, they are like, “Oh, knobs and buttons! I'm going to push all of them.”

CHUCK: Hey everybody and welcome to episode 31 of the iPhreaks Show. This week on our panel, we have Jaim Zuber.

JAIM: Boy, that is one cranky Rottweiler.

CHUCK: Andrew Madsen.

ANDREW: Hi from Salt Lake City.

CHUCK: Ben Scheirman.

BEN: Hi from Houston.

CHUCK: I'm Charles Max Wood from devchat.tv and we have a special guest this week, and that is Matthew Morey.

MATTHEW: Hello, also from Houston.

CHUCK: So since you haven’t been on the show before, do you wanna introduce yourself?

MATTHEW: Sure. So I got a couple of degrees in semiconductors physics and electrical engineering and quickly did nothing with those degrees. Spent a couple of years working on embedded electronics and a lot of C programming. And iOS SDK came out and jumped it to that, and been doing my own apps, including Buoy Explorer, which is a marine conditions app for surfers and water sports enthusiasts, where I implemented core data improperly there. And also I do work for a company here in Houston called ChaiOne, where we do a lot of client work.

CHUCK: Yeah, I've met those guys before.

MATTHEW: My boss is a real stickler.

CHUCK: Yeah, I've heard that a couple of times. We brought John today to talk about high performance core data. Are there tricks to making core data perform or does it just work, or what?

MATTHEW: Well, you can check the check box in the templates and it will generally just work. The problem is that it is such a complex framework and it’s just its so flexible and large. It’s very easy to put yourself in a bind or do the wrong thing and then suddenly, you'll have performance issues. I spent a lot of time making those mistakes, and I finally got to the point where I just wanted to figure all that out and kind of wrap my head around it. And so I've been focusing on that a lot, in particular.

JAIM: You mentioned in Buoy Explorer, you initially did it improperly. Do you wanna elaborate on what mistakes you made there?

MATTHEW: Yeah, so a common pattern in apps is you have to import data; either user’s data from the server or just general data, be it JSON, XML. On Buoy Explorer’s case, I'm downloading a bunch of data from these Buoys that are on the ocean and I measure wind conditions. And this data is very dense, so there's readings every 15 minutes from hundreds and thousands of these buoys. So there's a lot amount of data. And the way that the data is structured, I can't really fetch that data in a network efficient way. Unfortunately, I have to grab large amounts of data at a time. And importing that data into the persistence layer or into core data takes time; the data has to be parsed, the relationships have to be made, and then it has to be saved.

View Details

Panel

``` Joel Stewart (twitter github) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:30 - Joel Stewart Introduction

``` VP of Engineering at Canopy Video Game Development

```

01:06 - Building Hardware

``` Sensus Apple’s MFI Program

```

04:34 - Connectors

09:11 - Challenges of connecting a device through a lightning adapter

``` Case Certification CES

```

11:39 - Build Process

17:24 - Detection

``` Sensus SDK Developer Portal

```

21:54 - Bluetooth 4.0

``` Pebble Smartwatch

```

25:12 - Security

26:59 - Development Interface

29:22 - Sensus Release

``` Market Strategy Leap Motion

```

Picks

``` i-calQ (Rod) Flow DJ Software (Andrew) MIKMIDI (Andrew) Bluegiga (Andrew) QONQR (Jaim) Airbnb (Chuck) Delta Airlines (Chuck) CARROT (Joel) Harvest (Joel)

```

Next Week

High Performance Core Data with Matthew Morey

Transcript

ROD: The audience is listening.

CHUCK: Hey everybody and welcome to Episode 29 of The iPhreaks Show! This week on our panel, we have Andrew Madsen.

ANDREW: Hi from Salt Lake City!

CHUCK: Jaim Zuber.

JAIM: Hello from Minneapolis!

CHUCK: Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: I’m Charles Max Wood from DevChat.tv. This week, we have a special guest and that’s Joel Stewart.

JOEL: Greetings also from Minneapolis!

CHUCK: Joel, do you want to introduce yourself for those of us who may not know who you are?

JOEL: Sure! I’m currently a VP of Engineering at a company called Canopy up in Minneapolis. We’re a startup that is focusing on iPhone accessories. We do everything from hardware all the way up to stack to applications, then we part with a lot of content providers to integrate our functionality with our hardware inside their applications as well.

Me personally, I’ve been doing the new game development for the last 6 or 7 years and I recently gotten involved in hardware. And yeah, [that’s] about it.

CHUCK: Awesome. So you’re going to make a video game controller for the iPad?

JOEL: Oh, yeah.

CHUCK: What kind of hardware things are you building?

JOEL: Well, our first product is called Sensus, and it is an iPhone case. It adds pressure sense with multi-touch panels to the back of your iPhone and also the edges. So, it can rename with functionality such as squeezing to scroll as opposed to using a thumb on the front of the screen to drag the contents around; you can just squeeze the edges and the content will automatically scroll.

We do a lot of other things such as moving that touch and drag functionality to the back, moving environments as oppose to characters in the front; just adding an extra layer of interactions for your applications, for your games through the hardware. It’s attached to your iPhone through the Lightning connector right now, and it is part of Apple’s MFi program, which is made for iPhone. You have something to plot for and it has the entire slot for documentation that general public typically doesn’t get access to.

CHUCK: Interesting. Is there some kind of trick to building hardware for iOS devices?

JOEL: Certain metric. It’d be similar to most hardware products you create. You have a lot of industrial design (basically the plastics), a lot of mechanical engineering which is identifying what materials go into it, electrical engineering laying up those boards, firmware development, software development. I know it’s a much larger undertaking in just writing software, but process is a lot longer, it’s a lot more expensive, and it’s not easy, that’s for sure.

ROD: Do you have to provide a driver to go with the hardware?

JOEL: For the most part, no, since we’re talking through Apple’s Lightning connector; most of that protocols are already established so they provide a lot of documentation as to how to talk to the core operating system, iOS,

View Details

Panel

``` Kevin Munc (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:27 - Custom Integration for iOS

02:58 - Jenkins CI

05:49 - Running Unit Tests from the Command Line

08:10 - Custom Integration (CI)

15:46 - Report Tools

``` GCover Cobertura PlistBuddy

```

19:19 - Distribution

``` TestFlight

```

21:50 - Continuous Deployment

24:47 - Travis CI

25:15 - Cloud Options for Setting up CI

``` Hosted CI MacMiniColo TeamCity

```

27:22 - UI Automation

29:18 - XCUnit

``` Specta

```

Picks

``` Host Xcode Server in a data center (Rod) NSScreencast (Rod) Intro to OCHamcrest (Jaim) Switch Your Control Key (Jaim) Gcovr User Guide (Jaim) Sketch (Kevin) Pixa (Kevin)

```

Next Week

Building Hardware for iPhones with Joel Stewart

Transcript

CHUCK: Hey everybody and welcome to Episode 29 of the iPhreaks Show. This week on our panel, we have Jaim Zuber.

JAIM: Hello from Minneapolis!

CHUCK: Rod Schmidt.

ROD: Hello from Salt Lake.

CHUCK: I'm Charles Max Wood from devchat.tv. We’ve got a special guest, and that is Kevin Munc.

KEVIN: Hello from Memphis, Ohio.

CHUCK: So we brought you on today to talk about continuous integration for iOS. Now, if I remember right, didn’t they add some kind of continuous integration thing to xcode?

KEVIN: Yes. There is the bots now with the server, so you can avoid Jenkins if you want to.

CHUCK: [Chuckles]

KEVIN: It’s still got some limitations. And I think going through the pain with Jenkins ends up giving you more flexibility at this point in time, but it’s a really good sign that Apple is putting some effort and attention on quality and continuous integration.

CHUCK: Right. But that's not what you were talking about; you're talking about people using Jenkins?

KEVIN: Yeah, that’s where most of my experience is from. I've been doing continuous integration in other platforms for a long time; CruiseControl back in the day, and Jenkins for iOS stuff.

JAIM: It’s pretty much the standard that people have been doing Jenkins for a while, would like to get into the bots, but they are not quite ready for primetime is what I'm hearing. Have you played enough around the bots to know that they are not quite ready?

KEVIN: Somewhat. And I do sort of run into trouble at different points in time, just trying to know where the configuration options are, especially if I'm trying to back out… I’d like to do some blogging on it, do some speaking on it. So, I'm trying to get more familiar with it because that’s something that is in my wheelhouse here. But yeah, I'm definitely trying to go back and redo some things. And I run in to these issues that I didn’t run into the first time. And then trying to do things like… I usually in my continuous integration setup, there's the basic stuff where you does a build, do the tests, run and pass, and maybe some other stack analysis and reports. I usually try and add other things like have a ping to see if the APIs are healthy or not, and things like that. I haven’t figured out how to time that sort of thing into the new bot stuff. It seems it’s focused on the bare essentials at this point. And so, it’s kind of a lot to expect, I guess.

ROD: Do you have to have a separate machine to use bots?

KEVIN: No, I've been fiddling with it right on my laptop that I can do my normal development on. You need to get the server app from the app store, and I think you get promo code through the dev portal, so you know to buy it. And then I just run it locally. It has a lot of options on it and then at bottom is the xcode stuff.

CHUCK: Nice. So let’s harp back over to Jenkins real quick. So you set up Jenkins on… do you have to run it on a Mac? Like a Mac Mini or something? Or can you run Jenkins on a Linux machine and still do the CI stuff?

KEVIN: No. You have to have a Mac.

View Details

Panel

``` Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discus...

View Details

Panel

``` Kyle Richter (twitter) Nathan Eror (twitter github) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:01 - Kyle Richter & Nathan Eror Introduction

``` Empirical Development

```

01:18 - The Future of iOS Devices (Speculations)

``` Hardware Controllers Apple TV Latency

```

04:33 - Building Games on the iOS Platform

``` Sprite Kit Unity Cocos2d UIKit

```

08:08 - Creative Assets (Art, Sound, Etc.)

``` Infinity Blade II Letterpress Doodle Jump Slender

```

13:45 - Challenges of Building a Game

``` Artist/Developer Relationships Production Art Tileable Art

```

22:29 - Tools

26:42 - Optimizations

``` Pre-Allocating Only Rendering What’s Necessary

```

33:48 - Shaders

36:51 - GameCenter

40:04 - Getting into Game Development

Picks

``` Trainyard (Ben) Space Team (Ben) Duolingo (Ben) Game Coding Complete by Mike McShaffry (Ben) Physics of Light - John Carmack (Ben) Bret Victor - Inventing on Principle (Ben) Overcoming iOS Game Memory Limits (Jaim) Big Nerd Ranch Blog (Andrew) Code Signing and Mavericks (Andrew) CocoaColor (Andrew) NinjaHit (Rod) Joybox (Rod) OpenGameArt (Chuck) 080 JSJ Impact.js with Dominic Szablewski JavaScript Jabber #081: Testing Promises for Async JavaScript with Pete Hodgson (Chuck) Linear algebra for game developers ~ part 1 (Nathan) Linear algebra for game developers ~ part 2 (Nathan) Linear algebra for game developers ~ part 3 (Nathan) 3D Math Primer for Graphics and Game Development by Fletcher Dunn and Ian Parberry (Nathan)

AltDevBlog (Nathan)

Sleep Cycle (Kyle) Pivvot (Kyle) Hungry Shark Evolution (Kyle)

```

Next Week

New iOS APIs

Transcript

CHUCK: Alright, Nathan, how do you say your last name?

NATHAN: Eror, just like –

CHUCK: Eror, okay.

NATHAN: Yeah, just like NSError, except that it spelled differently.

KYLE: Your middle initial is “S”, right?

BEN: [Laughter]

NATHAN: I wish. I’ve considered getting it legally changed.

CHUCK: Hey everybody and welcome to Episode 27 of the iPhreaks Show! This week on our panel, we have Ben Scheirman.

BEN: Hello from Houston, eagerly awaiting the iPad event.

CHUCK: Andrew Madsen.

ANDREW: Hi from Salt Lake City and I don’t get to buy anything today.

CHUCK: Jaim Zuber.

JAIM: Hello from Minneapolis!

CHUCK: Rod Schmidt.

ROD: Merry Christmas from Salt Lake City!

CHUCK: I’m Charles Max Wood from DevChat.tv. This week, we have 2 special guests. We have Kyle Richter.

KYLE: Good morning from Key West!

CHUCK: And, do you prefer Nate or Nathan?

NATHAN: Either one, it’s up to you.

CHUCK: Nathan Eror.

NATHAN: Hello! I’m also in Houston.

CHUCK: Alright. Do you guys want to do a brief introduction since you haven’t been on the show before?

KYLE: Sure, we can do that! My name is Kyle Richter. I’m the co-founder of Empirical Development.

NATHAN: And I’m Nathan Eror. I am the game and development lead for Empirical Development.

CHUCK: Awesome. Nobody plays games on their iOS device, so I’m not quite sure why we have you here.

KYLE: No, it’s the passage fad for sure. I suspect that they’ll just be over in the next couple of weeks.

CHUCK: Yeah.

BEN: Once I get hardware, controllers are really going to ruin it.

CHUCK: [Laughs] Do you think that’s going to be a thing?

BEN: Yeah, they announced it at dub dub, that you’ll be able to get like sort of a Nintendo like shrink wrapped controller on top of the iPhone. I’m still waiting for one of those to come out. I want to play with one.

KYLE: Logitech just released their print ad a couple of weeks ago for their first one. Mysteriously, it shows empty hand is holding a knife saying something’s missing [sound].

BEN: Oh! Awesome.

CHUCK: [Laughs]

View Details

Panel

``` Sam Davies (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Ben Scheirman (twitter github blog NSSreencast) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:57 - Sam Davies Introduction

``` ShinobiControls

```

01:47 - Custom UI Controls

04:50 - Design-Time Experience and Documentation

09:49 - When Should You Use Custom Controls?

11:40 - Controls

``` UISlider TableView UIView

```

25:40 - OpenGL

``` CAEAGLLayer Class Reference

```

27:01 - Transitioning Custom Controls

30:04 - New for iOS7

Picks

``` The iOS Design Cheat Sheet (Jaim) AFNetworking-ASIHTTPRequest (Jaim) Cocoa Controls (Ben) Lufthansa Airlines (Ben) Samarkand (Ben) Geist Dark (Ben) NSCalendar-EqualWithGranularity (Rod) JVFloatLabeledTextField (Rod) Sublime Text (Sam) Dash (Sam) Introducing iOS7 Day-by-Day (Sam) what-if.xkcd.com (Sam)

```

Next Week

iOS Game Development with Kyle Richter and Nathan Eror

Transcript

BEN: Sounds like you need a shot of espresso, Chuck.

[Laughter]

JAIM: Do pushups maybe, you know.

ROD: Cold shower.

CHUCK: Cold shower, yeah. [Laughs]

CHUCK: Hey everybody and welcome to Episode 26 of The iPhreaks Show! This week on our panel, we have Rod Schmidt.

ROD: Hello from Salt Lake City!

CHUCK: Ben Scheirman.

BEN: Hello from Houston!

CHUCK: Jaim Zuber.

JAIM: I’m good enough, I’m smart enough, doggone it, people – sorry. Hello from Minnesota!

BEN: [Laughs]

JAIM: Can you believe that guy is my senator?

CHUCK: [Laughs]

JAIM: No. He don’t get back to work. I don’t know what’s going on here.

CHUCK: [Chuckles] I’m Charles Max Wood from DevChat.tv, with a quick reminder to go check out GoingRogueVideo.com. I have a 30-minute video on how I went freelance. And we also have a special guest this week, and that’s Sam Davies.

SAM: Hello there from Bristol, the UK!

CHUCK: Do you want to introduce yourself for the people who don’t know who you are?

SAM: Sure! I’m Sam Davies. I work now for a company called ShinobiControls, and we build various different UI controls for both iOS and for Android and things. All kinds of different things; I’m not going to [unclear] you with exactly what we do, but charting and all kinds of different to help people’s [unclear]. I stay at that life as a computer vision researcher back in the day a few years ago. I spent a while of doing that. But Academia just doesn’t really have any money so I had to leave Academia and go do something a bit more applicable so I started doing mobile development and kind of stuff at working machine over a few years ago. Now, I work as a developer evangelist so kind of writing different bits and pieces and teaching people about things as well. I like talking to devs and doing dev work as well.

CHUCK: Very nice. We brought you on the show to talk about “Custom UIControls”.

SAM: Yup! I guess, sure, I’d talk a little bit about what – what they are and why you would want to make custom UIcontrols.

CHUCK: Yeah, that sounds like a good start to me.

SAM: UIControls, we all know exactly what UIControls are because we use them all the time, but what that actually means for somebody who’s using something that really helpful for lots of different groups of people including designers, developers, and for the end user as well. They represent a common vocabulary of ways and what you interact with an app. So we’re all used to UIControls in iOS because we have things like UISliders, we have Buttons, we have segment of control, whole selection of different things, and they were really, really useful.

But the question always comes when you get to the stage where you want something that doesn’t quite – whether the existing ones from iOS don’t exactly do what you want to do – you want to have something slightly different. An example I always give whenever anybody wants to talk to me about this kind of thing is,

View Details

Panel

``` Jeff Biggus (twitter blog) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:32 - Jeff Biggus Introduction

``` HyperJeff Network

```

01:38 - The Accelerate Framework

``` Audio Video Images Pure Math Functions

```

11:11 - Accelerate Framework Tricks

12:35 - Clang Extensions

17:30 - Libraries

23:06 - Gotchas

28:39 - Mac -> iOS

31:25 - The Convolution Integral

33:49 - Finding the Accelerate Framework

35:35 - Audio

Picks

``` F-Script (Rod & Jeff) Nathen Harvey: Learning Chef (Chuck) Start your free trial of Enterprise Chef (Chuck) Chef (Chuck) Cocoa Literature (Jeff)

```

Next Week

Custom UI Controls with Sam Davies

Transcript

Transcript

CHUCK: Hey everybody and welcome to Episode 25 of the iPhreaks Show! This week on our panel, we have Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: I'm Charles Max Wood from DevChat.tv. I just want to give you another quick reminder that you can find out about my freelancing journey at GoingRogueVideo.com, it's a 30-minute video detailing how I went from laid off to freelancing successfully.

We also have a special guest, and that is Jeff Biggus.

JEFF: Hello!

CHUCK: Since you haven't been on the show before, Jeff, do you want to introduce yourself?

JEFF: Sure! I'm a Mac and iOS programmer, I work for my own company, have for about 17 years now. Lately, it's been all Mac and iOS, maybe for the last 7 years or so, and I come from a background that's maybe more science, like academic science, but now I do a lot of just general programming stuff.

CHUCK: Awesome. What kinds of things have you been academic-ing or studying or whatever?

JEFF: [Chuckles] I used to do a bunch of computational physics stuff. So I was in the physics world for a while, and before that, I was an electrical engineer. It was a lot of very practical engineering type programming. Ugly code that got the job done.

CHUCK: Boy! That sounds like what I do!

JEFF: [Chuckles]

CHUCK: Ugly code that gets the job done.

JEFF: Exactly, yeah. Which is basically what I do now; except it's a little more elegant these days. The tools are much nicer.

CHUCK: Awesome. So, we brought you on today to talk about the Accelerate Framework.

JEFF: Yeah.

CHUCK: It's part of the standard suite of the libraries you get from Apple, it looks like. Can you explain briefly what it is or what it does?

JEFF: Sure! It's a set of, really, C Libraries. It's called the Framework. Normally, when you hear framework, you'd think Objective-C framework, but this is all C-level calls. The goal of it is to give us set of functions, a humongous set of functions, that can allow you to do common tasks much faster because they're heavily optimized. As a consequence, that actually saves battery life so you get more power and better energy use. I would even like the case that if you get into it, that your code is actually often better; it's cleaner and it's more maintainable going forward.

CHUCK: Huh! What exactly is it used for?

JEFF: When you look at the framework, it looks like there are basically 3 areas that it seems to hit which is Audio, Video, and Images, and also Pure Math functions. But, since everything under the hood is all just bits, sometimes, whether it's something is an image or audio or math, it's just that your perspective on things.

A lot of times, these functions that are in there can be used for even really mundane tasks that you might not be thinking about them as. You might grab an audio function to do something where you’re simply doing some very simple calculation for something that has nothing to do with audio.

CHUCK: Got you!

ROD: I would imagine game programming would use a lot especially 3D…

JEFF: Oh, sure! Game programming seems like the easiest place to get the most immediate impact from this, but also, Video and Image Processing. Actually,

View Details

Panel

``` Mike Ash (github blog) Rod Schmidt (twitter github infiniteNIL) Andrew Madsen (twitter github blog) Pete Hodgson (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast)

```

Discu...

View Details

Panel

``` Patrick Burleson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:27 - Going Rogue Video

00:42 - Patrick Burleson Introduction

``` BitBQ MartianCraft Briefs

```

01:23 - Build Automation

02:10 - Continuous Integration

``` Changes xcodebuild Ben: Running objective-c tests from the command line (with color)

```

07:51 - Testing

``` xctool

```

10:29 - Automation on a development machine

11:04 - Things to Automate

14:14 - XCode 5 Build Automation

20:08 - Automation

``` Bamboo Version Numbers agvtool cupertino (and friends)

```

29:50 - Certification

33:21 - Build Time

``` Screenshot Lightning guard-xctool-test

```

Picks

``` iOS Background Fetch example (Andrew) sprint.ly (Andrew) ASCIIwwdc (Ben) Blues Junior™ III: Hot Rod (Ben) guitarjamzdotcom (Ben) iOS 7 by Tutorials (Ben) Pappy's Smokehouse (Pete) Go (Pete) Bombay By Boat - Moonlight (Pete) xcoder (Pete) xcodebuild-rb (Pete) Paulaner Oktoberfest Bier® (Jaim) Pitching Radar (Rod) Rich Hickey (Rod) ShareMouse (Chuck) Tweetbot (Chuck) Michael Vey (Chuck) Fogo de Chao (Patrick) Briefs (Patrick) Black Bar (Patrick) Test iOS Apps with UI Automation: Bug Hunting Made Easy by Jonathan Penn (Patrick) Bamboo (Patrick) Alfred App (Patrick)

```

Next Week

64-Bit with Mike Ash

Transcript

CHUCK: Hey everybody and welcome to Episode 23 of the iPhreaks Show! This week on our panel, we have Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: Ben Scheirman.

BEN: Hello from Houston!

CHUCK: Andrew Madsen.

ANDREW: Hi from Salt Lake!

CHUCK: Jaim Zuber.

JAIM: Hello from Minneapolis!

CHUCK: Pete Hodgson.

PETE: Hello from a very warm conference room.

CHUCK: I’m Charles Max Wood from DevChat.tv. Before we get going, I want to briefly just remind you that I have put up the GoingRogueVideo.com, where I put up the video talking about how I went freelance. If you’re interested in that, you can go check it out there.

We also have a special guest, and that’s Patrick Burleson.

PATRICK: Hello from Dallas, Texas!

CHUCK: Do you want to introduce yourself since you haven’t been on the show before?

PATRICK: Sure! My name is Patrick Burleson. I run BitBQ software, which is BitBQ.com. I also do quite a bit of consulting with MartianCraft, and also MartianCraft.com – they are the makers of the design application called Briefs.

CHUCK: Cool!

BEN: That was a previous pick of the show!

CHUCK: Yup!

PATRICK: Awesome!

PETE: We should do an episode about Briefs.

PATRICK: You should! I will probably get your wrap on the show.

CHUCK: That’d be awesome. Then we could do one on boxers.

BEN: Yup, quite a history.

PATRICK: Yes, Briefs has a very long history.

CHUCK: That’d be really interesting. We brought you on to talk about “Build Automation”.

PATRICK: Yeah! Build Automation is something that I think everyone should probably definitely look into even if you’re on a team or even a solo developer. That sounds crazy to some people why would a solo developer want to have a build automation…The way I look at it is, on my solo stuff, I want a computer doing as much of the work as I can make it to without me having to get in the way. Automating your build is one of those things where with a click of a button, I can update and ship a new version of any of my products or ship out a beta or whatever. It makes it very, very easy and also reduces the number of mistakes you can make. You don’t have to do anything manually; there’s a chance for a mistake.

CHUCK: So it’s just kind of like continuous integration?

PATRICK: Yeah, it is a lot like continuous integration. You can use it 2 different ways.

View Details

Panel

``` Steve Madsen (twitter github Light Year Software) Andrew Madsen (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:45 - Going Rogue Video

01:21 - Steve Madsen Introduction

``` Light Year Software

```

02:00 - Networking with iOS

``` WiFi Connection Speedtest.net HTTP Live Streaming

```

07:58 - Bandwidth and Quality of Connection

12:23 - Network Link Conditioner

15:29 - Reachability

24:27 - Networking Gotchas

26:54 - NSOperation Dependency

29:41 - AFNetworking

``` RestKit

```

33:54 - Logging of Networking Requests and Response

``` Runscope

```

38:49 - Networking Technologies

41:27 - WebSockets

``` faye SocketRocket

```

45:48 - Fallacies of Distributed Computing

Picks

``` ARC vs. MRC Performance (Andrew) Machine language: how Siri found its voice (Andrew) Philips hue (Ben) hue (Ben) CopyPasteCharacter.com (Ben) Glyphboard (Andrew) Lawyers (Jaim) Runscope (Pete) estimote (Pete) Acme Pale Ale from North Coast Brewing (Pete) XCOM Enemy Unknown (Pete) RubyConf (Chuck) Airbnb (Chuck) Platform University (Chuck) Little Snitch (Steve) Upton Tea (Steve) Clojure: Enemy of the State (Rod) Hire Rod (Rod)

```

Next Week

Build Automation with Patrick Burleson

Transcript

CHUCK: Hey everybody and welcome to Episode 22 of The iPhreaks Show! This week on our panel, we have Andrew Madsen.

ANDREW: Hi! I’m not a robot; I’m just going to [unclear]

[Laughter]

CHUCK: Ben Scheirman.

BEN: Hello! I’m eagerly waiting of the arrival of GTA 5. So if the doorbell rings, I may run to go get it.

CHUCK: Alright! Jaim Zuber.

JAIM: Hello from Minneapolis! And also, not a robot.

CHUCK: Pete Hodgson.

PETE: Good morning from…I am not a robot.

[Laughter]

CHUCK: Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: I’m Charles Max Wood from DevChat.tv. Before I introduce our guest, I just want to make a real quick announcement. This Friday, meaning last Friday when you get this episode, was my ‘Freedom Day’. It was the day I was laid off from my job 3 years ago and went freelance. I’m celebrating that by putting up a free video that kind of chronicles my journey through freelancing and going from laid off to actually making enough money to live on. I’m going to have a lot of lessons that I learned in there and stuff, so if you’re interested, you can get that at GoingRogueVideo.com.

BEN: Whoo-hoo! Congrats!

CHUCK: Thanks! We also have a special guest, and that is Steve Madsen.

STEVE: Hello from the Columbus, Ohio.

CHUCK: Can we get you to introduce yourself real quick?

STEVE: Sure! I own Light Year Software, which is a small consultancy here in Columbus specializing in Rails and iOS development. I’ve been doing that for about 7 years now since relocating back from the San Francisco Bay Area.

CHUCK: Was it named after the unit of measure, or the cartoon character?

STEVE: Unit of measure.

CHUCK: Okay.

STEVE: I was looking for something science-y.

CHUCK: Awesome.

PETE: What’s the cartoon character?

CHUCK: Toy Story. Buzz Lightyear.

PETE: Oh! Oh, yeah.

CHUCK: Alright, we brought you on to talk about “Networking”.

STEVE: Yes! That’s a big topic!

CHUCK: I was going to say [laughs] it was kind of a broad topic. What in particular is interesting about networking with iOS or Cocoa?

STEVE: Specifically about iOS, obviously, we’re talking about mobile devices. I think it’s safe to say that since mobile devices became as popular as they did with the introduction of the iPhone, the possibilities on how for us to build apps that communicate back to servers or communicate with people nearby have gone up a lot.

CHUCK: Yeah, that makes sense.

View Details

Panel

``` Aaron Douglas (twitter blog) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:11 - Scalable Cloud Apps and iOS Programming

02:51 - iCloud Core Data

04:44 - Scalable Cloud Services

``` Synchronization Amazon S3 Amazon EC2 Parse Syncing Authentication Simperium

```

09:31 - Use Cases

``` Migraine Diary

```

12:00 - SDK and Basic Operations

``` PFObject Querying PFQuery

```

18:11 - Platforms Supported by Parse

``` Android Windows Phone MacOS .NET Unity UI

```

18:41 - Pros and Cons

25:59 - “Selling” Parse Use to Companies

27:20 - Choosing Parse

``` Windows Azure

```

32:03 - Realtime Interaction

``` Cheddar

```

34:17 - Other Services

``` Simperium Firebase Helios Dropbox

```

38:32 - Advice for Others

``` Appside/Server-side TICoreDataSync Understand Scaling

```

41:41 - Rolling your own vs using Parse

``` Data Privacy

```

Picks

``` Mac Dev Weekly (Andrew) Gwynne Raskind: Friday Q&A 2012-03-02: Key-Value Observing Done Right: Take 2 (Andrew) 11 Untranslatable Words From Other Cultures (Andrew) Linode (Ben) Digital Ocean (Ben) Big Nerd Ranch talk on API design (Ben) FlatUIKit (Rod) iOS7Colors (Rod) Sylvan Dale Guest Ranch (Rod) Bloons Tower Defense (Chuck) Fieldrunners 2 (Chuck) Base 2 (Aaron) Spark Inspector (Aaron) Simplenote (Aaron) TICoreDataSync (Aaron)

```

Next Week

Networking with Cocoa with Steve Madsen

Transcript

CHUCK: So if I call you Andrew, or if I call Andrew, Aaron, sorry guys…

AARON: [Laughs]

BEN: Just run with it.

CHUCK: Hey everybody and welcome to Episode 21 of The iPhreaks Show! This week on our panel, we have Ben Scheirman.

BEN: Happy Apple Christmas Day! And hello!

CHUCK: Apple Christmas Day…

BEN: Yeah! Today is the launch date. We’re going to find out all about in like an hour.

CHUCK: Oh, that’s right!

BEN: This would be all over the news by the time this sure comes out…

ANDREW: It’s the only thing all of us were thinking about.

BEN: [Inaudible]

CHUCK: [Laughs]

ANDREW: I can’t breathe.

BEN: That’s right. We’re already on the clock, Chuck.

CHUCK: Okay.

BEN: [Laughs]

CHUCK: We also have Andrew Madsen.

ANDREW: Hi from Salt Lake City!

CHUCK: Rod Schmidt.

ROD: Hello from Salt Lake City as well!

CHUCK: Jaim Zuber.

JAIM: Hello! I just returned from the north shore of Lake Superior, where I was teaching berries to code iOS.

CHUCK: I’m Charles Max Wood from DevChat.tv. We have a special guest, and that’s Aaron Douglas.

AARON: Hey! How’s it going? I’m saying hi from Milwaukee, Wisconsin.

CHUCK: Pete would be so proud of me, I didn’t butch your name.

AARON: [Laughs]

CHUCK: We have you on this week to talk about “Scalable Cloud Apps”.

AARON: Yeah, definitely.

CHUCK: I asked you before the show, I’m going to ask you again, how does that relate to iOS programming?

AARON: I’ve noticed that a lot of us iOS devs come from more of the finite programming that we know – JavaScript and CSS – it’s just this kind of a logical step into iOS app development. I came from a Java enterprise background so I’m very familiar with writing apps that are behind other apps. I noticed that a lot of iOS developers are afraid of integrating their app with a server, and that there’s a lot of apps that have to talk to other users or there’s central data. So I think it’s a really important topic just because apps can be so much more powerful if they are connected with other people.

CHUCK: Absolutely. Are you talking about API services like Facebook or Twitter? Or, are you talking about more of the backend systems like Parse?

AARON: Yeah, it’s more of the backend systems like Parse.

View Details

Panel

``` Jason Felice (twitter github blog Maitria) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:08 - Jason Felice Introduction

02:03 - “Expressive Code”

04:35 - iOS Programming in Vim

``` ibtool Xcode

```

06:39 - Why Vim?

``` Muscle Memory The Tool Chain Polar Puzzles

```

11:30 - Build Process

``` xctool

```

12:23 - Testing

``` Kiwi The Objective Vimmer

```

16:50 - Vim Tactics

``` Code Completion clang_complete Omnicomplete

```

21:06 - Navigation

23:11 - AppCode

25:22 - Toolchain Wishlist

``` Scheme Lisp Clojure RubyMotion

```

31:51 - Building and Installing Vim

Picks

``` No Mouse Fridays! (Pete) AppCode (Pete) Practical Vim: Edit Text at the Speed of Thought by Drew Neil (Pete) VimCasts (Pete) vimium (Pete) VimGolf (Chuck) Emacs (Chuck) Jason Felice: Getting Started with iOS Development With Vim (Jason) lambdanative (Jason) Nathan Sorenson: Clojure to Native via Scheme (Jason)

```

Next Week

Scalable Cloud Apps with Aaron Douglas

Transcript

PETE: My boy is teething at the moment, and we got up today at 5 o’clock in the morning. That’s nice.

CHUCK: [Laughs]

CHUCK: Hey everybody and welcome to Episode 20 of iPhreaks! This week on our panel, we have Pete Hodgson.

PETE: Good morning from San Francisco!

CHUCK: I’m Charles Max Wood from DevChat.tv. We have a special guest, and that’s Jason…is it Felice?

JASON: Yeah, it’s Felice, that’s right. Hello from Detroit this time!

CHUCK: I do that just to make Pete laugh.

PETE: [Laughs] Yeah, it makes me laugh, I freaked out. [Laughs] Oh, I was going to say like you did the episode number, and I was like thinking, “Should I remind him? Because I don’t remind him, I’d keep him say anything.” [Laughs]

CHUCK: No, I was seriously actually thinking, “I should ask Jason just to make sure I know how to say his last name,” and I was like, “Nope! I’m going to do this just for Pete.”

JASON: [Laughs]

PETE: Oh, man. Well, I’m touched. Thank you very much.

CHUCK: So Jason, since you’re new to the show, do you want to introduce yourself really quickly?

JASON: Sure! That’s probably the hardest question. I have been doing mobile development for, I don’t know, it’s like 3 years or something like that, but it really depends on what you count. I’ve done some of embedded development before that, and some dust wholesome stuff back in the day, something like ’90 something. And mostly, I’ve been on the next person, which is why I found first to home with iPhone stuff, and I’ve done some Android.

I think the bigger focus that I have is on creating expressive beautiful code and helping people to do that because I think a lot of people just haven’t been exposed to really expressive code especially when we’re talking mobile environment.

PETE: What do you mean by expressive code? This is a good sidebar conversation we can talk about. I’m interested particularly in expressive code in Objective C [laughs]. It’s an interesting language for that kind of stuff I think.

JASON: It is, yes. And that brings up an interesting question, which is like ‘how much of the language you have to know before code is expressive?’ Because everybody that I have actually worked with are brought into Objective C into them, like for first couple of weeks, group of programmers who weren’t familiar with it. Like my first 2 weeks, they’re just like, “I don’t even see code. It just looks like ASCII. I’m not even sure what’s going on either.”

CHUCK: [Laughs]

JASON: That’s the response that I’ve got. And it’s interesting because after a week or 2, they’re like, “Oh, okay! Got it!” I think it has to do with the [unclear] versus the indentation, the way that it uses it being different from most of the languages.

PETE: Yeah.

JASON: But I’ve seen Kiwi who makes nice expressive tests for the most part that’s sort of the DSL approach.

View Details

Panel

``` Cesare Rocchi (twitter Studio Magnolia) Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:31 - Cesare Rocchi Introduction

``` CocoaConf Boston iCloud for Developers: Automatically Sync Your iOS Data, Everywhere, All the Time by Cesare Rocchi

```

03:53 - Auto Layout

``` Cocoa Auto Layout Guide

```

04:45 - Resolutions

``` Spring and Struts Localization Right-Left Languages

```

09:15 - Using vs Not Using Auto Layout

``` Constraints Using Interface Builder

```

22:40 - Auto Layout & Animation

``` Esoteric Animations

```

26:53 - ASCII Art

29:46 - Intrinsic Size

33:07 - Apple saying you should have used Auto Layout last year

36:22 - Open Source Tools that give Auto Layout-type Capabilities

``` Wrappers

```

Picks

``` Online 3D Model Converter (Ben) Saint Arnold Icon Gold (Bière De Saison) - Saint Arnold Brewing Company (Ben) NoFlo (Rod) Cocoa Slopes (Rod) Dev Juice: Using your tech support incidents (Andrew) objc.io (Andrew) The Choosatron (Jaim) The Replacements (Jaim) Reveal (Pete) Bitter American (Pete) Teensy 3.0 (Pete) The Best Map Ever Made of America’s Racial Segregation (Chuck) Kindle (Chuck) Kindle for Mac (Chuck) Clean Office (Chuck) FrameAccessor (Cesare) App.net (Cesare) Appsterdam (Cesare) Wasatch Brewery: Polygamy Porter (Rod)

```

Next Week

iOS Development with Vim with Jason Felice

Transcript

CESARE: By the way, I have a whole set of pictures of Starbucks bartenders trying to spell correctly my name and write it on the cup.

[Laughter]

CHUCK: Hey everybody and welcome to Episode 19 of The iPhreaks Show! This week on our panel, we have Pete Hodgson.

PETE: Insert amusing British culture reference here!

CHUCK: Ben Scheirman.

BEN: Hello from H-Town!

CHUCK: Andrew Madsen.

ANDREW: Hi from Salt Lake City.

CHUCK: Jaim Zuber.

JAIM: Hello from Houston! I’m not actually in Houston, but it feels like I’m in Houston.

[Laughter]

JAIM: It’s like 95 degrees out here in Minnesota. I could like call a van that’s full of ice cream or something, I don’t know.

CHUCK: [Laughs]

BEN: Yeah! It’s only 87 right now, so you’re actually hotter than us.

JAIM: I think we switched.

CHUCK: And humid?

JAIM: Humid? Not super humid, but yeah, pretty bad.

CHUCK: We also have Rod Schmidt.

ROD: Hello from Salt Lake City!

CHUCK: I’m Charles Max Wood from DevChat.tv. We have a special guest this way, and that’s Cesare Rocchi or Rocci.

CESARE: Rocci. Rocci. Right.

CHUCK: Rocci. Yeah, I knew that!

PETE: You almost did it!

CHUCK: I almost did it, yeah. I’m famous I guess for botching people’s last names, but I speak Italian and I read Italian, and Italian’s read like it’s written. Anyway, Cesare, since you’re new to the show, do you want to introduce yourself really quickly?

CESARE: Yes! I’m Cesare. Hello from my office, which is in Italy on East Coast in Rimini, to be exact. I’m a iOS developer, I got started in 2007, and yes, that’s before the SDK, the official SDK was released. I did a bunch of client work. Now, I’m focusing on my applications. I speak at conferences; I’ll be at CocoaConf in Boston at the end of October. I write books; my latest book is “iCloud for Developers” published by The PragProg. That’s all. There’s more, but that’s all at the moment.

CHUCK: [Laughs]

BEN: Is your book like a coping mechanism for iCloud?

[Laughter]

CESARE: Yeah, kind of. And yes, there is a chapter about Core Data and iCloud. And it’s not anti-pages.

CHUCK: [Laughs]

BEN: It’s not like, this page intentionally left link?

CESARE: No!

BEN: [Laughs]

CESARE: Though I thought of that [laughs].

CHUCK: It looks and feels like a big band aid for your pain that you have.

View Details

Panel

``` Ken Auer (twitter github RoleModel Software) Pete Hodgson (twitter github blog) Andrew Madsen (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Jaim Zuber (twitter Sharp Five Software) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:57 - Software Craftsmanship Defined

01:26 - Manifesto for Software Craftsmanship

03:43 - Apprenticeship

``` Situated Learning: Legitimate Peripheral Participation (Learning in Doing: Social, Cognitive and Computational Perspectives) by Jean Lave & Etienne Wenger Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt

```

09:25 - At what level do you consider somebody a “Craftsman”?

10:46 - How can you tell somebody is a Craftsman?

``` Pair Programming

```

15:14 - Empathy

``` One Love For Nurses

```

20:36 - Code Retreats, Katas, and Reviews

``` RoleModel Software’s Craftsmanship Academy

```

28:07 - Pairing Partner Knowledge Levels and Learning

31:38 - Professionals and Professionalism

35:26 - Cost vs Value

``` Don't Make Squirrel Burgers

```

Picks

``` Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt (Pete) My Life with Code Reviews (Pete) CodeRunner (Andrew) QuickRadar (Andrew) Rogue Brutal Bitter IPA (Ben) Web Economy Bullshit Generator (Ben) 7 Little Words (Ben) Plants vs. Zombies 2 (Ben) LSNewsletterInvite (Rod) Toastmasters International (Jaim) exercism.io (Chuck) 4 Pics 1 Song (Chuck) Go to User Group Meetings (Chuck) Situated Learning: Legitimate Peripheral Participation (Learning in Doing: Social, Cognitive and Computational Perspectives) by Jean Lave & Etienne Wenger (Ken)

```

Next Week

Autolayout with Cesare Rocchi

Transcript

CHUCK: Hey everybody and welcome to Episode 18 of The iPhreaks Show! This week on our panel, we have Pete Hodgson.

PETE: Hello from San Francisco! I can’t think of anything funny to say.

CHUCK: Andrew Madsen.

ANDREW: Hi from Salt Lake City!

CHUCK: Ben Scheirman.

BEN: Hello from Houston!

CHUCK: Jaim Zuber.

JAIM: Hello from Minneapolis!

CHUCK: Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: I’m Charles Max Wood from DevChat.tv. This week, we have a special guest, and that’s Ken, is it Auer?

KEN: That’s correct! And I’m in Holly Springs, North Carolina.

CHUCK: Awesome. We brought you on the show today to talk about “Software Craftsmanship”.

KEN: Good! That’s what I came for!

CHUCK: Oh, good!

BEN: You mean cowboy coding?

CHUCK: [Laughs] Cowboy coding…

KEN: Not at all.

CHUCK: [Laughs] Don’t make him get his gun.

BEN: [Chuckles]

CHUCK: Do you want to just explain what Software Craftsmanship is?

KEN: In a nutshell, I would say caring about the craft and what you’re doing and how you’re building yourself with. I tend to come from the school that Software Craftsmanship as opposed to the people who software craftsman and impress other people [unclear].

CHUCK: [Laughs] I like that. I know a lot of the latter. I know a few other former, too. I’ve talked to few people about Software Craftsmanship before. The one that comes to mind first off is Micah Martin who’s Uncle Bob’s son over at 8th Light. When I talked to him, he actually mentioned the Manifesto for Software Craftsmanship. Is that something that you try and stand by? And, is there a lot of culture and (I’m trying to think of what the right word is), sort of like the Agile Manifesto where there’s all of this extra stuff around it. Does the Software Craftsmanship kind of have that as well?

KEN: I think, what are in the Software Craftsmanship Manifesto, if I understand it right because I wasn’t there when they put it up, it’s really just about software people that are often just get them treated like mushrooms; shelved in the dark in the corner if they don’t, and hopefully they go out. The whole idea was, “This is something that we should be proud of and do well.

View Details

Panel

``` Brandon Alexander (twitter github blog) Pete Hodgson (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Andrew Madsen (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:19 - Brandon Alexander Introduction

``` Black Pixel Pro iOS 5 Tools: Xcode, Instruments and Build Tools by Brandon Alexander

```

02:00 - Performance Tooling & User Experience

04:30 - Reproducibility with Experiments

07:50 - Measuring Frame Rate

09:31 - CPU vs GPU

12:56 - Tools

``` Frames Per Second Time Profiler

```

16:24 - OpenGL ES

17:35 - Performance Tuning for Memory-Bound Applications

19:26 - Memory Allocation

28:16 - Network Requests

``` “ns run loop modes” NSURLConnection

```

36:14 - Visual Changes in iOS 7 and Performance Tuning

39:05 - Mocking and Stubbing

41:15 - Battery Life

45:24 - Profiling CPU-Bound Stuff

Picks

``` mmap (Jaim) appledoc (Andrew) CocoaDocs (Andrew) Cocoanetics (Andrew) Wil Shipley: Pimp My Code, Part 15: The Greatest Bug of All (Andrew) WWDC Videos (Pete) Having a "device lab": picking your supported devices, and test on them (Pete) Instapaper (Pete) Network Link Conditioner (Pete) FormatterKit (Rod) The Mathematical Hacker (Rod) Pivotal Tracker (Chuck) Redmine (Chuck) Xcode (Brandon) Dash (Brandon) Kaleidoscope (Brandon) LLDB Python Reference (Brandon)

```

Next Week

Software Craftsmanship with Ken Auer

Transcript

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces fit together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 17 of The iPhreaks Show! This week on our panel, we have Pete Hodgson.

PETE: Hello, hello from San Francisco!

CHUCK: Jaim Zuber.

JAIM: Hello from Minneapolis!

CHUCK: Andrew Madsen.

ANDREW: Hi from Salt Lake City!

CHUCK: Rod Schimdt.

ROD: Hello, hello from Salt Lake!

CHUCK: I’m Charles Max Wood from DevChat.tv. This week we have a special guest, and that is Brandon Alexander.

BRANDON: Hello! I’m coming from Atlanta, Georgia.

CHUCK: Since you haven’t been on the show before, do you want to give us a brief introduction, let us know who you are?

BRANDON: I’m currently a iOS and hopefully Mac developer for Black Pixel. I do a lot of the client development work and test as much as I can a lot of our products. I’m also an author, a conference speaker, and I’ve also done a training video to appear soon.

CHUCK: Nice! Sounds like fun! What book did you write? I’m curious…

BRANDON: The book I wrote is called “Pro iOS 5 Tools”. It’s a couple of versions of iOS old, but the techniques in the book are still completely valid today.

CHUCK: Very nice. Alright, we’ll tell people to go check it out. We brought you on the show to talk about “Performance Tuning” for your iOS app. I think it’s interesting; we’re talking about a resource-constrained environment. Is it about the user’s experience? Or, are there other concerns as well that we’re trying to optimize for?

BRANDON: Ultimately, it’s about the user experience. If you try to implement something and the user doesn’t have a good experience with it, or it does something over the phone like battery life, you might want to rethink that feature or rethink the assumptions of your application.

View Details

Panel

``` Andrew Madsen (twitter github blog) Pete Hodgson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:33 - The Apple Developer Portal

01:57 - When the portal goes down

05:35 - What the Portal Does

``` iBooks System Status

```

07:20 - Certificates and Provisioning Profiles

``` Wildcard Certificate nomad cupertino shenzhen venice

```

17:50 - Managing the Device List

21:45 - Clients and Developer Accounts

23:00 - NDA

27:04 - Submitting Apps to the App Store

29:04 - iTunes Connect

34:24 - Rejecting Apps

37:46 - Apps on Particular Devices

Version Requirements

44:05 - Entitlements

44:44 - TSIs

Picks

``` FontAwesome-for-iOS (Rod) When to use -retainCount? (Andrew) Strange Loop (Pete) Boxen (Pete) Homebrew (Pete) The Changelog (Pete) Brian Gorby - AppResigner: Easily re-sign iOS apps (Ben) Apple - Support - iPhone - Enterprise (Ben) Average App Store Review Times (Ben) Brian Stevens / Data Porters (Chuck) Canvas by Instructure (Chuck) Wistia (Chuck)

```

Next Week

Performance Tuning with Brandon Alexander

Transcript

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 16 of the iPhreaks Show! This week on our panel, we have Andrew Madsen.

ANDREW: Hi from Salt Lake City!

CHUCK: Pete Hodgson.

PETE: Hello from San Francisco where BART is not striking here.

BEN: [Chuckles]

CHUCK: Where what is not striking?

BEN: BART.

CHUCK: BART.

PETE: Bay Area Rapid Transit.

CHUCK: Rod!

ROD: Hello from Salt Lake City!

CHUCK: And we also have Ben Scheirman.

BEN: Hello from Houston where it's 180 degrees!

[Laughter]

CHUCK: I'm Charles Max Wood from DevChat.tv. Real quickly, one of the reasons that I do this show is so that I can get work. So if you need backend work for your iPhone application and you're interested in using Ruby on Rails, I am available for hire!

Alright, well let's get to the show! This week, we were talking about and having a discussion on the "Apple Developer Portal", when it's working.

[Chuckles]

ANDREW: Which is, sort of mostly right now.

BEN: Yeah. We'll be back soon [laughs].

CHUCK: Yup.

PETE: Except not soon.

[Laughter]

PETE: For some definition to see.

CHUCK: Yeah.

ANDREW: Oh, man!

BEN: Yeah. They have a very loose definition of soon, I think.

PETE: [Chuckles]

BEN: Do we want to start off by just talking about what happened there? I don't know if anybody has any like behind the scenes info on the portal being down, but from what I heard, they detected some sort of hack attempt. And then shortly there after, this, I think he was an Israeli hacker, or I shouldn't say hacker, security researcher, came out and said --

CHUCK: [Laughs]

BEN: "I successfully exploited this thing, and I told you about it and filed a radar. I just wanted to see how deep it went," so he pulled out, I don't remember how many users' contact info from the Dev Portal, and he posted a little screencast on the type of data he got and the level. I don't know if that -- they seem to be related because it was like around the exact same time.

View Details

Panel

``` Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast) Rod Schmidt (twitter github infiniteNIL) Andrew Madsen (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:10 - Jaim Zuber Introduction

02:15 - Integrating somebody else’s code into your project without using Cocoapods

``` Dragging & dropping source files Static Library Approach Frameworks Circumventing

```

10:38 - Cocoapods Libraries

``` Cocoa Controls

```

12:37 - Frequently Used Pods

``` AFNetworking RestKit ocmock Kiwi SVProgressHUD BlocksKit

```

15:29 - Getting a Pod into a Library or Application

``` Versioning Multiple Targets Specifying a Path to a Repository Handling Multiple Platforms

```

28:07 - RubyMotion and Cocoapods

``` motion-cocoapods

```

29:29 - Using Cocoapods on Client Work

30:08 - Testing

32:17 - Creating Your Own Pods

``` Hosting Dependencies

```

Picks

``` Objective-C Modules (Andrew) UTAsync (Jaim) CocoaPods Xcode Plugin (Rod) VVDocumenter (Rod) CocoaDocs (Ben) cocoapods-xcode-plugin (Ben) Getting Things Done by David Allen (Chuck) Omnifocus (Chuck)

```

Next Week

The Developer Portal

Transcript

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 15 of the iPhreaks Show! This week on our panel, we have Ben Scheirman.

BEN: Hello from Houston!

CHUCK: We have Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: Andrew Madsen.

ANDREW: Hello also from Salt Lake!

CHUCK: And we have a new guest panelist, that is Jaim Zuber.

JAIM: Hello from Minneapolis!

CHUCK: Do you want to introduce yourself really quickly since you're new to the show?

JAIM: Sure, happy to! Independent consultants, I've been doing iOS stuff for about 2-3 years; before that, I did some kind of .NET stuff. Way before that, I did a lot of C++ and C stuff in kind of the past life. But, yeah, I'm doing iOS right now, mobile stuff, and enjoying it!

CHUCK: Sounds good! I'm Charles Max Wood from DevChat.tv. This week, we're going to talk about "CocoaPods".

BEN: Yay!

CHUCK: [Laughs]

ROD: [Chuckles]

JAIM: I'm cuckoo for CocoaPods.

CHUCK: There we go.

JAIM: [Laughs]

BEN: I'm a super fan of CocoaPods. I wonder if we have any haters in the audience, or on the panel.

ANDREW: Yeah, I'm the hater.

BEN: [Inaudible]

ANDREW: Not really.

BEN: Okay [laughs].

ANDREW: I just don't use it.

BEN: You say you're the dissenting opinion?

ANDREW: I can do that, sure.

CHUCK: I've had people basically say, "Well, it's just like having bundler - bundlers of utility in Ruby for iOS!" I was like, "Oh! That sounds nice." But that doesn't really tell me necessarily how it works.

BEN: So can we start off by maybe describing what it takes to integrate somebody else's code into your project without something like CocoaPods?

ROD: [Chuckles]

CHUCK: Yes. Yes, let's frame the public.

BEN: Anybody want to describe this for like, say, a moderately complex library?

ANDREW: It depends on how complicated the library is. But at its simplest, you can just drag source code from their project into yours and add it to your project, and that's it. But I think,

View Details

Panel

``` Pete Hodgson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Andrew Madsen (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:31 - Andrew Madsen Introduction

``` Mixed...

```

View Details

Panel

``` Ben Scheirman (twitter github blog NSSreencast) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:09 - Backend Experience

01:49 - Connecting to APIs & Synchronization

``` Windows Azure Mobile Services iCloud Wasabi Sync TICoreDataSync Buoy Explorer

```

07:10 - Third-party APIs

``` OAuth Instragram Stripe

```

11:57 - Parsing

``` NSXMLParser NSXMLDocument Cocoa with Love: Using libxml2 for XML parsing and XPath queries in Cocoa libxml

```

18:18 - JSON

``` RestKit

```

22:38 - Libraries

``` AFNetworking

```

31:02 - Building Backends for iOS Applications

``` DeliRadio

```

35:05 - Security

``` SSL Pinning Charles API Keys Secrets

```

41:28 - Support Caching

``` NSURLCache

```

45:34 - Charles

Picks

``` objc.io (Rod) Mackie | Onyx Blackjack 2x2 USB Interface (Ben) Runscope (Ben) Daring Fireball: Markdown Syntax Documentation (Chuck)

```

Next Week

Debugging

Transcript

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 13 of the iPhreaks Show! This week on our panel, we have Ben Scheirman.

BEN: Hello from Houston!

CHUCK: We also have Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: I'm Charles Max Wood from DevChat.tv. This week, we're going to be talking about "Connecting to Backend APIs and just Backend Systems" in general. I'm curious, how much of this kind of thing have you guys done in the past?

BEN: That's pretty much the central part of any app that we develop. Most apps aren't really self-contained; it's a functionality. A lot of them required data that's accessible somewhere else. Or, even if you generate the data on the device, usually, people want to access that data elsewhere as well. So sometimes, you can consider things like iCloud, but that's more of an Apple-centric solution if you're billing it out for the web or for multiple platforms, and maybe you would consider building your own API and synchronizing with that.

CHUCK: When you're talking about building your own API, I know that there are these syncing services out there that you send data to it and it does something with it, do you know under what circumstances that would be a good idea versus building your own API that does specific things with the data on the backend?

BEN: It really depends on where, how much focus you have, how much time do you have to build something and where your skill set lies. For folks who aren't server-side developers, building an API is actually a tall order, and there are plenty of solutions out there that will do that for you at the cost of, sometimes flexibility, sometimes data portability, and you're sort of at the whim of the interface that they provide for you.

But there's systems like Windows Add/Removal services, which allow you to just focus on your part - the mobile client portion of it. But they have support for saving data and sending push notifications, that sort of thing. There's also parse and there's just a bunch of others out there that can synchronize data. Some of them are focused purely on synchronizing Core Data models. So there's iCloud Core Data, which receives some sort of a lot of negative press,

View Details

Panel

``` Sam Soffes (twitter github blog) Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:13 - Sam Soffes Introduction

``` Seesaw/@Seesaw

```

01:46 - Roon.io/@roon_app

``` Drew Wilson Octopress

```

03:03 - Open Source in iOS

``` Writing Tests Flurry TestFlight PLCrashReporter

```

09:00 - Open Sourcing Projects

``` cheddar-ios Licensing

```

13:19 - Shared code between iOS and Mac

``` 004 iPhreaks Show - Mac Development with Josh Abernathy Categories

```

17:48 - Contributions, Pull Requests & Bug Fixes

20:15 - Open Source Libraries

``` CocoaPods

```

28:40 - Finding Reliable Libraries

``` Rating Activity READMEs Cocoa Controls

```

32:44 - Contributing to Open Source Projects

``` Consistency (tabs vs spaces) Testing Squashing Commits Submitting Code/Changes

```

38:09 - Cleaning Up Pull Requests

41:08 - Open Source at Seesaw

``` SEEActivityIndicatorView

```

Picks

``` semver.org (Ben) Anker Astro3E Portable External Battery Pack (Ben) Cards Against Humanity (Ben) Travis CI (Pete) Pete Hodgson: Using Travis CI and xctool to build and test iOS apps (Pete) Reading Application Licenses (Pete) AppCoreKit (Rod) WatchESPN AppleTV App (Rod) Put Objective-C Back On The Map (Ben) David Siteman Garland: Create Awesome Online Courses (Chuck) How to Write a Nonfiction eBook in 21 Days by Steve Scott (Chuck) Amazon Prime (Chuck) Kickoff App (Sam) redcarpet (Sam)

```

Next Week

Backends

Transcript

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 12 of iPhreaks! This week on our panel, we have Pete Hodgson.

PETE: Buongiorno from rainy San Francisco this morning!

CHUCK: Ben Scheirman.

BEN: I can give you a very jet lagged hello from Houston!

CHUCK: Rod Schimdt.

ROD: Hello from Salt Lake City!

CHUCK: I'm Charles Max Wood from DevChat.tv. This week, we have a special guest and that's Sam Soffes. Alright!

SAM: Hello!

CHUCK: Do you want to introduce yourself real quick?

SAM: Sure! I live in Kentucky right now. I work in a company called "Seesaw". I'm working on a bunch of little projects; Roon had been my main side project right now.

CHUCK: Awesome.

BEN: That's Roon, R-O-O-N.io, right?

SAM: You got it!

BEN: Yeah, I'm primed I've got the best username. All I need to do now is blog a little bit.

[Laughter]

BEN: So Roon is like a blogging platform. What makes it kind of compelling in comparison to some of the other things that are out there?

SAM: It's a product I did with Drew Wilson. If you're not familiar with his work, he's a spectacular designer. I always wanted it that makes it really simple that we wanted to use, and hopefully other people wanted to use, too, so he just made something really simple that's really beautiful, and there's also a native iPhone app. The iPad app is like the universal, it's almost done; I'm submitting it, hopefully, this week. And we have a Mac app in the Pipeline. It's just like we wanted to make a really good writing experience that's simple and pretty and hopefully people like it.

CHUCK: Awesome.

BEN: Yeah,

View Details

Panel

``` Pete Hodgson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:06 - Web Apps vs Native Apps

``` HTML UIWebView Platform Coverage vs User Experience

```

04:48 - Uncanny Valley Effect

06:18 - Frameworks

``` Sencha Touch Appcelerator Titanium SDK PhoneGap Kony

```

08:37 - Mobile vs Web Experience

13:15 - Uncanny Valley Effect

``` Toy Story vs Polar Express

```

15:20 - Scrolling of Web Views

17:04 - Making Smart Technology Choices

``` Platform Reach

```

22:13 - Access

``` PhoneGap Calatrava

```

25:29 - Focus

28:18 - Exposure and Discoverability

30:20 - Cross-Platform Tradeoffs

32:21 - Offline Access

``` HTML5 App Cache Every Time Zone

```

35:45 - HTML Presentation Frameworks

``` jQuery Mobile 059 JSJ jQuery Mobile with Todd Parker

```

Picks

``` Calatrava (Pete) Iain Banks (Pete) Elixir (Rod) The Power Formula for LinkedIn Success: Kick-start Your Business, Brand, and Job Search by Wayne Breitbarth (Chuck) Twitter Bootstrap (Chuck) HTML5 Rocks (Chuck)

```

Next Week

iPhreaks Show: Open Source with Sam Soffes

Transcript

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 11 of iPhreaks! This week on our panel, we have Pete Hodgson.

PETE: Good morning!

CHUCK: Rod Schmidt.

ROD: Good morning!

CHUCK: I'm Charles Max Wood from DevChat.tv. This week we're going to be talking about the tradeoffs between "Web Apps and Native Apps". One of the things that kind of made me want to talk about this was that I remember a while ago, 37signals came out and basically said, "We're not going to write iPhone Apps or Android Apps for our products. We're just going to make mobile versions of the websites and people could just use that," and I thought that was really interesting. So I'm curious with you guys, what you see as the tradeoffs between one or the other.

ROD: Well, since they've changed a little bit, they're now using RubyMotion for their Basecamp App mixed with some web technology, so now they're kind of hybrid.

PETE: I think that's a really good point. When I talk about this stuff to clients, I say like the question of Web versus Native, the answer is "Yes". And really it's not like, "Should I do Web? Or, should I do Native?" It's "Where should I sit on the spectrum between Fully-Native and Fully-HTML?" Actually, not that many people go to [Inaudible], so there's not that many products that don't have any installed app or tool, and there's not that many products that don't use the web at some point inside of their, even if it's a Native App, a lot of apps still have webby stuff inside of them; that's sometimes surprising.

CHUCK: What do you mean by webby stuff? Are you talking about --

PETE: Even just something as simple as HTML, an HTML View. Let's say you're doing legal disclaimer as the classic example they always use, you're doing legal disclaimers for your app, you could do the layout and mock up and stuff in code. Or, you could just write some simple HTML, shove it in the UIWebView, and embed it in your app. That's normally about a way to go.

CHUCK: Yeah, that was what I was wondering; it's if they were using UIWebView,

View Details

Panel

``` Ben Scheirman (twitter github blog NSSreencast) Rod Schmidt (twitter github infiniteNIL) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:22 - Launching a UIWebView and pointing it to a remote URL

``` Autoplay Streaming over 3G or LTE

```

03:01 - HTTP Live Streaming

``` AVPlayer MPMoviePlayerController MPMoviePlayerViewController Microsoft Silverlight AV Foundation

```

11:24 - AVPlayer

``` Asynchronous Key Loading Protocol AVURLAsset Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS by Chris Adamson Key-Value Observing (KVO) Deli Radio AVAudioPlayer

```

19:42 - Use Cases

``` System Sound Audio Categories Playback Control AVQueuePlayer

```

32:21 - Core Audio

``` Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS by Chris Adamson Adding effects to audio and video AV Audio Mix Echo

```

38:51 - Interruption

42:04 - Network Connections

``` Network Link Conditioner in Lion - Matt Gemmell

```

44:07 - .MP3, .CAF, .AIFF, .AAC

45:32 - Transcoding

``` Zencoder M3U

```

Picks

``` Audacity (Rod) Customers (Rod) The Little Redis Book by Karl Seguin (Ben) MMDrawerController (Ben) MacBuildServer (Ben) OpenEmu (Ben) Reveal App (Pete) Snap CI (Pete) Buildozer (Pete) ThinkGeek (Pete) Commit (Chuck) Candy Crush Saga (Chuck) Mini Golf MatchUp (Chuck) Portal (Chuck)

```

Next Week

Web Apps & HTML5 vs Native Apps

Transcript

ROD: I'd get my Dad a Darth Vader helmet...because he's my father.

BEN: Yeah, I got it.

[laughter]

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 10 of iPhreaks! That's right, we're on the double digits now! This week on our panel, we have Ben Scheirman.

BEN: Hello from NSScreencast.com!

CHUCK: Rod Schmidt.

ROD: Hello from Salt Lake!

CHUCK: Pete Hodgson.

PETE: Hello from thepete.net!

[Ben laughs]

CHUCK: And I'm Charles Max Wood from DevChat.tv! This week we are going to be talking about "Audio and Video" in your apps.

BEN: So this is where you just launch a UIWebView and point it to remote URL and then you're done?

PETE: I did that once.

CHUCK: All the games that I play, I have to turn the sound off on them.

PETE: I actually did do that once, Ben.

BEN: Yes, it's the quick and easy way to do it.

PETE: Yup, it was surprisingly good. I discovered, we're going to jump straight into rearcane pit of noise, but didn't let you do "Autoplay" on video; Apple doesn't want you to do that. Can you still not do that if you're using native video?

BEN: You can do whatever you want with the native stuff.

PETE: Okay. So for the web one, you can't. But this --

BEN: I think it's just kind of the Safari limitation...

PETE: Yeah [chuckles].

CHUCK: Every browser should do that. That rise me asked, too.

PETE: I think they say it's a battery issue more than anything else like they don't want you firing up the radio to download like 50 maybe, to start offering conserve concept.

BEN: Yeah, they have gotten a little bit more strict on the rules for that, and I don't remember the exact numbers off the top of my head.

View Details

Panel

``` Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:18 - Interface Builder

01:55 - Custom-designed interfaces

02:32 - Tips and Tricks

03:04 - Interface Builder Buttons and Functions

``` File’s Owner First Responder The Responder Chain Events/Actions Objects Elements Views Outlet Storyboards Segues/Segways

```

09:39 - Cons of Using Interface Builder

``` Team Environments

```

13:13 - Custom Work

``` Writing a custom UI

```

14:52 - Controllers

``` GLKit Table View

```

19:09 - Static Cells and Storyboards

21:23 - Dynamic Prototypes and Prototype Cells

23:23 - Getting a Table View Cell into the Table View

24:48 - Rod’s Apps

``` Numerology Numerology Baby Namer

```

25:29 - Rejection from the App Store

27:50 - Gestures

30:19 - Calendar View

Picks

``` NSBrief: Episode #97: Jon Reid (Rod) Ember.js (Rod) Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement by Jim R. Wilson (Chuck) Eventbrite (Chuck)

```

Next Week

Audio and Video in Apps

Transcript

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 9 of iPhreaks! This week on our panel, we have Rod Schimdt.

ROD: Hello from Salt Lake City!

CHUCK: And I'm Charles Max Wood from DevChat.tv. And due to a little bit of a scheduling snafu, it's just the two of us today! So, you get to hear more from us.

ROD: Yeah, if I ain't got a chance to talk.

CHUCK: Yeah. I think Pete and Ben and I all suffer from the same "we like to hear ourselves talk" and we always have something to say [laughs].

ROD: [chuckles] Alright!

CHUCK: Anyway, let's get this started. Our scheduled topic today is "Interface Builder and Storyboards", which is something that I've actually played with a little bit - all the time.

ROD: And do you have questions about it? Or, issues you want to talk about it?

CHUCK: Not really. I mean I haven't done anything too complicated with it. And for the most part, you drag the Elements out there; you link them up with the actions on your ViewController, and it just kind of works!

ROD: Okay. So you just want to talk about how they work and what you can do with them?

CHUCK: Yeah, I'm sure I'll have questions. I guess one question right off the bat is what if you have some kind of like custom-designed interface? Can you do that with Storyboards or Interface Builder?

ROD: Not really. Interface Builder are designed for most of the built-in controls. When you want to do custom work, you basically just put a View out there, set its class, and then you have to write all the custom code for that class.

CHUCK: Oh, interesting.

ROD: There the step on how you do it. So, if you're doing a lot of custom work, it's mostly good for just laying out the basic structure of your user interface, and then you go from there.

CHUCK: Nice. I'm looking at it here; I actually pulled it up so I could actually look at it and ask you questions about it. But before we get into that, are there any tricks that you use to make it easier to reason with?

ROD: What do you mean by reason with?

CHUCK: Well just, are there any things that make Interface Builder easier to use that you do?

ROD: No.

View Details

Panel

``` Ben Lachman (twitter blog) Pete Hodgson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:30 - Ben Lachman Introduction

``` Acacia Tree Software Nice Mohawk SousChef Ita

```

03:12 - Prototyping and Mockup Tools

``` Adobe Photoshop Pen and Paper Forecast Interface Builder Balsamiq Mockingbird Keynote Kung-Fu Graffletopia: OmniGraffle Stencils Prototypes

```

15:25 - What makes a good prototype

18:04 - Building a good prototype

``` Make a prototype; not a concept Start with pen and paper

```

19:39 - Issues that prototyping helps you identify

``` Discoverability Features Visibility Features

```

20:11 - Solving issues and sharing prototypes with clients

``` Usability Testing Screenshots Briefs 2

```

27:52 - Laying out your application

``` Code Spikes

```

32:43 - Prototyping for Clients

35:29 - Building Prototypes in HTML

``` Briefs 2

```

37:34 - Using iPads/etc. instead of pen and paper

``` Paper SketchBook Pro

```

39:09 - Buttons

Picks

``` iPhone Stencil Kit (Ben) Play by Play: Neven Mrgan | PeepCode Screencasts (Ben) Skala Preview (Ben) Xscope (Ben) UI Stencils - iPhone Sketch Pad (Rod) Screen Time (Rod) iPhone Stamp for UI Sketching - The Russians Used a Pencil (Pete) POP - Prototyping on Paper (Pete) PocketCasts (Pete) Spaced (Pete) iOctocat (Chuck) ioctocat on GitHub (Chuck) Briefs 2 (Ben L) Coworking (Ben L) Paint Code (Ben L) Bow Truss (Ben L)

```

Next Week

Interface Builder

Transcript

PETE: I’m trying to decide who I would rather work for...

[Chuck laughs]

PETE: That mob would be more interesting, but probably a little bit more scary.

[This show is sponsored by The Pragmatic Studio. The Pragmatic Studio has been teaching iOS development since November of 2008. They have a 4-day hands-on course where you'll learn all the tools, APIs, and techniques to build iOS Apps with confidence and understand how all the pieces work together. They have two courses coming up: the first one is in July, from the 22nd - 25th, in Western Virginia, and you can get early registration up through June 21st; you can also sign up for their August course, and that's August 26th - 29th in Denver, Colorado, and you can get early registration through July 26th. If you want a private course for teams of 5 developers or more, you can also sign up on their website at pragmaticstudio.com.]

CHUCK: Hey everybody and welcome to Episode 8 of iPhreaks! This week on our panel, we have Pete Hodgson.

PETE: Hello! I'm so impressed with Charles Max Wood newest episode with or without any thinking, well done!

CHUCK: I looked it up beforehand.

[Pete chuckles]

CHUCK: Rod Schimdt.

ROD: Hello from Salt Lake!

CHUCK: Ben Scheirman.

BEN: Hello from hot and humid Houston!

CHUCK: I'm Charles Max Wood from DevChat.tv. And we have a special guest today, and that's Ben, is it Lachman?

BEN L: Yes, it is! And hello from Athens, Ohio, which is also hot and humid! Probably not as hot as Houston..

CHUCK: So you want to introduce yourself really quickly?

BEN L: Yeah! I've been around the Mac and iOS dev world for about 10 or 12 years at this point; actually, I guess that would be before the iOS dev world really was around. And I write software for a couple of companies of my own. One is "Acacia Tree Software", and the other is newer and I started with a business partner in Cleveland, Ohio named Bob Cantoni and it's called "Nice Mohawk".

So yeah, we write some iOS software, some Mac software, and we do contract work as well.

CHUCK: Awesome. I'm a little curious before we get into what we're going to talk about, how much iOS and Mac stuff do you write as products that you sell versus client stuff that you do for other people?

BEN L: We've done a fairly good job, for like a two-man shop,

View Details

Panel

``` Pete Hodgson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

DevChat.TV Indiegogo Campaign

0...

View Details

Panel

``` Saul Mora (twitter github NSBrief) Rod Schmidt (twitter github infiniteNIL) Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:22 - Cora Data

``` Core Data Programming Guide SQLite fmdb Transient Entities and Core Data | Cocoa Is My Girlfriend

```

07:50 - Stores and Contexts

``` NSManagedObject Persistent Store Coordinator Core Data Editor Creating a CoreData Model in Code | Cocoanetics

```

21:17 - Faulting and Fetching

``` NSFetchRequest The Law of Leaky Abstractions -com.apple.CoreData.SQLDebug 1 Base 2 CouchDB MongoDB TokyoCabinet

```

27:48 - Is Core Data the right tool for the job?

``` Brent Simmons: On switching away from Core Data

```

29:46 - Managed Object Context

``` MagicalRecord Core Data and Threads, Without the Headache | Cocoa Is My Girlfriend Core Data: Data Storage and Management for iOS, OS X, and iCloud by Marcus S. Zarra

```

38:22 - Importing Data

40:08 - Predicates

``` Predicate Programming Guide

```

Picks

``` mogenerator (Ben) PonyDebugger (Ben) xctool (Pete) Neo4j (Pete) AeroPress (Pete) TICoreDataSync (Rod) Countly (Rod) Heil PR-40 Dynamic Studio Recording Microphone (Chuck) Roland R-05 Studio WAVE/MP3 Recorder (Chuck) iOS Programming: The Big Nerd Ranch Guide by Aaron Hillegass (Chuck) NSBrief (Saul) Wasabi Sync (Saul) Sip (Saul) Star Trek II: The Wrath of Khan (Saul)

```

Next Week

WWDC

Transcript

SAUL: I like your style.

CHUCK: Hey everybody and welcome to Episode 6 of iPhreaks! This week on our panel we have, Rod Schmidt

ROD: Hello from Salt Lake City!

CHUCK: We also have Pete Hodgson.

PETE: Good morning from San Francisco!

CHUCK: We also have Ben Scheirman.

BEN: Hello from Houston, Texas!

CHUCK: I'm Charles Max Wood from DevChat.tv. And we have a special guest this week, that is Saul Mora!

SAUL: Hello from Denver!

CHUCK: Denver? I thought you said Fort Collins? Is that not the same thing?

SAUL: [laughs] No, that's where the beer is. Okay [laughs]

CHUCK: Oh, I see.

SAUL: Right. But yeah, that wouldn't be so bad to go and get some beer now.

CHUCK: If you go and get too much beer, is it a one-way trip [inaudible]?

SAUL: [chuckles] Yeah, well, I have to take some guest with me.

CHUCK: Oh, here you go.

SAUL: But no...yeah, that's where the New Belgium Brewery is, so I take guests over there quite often. So for anybody comes and visit me in Denver, definitely head on up there.

CHUCK: Well I don't drink alcohol, but I'm going to be in Denver this weekend.

SAUL: Cool!

CHUCK: Maybe I'll come and shake your hand, buy you lunch, or something.

SAUL: Yeah! Just let me know!

CHUCK: Awesome!

ROD: You get to be the driver.

[laughter]

SAUL: There you go!

CHUCK: I don't know what my wife would say about that.

[laughter]

SAUL: Oh, there are plenty of breweries out here to visit. So, we can visit them anywhere.

CHUCK: Awesome! Well this week, we're going to be talking about CoreData. Or, do you call it Core Data?

SAUL: [laughs] I thought that was an English thing; Pete might know.

PETE: I'll refer to it as Core Data!

[laughter]

PETE: It's the French pronunciation. I still say Data; it's one of the few English things that I still say in the English way [inaudible].

SAUL: So do you say Beta or Beta?

PETE: Oh, that's a good (question). I think I say Beta now just because it's like a -- I was going to say just because it's a software thing, but Beta was a software thing. So, I don't know.

SAUL: We have gotten to him! Great!

[Chuck laughs]

PETE: Yeah. My covers are blown.

[laughter]

PETE: Actually, I'm native Texan.

CHUCK: Yeah, you've seen that? Now you only sound cool when you're talking about things other than computers.

PETE: Yup.

CHUCK: Alright. So CoreData,

View Details

Panel

``` Ben Scheirman (twitter github blog NSSreencast) Pete Hodgson (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

00:50 - Xcode Issues

``` Synta...

```

View Details

Panel

``` Josh Abernathy (twitter github blog) Rod Schmidt (twitter github infiniteNIL) Ben Scheirman (twitter github blog NSSreencast) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

01:25 - Josh Abernathy Introduction

``` GitHub GitHub for Mac GitHub Issues App GitHub Jobs App Lua Corona SDK

```

03:48 - Differences between writing an app for Mac and writing an app for iOS

``` AppKit UIKit Chameleon twui

```

05:37 - Model View Controller

``` Model View ViewModel Knockout.js 013 JSJ Knockout.js with Steven Sanderson (JavaScript Jabber)

```

11:51 - Testing

``` specta expecta OCMock

```

15:04 - NSTableView

``` Cocoa Programming for Mac OS X (4th Edition) by Aaron Hillegass

```

17:28 - iOS vs Mac

``` The Rude Awakening for iOS Devs: Josh Abernathy

```

22:05 - Memory Management

``` 002 iPhreaks Show - Memory Management Garbage Collection ARC

```

24:32 - Binding

27:23 - Fixing AppKit

32:09 - APIs

33:18 - App Store

``` Sandboxing

```

36:34 - Resources

``` Cocoa Controls Tweetbot Twitter Mac App The Hit List Things Cocoa Programming for Mac OS X (4th Edition) by Aaron Hillegass

```

40:47 - Sharing Code

``` Xamarin cheddar-mac cheddar-ios ReactiveCocoa

```

Picks

``` MOO (Ben) Kaleidoscope (Ben) Briefs (Ben) clojurem (Rod) Oblivion Soundtrack (Rod) CloudApp (Pete) MindNode (Pete) LimeChat: IRC Client for Mac (Pete) People are not resources - The Philosophical Developer (Pete) Downton Abbey (Chuck) Downton Abbey at 54 Below - Season 4, Episode 1 Sneak Peek (Chuck) GitHub (Chuck) Daring Fireball Linked List: Using Quartz Composer to Recreate Facebook Home (Josh)

```

Next Week

Xcode

Transcript

BEN: Have you seen that app "Little Inferno" by the guys who created World of Goo?

PETE: Mm-mm

BEN: It's a great game. It's on MacHeist right now; I think that's still going on. So if you --

CHUCK: Oh, I saw that!

BEN: Anyway, so my son is 3 and he's really adept at using the iPad, but he's never really used the computer before so like the whole mouse thing is totally foreign to him. But, he was watching me play this game and he gave it a shot. He's actually learning the click and drag stuff, which is pretty awesome.

PETE: Awesome.

BEN: I guess the downside is just learning to burn things...

[laughter]

CHUCK: Nice!

BEN: It's just kind of the point of the game. So...I don't know [laughs].

PETE: Yeah. It's a tradeoff, right?

BEN: Yes.

PETE: Dragging, clicking, burning...

CHUCK: Hey everybody and welcome to Episode 4 of iPhreaks! This week on our show we have, Rod Schimdt.

ROD: Hello, hello!

CHUCK: Ben Scheirman.

BEN: Hello from Houston!

CHUCK: Pete Hodgson.

PETE: Hello from [inaudible], San Francisco!

CHUCK: I'm Charles Max Wood from devchat.tv. This week we have a special guest, and that is Josh Abernathy. Did I say that right?

JOSH: Yeah! Yeah, you said it right.

CHUCK: If that's more than 2 syllables, I'm going to screw it up.

JOSH: [laughs] People always get turn off because it's long, but it's just like it looks.

CHUCK: Oh, I see. So, do you want to introduce yourself really quickly?

JOSH: Yeah! I'm Josh Abernathy. I work at GitHub on the GitHub for Mac App, and various other side things. And yeah, I've been doing Mac and iOS stuff for quite a while now. So hopefully, I'll have something interesting to say about the topic.

CHUCK: So is there a GitHub app for iOS?

JOSH: We have a couple different iOS Apps. There's an Issues App and there's a Jobs App, neither of them are particularly well-maintained at the moment. So, we kind of try to pretend we don't have any iOS Apps.

CHUCK: I see.

PETE: I actually tried to use the Issues App the other day...

[Josh laughs]

PETE: And then I went and look...Is it open source? Is it available kind of the code --

JOSH: No...

View Details

Panel

``` Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

```

Discussion

03:00 - Why don’t people test in iOS?

06:12 - Testing Definitions and the Mechanics of Testing

``` Instruments User Guide TestPyramid

```

13:00 - Why do we test our code? Why is it worth it?

``` Feedback Communication

```

19:28 - Practicing TDD (Test-driven development)

``` UI View Controllers

```

25:33 - Unit Testing is hard

28:01 - Tools

``` Send Testing Kit aka OCUnit Application and Logic Tests Running objective-c tests from the command line (with color) (Ben’s Script based on Eloy Durán’s) Continuous Integration Code Coverage Git Hooks gh-unit Kiwi Cedar RubyMotion Writing Tests for RubyMotion Apps Bacon

```

42:00 - Frank

``` Selenium Zucchini appium bwoken KIF Calabash Jenkins Writing iOS acceptance tests using Kiwi: Pete Hodgson PublicAutomation

```

Picks

``` TextExpander (Ben) Alfred (Ben) Jenkins (Ben) Oban Scotch (Ben) NSScreencast: Automated Testing with Kiwi (Pete) Rock Climbing (Pete) Scarlett Red (Pete) Test-Driven iOS Development by Graham J. Lee (Rod) 42 (Rod) Test iOS Apps with UI Automation: Bug Hunting Made Easy by Jonathan Penn (Pete) Backbone.js (Chuck) LaunchBar (Chuck)

```

Next Week

iOS/Mac & differences with Josh Abernathy

Transcript

PETE: So what are we talking about this Tuesday morning?

CHUCK: I'm not sure, but I think we should write a test for it first.

CHUCK: Hey everybody and welcome to Episode 3 of iPhreaks! This week on our panel we have, Pete Hodgson.

PETE: Hello from Butte Lake!

[Ben laughs]

CHUCK: Ben Scheirman...Butte Lake...

BEN: Very well done. Very well done.

[Ben laughs]

CHUCK: Ben Scheirman.

BEN: Hello from Houston!

CHUCK: We also have, Rod Schimdt.

ROD: Hello from Salt Lake City!

CHUCK: Sorry, Rod. I was looking at Pete's picture and I was like "No, I already said Pete".

[laughter]

BEN: Yeah, for those who didn't get the joke we were looking at the transcription from last episode, or from episode 1. And --

CHUCK: Did that get fixed?

PETE: It got fixed, yeah.

BEN: Okay. So originally, Pete said he's from Berkeley and it came through as Butte Lake, which I thought was hilarious.

PETE: I was pretty -- I was looking for the transcript -- it's pretty hilarious how much my accent has closed issues. For whatever personal machine is doing that transcription is definitely challenged by my accent.

CHUCK: We're really sorry to the transcriptionist.

PETE: Yeah.

[laughter]

CHUCK: We will pick our panelist more carefully next time.

PETE: Oh! It's my fault, huh?

[laughter]

CHUCK: Anyway...And you can tell I had to ask if it got fixed because I just asked Mandy to do it and assume it's done.

PETE: Yeah. No, she fixed it. She fixed it very very quickly.

CHUCK: Yeah.

PETE: And I'm used to that. I'm living in a [inaudible] when you found out like you have automated voice systems. They often don't work with British accent so I have to put on like a stupid American accent when I'm...operator!

[laughter]

PETE: Reservations.

[laughter]

CHUCK: It's funny, too, because a lot of times on those automated systems, they have somebody with a British accent or a fake British accent like speaking.

BEN: Yeah.

PETE: Yeah. But they didn't understand British. Siri didn't understand British for a very long time because you couldn't get like, if you lived in the US, you couldn't get American, so you couldn't get British Siri to work with like American information. So if I wanted to actually know about anything about America like where I live, I'd have to use the American version Siri, but she couldn't understand my pronunciation.

[Ben laughs]

CHUCK: So is the British Siri more polite?

View Details

The panelists discuss memory management.

View Details

The panelists talk about getting started with iOS development.

View Details

The podcast is coming soon. Here's some introductory audio.