Slow DDP connection on Cordova


#1

I’m pretty happy with the app I am building for mobile using meteor+cordova+angular

The initial app is loaded on mobile in 5 seconds. Not fast but okeyish.

However, establishing DDP connection is quite slow and users have to wait for couple seconds
before lists are populated (sometimes 3-4 seconds, sometimes up to 12sec).
I host the app at Galaxy with 1 container, lowest plan + data on mlab (free version).
I optimized the data sent via wire but it’s still a problem.

What are the best practices in handling it?
I tried fast-render, but it looks as it’s not working for mobile :frowning:


#2

Is this on WiFi or a cellular network? How is the performance when accessing the app through a browser?


#3

It’s on WiFi.

Through a browser it’s very fast. But fast-render is in place.


#4

But without fast-render? Cordova shouldn’t make any difference here, except for the fact that the app is running on a mobile device and that will likely also be slower.


#5

it’s pretty fast in the browser (fast enough). I wonder why it’s slower on mobile.
If it helps, I am running Meteor 1.3.1


#6

+1
I also noticed a perceived slowness of Cordova app and connection issues while in browser it’s fast.


#7

Same for us with Ionic and Meteor over WiFi, it is fast on Browser (~400ms), and slow on Cordova (between 2 and 10sec), we are running 1.3.3-rc. We subscribe from 20 to 200 elements in our resolve, with a maximun of 800 elements in minimongo. It seems to be linked to mobile device performance. Do you know a good way (or tool) for investigation ?

Sadly, we are thinking to use the only workaround that we found : method.


#8

We have run into problems deploying Cordova/Meteor webapps where multiple tablets need to connect to the net over a WIFI. The apps runs fine when using Chrome in the same tablets. With a Cordova app, the connections become progressively slow as we add more tablets and after the 6 or 7th connection, the Cordova app fails to connect to the net and times out. We have removed all blocking file loads, and optimized as much as possible, but the apps becomes simply unusable. We were deploying the app in schools and for now have removed the Cordova/Android installs. We instead made the web-app progressive, opened it in Chrome and managed to add an icon for each tablet. This works well since it is directly loading in Chrome. But not having a usable Android app is a bummer. The site is at https://aspire.curiositi.in

We are using Meteor 1.4 running on Google Compute, with a mongolabs backend