Improbable Icon

Data transfer while building

general

#1

It looks like there is plenty of communication to the improbable servers while perfoming local build and local runs. Especially when the network connection has hickups this interferes with builds and runs.

An addition this hinders offline development and gives our network staff headaches as they want to keep their restriction policies in place to keep our networks security level high.

The need for authentication when only building or running locally is also very disturbing.

Why is all that background communication necessary and what exactly is done?


#2

Hi there,
you’re correct that there’s quite a lot of network activity during the build process - I’m not an expert in this area but as I understand it there are three things going on:

  • authorisation - we need to check that people are using the platform from authorised accounts. This is why it pops up a web page and then the authorisation lasts for a few hours.
  • updates - the stack also automatically checks for updates to the underlying infrastructure, this is separate from the SDK version (which you chose in spatialos.json) and it’s responsible for starting and running spatial local. Currently the build will fail if this can’t complete.
  • logging - there’s also some logging to help us understand how people are using the platform, however this is done in the background while the task is running, and won’t stop the task completing.

I hope that future versions may allow that the updates check to fail without blocking builds, as this would allow offline development after the initial authorisation has completed.

I’m not sure what why you find the requirement for authorisation disturbing - the vast majority of software I use as a developer performs regular license checks.

Regarding network restrictions - we have a number of options for clients that need to run on highly restricted networks - if this is an issue for you it might be worth raising a support ticket and we can investigate how we can help.

Hope that helps,
Chris


#3

The problem is that this is much more data transfer then necessary, it is done undocumented silently in the background and the user is not informed in advance. Therefore the platform will get rejected by any reviewing network operator.

authorisation

  • Not necessary for offline development (clean, codegen, build and local starts).
  • Ok for online development (upload, connect and cloud starts).

updates

  • Make the update check optional at least for offline development.

logging

  • Make the logging default off and opt in.

Just give the user the control over what data gets transfered at which point of time. And include a possibility to allow for full offline development.

Whith a proper documentation of the ongoing communication and options to avoid it for offline development the platform will be fine for the normal use in everyday development.

In addition it is good to hear that there is an option for highly restricted networks.


#4

Hey @TalentRaspel,

Thanks for the feedback. I’ll raise your suggestions to 1) make an offline version of spatial that doesn’t require internet access, and 2) document the comms performed by spatial to our team :slight_smile:. Watch this space for improvements!


#5

Sharing my 2 cents here: I don’t mind the background traffic at all but it can be inconvenient when trying to work without an internet connection (for example during a commute). For that reason it would be handy sometimes if spatial local start would work without an internet connection.


#6

Some great context here, will make sure it gets to a feature request!


#7

I’ll chime in here too that Internet (optional,) would be great. My Internet connection at home is horrible and I can only imagine that it is causing some latency in the build process.


#8

Thanks guys for the great feedback - keep it coming!
We are looking at making spatial local start and spatial local build work without an internet connection as we know users would like to be able to develop offline. We’ll keep you posted when this is closer to being released.