Subject: Lack of activity indicator over slow connections (pgadmin4)

From: Magnus Hagander <[email-masked]>
Date: Thu, 15 Sep 2016 16:50:58 +0200

I've been using pgadmin4 a bit recently over really slow and in particular
long-latency connections (double-vpns across the atlantic..)

What I've noticed is that there appears to be zero feedback while things
are running. In this case, the slow link was between pgadmin4 and the
database it's connected do, but I'd expect similar issues when it's pgadmin
that's far away from the browser.

Basically, clicking on a node in the tree, it took 15-20 seconds before the
SQL pane updated (or the properties pane). During this time, there is
*zero* feedback that something is going on, unless I open up developer
mode. Which, in fact, I did a couple of times to look at the console
thinking it had crashed rather than was just doing something.

In my case I did the "classic end user" and ended up clicking at a couple
of different things to see if anything works at all, which of course made
things even more confusing. But that's exactly the kind of thing that end
users will do.

I think that's going to cause a *lot* of confusion. There should really be
*some* level of feedback.

I think a very good choice would be if it's possible to make it do nothing
by default but if a request takes more than say 1 second, a spinner can
show up to show that it's actually *doing* something.

-- 
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

---

From: Dave Page <[email-masked]>
Date: Fri, 16 Sep 2016 09:35:17 +0100

Ashesh, Murtuza, Surinder,

Any thoughts on how we can achieve this easily, and where we're
lacking notifications? We did have activity notification in the
treeview, but that never worked overly well and now I come to think of
it, I don't recall seeing it recently. I'm thinking we need something:

- On treeview node click

- On dialogue open and OK

- On Wizard steps

- Possibly in the debugger, when stepping?

I would think all that we need is to set the mouse cursor to 'progress'.

Thoughts?

On Thu, Sep 15, 2016 at 3:50 PM, Magnus Hagander <[email-masked]> wrote:
> What I've noticed is that there appears to be zero feedback while things are
> running. In this case, the slow link was between pgadmin4 and the database
> it's connected do, but I'd expect similar issues when it's pgadmin that's
> far away from the browser.
>
> SQL pane updated (or the properties pane). During this time, there is *zero*
> feedback that something is going on, unless I open up developer mode. Which,
> in fact, I did a couple of times to look at the console thinking it had
> crashed rather than was just doing something.
>
> In my case I did the "classic end user" and ended up clicking at a couple of
> different things to see if anything works at all, which of course made
> by default but if a request takes more than say 1 second, a spinner can show
> up to show that it's actually *doing* something.
>
> --
>  Magnus Hagander

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgadmin-hackers mailing list ([email-masked])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

---

From: Magnus Hagander <[email-masked]>
Date: Fri, 16 Sep 2016 09:36:35 -0500

> I would think all that we need is to set the mouse cursor to 'progress'.
Actually, the treeview spinner worked most of them time.  I'm not sure if
it worked all the time - I didn't check that carefully - but it did work
most of the mtime.

But basically whatever *else* I clicked was the problem. In particular
clicking the tabs out right, with the "Properties" and "SQL" tabs being the
ones I used and they were extremely slow over the high latency connection
(I measured almost 4 minutes as the worst time to load a SQL pane for a
table with 11 columns and a couple of indexes and triggers) with lack of
feedback.

---

From: Dave Page <[email-masked]>
Date: Wed, 21 Sep 2016 13:23:35 +0100

Some feedback or preferably a patch please? Release is next week!

On Fri, Sep 16, 2016 at 3:36 PM, Magnus Hagander <[email-masked]> wrote:
> Actually, the treeview spinner worked most of them time.  I'm not sure if it
> worked all the time - I didn't check that carefully - but it did work most
> of the mtime.
>
> ones I used and they were extremely slow over the high latency connection (I
> measured almost 4 minutes as the worst time to load a SQL pane for a table
> with 11 columns and a couple of indexes and triggers) with lack of feedback.
>
> --
>  Magnus Hagander

