Apple's Failed Promise for 60 fps on iOS

Radar: 28603120

(Compiled by Chris Pirillo / chris@pirillo.com / @ChrisPirillo)

  • The Promise Is Implicit - as iOS Devices (Hardware) Have Plenty of Power to Push 60fps Outright
  • Major Frame Rate Problems Started with iOS 7 and Continue Through iOS 10
  • Every Following Issue is Systemic in iOS
  • Just about Every App-Related Issue is Possibly Tied to the Lack of Proper System Performance Optimization
  • Cannot be Addressed Piecemeal or iOS Will Remain “Death by 1,000 Cuts”
  • iPhone Plus Animations are Often Worse Because of a Failure to Further Optimize
  • These are Demonstrable Problems but Some Engineers are Blind to Seeing Them - THEY ARE ALL PRESENT
  • If Apple is Trying to Improve Battery Life by Sacrificing Visual System Performance, They Should Fix Wholesale or Offer a Toggle to Return True 60 fps Performance with No Frame Rate Issues

Supportive Perspectives

Apple Lacks This Critical Role

Obvious Factory Install Frame Skips in iPhone 7 & 7 Plus 256GB

  • Slide to Shut Down during Initial Setup Screens
  • Initial Springboard Launch after Setup
  • Setup Apple ID Screen Initial Keyboard Pop-Up
  • Regular Weather app Parallax Discrepancies / Hiccups
  • Add "Other Network" to Wi-Fi
  • Scrolling Connected Wi-Fi Settings
  • Enter Passcode for Update Installation
  • Random Right-Swipe on Springboard to Second Default Screen
  • Springboard Widgets Scroll-Down Initial Scroll to Area
  • Scrolling Up Through Widgets List (After Caching, Loaded)
  • Initial Scroll in Music App "For You" Tab
  • Initial Two App Exits to Springboard / Home Screen
  • Intermittent App Exits to Springboard / Home Screen
  • "Clear All Notifications" 3D Touch Action in Recent Screen
  • Intermittent Notification Center Swipe-Down (New Notification?)
  • Initial Task Switching (Several Default Apps Open)
  • Enter Passcode for Update Installation (Beta Certificate)
  • Backup Restore Selection Screen / Wake Unlock
  • Loading Photos Faces for the First Time
  • Frame Skips When Entering the “Touch ID & Passcode” Section in Settings After Reboot
  • Intermittent Skips on 3D Touch on Tabs View to "Close All" (iPad Pro)
  • Siri Search Results Scrolling

Obvious Differences Between iPhone 7 & 7 Plus 256GB

  • Skips Still Happen Intermittently, Sometimes Not as Dramatic as the 7 Plus & Sometimes More
  • PDF View / Attachment Tap-to-Open & Close Animation Definitely More Smooth on 7
  • First iBook Opens with Choppy Animation on iPhone 7 Plus (Timing?)
  • Rich 3D Touch Menus Definitely Animate More Smoothly (Timing?) on iPhone 7
  • Third-Party Apps Exhibit Similar Jank at Random Intervals
  • Constant App Refreshes on Both Models (Memory Management?)
  • Notification Action ("View Post") on Lock Screen Animation Fade to Passcode Definitely More Janky on iPhone 7 Plus
  • View Post from Notification on Lock Screen - Obviously Worse on 7 Plus
  • All App 3D Touch Menu Invocation - Fewer Frames Than 6s on iOS 10
  • Frame Drops When Zooming In & Out of Video Recording (Flipping 1x to 2x Lenses) on iPhone 7 Plus - Resulting Video Playback is Smooth
  • Full Screen Interface Instant Glitch Unlocking and Jumping into Open Camera App for Photo on the 7 Plus
  • In iPhone 7 Plus Landscape Mode, Widget Screen Retains Non-centered Single-line Date (Creating Visual Incongruity)

