Tweet Shoutouts
@iOhYesPodcast Length is fine! More rants!— Rauli Rikama (@raulirikama) September 3, 2015
@iOhYesPodcast I actually have a zip library too (UnzipKit). Don’t let the name fool you, it zips also https://t.co/nDppHOge6Y— Dov Frankel (@DovFrankel) September 4, 2015
@AshtonDev Thanks for the quick PRs to add Mac OS X support to ZipUtilities. // cc @iOhYesPodcast— Nolan O'Brien (@NolanOBrien) September 5, 2015
Note: He actually added Mac OS X Framework, iOS Dynamic Framework, Carthage and CocoaPods support!
Note: The conference Ashton spoke at that Darryl mentioned is DevWorld. He spoke about designable and inspectable views. Ashton’s slides/code can be found here: https://github.com/Ashton-W/devworld-designables
Discussion
What are some nice patterns or not-so-nice anti-patterns/bugs you notice in iOS apps? How can devs go about fixing those problems?
Nolan notices
Requiring login/signup to use the app
My wife’s personal pet-peeve
Old Fab.com app vs Zappos app
Suboptimal table views
Stuttering
Get off the main thread: includes networking and UIImage rendering
Content flashing in once it scrolls into view
Prefetch content before it comes on screen: can be easy with table view buffering
Requesting all permissions on first app launch with no context!
On demand prompting
Interstitial
Even better: don’t indicate they will be prompted, rather outline the feature and why it needs the permissions and have the user explicitly ask to grant permissions (Periscope does something like this )
Example: (User selects post a photo) Prompt says something like: “A picture is worth a thousand words. We’d like for you to be able to share any of you iPhone’s photos. By enabling us to access your photo library, you can choose from photos you already have to share with friends and family.” Below is a empty checkmark with text “Enable access to photo library” and below that is a “Close” button. Hitting the checkmark will ask for access and user knows exactly why they were prompted. Hitting close will save the setting as “on” or “off” based on if the checkmark was successfully checked.
Chad notices
Social login (FB/Twitter) only to ask for username/password/email afterward anyway
Bad pull-to-refresh implementations (Apple, Twitter)
Darryl notices
Lack of accessibility
Not conforming to the design language of the platform (Note that I didn’t say HIG)
Re-inventing system-provided controls/mechanisms for the provider’s gain, not the user’s
Facebook/Twitter/SocialMediaX sign-in as the only option
Crappy validation. Example: + is perfectly legal in email addresses
Collecting address book information to build a social graph
Picks
Chad
Reverse-Engineering iOS Apps: Hacking on Lyft
Recall - new iOS Game by Chad
Darryl
Protocol Oriented Programming in the Real World - Matthew Palmer talks about his experience rewriting Locksmith to be Protocol-oriented.
Nolan
GitHub - nixzhu/Proposer - Proposer - Swift 1.2 project for asking for permission
Racing the Beam - By Nick Montfort and Ian Bogost
Platform Studies - MIT Press
Alternative show title suggestions
Chad’s Right
My Two Favorite Words
I agree with Chad
Stop Crapping Up Your Apps