We have some parts with realtime and some parts that will be realtime but we don't know if we should or not show the user we are polling or if the polling result in an error.
Currently we don't show that we are polling since our loading spinner occupy the all screen and it would be annoying to have a spinning flashing every 30s.
We do show an error message if the request goes wrong.
@markglenfletcher@jschatz1 : Whoever gets to it first, could you add a gitlab-org label for real-time. So we can get a nice view of all real time issues.
Taurie Davischanged title from UX real-time to UX real-time display of errors
changed title from UX real-time to UX real-time display of errors
@filipa : The general high-level approach I'm thinking (for Discussion) is that we make the issues page pretty real-time everywhere, and then slowly bring those pieces to other places in GitLab. But no specific order / rule on this. As you already listed, some areas need real-time for more urgent use cases (like mr widget), whereas other places it is more nice to have (comments updating). So we'll just prioritize accordingly. I think what you listed is a pretty good for the Discussion group at least.
Instead of showing an error we could show the last state we have It is not a challenge to do it what the architecture we have in Vue components, it's actually super easy
@tauriedavis : Not a fan of the countdown. Seems too intense.
I like https://gitlab.com/gitlab-org/gitlab-ce/issues/31227#note_27842269 simply showing no connection. Only concern though is if a user clicks Refresh, and the browser tries to reload the entire page, but now gets a blank screen instead. So they are even worse off.
So should the two concepts be separated?
Everything in GitLab should be real-time and we should engender trust from users over time so they just expect it. Once we get really close for GitLab as a product overall, it will be obvious and users don't ever see any negative states for 99% of the time because they are always "connected". So no special design required. UI elements just refresh automatically by themselves with subtle CSS transitions. This is assuming we are designing for customers that have good Internet connections, which I think is good enough for us for now.
For the 1% of the time when a user is struggling with their Starbucks wifi, we simply show the No network connection indicator. We don't need to show any CTAs because they already trust us that things will go back to normal once they are connected again. We don't want to show any countdown because we don't want to expose the gory details of real-time to the user. Instead, we want to uphold the illusion of instantaneous real-time, when it's really like 30 second near realtime or whatever the interval is. So once the Starbucks wifi is re-connected, the No network connection indicator goes away, and everything is fine again.
Our users are not yet accustomed to real time.. we can not say now we don't need to give feedback (it simply is the easiest way out to do nothing...and wait for feedback after implementation.. so this should actually have had somer UX research done... )
If we were to give feedback though.. i think we need to be so subtle about it, that people only notice it when necessary.
Thinking on this again... i think we are going to have many places where things will either be real time or not... Its not fair to compare it to airbnb, which have this element on repeated items in stead of unique UI throughout the interface...
GitLab is moving all development for both GitLab Community Edition
and Enterprise Edition into a single codebase. The current
gitlab-ce repository will become a read-only mirror, without any
proprietary code. All development is moved to the current
gitlab-ee repository, which we will rename to just gitlab in the
coming weeks. As part of this migration, issues will be moved to the
current gitlab-ee project.
If you have any questions about all of this, please ask them in our
dedicated FAQ issue.
Using "gitlab" and "gitlab-ce" would be confusing, so we decided to
rename gitlab-ce to gitlab-foss to make the purpose of this FOSS
repository more clear
I created a merge requests for CE, and this got closed. What do I
need to do?
Everything in the ee/ directory is proprietary. Everything else is
free and open source software. If your merge request does not change
anything in the ee/ directory, the process of contributing changes
is the same as when using the gitlab-ce repository.
Will you accept merge requests on the gitlab-ce/gitlab-foss project
after it has been renamed?
No. Merge requests submitted to this project will be closed automatically.
Will I still be able to view old issues and merge requests in
gitlab-ce/gitlab-foss?
Yes.
How will this affect users of GitLab CE using Omnibus?
No changes will be necessary, as the packages built remain the same.
How will this affect users of GitLab CE that build from source?
Once the project has been renamed, you will need to change your Git
remotes to use this new URL. GitLab will take care of redirecting Git
operations so there is no hard deadline, but we recommend doing this
as soon as the projects have been renamed.
Where can I see a timeline of the remaining steps?