There are many factors that can affect the installation of VPP apps. This article will give you some ideas as to the cause of slow-downs and suggestions on troubleshooting.
First, it should be understood that TechPilot (nor any MDM) does not actually install apps. Instead, TechPilot connects to your VPP account and tells Apple which app licenses to assign to which devices. From there, all the actual installation is handled between Apple and the device. This means that there's not anything that TabPilot itself can do to make the installation faster, but there are a number of things that you can do to help.
Most of the time, installation speed boils down to one major factor: BANDWIDTH
If you are installing multiple apps to multiple devices, there are different areas to consider in regards to bandwidth
- Total: the total bandwidth available – i.e. your incoming pipe from your ISP for the entire school or district
- Bandwidth through a single wireless Access Point: If you have many devices in the same area (i.e. a single classroom or the tech-department, etc.) then it's likely that they are all connecting to the same AP. So while you might have a huge pipe into your building, it can bottleneck and get limited by that one access point. Attempting the same installation among devices spread throughout the building might work much better.
- The size of each app: more on this later
- The number of apps you’re trying to install simultaneously: you might want to do a staged rollout of just a few apps if there are many devices
- Apple Caching Server: more below
APPLE CACHING SERVICE
Probably the best way to accelerate app installs is to utilize Apple Caching Service. It's part of OS X Server (macOS Server) which you can buy from the App Store. It's not really a Server OS, but rather, simply an app that you run on your Mac, just like any other app. You don't need a powerful Mac, so even an older Mac Mini or Macbook will do the trick, as long as it supports one of the latest versions of OS X. It's insanely easy and fast to set up. It appears that the Caching Service can be set up to span multiple subnets too, although it might require some DNS entries, so you may need to do a little research on that part. In newer versions of macOS, the caching service is actually built right into the OS, so you don't even need to download Server as a separate application. You just have to make sure you're connected to a wired network and the service is enabled.
The Caching Service will store an app locally so that when multiple devices need the same app, they don't all have to download it through the Internet using your Internet bandwidth. Instead, the file gets cached locally and distributed from there. Keep in mind though, that this will NOT help if your bottleneck is a result of too many devices connecting to a single wireless access point! Even with the app cached on a local server, a single access point could still slow things down.
Are you pushing out a ton of apps including large ones? We recommend that you find and isolate the big one and install them independently (especially if installing too many devices). Some popular large apps are ones like Garage Band (1.2 GB), Keynote (480 MB), and iMovie (616 MB). Microsoft apps like Word, Excel, and PowerPoint are also quite large (over 300 MB each). These apps that are in the 500MB+ range can really bog things down. Think about trying to install just the six apps mentioned here on 250 devices. If they average 500 MB each, we have 500 X 6 X 250 = 750000 MB, or 750 GB.
So how can you find these large apps easily with TabPilot? It's easy. Go to your iOS School Apps list. Click the gear icon to customize the columns and add "size" to the table. Now click on the size column to sort the apps by that column. Click a 2nd time to sort in reverse order so the large apps end up at the top. You might also find it useful to sort by the Groups or Classes Column too. This will make it easy to see how many apps are assigned to a single group or class, and if you spot a bunch of those big ones in there, and the device group has many devices, then you know where you might need to make some adjustments.
So your strategy in dealing with large apps might be to either assign (and thus install) them first, just one or two at a time, then go do all the little ones in larger groups. Or you might do the opposite and get all the little ones out of the way, then work on the larger ones, but you get the idea!
To help this situation out somewhat, we send out app installation commands to devices one at a time, waiting for installation of one app to finish before starting the next. We also re-order the queue to install smaller apps first, allow the device to have more usable apps earlier without some huge app bogging down the entire queue.
AVOIDING APP REMOVAL AND RE-INSTALLATION DUE TO GROUP AND CLASS CHANGES
Be aware that TabPilot automatically sends the signal to your Apple VPP to install apps to devices based on the app being "assigned" or "unassigned" to a Device Group or Class to which the device belongs. If a device is removed from a class or group where the app is assigned and no longer belongs to any other class that has the app assigned, the app will be removed. Remember that a device can only belong to one group, but to multiple classes
This means that some care has to be taken when moving devices between groups or classes. Moving a device to some temporary group for some reason, even for a few minutes, can cause many GB worth of apps to uninstall quickly. Putting that device back into a class or group where the apps are assigned will then cause all those same apps to be downloaded and installed again. So in some cases, it might make sense to assign apps to the group where a device is being moved into BEFORE actually moving the device.
Apps won’t install if the iPads go to sleep. So for a large deployment of many apps, it’s helpful to plug the iPads in and see the screen timeout to Never. Of course, that's not always possible for a large number of iPads or ones that are already deployed. But in general, keep in mind that large apps might seem like they are not deploying if they are assigned to iPads that are not currently in use and thus awake. This is another good reason you might consider deploying all the small apps first, and saving the large ones (like the 1.2 GB Garage Band) afterward.
LARGE INITIAL DEPLOYMENTS WITH MANY APPS VIA USB THROUGH APPLE CONFIGURATOR 2
Apple Configurator 2 allows up to 5 GB of apps to be installed directly from the Mac via USB during the initial device prep, thus saving time and WiFi bandwidth. It can also be done after initial deployment, but of course, the devices need to be in-hand and hooked up via USB, so it's often not ideal. There are some tricky considerations that deal with the handling of VPP licenses too, but those are outside of the scope of this article.