[Development] To improve UX of the online installer

Sze Howe Koh szehowe.koh at gmail.com
Tue Apr 3 11:24:18 CEST 2018


On 3 April 2018 at 08:43, Jason H <jhihn at gmx.com> wrote:
> I'm not involved with the installer, but 2 points.
> 1. Number of gets doesn't really matter as long as it's HTTP 1.1. yeah it's not as optimal as a single compressed download, but it's not terrible. If it's only 1.0, then that's a problem. Or it could be that the concurrent connections are being limited, or the gets are just taking a fixed time to get a response. Maybe memcached would help?

I'm not familiar with the low-level details of HTTP, so I may have
misinterpreted the symptoms. But judging from Eddy's and Giuseppe's
posts, it sounds like MaintenanceTool is indeed being bogged down by
opening one TCP connection per HTTP GET request.

You can check this easily on Windows: Open Resource Monitor, go to the
"Network" tab, and then start a metadata download session. The "TCP
Connections" pane gets flooded with entries from MaintenanceTool.exe
and the "Local Port" values increment rapidly.


> 2. "Closest" mirror isn't what is important, it's speed. Though you may be implying that the chosen mirror was still slower? It seemed that you argue both?

I'm mainly arguing that the automatic mirror selector makes bad
choices for some users, which is why we need a way to manually choose
our own mirror.

A few years ago, I released a hack-tool to override the automatic
selector: https://forum.qt.io/topic/43349/slow-downloads-with-the-online-installer-try-this-tool/
Even today, users regularly come to the forum reporting that the
online installer is too slow. Even today, forum veterans recommend
this tool to such users. Even today, users report that choosing their
own mirror improves download speeds significantly.

P.S. My impression is that the selector gives a lot of weight to
"closeness" when choosing (see
http://lists.qt-project.org/pipermail/development/2014-February/015614.html
). Yet, as you rightly said, "closeness" is not that important.


> 3. I think the scope is ok. Qt is not a tool chain, it's a library with tools. And the expectation is that Qt sits above the platform and compiler(s).

I agree with the principle. However, you'll be amazed at how
frequently new users come to the forum asking why they can't build
anything. Some of them lament that it's not straightforward to install
and start using Qt.

I don't have any stats, but it's plausible that Qt loses a significant
number of potential users simply because they install Qt the "wrong
way", can't get things to work within X hours/days, and end up walking
away. I think it's worth providing small guideposts if it helps
increase retention rate. We don't want to be some exclusive club
that's inaccessible to newbies.

In any case, I'd rather spend my forum time answering questions about
how to use Qt features, not helping users with basic installation
woes.


Regards,
Sze-Howe



More information about the Development mailing list