RIP Original iPad; iOS Device Fragmentation

Developer life sure was simpler when I began developing apps for Apple's iOS platform nearly half a decade ago.  My first commercial iOS app was developed while the original iPad still loomed on the horizon. The iPhone 4 had just been announced with its "stunning retina" display that boasted twice the resolution of its predecessor, thanks to a much greater pixel density. From a developer's perspective, creating universal applications 4-5 years ago merely required basic knowledge of Apple's three mobile device variances:

  • iPhone/iPod Touch 3rd Generation and below (320x480; 163 PPI)
  • iPhone/iPod Touch 4th Generation (640x960; 326 PPI 'Retina Display')
  • iPad 1 (1024x768; 132 PPI)

At the time, all available iPhones and iPod Touches shared the same aspect ratio and screen size, so supporting retina displays was basically a matter of producing 2x-sized assets (i.e., a 44px icon on standard devices would be rendered at 88x88 on the retina 2x devices).  Apple enforced the convention of appending '@2x' to the filenames of each retina-made asset to automatically load them in place of the standard assets on supported devices. The iPad used standard resolution assets but had a larger resolution; depending on the app some adjustments would need to be made to take advantage of the added screen real-estate.  Aside from these few considerations, it was blindingly simple to develop for the few available iOS devices. Read Full Article