Maximum allowed cache in iPad - iphone

I am working on a web-application which has multiple videos sizing upto 22MBs.
The requirement is to cache these videos or store it in local-storage so as to avoid buffering of the videos every-time the end-user hits the website on iPad.
Is it valid to do such thing ?
I need a suggestion to check if this practice is good to use such large amount of memory for video caching in iPad ?
(The application is majorly accessed through the safari on iPad or iOS)

I'm not sure about best practices for video since I haven't done much with video, but if you're looking for information about how much data you can hold and how, check out http://milesmatthias.com/post/21323839252/the-current-state-of-client-side-storage for a summary of the different tactics and their size limits.

Related

Video dimensions for Mobile Applications

I need to play some videos in a mobile application. These videos will be created on Camtasia software. The Q I have been asked is that what the dimensions of videos should be during the creation in Camtasia to make sure that videos will be OK for different screen size in mobile application.
It is not the responsive issues in developing I am talking about. No doubt I will take care of these issues as a developer. The Q is What issues need to be considered when videos are creating in Camtasia? I suggested that Height: 1920 and Width:1080 can ensure us that with applying responsive issues in developing time, there won't be a serious problem to display videos on different phones( different screen size).
Thanks for your concern.

Text to speech app size

Does using libraries like OpenEars will drastically enlarge my app size? Or I can just extract the text to speech stuff, and get away with it...Probably removing all those langs? I don't have any idea.
I checked and OpenEars sample app is 33MB - which is big!
So my question is - can I implement text to speech in my app without compromising the size so much? I mean I can live with 2-3 MBs but 30...
Thank you!
OpenEars developer here. Just follow the instructions here to reduce your final app size, there's no need to ship all the voices or any features of the framework that you aren't making use of. Depending on which voices you're using and which feature, you might see an app size increase of between 6 megs and ~20 unless you're using a large number of the available voices. The sample app uses all of the framework features and two voices, and supports a few iOS versions, so its binary size reflects that.
My guess is you can't, audio will take up a lot of space.
Removing unneeded language will free some space but 2-3 mb for all the audio guess that isen't really possible.

Having to store too many image files

So I have a huge app. It is full of features, most of which require a couple images, and all of which have to be saved as part of the binary file. I worked really hard before the release to get under the 20MB threshold, to make the app more accessible to users. My release binaryt was 18.1MB.
So now, with the new iPad and its retina display, what should I do about updating all of my images for this new display. If I did include an updated copy, I would be way over the 20MB limit. Currently, I store some image files on my sever, and download/cache them as the user needs them, but im hesitant to do this with major features because I'm concerned some users may not always have internet access. And without some of those images, the app is useless.
Is there any way I can have an iPhone only install the iPhone graphics, and visa versa?
Apple has since raised the limit for all devices to 50 MB due to the release of the new iPad. This should hopefully allow you to fit all of the pictures in your app bundle.
One approach to minimize the size of your files is by compressing your PNG files. This will only minimize the size, and the images will continue to work correctly.
The links provided below will help you find a crusher you desire.
PNG Crush
PNG Compressor
ImageOptim

Max size iPad / iPhone Offline Application Cache

Anyone knows the max size of Safari's 'Offline Application Cache' on the iPad & iPhone. Looks like it's 5MB. Is there any way to enlarge this size?
Offline application cache docs: https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html
I have the same problem on iPhone. On iPad though I figured a turn around. If your manifest contains files less than 5MB the first time and you update the cache by window.applicationCache.update() and before doing the update you increase the manifest files to be below 10mb it will work. If you continue doing that (increasing the manifest by <5MB each time and then update()) you will see that the iPad can cache more than the 5MB limit.
It is so sad that Apple by not supporting Flash and MIDP but only HTML5 for web-apps screws so much on that.
If your application uses more than 5mb than iPhone/iPad will ask the user to allow the website to use more space.
Let's read my test at here: Mobile Safari 5mb HTML5 application cache limit?
I think your apps need user's agreement for storage more than 5MB. Another problem you get is the network problem. It's too slow for 50MB transferring...

XML, images, streaming video and "excessive volumes of data"

My first application was submitted to App Store and failed to be approved owing to "excessive volumes of data over the cellular network". I don't know how they test this but since it's basically a news application which displays various articles, images and streamed videos, I would go and blame the videos for the rejection. I can't test it for sure because there is no network stats in Ipod Touch and that's the only device I can access.
And so I'm curious..
1) Does anyone have any idea how Apple "runs" bandwidth test?
2) What are ways I can improve my XML loading, image displaying and video streaming to reduce bandwidth (in case user uses cellular network)? For images, I use asynchronous loading (maybe that can be a problem if lots of images can be requested at the same time?) I'm looking at http://allseeing-i.com/ASIHTTPRequest/ which could help with XML and maybe image loading but I don't understand if I can use ASIHTTPRequest to stream a video.
3) Is there any way to test network usage in iPhone simulator?
I expect the streaming video is the problem. Apple want you to use HTTP Live Streaming if you want to stream video over the cellular network.
See question 1236788 for more information.
They run bandwidth tests by looking at byte counters for the network interface I think. You can do the same in the simulator by making sure no other networking apps are running on your mac and then look at the output of the 'netstat -i -b' command. Or use a fancy utility to monitor bandwidth usage.
Not helpful, but I'd like to say this anyway: Apple's claims are silly in my opinion. Why do they care.