Shanghai Dan wrote:
No, seriously - why does it need to be optimized so much that a completely different app is needed? We don't do it on PCs, and the API for Android allows development of UI elements in device-independent units.
Sigh.
Because the phone UI is inherently scaled down -- minimized, simplified -- to present an acceptable experience on the phone. Designing UI is difficult. Designing UI on a phone is even
more difficult. Lots of compromises have to be made, and the designer must carefully choose which elements are important and which ones aren't. They also have to make the controls big enough to hit with a finger.
When you put a phone UI on a tablet, you get that same minimized UI, but scaled UP to tablet size. You now have to live with all those compromises that were made for the phone, even though there's no (or at least much
less of a) reason to do so. If all the apps you run are designed for a phone (but scaled up), then you're wasting your money on a tablet. You're also being presented with huge controls, designed for fingers but now scaled up to tablet dimensions.
We don't do this on PCs because PCs don't have to make those compromises to begin with. A UI designed for a medium-sized screen will scale up reasonably well to a large screen. At some point in the evolution of the PC, the medium-sized screen will start being considered small, and applications will slowly move toward requiring larger and larger screens. This is a slow, gradual progression, though, and the applications slowly evolve to match current standards of screen sizes. Imagine using an application sized solely to fit on a 640x480 screen (which was considered large once) on today's large screens -- it would be fairly comical.
And that's exactly what you get when you view a phone UI on a tablet.
On top of that,
images don't scale well. The easiest and cleanest image scaling is to double the pixels in each direction, which is in fact what some devices do when presenting a phone UI on a tablet. If you aren't dealing with dimensions that can be exactly double, scaling up the image is a less-than-perfect process which results in noticeable smear and artifacts.
Same for video. Unless you can do an exact doubling of dimensions (in both directions) you end up with shitty video, unless the source video was in fact
larger than the rectangle it is being viewed in. Scaling
down works quite well, for both images and video.
This is
one (of several) reasons why the tech pundits talk about the problem of screen fragmentation on the Android platform. The plethora of screen sizes found on Android results in a nightmare for UI designers and also necessitates a lot more compromises with regards to image scaling.