gitpod-io / gitpod

The developer platform for on-demand cloud development environments to create software faster and more securely.
https://www.gitpod.io
GNU Affero General Public License v3.0
12.57k stars 1.2k forks source link

Nudge users to enable incremental prebuilds when prebuilds duration is more than 10 minutes on average #10439

Open gtsiolis opened 2 years ago

gtsiolis commented 2 years ago

Problem to solve

Currently, incremental prebuilds exist inside project settings as a toggle option users can enable for a project.

However, this feature is only referenced in one changelog entry[1] and slightly documented (see section in prebuilds docs).

See also relevant discussion (internal). Cc @atduarte @geropl @jankeromnes

Proposal

MVC Step 1

Similarly to https://github.com/gitpod-io/gitpod/issues/9232, we could detect when project prebuilds on average take longer than 10 minutes and nudge users to enable incremental prebuilds using an alert within the project prebuilds page.

We could use:

  1. A help alert component if this contains simply a tip that does not take into account usage but promotes a new feature, etc.
  2. An information alert component if this contains neutral information that could take into account product usage, etc.
  3. A warning alert component to help a user avoid an issue, in case skipping this could lead to excessive charging, see relevant discussion (internal).
Help Alert Information Alert Warning Alert
alert-help alert-info alert-warning

MVC Step 2

Additionally, although prebuilds eventually will be available to enable only via Projects, we could surface a similar alert on the workspace start page for repositories that have not been added as projects yet, nudging users to create a project and enable incremental prebuilds.

TBD (To be discussed)

gtsiolis commented 2 years ago

Cross-posting from a relevant discussion (internal):

@jankeromnes: However, we should probably avoid this right now, especially for European pro[j]ects, because incremental will double the amount of network transfer when creating new prebuilds, and since prebuilds all run in the US, doubling our expensive EU-US network traffic could be expensive.

See also https://github.com/gitpod-io/gitpod/issues/6650 and https://github.com/gitpod-io/ops/issues/2595 (internal).

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

jankeromnes commented 1 year ago

I believe this issue should now be rewritten to:

Then we could also try to suggest a reasonable "Skip Prebuilds" value, e.g.