Holy Cow - How IMatch became 12 editions...

Started by Mario, July 29, 2017, 08:24:41 PM

Previous topic - Next topic

Mario

Today I've finished the work on the new installers for IMatch, IMatch Anywhere and the "build" scripts, which do all the work required to create a new version for shipment.
Everything is now a lot more complicated than before.

In the good ol' times, before IMatch Anywhere, there were only two versions of IMatch: Licensed and Trial version. That was easy.
IMatch Anywhere shipped from the start in 4 editions: TRIAL, HOME, PRO and TEAM.

And with the 64-bit editions, I have now to build and ship 12 different product editions for every release. Geez.

I have developed several sophisticated scripts which automate the build process as much as possible. Thank the gods. It would take me probably a full working day (18 hours) to prepare a new version for shipping otherwise  ???

Now I only need to find a way to automatically install each version, ensure that all files are were they should be and that the version runs...
This not only means installing each edition and checking if it runs.
It also means testing if the Trial -> Licensed upgrade works.
If the "previous version" to "current version" installation works.
Every time starting with a "clean" Windows installation of course.

This is unfortunately very hard to automate and uses a lot of my time. Working on it.
Heck, I should probably just build, ship and cross my fingers. Users will tell me if it works soon enough, right?    
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Aubrey

Do you often find problems?
If not then perhaps make a pre-release available to a selected group with various machines.
If no problems are reported then go to general release.

As the product becomes more complex one person cannot hope to manage all the details and still be productive.

HaWo

QuoteHeck, I should probably just build, ship and cross my fingers. Users will tell me if it works soon enough, right?

:o  :(  >:(
Hans-Wolfgang

Mario

Quote from: Aubrey on July 30, 2017, 05:29:17 AM
Do you often find problems?

Not really. I follow the "Eat your Own Dog Food" programming approach - which means I use IMatch myself daily. But this covers only a fraction of the system. I also run a large set of automated tests (recently became easier because IMatch 2017 has such a powerful scripting interface) but that also covers just part of the system.

As soon as I release an IMatch update, the testing capacity explodes  ;)

QuoteIf not then perhaps make a pre-release available to a selected group with various machines.

I do that, with some local testers. But even they cover only a fraction of the software.

QuoteAs the product becomes more complex one person cannot hope to manage all the details and still be productive.

The key is DRY (don't repeat yourself) and to automate as much as possible. I have automated the entire build process, reducing out the potential risk of Mario fkn up one of the 100 steps, forgetting something etc.
Basically I start a script and 15 minutes later a set of 8 shiny new IMatch Anywhere editions end up in a folder, ready for upload to the test machines. Or 4 IMatch editions.

But it happens that the installer software has a hickup or there some freak accident during the build and one installer fails to launch or run through or maybe even is missing a file (different IMatch versions use different files for binaries and executables, resosurces etc.). This means I need to install each of the 12 versions once to make sure the installers run.

And I need to test if the TRIAL -> LICENSED conversion works. And the PREVIOUS->NEXT upgrade works, especially if new stuff has been added to the database which requires changes to the data model.

I have scripts which help me with that, e.g. checking if all files are where they should be. But these scripts also need to be maintained when I add new files to the IMatch distribution, and this means also a potential for errors.

I just noticed (and fixed) that one of the tabular file window layouts shipped with IMatch had some broken tag links - the columns did not show any data. I don't know why or when this happens, but I have now another test point for that.

It is just impossible to test everything in a software as complex as IMatch. Not without a dedicated testing department - and this is financially impossible.

I rely on my agile release process. If a bug is found that is critical or inconveniences more than a few users, I will ship a new version quickly. I shipped six or eight releases of IMatch 2017 in the first four weeks to get rid of the initial quirks asap. This was quite a feat.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Aubrey

Quote from: Mario on July 30, 2017, 09:02:44 AM
Not really. I follow the "Eat your Own Dog Food" programming approach - which means I use IMatch myself daily.

Wow!  ;D
Write IMatch software
Get time to go out and do some photography
Archive results in IMatch
+++very active on forum

How do you fit all this into your schedule?  ???
You must not need very much sleep!

sinus

Mario programmed, that a day has 48 hours.  ;D
Best wishes from Switzerland! :-)
Markus

Mario

-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook