Future standard GUI library

Wolfgang Keller feliphil at gmx.net
Sat Jun 15 08:25:02 EDT 2013


> Okay... how long does a round-trip cost?

With a protocol that wasn't made for the purpose (such as HTTP) and all
that HTML to "render" (not to mention javascript that's required for
even the most trivial issues) - way too long.

> Considering that usability guidelines generally permit ~100ms for
> direct interaction, 

That's "generous".

A proficient user with a responsive application can easily outpace that.

100ms is definitely a noticeable lag. Even I feel that and I don't use
touch-typing to use the GUI. 50ms might not be noticeable, but I don't
have the skills myself to test that.

> (Magento, a PHP-based online shopping cart system, took the better
> part of a second - something in the order of 700-800ms
> - to add a single item. And that on reasonable hardware, not a
> dedicated server but my test box was certainly not trash.)

That's not a question of hardware. Just like with MS (Not Responding).
 
> That's the entire round-trip cost. The queries from Sikorsky to
> Yosemite involve three computers (the client, the server, and the file
> server), and is completed in under 30 milliseconds. 

I am talking about applications that actually do something. In my case,
database applications. A PostgreSQL transaction is supposed to take at
most 25ms to complete (anything above is generally considered an issue
that needs to be solved, such as bad SQL), *server-side*. That leaves
you another 25ms for the entire network protocol (the pgsql protocol,
whatever it is, was designed for the purpose, unlike HTTP) *and* the
client-side application logic, including the GUI "rendering".

Qt is already quite sluggish sometimes, don't know why. GTK and
wxPython "feel" swifter, at least on an actual *operating* system. MS
(Not Responding) is definitely incapable to allow applications anything
remotely close to "responsiveness". Minute-long lockups with frozen
cursor are "normal".

> That still gives you 70 milliseconds to render the page to the user,

Forget that.

25ms for client-server (pgsql) network protocol, client-side
application logic *and* GUI.

With a "web" application that would have to include "application
server"-side application logic, *and* generation of HTML (and
javascript), *and* HTTP protocol *and* HTML "rendering" *and*
client-side javascript.

Won't work.

Sincerely,

Wolfgang



More information about the Python-list mailing list