Website page load time issues in iOS - Safari browsers - ios

We have a website in Wordpress, using a home-made theme. Some weeks ago, we noticed some page load time issues of our website, reported in Google Analytics. If we check the website using speed tests as Pingdom, Webpagetest and GTMetrix, we don’t see any performance issues. We checked the Analytics data, the main issues (average load time) are in iOS – Safari browsers (iPhone, iPad, in-app). If we check the specific data we find that, for example, one page could have 30 seconds page load time, but is not always and it happens for a single user using Safari 9 browser in Apple mobile device.
One more thing, we tested using those devices, but nothing weird happened.
Any idea what could be happening.

It's not just about the mobile device but the carrier also.
Apparently your carrier is better than the other(s).
The second biggest issue with mobile carriers is the number of simultaneous requests allowed. A desktop will download about 6 page resources simultaneously. Mobile, one, maybe two.
The biggest issue is the tower will often drop the radio signal between the phone and the tower between request.
so with mobile it is very important to minimize the number of requests per page.

Related

4 hour browse watch, cert performance and multi app test

Recently observing that 4 hour browse to watch, multi app performance and cert performance tests are only navigating and not playing any content. This was working on same code till last week. We tried few things and find out that if brand name is not passed then most of the time test behaves as expected. Has anything changed on YouTube backend?
For the questions about YouTube, please reach out to your Technical Account Manager at YouTube.

Can we support offline Single Page web apps in iOS 10+?

We are developing a Single Page RWD web app which supports all mobile form factors. We would like to
have the webapp support offline browsing capability as well
Once the data is downloaded from server, user should be able to see that data even if there is no internet connection.
Users should be able to fill forms, and later submit it to server, when there is internet connection.
Can we use the AppCache, HTML5 storage to get the offline capabilities? If we are using hash to change the navigation in address bar the whole page refresh problem is also not there.
Was going through some of the older posts in Stackoverflow on this. Offline iOS web app: loads my manifest, but doesn't work offline
This post is dated back in 2011. In 2017, can we support
If you want to open something from an URL to the webView, you need internet. You can do the following thing in the iOS application with certain conditions.
Users should be able to fill forms, and later submit it to the server, when there is an internet connection.
You need to cache all the responses when using the native iOS or any other cross platform. If you are wondering about PWA, it is coming in the 11.3 version of iOS. Refer this link to understand more about the service workers in the WebKit. It is a beta version, so do not expect it to run bug free.

iOS seems to be displaying a high bounce rate in Google Analytics

I have an issue where Google Analytics shows just fine data for all other browsers but then for iOS (specifically version 9.3+), Google Analytics show a high bounce rate. Now I am very aware of the recent iOS bug however, Apple released a fix to this and yet, I still have these weird statistics.
Can anyone provide any clues or possibilities iOS is showing this kind of stat?
You could take a look at the page load time, and see if that's any different on iOS. Check the source report to see if iOS traffic is typical. Also, look at the volumes. If they're very low, you may be seeing warped results.
Another possibility is traffic from your own company; for sites with only a few hundred visitors a day, excluding internal traffic can have a noticeable effect on Bounce Rate, but since this is phone traffic it might be slipping through the filter.
We actually tested this and it seems it's because of this: https://github.com/PierBover/ios-iframe-fix

How to detect data being per app basis on iOS

I recently came across an app in the app store called Dataman Pro. It has a feature that lets you see the data usage per app basis (see the attached screenshot). I have been wondering what is it doing to get this sort of information.
See this post about getting the list of installed apps, and this git project.
Then about usage tracking:
If you wondered about any public APIs that give you network statistics out of the box - there's nothing there.
DataMan it self is an app that used to work in the background all the time, and bind to the network interfaces to track network usage. Which is one of the reasons that its data is never 100% accurate as it is not guaranteed to always work in the background. This is also the reason Apple kicked it from the AppStore after a few versions...
Now that app has returned, if I understand correctly, after making a few changes: Mainly avoiding "hacks" to stay in background, and using Location Services to get back online when the user moves around. I guess this is another hack but one that Apple did not oppose to, yet.
Edit:
After looking around the web for a bit, it seems that Apple found that trick also, and removed many apps from the AppStore due to staying in the background by using location. I guess right now it's not working more than 10 minutes in the background, so you open it when you want to measure current Activity, and it stops measuring after 10 minutes.
About the tracking code itself, its mainly C code, using CFNetwork framework, and you can find some answers on stackoverflow on this subject.
More, in response to comment:
Well, the part about seeing the installed apps list, and foreground app, is not exactly private APIs, but private plist, as you mentioned.
Apps which access private files do get through from time to time. When Apple finds that some "private" files are accessed and need to be kept safer - they change it in an iOS update, like they did with the call history file, which is sensitive. Old apps tended to use (around iOS <= 3.3) the call history db to do some stats, and on iOS4 they were obsolete by the file moving to a secure location.
Reading "private" files which are unprotected is pretty easy to do without getting caught by automatic analyzers.
When you know which is the foreground app, and you can count current network usage, you can associate it with the app... And get an estimation. So this is how they do it, most likely.
However, The techniques change from time to time, due to Apple re-reviewing apps and their own policies, and due to API changes, and if you track the history of such apps and even this specific app - you will see that from time to time they get kicked off of the AppStore and return with a twist. They adjust... So no technique is reliable and this is a major headache to maintain, which is probably why the developer charges 9.99$ for it. I would.

iPad / iPhone Offline Webpage

I need to supply a single page website for a client to view offline on an iPad / iPhone.
The webpage will have Javascript, image and video assets. Reading about Cache Manifest it seems the cache on iPad is limited to 5mb.
Anyone suggest any routes forward, which ideally do not require the use of an additional app, but will allow for the offline storage of video.
You will likely have trouble with Safari to guarantee availability of your web page and videos offline.
The most reliable alternative would be to create an app using PhoneGap, because that would give you control over the video and the web page being stored offline. However that requires you to distribute it as an iOS-app to your client.
If you don't/can't distribute it as an app, you could try to find an app that is designed for offline browsing and supports video on the appstore. If you search for "Offline browser iPhone" on google or appstore you will be presented with some alternatives.

Resources