---

From: Surinder Kumar <[email-masked]>
Date: Wed, 21 Sep 2016 19:00:33 +0530

Hi Dave/Ashesh

The thing we can do is:
1) We can display *loading message* same as other panels if returned
response is taking longer than 2 seconds, otherwise we won't display any
message(to avoid fluctuations).
Screenshot - demo_message.png

2) Display a loading spinner along with panel title while data is being
loaded.
Screenshot - spinner.png

Please let us know if it looks good.

---

From: Dave Page <[email-masked]>
Date: Wed, 21 Sep 2016 16:10:40 +0100

Hi

On Wed, Sep 21, 2016 at 2:30 PM, Surinder Kumar
<[email-masked]> wrote:
> Hi Dave/Ashesh
>
> The thing we can do is:
> 1) We can display loading message same as other panels if returned response
> is taking longer than 2 seconds, otherwise we won't display any message(to
> avoid fluctuations).

There's a typo there (laoded)..

> 2) Display a loading spinner along with panel title while data is being

I don't see a spinner there at all.

What about the other places I mentioned?

---

From: Surinder Kumar <[email-masked]>
Date: Fri, 23 Sep 2016 12:02:06 +0530

> I don't see a spinner there at all.

​sorry its not spinner, its reload spinning icon in place of properties
icon.​

> - On dialogue open and OK

    D​
isplay *loading message*
​in dialog till the data loads and on OK we can set mouse pointer to
'progress' till the data is not processed.

​    ​
- On Wizard steps
​
​    D​
isplay *loading message*
​also in wizard pages till it doesn't loads data.

​    ​
- Possibly in the debugger, when stepping?
​
​    ​
In case of debugger's step into, step out & resume, we can set mouse
pointer to 'progress'​
​. ​

> >> > clicking the tabs out right, with the "Properties" and "SQL" tabs
> being
> >> > the

---

From: Dave Page <[email-masked]>
Date: Fri, 23 Sep 2016 09:15:02 +0100

On Fri, Sep 23, 2016 at 7:32 AM, Surinder Kumar
<[email-masked]> wrote:
> sorry its not spinner, its reload spinning icon in place of properties icon.

Oh, I see. I like it, but wonder if it would be too subtle.

Can we do both? Show the panel, and spin a loading icon on the tab?

>     D
> isplay loading message
> in dialog till the data loads and on OK we can set mouse pointer to

Yes, they are essentially panels too, so we can do the same as for
Properties and Statistics etc.

> - On Wizard steps
>    D
> isplay loading message
> also in wizard pages till it doesn't loads data.

Yes.

> In case of debugger's step into, step out & resume, we can set mouse pointer
> to 'progress'

OK.

Can you work up a patch ASAP please?

Thanks!

---

From: Surinder Kumar <[email-masked]>
Date: Fri, 23 Sep 2016 14:19:39 +0530

> Can we do both? Show the panel, and spin a loading icon on the tab?
​I will try to implement both.​

> pointer
​Ok.​

---

From: Surinder Kumar <[email-masked]>
Date: Mon, 26 Sep 2016 19:11:24 +0530

Please find attached patch. Added activity indicator for:
1) Panels.
2) Dialog open and on click OK.(set cursor to progress)
3) Debugger. (Set cursor to progress).

Not done: Activity indicator is not implemented for wizard pages. send
another patch once completed.

---

From: Dave Page <[email-masked]>
Date: Mon, 26 Sep 2016 15:11:22 +0100

Thanks, applied with some changes to wording, and reduction of the
delay from 2 secs to 1.

On Mon, Sep 26, 2016 at 2:41 PM, Surinder Kumar
<[email-masked]> wrote:
> On Fri, Sep 23, 2016 at 2:19 PM, Surinder Kumar
>> I will try to implement both.
>>>
>>>
>>> >>
>>> >>
>> Ok.