Is it advisable to disable analytics when submitting to Apple? Do we have a statement on whether Appcelerator's analytics are affected by the new terms and conditions?
One other question - when and how much data is sent? I am building an application for primarily offline use, and I don't want my users to be incurring bandwidth fees without their knowledge. If the analytics data is sent along the most recent network connection by my app then that seems like an acceptable compromise, but if it will be sending updates over 3G then I imagine some users would be unhappy with that.
While there has been no official word on this from Apple, we're pretty sure our analytics are OK. Apps built with Titanium (with analytics on) continue to be accepted to the iTunes Store. If you are worried about it, you can turn analytics off in your
As far as bandwidth, analytics get sent regularly throughout the lifetime of your app—using whatever connection is currently available. Generally, that means wi-fi, otherwise 3G, and otherwise Edge. If the phone is not connected to any sort of network, data is saved to be sent later. Additionally, not every call to analytics results in data being sent immediately; updates are batched and sent in sets.
Though it doesn't affect data usage, I should also point out that analytics run on a separate thread and so should minimally affect your app's performance.
Hope that helps.
Thanks for the quick reply. I'm sensitive to bandwidth issues because of the ridiculous prices here in Japan - users looking to keep their bills down need to ensure they move less than 1.6MB a month. So I think I'll keep analytics disabled in my app, but I can definitely see the appeal in other markets.
Wow, 1.6MB seems really low! Is that common for most carriers in Japan (do most people just use wi-fi)? Are there any particular optimizations or tuning that would make analytics workable for you?
We talked a bit today about possibly being able to specify that analytics should only be sent when a wi-fi connection is available (as opposed to 3G/edge/cellular radio)—i.e. analytics events would be saved and as soon as your app is open and connected via wi-fi, all the saved events get sent. Would that be useful? Are there other techniques that would work for you? I can't make any promises on whether any of this will make it in (or when), but if this stuff would be useful to you, we'd love to hear it.
All three carriers use the same pricing model. The base rate for data is about $11.60/month, which buys you 1.6MB. From there data is charged at 0.084 yen per 128 bytes, up to a maximum of ~ $48 a month, which is hit if you use 6MB a month. So you're not going to end up with thousands of dollars in fees, but staying under 1.6MB saves you $36 a month.
To be honest, I think that many iPhone users in Japan end up paying the full rate, and when you purchase an iPhone you're encouraged to commit to paying the full $48/month in exchange for a few dollars discount off the monthly bill. However, there are people who do try to keep their traffic low and limit themselves to wifi where possible.
If analytics events were only sent over wifi then it would certainly avoid the problem, but analytics are not a big priority for me personally. I'd rather live without analytics and see you guys have more time to work on bugs and further improvements to the API.
Gotcha, thanks for the feedback! We definitely want to stay focused on whatever helps you the most.