Installers are kinda large


#1

Generally, one of the big things that hurt SL was the large installer size and time it took to install. These things all ‘add friction’ between someone signing up for SL and actually using it.

It appears that, despite once being relatively small, Interface installers are now 116MB. This thing isn’t exactly downloading fast, and although we all have broadband in 2015, we don’t all have fiber. It’s currently going at around 219 KB/s, with ‘6 minutes remaining’.

I’m not really an expert in these sort of things, so I am unsure as to what can be done to streamline the installer for Interface.


#2

It is a valid point, some of the Device specific SDKs could be offloaded into separate plugins which technically could trim the client down a-bit. (Not everyone has Razors, Leap-motions, Faceshift cameras, etc) They are abit of dead weight as of the moment for those without the devices.

From what I have gathered though, some of the weight might also come the Qt framework as well, but this is sorta unavoidable when trying to build for cross-platforms.

I do understand that some are a must to keep in the main-software, (such as the Rift SDK) as they are part of the rendering pipeline.

However, considering bandwidth use, file size is the currently least of the worries they’ve got, especially considering the requirements for all the bone, face shape transmissions and receiving of voice data are very taxing bandwidth wise.

As of the moment thought, since we are still in alpha, I think optimisation passes and stabilisation are coming around beta.

As a comparison, the current mac client for SL is about 50 mb, half of the Hifi, while the Windows version is 30 mb.


#3

Omg the latest build took nearly 25 seconds to download, I don’t have that kind of time spare


#4

took me 26, ya braggart :stuck_out_tongue:


#5

Every once in a while I get a message that the download will take 20 minutes. I close it down and restart and it takes a few seconds.
Might be a glitch or bug?


#6

I’m with Dr. Franny on this. It does happen to me this way but not sure why.


#7

It is a valid point, some of the Device specific SDKs could be offloaded into separate plugins which technically could trim the client down a-bit. (Not everyone has Razors, Leap-motions, Faceshift cameras, etc) They are abit of dead weight as of the moment for those without the devices.

While we are looking into ways to compartmentalize device specific plugins, the work has little to do with reducing the size of the install package. At best you’d probably be able to shave off a megabyte or two by removing device support. The vast majority of the install package is actually Qt DLLs and plugins. However, these plugins don’t change very often (basically only when we update the version of Qt that we’re building against).

It might be possible to have some kind of mechanism that detects that only the interface executable itself has changed and runs in an update mode that only downloads a new executable and replaces the current one, or to support some other kind of differential update that identifies and downloads only changed components. However this is a non-trivial amount of work, which isn’t likely to be prioritized in the immediate future. Even more unfortunately, while the application is open source, our build system for creating the installer packaging currently isn’t (I believe), so it’s not work we could farm out to interested parties via the work list.


#8

Thanks Jherico for the small info,
i guess that idea goes into the bin, atleast for that specific reason :slight_smile:
Atleast previous working with chromium and crosswalk on android added a good 20mb into a download file and 50 mb on install , so did some dangerous assumptions here, but then again, that wasnt just an SDK.

But yes that sort of patchers sounds a bit nicer than having to download the entire client and its libraries over and over again…