Experimental Features in IMatch 2023.3.4

Started by Mario, October 03, 2023, 07:18:15 PM

Previous topic - Next topic

Mario

This release ships with a new Update Checker and an integrated download feature.

I have re.-designed and re-implemented this functionality using a modern "tech stack" and I plan to retire the Updater App in one of the next releases. It's now as simple as it can be, I think.

If you have experimental features enabled, running Help menu > Check For Update... command uses the new implementation. You are offered several simulated "outcomes" of the version check, including simulating an available update and even a major upgrade.

Please give it a try. Use any of the options and let me know if they work.

Use the "Update available" option and then download the update.
The new feature downloads the update, validates the checksum and the digital certificate to make sure it's complete and legit and then allows you to install the update immediately or when you close IMatch.

Independent from the choice you make, Windows will ask if you want to run the update installer.
Choose NO, unless there is really a new IMatch version (newer than 2023.3.4) available.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

thrinn

I tested all available options. All work as expected, including "Update now" and "Update later".

Just one remark: In the simulated error message, "timeout expired" sounds strange to me. "Timeout occurred" might be better. Can one of our native speakers comment on this?

2023-10-03 21_49_19-IMatch Updater.jpg
Thorsten
Win 10 / 64, IMatch 2018, IMA

Mario

I think this is a pretty common term (as per Google). I'm happy to change the wording, though, it it is nonsense.
IMatch sets a timeout for certain operations (e.g. 5 seconds to fetch the version information) and when it takes longer than this timeout (it expires), the error is displayed.

In almost all cases, users should never see any errors. Except they have to deal with very slow, unreliable or very high latency network connections.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

jch2103

Update trial seems to work OK. 

Re wording, it might be preferable to say: "An error occurred: update timed out"
John

mopperle

An option to close the Update Windows without choosing one of the options would be nice. Something like "Close" or the usual "X" in the right corner of the titlebar

Mario

I thought about this but decided against it. Easy is best.

A) You first have to decide to download the update, which takes some time and allocates disk space.
So this choice does not come as a surprise.

B) Whether you choose to install the update now (IMatch closes and runs the update) or later, when you close IMatch, you have always the choice to not run the installer.

So you have a now / later / don't options.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Mario

#6
Can users who spent some time with the new update checker / download feature let me know if they have any suggestions or found problems?

The whole experimental features in IMatch to look at and check out only works when as many users as possible participate :)

I would otherwise make the new updater/downloader the default for IMatch in the future, removing the separate Updater App. One app less to maintain, which is good. And I believe the new feature is more convenient. For users.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Mees Dekker

#7
Why does a user have to choose what the outcome of an update check is, even before the actual check is done? Imho the update check should return a result, after which the use can then decide/choose what to do (depending on the result the update check delivers).

Is this update check still automatically run every time/day IMatch starts?

As it is now, I see a very limited use for this feature, but I may be missing the point entirely.

Mario

QuoteWhy does a user have to choose what the outcome of an update check is, even before the actual check is done?
This is part of the experimental feature, enabling you to simulate every possible outcome of the update check.

If this extra selection would not exist, all you would get is "Up-to-date" - except there is really an update.
You would never be able to download the upload to test this, or simulate an error to see how the error handling works etc.
Testing all outcomes is part of the experience.

If this feature becomes live, no questions will be asked of course. You always get to see the result of the update check as you see in the current implementation.

IMatch checks for updates once a week, when an internet connection is available.
This happens in the background. You are only informed when an update or major upgrade is detected.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

sinus

Ahhh, thanks Mees, I was really confused about this. I have to try this out.
Best wishes from Switzerland! :-)
Markus

sinus

I checked this all, works fine for me, looks good.

Except the error-message (the last one).
If I would get this message, I would as a normal user would not know, what this means. Is something wrong with my actual program, or is my DB corrupt or whatever. 