Obvious Beyond-Default Use Frame Skips in Both iPhone 7 & 7 Plus 256GB (iOS Issues)

  • Similar / Same Experiences as Factory Install
  • Scrolling through Messages List - Clear-Cut Case, Possibly Worst Offender
  • Intermittent Swiping Over to Widgets (Unavoidable Jank)
  • Inconsistent Remove Animations in Maps History (and Missed 'Remove' Touches)
  • Intermittent Left-Swipe "Back" Playing Track Page in Music
  • Intermittent Initial Messages 3D Touch for Message Effects
  • Invocation of Task Switching Menu "Bounce"
  • Scrolling through Message Conversation
  • Intermittent Sending Initial Message through Messages
  • Intermittent Scrolling Through Notes List
  • Intermittent Scrolling in Mail List
  • Deleting a Long Range of Photos (25+)
  • Intermittent Scrolling in Photos
  • Upon App Exit, Landscape In-Folder Page Flipping (Intermittent)
  • Intermittent Scrolling on Home News Page
  • Intermittent Back Left-Swipe in Safari (Low Tab Count)
  • Jumping to Top of List of Apps in Location Services
  • First Scroll on Widgets List
  • Intermittent Scrolling Right to View Next Sticker Pack
  • Share App to Messages on Send (Sheet Drop)
  • In Music, Swiping Down Album Art of Current Track While Playing (or Paused)
  • Intermittent Swipe Back (Left) in Music
  • Notification Arrival in Safari, open Keyboard / Number Keyboard
  • Facebook Share Sheet Pop-Up & Subsequent Send
  • Opening Safari (A Recent App) and Touching Address Bar
  • Reminder Swipe-Down to Access Sheet
  • Closing 3D Touch Menu for Mail (Graphic Favorite?)
  • Create Calendar Appointment with Location and Scroll
  • Open PDF Attachment from Mail Message (and Initial Share Sheet Pop-Up)
  • Unlock Phone After Receiving Notification
  • Scrolling a Note (Plain Text)
  • Opening Stickers Menu in Messages
  • Displaying Countless Notifications on Lock Screen Initially (Non-Smooth Roll-Out Animation)
  • Scrolling Siri Results
  • Major Frame Skips Opening Full Notification Center While Messages List Open
  • Taking Action on New Notification (Instant without Visual Response)
  • Siri Invocation & Response, Then Control Center Swipe Up and Scroll

Recent Tweets Indicative of Sloppy Design Execution Since iOS 7

For My Own Reference, Other Personally-Encountered iOS 10 Bugs (Design, UI, UX)

  • Vertical Alignment Issue with "Back to App" and Other Menu Elements with Signal Number Toggled
  • Landscape Springboard Dock Background Often Flashes During Orientation Rotation
  • Landscape Rotation Folder Background in Bottom Menu for Folder Doesn't Swap Until Finished
  • Springboard Landscape / Portrait Rotation Introduces Black Border Beyond Wallpaper
  • Cannot Toggle Landscape Orientation Springboard Lock Alone
  • Line Elimination Anomaly When Swiping Away Reminders
  • Entire Emoji Set Not Flat Like the General iOS Design Ethos
  • Notes & Reminders Still Have Skeuomorphic Textures
  • Brightness Changes Instantaneously (not Slowly) without the Brightness Slider Changing
  • Calendar Widget Color Bar Changes on Swipe-In (Flashes, Multiple Calendar Sources?)
  • Intermittent Notification with Messages Group Vertical Font Spacing Anomaly (Only in Pop-Up, Same Notification Looks Fine in Notification List)
  • Control Center Was Stuck Halfway Open on Swipe-Down (Interrupted Animation?)
  • Lack of Landscape & Larger Resolution Lock Screen
  • Empty Search Space Appears at the Top of Mail without the Actual Search Field Visible - Must Scroll to Make Visible
  • Incongruent Vertical Alignment of < in Landscape Photos, Mail on 7
  • Can Open Message Thread in Notification Center, Can't Take Action on Message Item - Only Reply
  • Edit Messages List and Hit Cancel (Animation Missing)
  • Join Wi-Fi Network Prompt on LTE Though the Option to NOT "Ask to Join Networks" Has Never Been Toggled On
  • When Playing Two Audio Messages in iMessage, the Second Consecutive Message Plays Back at a Substantially Lower Volume
  • If You Reply to a Message in Notification Center and Hit Send, the Notification Remains and You Cannot Clear It Away Individually
  • Inexplicably, More Space is Wasted and Usability Sacrificed by Not Grouping Notifications from the Same App - Yet Another One of the 100s of Backwards Steps in iOS 10 for the Sake of Change Without Cogent Reason
  • Sometimes Taking Action on a Notification Requires a 3D Touch, Other Times Not - Inconsistent UX

Bulk of Letter Sent to Both Phil Schiller & Craig Federighi [Separately, No Response]

Dear Mr. Federighi,

I had originally sent this message to Mr. Schiller last week, and followed up shortly thereafter to see if he had received it. Just in case, I'm sending virtually the same thing to you but from my me.com address.

I want to begin by saying that I respect what you've been able to do with your hardware, year after year. I appreciate your effort, your vision, and your abilities.

I don't expect a reply, but I believe what I have to report is worthy of your valuable attention. I will explain as clearly and concisely as I possibly can.

But, first, an anecdote.

On a lark, when I continued to notice a frame rate issue in Google Maps on iOS, I tweeted my frustration and a Google Maps engineer caught it. Turns out, Google was limiting the app to 15fps to save battery life and directly turning the experience sour. The next release saw that restriction removed and Google Maps on iOS has been close to 60fps ever since.

Mind you, I use Apple Maps first by choice. ;)

