Bad Tablet Apps

Cocoa Touch has a beautiful built-in function.

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad

It’s the reason Universal apps behave so well and similar but different on different devices. If you use Apple’s default Universal template it’s the first thing your app does, then it picks which view controller to load and display and your whole development process involves two completely distinct and disjoint view controllers: one for iPhones and one for iPads. If you’ve been developing Universal apps since that beta back in early 2010 then you might do it my way: a single master view controller (based off of the iPhone template) and iPad vs iPhone code when applicable. This is OK for apps craving the extra real estate. iDecorate is just a big canvas. Its only if_iPad code is for governing the popovers that are instead displayed fullscreen on iPhone. This is great for canvas based apps, but it doesn’t work for list based apps.

The official Twitter, FaceBook, Photos, and Mail applications for iOS are examples of the first approach, where a single binary makes a huge switching decision up front and displays one of two very different user interfaces. Android is full of list based apps (including FaceBook and Twitter) that just get wider and longer on Android tablets. They look quite laughable in landscape mode but suck in portrait too.

Now, the point of my post: if you use the metro templates in Visual Studio your apps are supposed to “write once, run anywhere” where anywhere is Windows Phone, Windows 8 Arm tablets, and Windows 8 x64 on a 80″ Touch Wall. Yes you have control over which elements stretch and which elements lock, like you do on Android and iOS, but the variety of screen sizes (and DPIs) is so different I imagine the same pundits (including Cook himself) will again point out how much better iPad apps work, and they’ll be right.

That being said, my app interfaces are diverging more and more everyday. I’m having trouble fitting my vision for Auto Adjust 4 to the iPhone screen and won’t ship until I love it. iDecorate is also due for a 4.0 overhaul that needs to make better use of holding the device in the orientation that your canvas isn’t.