3 ms·
If Apple brings out an new device with different physical characteristics (Apple TV, iPad 3 w/ retina display), you'll have to port your apps to that device any
by schrototo 15y ago
If Apple brings out an new device with different physical characteristics (Apple TV, iPad 3 w/ retina display), you'll have to port your apps to that device anyway. Using iPhone apps on an iPad (or non-retina apps on a retina display) sucks.
While you shouldn't ever make assumptions about CPU or memory specifics (which is why apple doesn't release that information, even to developers) you absolutely can make assumptions about screen size and aspect ratio. Sure, Apple changing the system font shouldn't cripple your app. But having to code for every possible hardware configuration? What is this, Android?
- saurik 15y ago...and yet, people do this sort of thing constantly on every other development environment I have ever used, whether it be Windows, Unix/X, or Mac OS X, and this has not been a serious problem. If your application can't suddenly tolerate the screen being 20 pixels taller or shorter than it used to be, you are probably doing something wrong. (Yet, in fact, a lot of developers screw this up, and their applications don't even work on iOS when there is a double-height status bar.)
- kristiandupont 15y agoPeople do it constantly on desktop operating systems because they have no choice. It is still resources spent and if the platform was more uniform, they could have made some assumptions and spent time making better features instead.
- saurik 15y agoIf you do this from the beginning, it is not a big deal: and in fact, it really helps save you time later when things change. It simply is not difficult to compute a layout rather than drawing one in MS Paint... I mean, even Xcode's Interface Builder solves this problem quite well... I frankly am surprised so many people are disagreeing with this "aspect ratio" bullet point, given that if you take a random non-game app from the App Store and change its aspect ratio it is almost always going to do this correctly: Apple makes it hard to screw this one up. ;P
- kristiandupont 15y agoIf you have to design for arbitrary resolutions and aspects, you are way more limited in what you can do with your design. On a touch device this is even more severe because buttons that are too narrow will be hard to reach etc. Also, if you are not using standard controls and you have a designer make a couple of images for you, you will now have to split those up into parts to render your UI. It seems that you would argue that this is the only way to go but surely we can agree that it is more expensive for the developer?
- schrototo 15y agoWell, the in-call double-height status bar is documented behavior. Of course you have to account for that possibility. But a different aspect ratio altogether? On other platforms different screen sizes aren't a problem since that's been the norm from the very beginning. But why shouldn't we be able to make assumptions on iOS? It's an entirely different environment, one where, among other things, screen size and aspect ratio are fixed. And yes, I don't think you should hardcode every last pixel in your iOS app either, but it's perfectly acceptable for your graphics to rely on the documented sizes. How should e.g. GarageBand account for a suddenly different aspect ratio?
- saurik 15y agoTo be clear, the double-height status bar changes the "aspect ratio" of the device. On WebOS, they have a really great notifications mechanism that involves slowly making the screen smaller (up to a point) as more messages need to be rendered. This is the kind of feature that Apple should be allowed to implement without causing havoc on existing applications, and would cause even more drastic disturbances in aspect ratio. Also, on other platforms, there was at some point "the one monitor" that came with the system: the fact that so far we've only had two different aspect ratios on iOS devices (3:2 and 4:3) is no reason to believe that the next device won't be something more like 16:9. There is no reason that most applications couldn't be designed to be ready for such a seemingly minor change.