Today, I am imploring you to swiftly address core performance issues that have continued to slip past your radar since the reimagining of iOS (after iOS 6). Specifically, I am compelled to call your attention to the predictable or random "skippy" frame rate in routine system operation and default apps independent of third-party software.

Last year, I called to light the severe frame rate discrepancy of 3D touching an app icon on the iPhone 6s vs the iPhone 6s Plus. That was eventually addressed, largely because someone who follows me had contacted you (and you had passed them along to an engineer to fix that single issue).

iOS 10 seems to perform equally as well (or worse) on an iPhone 7 compared to an iPhone 6s. That's not the hallmark of the world's fastest smartphone. It is my hope that by emailing you about iOS frame rate issues, you will be able to help fix the long-standing system-wide problems.

Help. Please. Listen.

It's not just me.

This isn't really about UI or UX, per se - it's about falling short on your promise of 60fps on every device. Because, trust me, you have other design nightmares at play.

But, to stay on the topic of visually-smooth performance, a single hiccup / frame drop rips the user out of Apple's magic and reminds them that they are using a computer screen. They're just as nauseating as animations which spur on motion sickness.

iOS has been performing in an inexplicably jarring manner since iOS 7. Iterations don't seem to help much, major or minor. Frame drops are now par for the course - irritations that we once slammed Android for.

Let me put it to you this way: had the first iPhone operated like I've seen the iPhone 7 operate, I never would have been a perennial purchaser. I never would have considered iOS a possibility.

You're continuing to fail on a front that people in a position of power clearly don't see.

When I heard both you and Mr. Schiller interact with John Gruber at WWDC, I listened with great interest when you spoke of fixing software issues. But you never spoke about non-crashing issues that plague iOS.

Bug reports continue to be useless, either because frame drops are not considered bugs or are (oddly) low-priority problems. These maddening oversights will persist if we cannot find a better way to illustrate just how rampant the problem is - a situation which is already well past the point of excusability.

Without quality software, quality hardware is irrelevant.

You're not listening to your own employees. You're not using what they built for developers. Put the guys who recognize the problem in charge of fixing the problem once and for all (https://developer.apple.com/videos/play/wwdc2016/219/ or https://developer.apple.com/videos/play/wwdc2015/212/).

Physician, heal thyself. You need a Frame Rate Enforcer in the mix again.

Please?

That's the iOS experience so many of us miss.

Both transition animations and scrolling operations are constantly getting cut off at the knees.

(1) If you're pushing system animations / transitions / scrolling through the non-performance cores of the new A10 Fusion, you're oblivious to how this degrades experience across the board. I really can't wait to see if you might fix it with an update to iOS 10 because I have no idea if you even see it as a problem (which it is). This is the only explanation as to why the 6s / 6s Plus performs better with iOS 10 compared to the allegedly more powerful 7 / 7 Plus.

(2) If this is being done to save battery life, please give us the option to place a priority on performance like you have an option to "Reduce Motion" (which, by the way, mitigates only some of the issues surrounding transition animations - not scrolling hits). I would very gladly opt-in to losing an hour or two of battery life to have a better experience for those working hours - though I know not everybody would, which is why I would suggest a toggle if this is the case.

(3) This "frame rate drops & skips" issue is systemic. I believe that addressing the core issue could fix most issues atop that, leaving standouts (like scrolling the Messages list in iOS 10) to be separately addressed.

These animation / scrolling hits are still painfully evident in several common operations - and now are quite prevalent on both of the new iPhones. I took notes:

[Lists]

Seemingly, the higher-resolution devices (including the largest iPad Pro) suffer more from the "stutter" that seems to be escaping your attention.

This is based upon my own experience with the iPhone 7 & 7 Plus (coupled with the shared experiences of current iPhone 7 & 7 Plus owners - on top of outstanding issues with iOS 10 and previous releases on the 6s).

I have never asked to be a part of the official reviewer program (I would be overly critical with these issues that no other sanctioned reviewer has seen fit to surface - and I can't tell if the reviewers you've blessed are afraid of being kicked out of that program).

I am trying to help you because I need you to provide a product that is truly breathtaking - from hardware to software. I'm not asking for anything else.

I'm just a regular ol' user who sees frame rate problems more than most - who is growing weary of waiting patiently for this critical issue to be addressed.

I don't believe any of you can see what we see. Or, worse yet, you can see it and have decided that it's not a priority to provide an experience that iOS long-ago provided on lesser hardware. That, perhaps, is what frightens me more.

So, you may be the wrong person to talk to - but I'll keep trying to get to the right person because this needs to be addressed wholesale and not piecemeal.

I obviously know you're not in charge of everything, but it was recommended that I start with you and go from there. I'll assume this message has already been forwarded to someone more appropriate, and I do appreciate that.

Sincerely,

Chris Pirillo