iOhYes Retired

iOhYes

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

Hosted by Darryl Thomas and John Sextro.



#10: Episode 10 - Grokumentation

February 12, 2013 at 12:30AM • 53 minutes

The News

New Search API in Map Kit Now Available (more)

Apple Increases iPad with Retina Display to 128GB (more)

The Discussion

2012 LLVM Developer's Meeting

  • Watch videos and slides from meeting for possible Obj-c features (more)
  • Native documentation support - syntactic and parsed (more)
  • Module support - header problems, possible removal of split interface/implementation files (more)

Code Documentation

  • Types - API docs vs. comments
  • Necessity - Argument: code should be self documenting; Counter: edge cases are not grokable
  • Freshness - How do you keep comments fresh? LLVM discussion
  • Utility - Do developers actually use them (api or comments)

iOS Picks

Adam Axe

John Sextro

Jason Kozemczak


#9: Episode 9 - Peeking John

January 10, 2013 at 3:00PM • 1 hour 5 minutes

The News

An Indie Developer Success Story (more)

Objective-C wins the TIOBE Programming Language Award of 2012 (more)

Apple's App Store hits record 2 Billion downloads in December (more)

"Do Not Disturb" bug and what you can do to avoid it (more)

Pirated app installs without jailbreaking (more)

The Discussion

Obj-C runtime (Jason)

  • Reflection - isKindOfClass, respondsToSelector, etc.
  • Dynamic Binding - objc_msgSend
  • Using associated references to "mixin" to ObjC class instances

forwardInvocation

  • stopping doesNotTRespondToSelector
  • error reporting
  • multiple inheritance hack

Peeking into iPad apps with PhoneView http://www.ecamm.com/mac/phoneview/

Other security related links

iOS Picks

Adam Axe

  • Gource

John Sextro

  • Gist on GitHub from Chris Cieslak that demonstrates the ISO-Week Issue

Jason Kozemczak

  • SMPageControl

Joe Hainline


#8: Episode 8 - Mapocalypse Now Redux

December 19, 2012 at 5:00PM • 59 minutes

Google Maps for iOS - 10 million downloads in 2 days! (more)

Instagram and Twitter do battle

  • Instagram pulls photos from Twitter timeline (more)
  • Instagram changes terms of service (more)
  • Twitter releases photo filters (more)

Judge Koh Denies Apples Request to Permanently Ban Sale of Samsung Phones in US (more)

Sesame Street Releases Tablet Development Guidelines for Children's Apps (more)

Key-Value Observer (more)

iPhone, iPod and iPad Universal App Strategies

  • Single binary for all vs. different binaries for each device
  • UX differences across platforms
  • XIB vs View Classes
  • View logic
    • Repeated idioms
    • Shotgun surgery
    • Divergent logic
    • completely separate View classes

iOS Picks

Adam Axe

John Sextro

Jason Kozemczak

Mike Schmidt


#7: Episode 7 - Monkeys with Mics

December 11, 2012 at 6:00PM • 1 hour 10 minutes

iOS Piracy - Can we prevent it? (more)

Apple fires manager of the Maps team. (more)

Gmail 2.0 for iOS released

  • It's still HTML
  • Google bought Sparrow but hasn't seemed to do much with it.

Race to the Bottom Pricing

  • Is everything going to be $.99 soon?

The iPad Mini

  • Hit target problems
  • Adherance to the Human Interface Guideline
  • Why can't I touch some targets?
  • (more)

Core Animation

  • Pros
    • Easy to do simple animation properties (alpha, position) with good options (reversing, repeating, delaying)
    • Great performance
  • Cons
    • Need to know C API to do more powerful things
    • C API isn't ARC - need to understand memory management
  • Performance Considerations
    • Layer creation - CALayer is expensive to new up.
    • UIBezierPath for shadowpaths - compositing alpha channel for shadow generation is expensive, can you create your own shadowPath
    • UIView block-based animation - Setting things in completion block rather than signing up for delegation.

