Hello all. Basically we are trying to find out how many people are still using pre-3GS model devices these days to determine if its worth still targeting them and how much we might lose if we don't. I am having no luck finding any information on google. Anyone have any recent data?
Target pre-3GS Devices?
(38 posts) (14 voices)-
Posted 11 months ago #
-
Pretty much every single important game nowadays still supports iOS 3.x.
My guess is that you dont want to waste customers... targeting older devices "seems" to be worth it.
Posted 11 months ago # -
1G cannot be upgraded above 3.1.3 Last time I checked there was still 10% of devices using 3.x iOS
Posted 11 months ago # -
I have a 2.5 gen iPhone, a 3G iPhone and a 2G iPod that most all developers are making it work. Great example is "The Impossible Game"
I am targeting these devices.
Posted 11 months ago # -
I'm targeting 3.0 and weak linking 4.x features. Easy to do, 4.x users get more features, 3.x users can still use the app.
Posted 11 months ago # -
I am not too concerned with iOS, but the hardware capabilities. We are targeting 3.1.3 as well. I am more concerned with having to target the considerably limited hardware capabilities of the iPhone 3G and 2nd Gen iPod Touch (or earlier). I read a report from April 2010 that showed that 3GS was already 40% of the market and this was before the iPhone4 came out. I would really like to know if we are placing a lot of importance, play-testing, and scaling features for what may only be 10% of the market at this point?
Posted 11 months ago # -
I think 10% is being generous, though I don't have any data to back that up. You should also consider the attitude of someone who has not upgraded their phone (if they aren't spending money on the hardware, would they be buying your game?).
Posted 11 months ago # -
I think you make a good point, although I am a bit concerned that 2nd Gen iPod Touch users may be a larger holdout because Apple doesn't really do much to show users the value in upgrading by labeling the generations differently.
Posted 11 months ago # -
Well that's not completely right, devices are expensive, and not everyone is going to upgrade if this is going to cost money. Apple release a new device every, 6 months? not everyone can afford to upgrade every time.
Lot of people still have 2nd gen iPod devices, and here in UK lot of people still have the iPhone 3G.
With iPhone 3G you can get an upgrade with your network company, but it's worst with iPod users cos they don't have an upgrade option and they would need to pay the full price of a new device, here you can probably upgrade to an iPhone 4 if you pay about 100 pounds or get an expensive contract, so again that's not what lot of people is willing to do.
It's up to you to decide really, if you think you can make your game to work on old devices, bear in mind iPod 2G is faster than iPhone 3G. My opinion is, even an old iPod 1G is capable of lot of things, so a good optimised game that works on an old device will definitively work perfectly fine on new devices. If you work the other way round, you will always have unhappy customers who can't run your game, even if that number is low (10%), they will be more likely to review cos they are frustrated.
Posted 11 months ago # -
Hello
are there some "weak link best practices"?
@itlgames
how do you optimise your game for older devices?do you use less sprites or smaller animations?
do you use different particle effects settings?
what else?thanks
MandarX
p.s. I've just bought an used iPod touch 3, is it faster than the iPhone 3[gs]?
Posted 11 months ago # -
From what I read by developers who tested the difference in revenue when dropping 3.x support it doesn't seem to be noticable. I was trying to support 3.x for a long time, but I abandoned that and will only support 4.x now. But on the hardware side I still try to make the game run fine on an iPod Touch 2G. That could be more important than the iOS thing. I can't base it on numbers though, it's just a guess.
Posted 11 months ago # -
I am with Itlgames on this one.
I have no idea if there are any performance gain in cocos, compiling for 4.x, but my guess would be, that it is minimal.
So main thing would be GC support and stuff like that, right?As for devices, I really think programmers should make sure that their game works on at least 2G+ devices. Failing to do so could only be justified if you have something really extraordinary, or you needed the special hardware of 3GS+ devices
In that respect, keeping textures below 24 MB, will be the main bottleneck, and of cause maintaining an acceptable framerate. Apple says to opt for 30.Posted 11 months ago # -
@MandarX, call me old school but I just develop from the beginning testing on a iPod Touch 1st generation, so I guess I naturally optimise, like texture sizes and memory usage. Only differences is when I include support to retina display, in which case I just need to supply the HD graphics.
And I'm with @Birkemose, unless you need some hardware specific, there is no reason why a game can't work on an old device.
Device hardware specifications here:
http://en.wikipedia.org/wiki/IPod_Touch
http://en.wikipedia.org/wiki/IPhoneYou can see the iPod 3rd generation is like the iPhone 3GS
Posted 11 months ago # -
thanks.
I started developing my game testing it on the iPhone 4 (and now I have to test it on the iPod)
what about the weak link?
I use cocos2d 0.99.5 and apple's reachability class, is there something I should check first before calling some function?
Posted 11 months ago # -
I agree that it's ideal to include as many devices as possible, but you can specify in the App Store to only allow 3GS or better hardware devices if you want. This eliminates the issue of having a bad experience on lower end devices and bad reviews from them. It would definitely simplify some development issues if we didn't need to worry about those lower end devices, and if it's really only 10%, I would say well worth losing. Just wish there was some more definitive stats out there?
Posted 11 months ago # -
I'd really like to be able to support the earlier models, but since I'm using blocks I'm finding it hard to continue support for my 1st gen, because I seem to get errors using the plblocks framework... sometime the blocks work, and sometimes they don't. I'm sure it's probably me doing something wrong, but I'd rather just support 4.0, on 2nd gen and above, especially if its only around 10% people using those devices. That being said, I still try to test my game on my 1st gen on the parts where it doesn't crash, just to see how the performance is, so at least I know it will work on the 2nd gen, and even the 1st if I can fix those problems!
Posted 11 months ago # -
To the OP, sorry have no data <sarcasm> but you should definitely spend 10 - 30 more days tweaking your game so that those 17 users with 2nd gen iPod's will download your app, oops forgot ITL and birk, make that 19 users.</sarcasm>
http://en.wikipedia.org/wiki/Sarcasm <- I've been misinterpreted in the past.
<serious reply>it is a business decision you have to make. Make it and move forward. Good luck</reply>
Posted 11 months ago # -
Hard to make business decisions with no data.. thanks Apple! ;)
Posted 11 months ago # -
It seems about 90% of people are using iOS 4 developer stats but it doesn't say what devices they use. I think it's best to get things running on iPod 2G and above. A lot of people have probably upgraded their iPhone 3G, as usually this is free on a plan. But there's still millions of iPod Touch 2G out there, the iPods are popular with kids and those kids love games. Check out eBay. People are still selling them and asking quite a bit.
As a side I have an iPhone 4 with the latest software and a iPhone 3G I use for testing. I have it running on version 3.1.3 of the iOS. I am trying to run a game I'm developing on it and it keeps dropping to 30 frames and lagging badly. (Everything is fine on iPhone 4). The thing is every now and then it will run fine and at around 60 frames on the 3G. I haven't changed the code so it's something to do with the device itself.
Running instruments I see my app uses 9.7 meg of real memory. SpringBoard uses 9.78 Meg and DTMobileIS uses 5.04 Meg.
Does anyone have any ideas on how to debug this problem. I think running from Xcode and having the developer stuff on the phone slows it a bit, should I just ignore the problem and get it running on iPhone 4?
Any help greatly appreciated.
Posted 11 months ago # -
@Webtopia, just because you haven't changed the code, it could still be a piece of code somewhere that is running slow on the 3G, but that the iPhone 4 can handle - its a lot more powerful! And also you do need to run in release mode to get the true performance, but it could still be something wrong with the code that you might need to look into.
Posted 11 months ago # -
What I mean is I run it on an iPhone 3G and it runs poorly. I run it again on the iPhone 3G 10 mins later (without changing code) and it runs fine.
I have 3 theories but finding it hard to settle on a plan to test them.
Theory 1: I am pushing the iPhone 3G to the limit and when other programs are running in the background it gets sluggish. But my understanding is that it can handle programs up to 20 megs. Mine is only running at 9.7 meg and I'm still having problems (intermittently). So what is acceptable? How do I test this theory?
Theory 2: There's no problem at all. It sometimes runs slowly on my phone because of xcode and the developer profile. I can perhaps test this by running in release mode.
Theory 3: Version 3.1.3 is so outdated and inefficient that if I upgraded to version 4.2 I would solve the problem. I can test this but would prefer not to as it is a pain to set the version of your phone back to an older version.
I'm just hoping for some insight into what it can handle and what other programs can effect the device before I look for code problems.
Posted 11 months ago # -
Ok, so if you leave it running when its going fast, then it'll keep going fast for as long as you play... so you could play it for 10 or 20 minutes without any slow downs? and then if you close it and try it again later then it sometimes runs slower?
Could be to do with running in debug mode, but from what I understand, the main reason that causes slow downs is because it prints out to the console lots, and if you're not printing anything to the console, then I don't see debug mode causing any major slow downs, but it would be worth trying it in release mode to check.
Also I don't think there should be any problem with things running in the background if you're not using 4.0 or above... and even then it shouldn't really cause any problems! and if its running at 9.7mb then that should be fine, well within the limits! But you could always try restarting you iphone (holding home button and off button) and see if that helps at all, but I think thats usually just to free up memory! and 9.7mb should be fine I would have thought!
I'm not sure what difference, if any, there is between using 3.1.3 and 4.2 software, but I wouldn't have thought that would affect performance much either. If anything I would have thought 4.2 could cause slowdowns on older devices, but I could be wrong!
Posted 11 months ago # -
You cant figure out how memory your app uses by the size of it. My own app is <5 MB, but balances on the edge of a memory warning 1.
About your theories.
1)
Probably the reason.
A 3G can not multitask, but there could be issues with push notification, a weak wifi signal, and other stuff.
Try setting it on "plane mode" and see if that reduces stutter.
Do you get any memory warning ?2)
While debug will run a bit slower, it is no big deal. The main problem running debug on device, is logging information. Since this is done via the USB port, a lot of debug spew can slow things down.3)
I very much doubt that. To be honest, unless you do some fancy shit only supported on 4.x ( no idea what that could be ), 3.x is in ALL respects much faster than 4.xPosted 11 months ago # -
Yes that's right. Runs fast from the start and stays fast or runs slow and stays slow. You see my dilemma.
It seems to run faster when I don't run it from xcode. Must be some debug settings or something.
Posted 11 months ago # -
Oh I apologise, when you said 9.7megs I was assuming that you meant the actual memory it was taking up, not the size of it! (or did you mean that?).
Posted 11 months ago # -
no you're right the actual memory it uses while running
Posted 11 months ago # -
Ups, my bad then. 9Megs is nothing, so it's for sure not that which causes it.
The debugger will not cause it to run slow "sometimes". It must be a problem with your code.
You need to get friendly with the profiler.Posted 11 months ago # -
Sorry I missed some of your posts before @Birkemose
1. I already run it in airplane mode.
2. There's very little logging happening.
3. I agree.
It seems to run fine when not connected to xCode and it also runs fine on iPhone 4 and iPad so I may just use the Homer Simpson method and ignore it and hope it goes away.
As for getting friendly with the profiler. I'd love to get friendly with Dr Samantha Waters. And while it may relieve some of my tension and help me think better I fail to see how it would directly solve my current issue.
Posted 11 months ago # -
What device rotation are you using in your app? I believe if you're using the "UIKit" device rotation mode it can cause massive framerate drops on the 3G or older. Try disabling rotation or using the "CCDirector" rotation and see if it helps. (Not at my dev machine right now - can't remember the exact rotation parameter names).
Posted 11 months ago #
Reply »
You must log in to post.