iPad 3 possibilities
There will be a new iPad in 2012, no doubt to be called the iPad 3. Can we predict what it will be?
Well the iPad 2 added a camera, but a crappy one. I expect the iPad 3 to have a much better camera.
Also Amazon.com has jumped into tablet-space with a winning seven-inch diagonal model. This is one market niche that seems to have cost Apple, a smaller, more carryable tablet.
So I see the iPad 3 as coming in large (existing size) and small flavors, both with improved cameras.
iPad App Rejections
What criteria does Apple use in determining whether to accept an iPad app or not? Most criteria are technical, while some may reflect other circumstances, for instance Apple recently pulled the WikiLeaks app from the iTunes store. The reasons there were not technical.
For iPad apps, some of the technical reasons I’ve run into rejections usually come down to the difference in user interface between the iPad and the iPhone.
(1) One example of this is the new “popover” controller in the iPad. You can display these new popup windows, for example to select a photo from the gallery, however you have to configure them to point to the area of your app that caused it to “popover” or pop-up.
If you have a table-based app, then you need to have the popover indicate which row of the table caused the popover to appear. The indication on the popover is a triangle on its boundary that points to the area of the app that caused it to appear.
In code this means you need to get a rectangle that surrounds the table cell and tell the popover which rect to present itself from:
CGRect cellFrame = [_tableView rectForRowAtIndexPath:indexPath];
[_xpopoverController presentPopoverFromRect:cellFrame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
(2) Another iPad difference is the requirement to support all orientations, not just Portrait or Landscape. There is a new “upside-down” orientation.
In code, you can implement this via:
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait) ||
(interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) ||
(interfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
(interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
Evolution of computing
User interfaces evolved from text to graphics to touch. Input evoloved from keyboard to mouse to fingers. Computing evolved from desktop to cloud to mobile. Touch tablet computing devices that are always connected, instantly on with long battery life are the logical destination of a half-century of progress. The iPad was always the future and is finally here.
Creating a universal app
Converting an iPhone app to run on the iPad should be easy. If you stuck with Interface Builder, it is easy, however real iPhone developers ditch the straightjacket of IB and do in-line functional graphical design. The problem is that most developers use fixed coordinates on the 320×480 iPhone screen while the iPad is 768×1024. One starting point is to look for all the CGRectMake() calls in your code.









