iOS Picks

Adam Axe

John Sextro

Jason Kozemczak

James Rantanen


#6: Episode 6 - Bwoken UIAutomation

November 21, 2012 at 5:00PM • 1 hour 1 minute

Exec releases new iOS app

  • Basically all custom controls (no UIKit).
  • Good or bad?
  • Is this devs not pushing back on designers not using standard UI/UX?
  • (more)

Oprah promotes Surface via iPad (more)

Apple Stock price slides 20%

  • Profit taking?
  • Beginning of the End?
  • (more)

UIAutomation

  • mechanic.js
    • Why it exists - UIAutomation is powerful, but it’s API leads to verbose and brittle code.
    • Helps you get the elements you care about and interact with them in a terse and readable way
    • jQuery for UIAutomation - helps you “find” the elements you want in very little code
      • mechanic performance
        • generally does a tree traversal starting at the selector’s context (defaults to the frontMostApp()) - however, the performance gains are at the scale of user interactions like taps and scrolls, so the performance hit is inconsequential.
        • a “non issue”
        gotchas - as your App’s “DOM” changes, the selectors need to be “re-ran”
      • UIAutomation equality is broken, which makes more obscure parts of mechanic simply not work
        • Iterating a UIAElement’s children and comparing a child to itself via indexor comes back as not equal.
        • Combined with Jasmine UIAutomation shim makes for very readable, maintanable UI tests/specs
  • Jasmine UIAutomation shim -  git://github.com/mczenko/UIAutomation-jasmine-iphone.git
    • Allows tests to be more BDD-focused. Elements some of the verbosity of UIAutomation tests - better separation. Great for fans of RSpec and Jasmine
  • UIAutomation CI integration
    • Not the easiest, due to simulator state
    • There are workarounds
    • Bwoken is a ruby gem that can make your life easier for running your UIA tests in CI
    • Adam has a very rudimentary XSLT to convert OCUnit output to JUnit XML output for Jenkins test reporting.

iOS Picks

Adam Axe

  • CS193P - New iBooks Author based text book for free

John Sextro

Jason Kozemczak

  • Foundation/UIKit header files (lots of insight into how the classes architected; good place to learn about API design)
  • CKCalendar gets new features: (height change delegate method, fixed height setting, “fill calendar” option, improved performance, etc.)


#5: Episode 5 - Rubber Banding

October 26, 2012 at 1:15PM • 57 minutes

October 23rd Apple Announcement Opinions

Problems at Zynga

  • Can freemium Survice?
  • Zynga lays off 100 employees, makes announcement on the same day as the big Apple announcement
  • (more)

iOS Picks

Adam Axe

  • Scroll to Zoom -> System Preferences -> Accessibility -> Zoom -> Use Scroll gesture with modifier keys to zoom
  • DigitalColor Meter , a native OS X app

John Sextro

Jason Kozemczak

  • Gitlab (OS Github clone) hits v3.0
  • Mantle (Github OS thin model framework)
  • Archimedes (Github iOS geometry additions)


#4: Episode 4 - Mapocalypse

October 6, 2012 at 5:30PM • 1 hour 8 minutes

Sept 12th Announcement Opinions

White House iOS app OSed

  • Nimbus (Three20 with documentation)
  • Three20 architecture and idioms vs. Apple idioms?
  • Facebook SDK
  • Govt. transparency / open-ness
  • Free code!

