views:

197

answers:

9

Hello,

me and my friend develop iPad application (a lot of CoreGraphics stuff). But we can't find an agreement. I tell him that testing on device is essential, he tells me that testing on iPhone 3G/3GS will be enough (I have both devices). Can you tell me, probably we really can test our app on 3GS? The main thing is that interface will be iPad designed, so I even not sure how we'll do that...

UPDATED: It is iPad only software, UI is designed for 1024x768

A: 

Use the iPad simulator in the iPhone SDK 3.2.

While the performance level can vary, so it certainly would be best to test on the actual device, don't let it be a barrier. You can use the performance analysis tools in the SDK to find problems.

You might try a beta release anyway.

Marcus Adams
Of course we use it, but you know performance of the Core2Duo and iPad CPU can be different. I tried to test my code on iPhone 3G which works fine on Simulator, and 1st - a had problems with installation, but when I solved them I found that performance is terrible...
OgreSwamp
Updated my answer.
Marcus Adams
+6  A: 

You can use the simulator, but that's not enough. It is essential that you test your app on an actual device, because the performance on the simulator is vastly different than the device.

If you don't have the money or the iPad isn't available where you are, then ask someone who has one to be a beta tester.

Chris Garrett
Performance issues are highly expected. That's why I so pushy to test it on real hardware. We work with graphics (Bezier curves, flood fill, work with layers + heavy graphics UI).
OgreSwamp
If you're doing lots of graphics, then I'll recommend even more strongly that you test on the device. Getting a beta tester from a real potential user is a good idea anyway, it might help you start off with a happy reviewer. If you roll the dice and don't test, you risk starting off your first day with poor reviews about performance, and you'll kill one of your first opportunities to have a successful launch.
Chris Garrett
+2  A: 

Apple strongly recommends you test on device before releasing. The iPad and the iPhone are running two different versions of the OS on two different hardwares. Some functions are not really emulated on the simulator. You're asking for trouble.

On the other hand, if you don't have an iPad and you need to ship, you can always roll the dice.

TechZen
+2  A: 

We've ended up having it fail on different devices. Being a small company (about 30 people), we have quite a few different iPhones floating around. Even though we have pretty much every version covered, we still don't cover all releases of the OS. We've caught several bugs internally but there still seem to be some that happen out in the wild that just require different hardware/software configurations. In short, test on as many as possible, but it is very unlikely that you will ever be able to test on all software/hardware combinations.

I'd recommend having the latest iPhone, one that is one or two generations old, and probably the same for the iPad (when it ends up having older hardware versions), but DEFINITELY have both one iPhone and one iPad (and maybe even an iPod touch).

Grant Peters
Sorry, probably I didn't write it. We develop iPad-only software.
OgreSwamp
My main point was that there are both software and hardware differences to take into account, even when its the same product brand (e.g. iPad/iPad 3G, or 2 iPads with different OS versions)
Grant Peters
+3  A: 

IMHO testing on the device is one of the first rules of developing for a mobile platform.

Igor Zevaka
My friend has much more experience with mobile platforms (J2ME), so I respect his experience. I have experience in embedded stuff (SIM-cards) where we always make tests on real chip (you'll never launch few millions production before testing on the target chip)
OgreSwamp
I find his position especially strange then. After developing for J2ME you realise that it's always going to behave differently on the device.
Igor Zevaka
A: 

Not a must but highly recommended. I cannot imagine what is worse than someone reports a bug but you have no way to confirm it's true or false. The iPad is faster than 3Gs generally speaking. Of course, your partner may have a "time to market" concern. So, there is no fix answer to this question.

ohho
A: 

It can be done but is not recommended. I had a iPad app in the store on April 1 before the iPad was released on April 3. It had been tested on real iPhones and the iPad simulator in the SDK. I don't recommend it but there was no choice at the time.

If the performance is acceptable on an actual iPhone 3G, it should be fine on the iPad which has a faster CPU.

progrmr
+10  A: 

For a high quality product, you have to test on the device. The performance of the iPad is different, and if you have any interaction which involves threading, that can lead to race conditions that you might not find on the iPhone (slower) or the simulator (too fast). I've also seen a number of students run into memory issues that they didn't find on simulator, but that they discover on device.

This doesn't mean you have to buy a device - you can either solicit a friend with an iPad to be a beta tester, or you can lurk in a Starbucks or Peet's. You'd be surprised how many people will bring in iPads, and how many of them are willing to try out a new application.

adamnash
+1 for making new friends ;-)
ohho
A: 

You can test your application on simulator. but it is not enough to upload your application on app store because some memory issues generated on device which cannot be produced on simulator. So, better to test your application at least once before uploading on app store. You have to also check your application under performance tools like "leaks".

Tech Guru