Last year at my old school I populated 170 apps in Self Service. Was using Self Service Mobile and it took about a minute to download icons and descriptions the very first time it launched. After that it got updates fairly quickly.
This caused a performance hit on my server every time, and combined with VPP codes for each app, even the free ones, so silent installation could work, it dragged the server down. Perhaps we should not have worried about the silent installs and had the students put their password in to purchase the free apps...
In any case we had to upgrade the server hardware fast because the JSS was crashing.
259 apps in the catalog but they are not scoped to all. I'm guessing no one see more than half of that in the Self Service mobile app. Present count for my iPad is 103 scoped in and while the first time Self Service mobile loads it does take a little longer than one might expect, performance seems fine for subsequent launches. We have about 500 mobile devices managed in JSS on a decent virtual Windows server.
My guess based on no real knowledge is that the reason each category in the Self Service app only shows a few apps (and has a view all option) is to help performance when the app loads. If that is indeed true and the icons don't load for apps that aren't shown (this is speculation on my part not based on real knowledge) then I might suspect that once you hit a certain number of apps in the catalog going above that won't have a significant hit on the Self Service app performance (and maybe impact on the server).
Anyone with real knowledge (like maybe someone from JAMF) want to comment on that?
@cdenesha This year I seem to be having success using VPP managed licenses to silently push apps to students and allow installation from Self Service with no Apple ID password prompt (because they are already in the Apple's purchase history due to VPP license assignment).