On our latest version, version 2.0.12, we've stopped using MooTools and switched to jQuery.

There are several things we have thought of before making these changes:

On our latest version, version 2.0.12, we've stopped using MooTools and switched to jQuery.

There are several things we have thought of before making these changes:

1) Clients using different version of Mootools

When Mootools releases a new version, it's realy likely that you have to do some major JavaScript code changes.
In other words, Mootools doesn't deal with backwards compatiblity that well.

This means that you cannot have the same code for clients that use Joomla 1.5 with Mootools 1.1 and clients that enabled the Mootools upgrade plugin (this upgrades Joomla to Mootools 1.2 - which by the way isn't the latest version of the framework).

Since most of our clients still use Mootools 1.1 (and their templates are made for Mootools 1.1), we cannot force them into using Mootools 1.2 (or vice-versa).

2) Change code with each Joomla version?

Each Joomla version will probably have a different Mootools version (which isn't backwords compatible, like I said at 1).
Joomla 1.5 was released with Mootools 1.1, Joomla 1.6 was released with Mootools 1.2, Joomla 1.7 will probably be released with Mootools 1.3 (not sure?).

3) jQuery is backwords compatible

Unlike Mootools, jQuery doesn't make major API changes with each release. That means that it's very likely that the code written for jQuery 1.4.2 will work on the latest jQuery version for example.

Actually in the last years that I've spend working with jQuery, the only change that affected me was changing the attr() function with prop() on some parts of the code (forum.jquery.com/topic/prop-attr-rewrite-again).

Like the creator of jQuery (John Resig) said, one of the main focuses of jQuery is to be backwords compatible.

4) We control the version

Mootools is included in Joomla, yes, but you don't really know what version the client is using. With jQuery, we always try to use the latest release of the framework, so the client shouldn't enable any weird plugin to ensure compatibility.

Bottom line: should we spend a lot of time to port our code from an older version of Mootools to a newer one (not knowing for sure what version the client is using) or better spend that time making new features for our user while not having to worry for backwords compatibility?

We strongly believe jQuery is a good solution for us and that this comment doesn't reflect the whole truth (problems described above):

Another point is that jQuery isn't an overheat of 100 kb to the webpage, because gziped and compressed it's only 31 kb. Is that such a big price to pay for?

jQuery is a high-quality JavaScript framework, used on many (I would say "most of") important websites: docs.jquery.com/Sites_Using_jQuery