XCode 4.5

  • The minimum deployment target is iOS 4.3.
  • In this Xcode release, Auto Layout is turned on for new user interface documents (storyboards and nib files). Because Auto Layout requires iOS 6.0, using such user interface documents on earlier iOS releases results in a crash or other undefined behavior.
  • For your app to run on earlier iOS releases, turn off Auto Layout in its user interface documents.
  • UIAElement equality still appears broken in UIAutomation :(
  • RCS and CVS are deprecated in this Xcode release.
  • ISSUES: The po, print, and expression commands cannot access enumerators directly. You must use the name of the enumeration. For example, if your code contains
    enum MyEnum { e1, e2 };
    LLDB emits an error if you type
    print e1
    Instead type,
    print MyEnum::e1

Google Patent rebuttal

Github Free Student Micro Accounts
If you have a student .edu email account, you can get signed up for the Github micro account (5 private repos) for 2 years for free.

Development Considerations for the iPhone 5

  • 1136-by-640-pixel resolution at 326 ppi
  • What happens if you don’t resize your app? Black horizontal bars.
  • Any major deprecations or removal of features from the SDK?
  • What’s new in the SDK that has developers excited?

NIB vs layout logic in custom class

  • Big teams == tons of merges
  • Nature of NIB makes it difficult to grok
  • Trade-off: NIBs are convenient, but for multi-dev teams this could cause major pains

iOS Picks

Adam Axe

  • Air Display, dual monitor support for Macbook with iPad
  • Transit - Ad-supported free transit directions

John Sextro

Jason Kozemczak


#3: Episode 3 - Strangeloop Edition

October 1, 2012 at 11:45PM • 1 hour 7 minutes

Review of Jeff Kelley's Threading Talk from Strangeloop

  • GCD, NSOperations, ObjC Associated Objects
  • Slides

Review of Robert van Loghem's Voice Control Talk from Strangeloop

  • Nuance integration, Future of Siri

iPad Mini Rumors

  • $300 7 inch iPad rumor
  • Reasons it could be true:
    • Makes sense of the "new iPad" name but not the "new iPhone"
    • Need a device in a mid range price point, and need to drive additional hardware sales for profit growth (hardware sales are crucial for Apple: see this graph of revenue by segment) also this revenue from hardware sales link
  • Reasons in might not be true:
    • Cannibalization of iPad sales (what features could they limit? no 3G/4G?)

iOS Picks

Adam Axe

John Sextro

Joe Hainline

  • NASA HD - Great content
  • Airfoil Speakers, stream audio from any computer to mutliple iOS devices simultaneously including Apple TV


#2: Episode 2 - Major Chafing

September 13, 2012 at 3:30PM • 1 hour 5 minutes

Apple's Sep. 12 iPhone 5 Announcement - Venture Beat Article Our final guesses on what Apple will announce on Sep. 12.

  • Will the new iPhone be called 'iPhone 5'?
  • Will they announce a mini iPad?
  • Will there be any changes to the display resolution?

TenOne Stylus - TenOne Design

  • Finally, a pressure sensitive, bluetooth stylus.
  • Will it work?
  • How will it compare to Wacom's products?
  • Is Apple holding things back from the SDK to combat the stylus?

Jerry Seinfeld says you should wear a helmet??? - Case or Naked?

Objective-C Overtakes C++ on the TIOBE Index

  • What does it mean?
  • How do they know?

Supporting Previous Versions of iOS

  • What does it mean?
  • How do they know?

Custom Controls

  • Layers - should you try to keep your view hierarchy as shallow as possible and use layers for everything?
  • Images - should you ignore any custom drawing (including borders and shadows) and just use an image for the whole thing, if possible?

iOS Picks


#1: Episode 1 - Patently Absurd

August 30, 2012 at 3:30PM • 1 hour 2 minutes

Samsung vs. Apple - Techcrunch Article Patent discussion from a developer perspective

A 7 inch iPad??? - Arstechnica Article

  • Will there be fragmentation
  • How will we handle resolutions changes?
  • Will it fit in your pants???
  • Will Apple brand it as an iPod

New iOS Facebook App - PCWorld Article

  • What took so long?
  • Is it too little too late?
  • Is the native app faster
  • Do they need to improve the performance of their service layer

Team Development Challenges

  • Continuous Integration - Jenkins, Xcode plugin
  • Device management - Provisioning Profile, OTA, Developer Profiles
  • Unit Testing - OCUnit vs. GHUnit

iOS Picks