Timeout expired for what?  :-[ 
I would be lost and would think, phew, "ok, then not". (die können mich mal) :-)
Best wishes from Switzerland! :-)
Markus

Mario

#11
Quote from: sinus on October 09, 2023, 03:17:13 PMExcept the error-message (the last one).

If I would get this message, I would as a normal user would not know, what this means. Is something wrong with my actual program, or is my DB corrupt or whatever.

Questions like this are the reason for experimental features.
To find problems. To make the wording in prompts, messages, dialog boxes and user interface elements more clear.
That's what I want to learn and get feedback about for from users.
Translators can use experimental features to get in translations early so we maybe can ship translations for all languages at the same time.

I will reword this to:

Image1.jpg
It his more clear?
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

mopperle

I'm still voting for "timeout occured". Using various translators and examples, most of them give you a message like "Session expired, "... timeout occured" Attached an example scrrenshot from HP System Management
Translating "timeout expired" into german woul result in "Zeitüberschreitung abgelaufen", which is bad wording, better is "Zeitüberschreitung eingetreten".

Mario

Quote from: mopperle on October 09, 2023, 04:02:42 PMI'm still voting for "timeout occured".
I'm not sure.
When I google for timeout expired timeout occurred the first pages in the result all use timeout expired.
That's also what I usually as the error see when some operation in some application takes too long and a timeout happens :-)
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

sinus

Quote from: Mario on October 09, 2023, 03:35:07 PM
Quote from: sinus on October 09, 2023, 03:17:13 PMExcept the error-message (the last one).

If I would get this message, I would as a normal user would not know, what this means. Is something wrong with my actual program, or is my DB corrupt or whatever.

Questions like this are the reason for experimental features.
To find problems. To make the wording in prompts, messages, dialog boxes and user interface elements more clear.
That's what I want to learn and get feedback about for from users.
Translators can use experimental features to get in translations early so we maybe can ship translations for all languages at the same time.

I will reword this to:

Image1.jpg
It his more clear?

Yep, this is for me much better and understandable.
"Timeout expired" sounds for me better as "occured", because I hear it more often. 
Also e.g. in the world of banking and credit cards. But of course I am not an native english speaking person, hence I can not really judge.  8)
Best wishes from Switzerland! :-)
Markus

Tveloso

I tried all the test scenarios in the new Update Checker, and they all worked great.

In fact, the speed of the integrated download seemed a bit faster, than downloads via the Updater App...(although I suppose there are quite a few other variables that can influence that).

As for the wording of the error message, the new more descriptive narrative above seems fine.  The phrase "timeout expired" could be referring to the configured timeout value, in which case it is the thing that has expired...but if it's the timeout condition (which has occurred as a result of that wait time having expired), then "occurred" would be better.  

Recently, I was driving on a highway where some resurfacing work was underway, and there were two signs some distance apart from each other. The first read "grooved pavement ahead", and the second said "motorcycles use caution".  After passing the second sign, I thought to myself "no they don't - I've seen motorcycles making some pretty reckless maneuvers".

This is maybe why many of us might prefer computer languages to human ones...(human languages - probably English in particular - are just chock full of ambiguity)...
--Tony

Mario

Quote from: Tveloso on October 10, 2023, 05:19:17 AMIn fact, the speed of the integrated download seemed a bit faster, than downloads via the Updater App...(although I suppose there are quite a few other variables that can influence that).
The download speed is limited by the server. If you usually download updates when many other users also download updates, the server will throttle the bandwidth to, say, 2 MB/sec per simultaneous download. If there is less traffic, more bandwidth is available for each download connection.

Also, there is probably a slight overhead of downloading it in JavaScript in a browser over downloading it more "bare metal" using C++ and Microsofts latest network code.
The new update checker and downloader is also a testbed for me for the latest concurrency runtime Microsoft provides. I refactor (change/update) older code that can benefit from these new Windows features over time, improving performance while reducing code complexity. Always a good thing.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook