Give some more pretty feedback in NewStuff::Page while the Engine is loading
ClosedPublic

Authored by leinir on Nov 6 2019, 1:58 PM.

Details

Summary

This adds an isLoading property to KNSQuick::Engine, and that is used
to show a busy indicator (with descriptive label) when engine is loading.

BUG:413439

Test Plan

Without this patch: Empty content panel while loading is happening
With this patch:

Diff Detail

Repository
R304 KNewStuff
Branch
be-more-friendly-during-initial-load (branched from master)
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 18558
Build 18576: arc lint + arc unit
leinir created this revision.Nov 6 2019, 1:58 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptNov 6 2019, 1:58 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
leinir requested review of this revision.Nov 6 2019, 1:58 PM
leinir edited the summary of this revision. (Show Details)Nov 6 2019, 2:01 PM
leinir edited the test plan for this revision. (Show Details)
leinir added reviewers: KNewStuff, Frameworks, ngraham, VDG.

Now you don't need those PassiveNotifications anymore, because otherwise you wind up with duplicate messages:

leinir updated this revision to Diff 69383.Nov 7 2019, 11:08 AM
  • Merge branch 'master' into be-more-friendly-during-initial-load
  • Don't show the passive notification for already shown messages

I still see "Loading Data" in a passiveNotification as well as in text under the loading indicator. Do we really need the passiveNotifications at all? I think we can probably improve the user experience vy removing them entirely. For example instead of "Loading one preview" we can just show individual loading indicators on the previews themselves

leinir added a comment.EditedNov 7 2019, 2:27 PM

I still see "Loading Data" in a passiveNotification as well as in text under the loading indicator.

i'm seeing a couple of bits which really probably want to be turned into something else (but as separate diffs, as i'm not really keen on this ending up yet another several-months-long saga - on which note, see D25197):

  • Loading data (which should really just be an inline item (probably the footer) with a spinner to indicate when the model is fetching more items)
  • Loading one preview (which is basically just debug information and should be turned into that)

Do we really need the passiveNotifications at all? I think we can probably improve the user experience vy removing them entirely. For example instead of "Loading one preview" we can just show individual loading indicators on the previews themselves

i'm afraid we do - as you might gather from that short list above, there's an enormous amount of of these bits of information being thrown back from the engine, and until we're certain we have captured all of them by some other method (and removed the noise), we really can't just get rid of it. (yes, i realise how much you dislike[1] them, and i'm quite happy to move towards removing them, we just can't do it by just straight up removing them entirely. We also can't simply replace it with a dialog box either, because /some/ are informational and can be safely ignored, while some are important, and there's no straightforward way to tell which is which)

[1] was going to say hate, but it's a terribly strong term, and i feel like we probably need to reserve it for things which actually deserve that strength ;)

leinir updated this revision to Diff 69399.Nov 7 2019, 3:38 PM
  • Merge branch 'master' into be-more-friendly-during-initial-load
  • Add a bit of @since
ngraham accepted this revision.Nov 8 2019, 2:31 PM
This revision is now accepted and ready to land.Nov 8 2019, 2:31 PM
This revision was automatically updated to reflect the committed changes.