One of my colleague suddenly asked me this question. As an IT person, I know roughly what is on demand and on the fly, and inside my gut I feel that on demand and on the fly are two different things. But because they're often used together, I have a hard time to describe to him what exactly the difference between them. In the simplest definition possible, I feel like on demand is the way user requests the content, and on the fly is the way the system delivers the content to the user. But I still feel something is missing or inaccurate. I feel like on the fly indeed has intersection with on demand, but they also have their own separated things. But I can't quite grasp what are those. Please help. Thanks.
The difference is not subtle. The phrase on demand means "when required", whereas on the fly means "without interruption". Illustrating this with two examples:
Your shop has a price list of stock items, so you can provide a price on demand. But if someone requests the price of a non-stock item, lets say by telephone, and during the call you quickly look up the item on your supplier's website, you can give a price on the fly, without the customer knowing what you did. However you would be unable to supply this item on demand as you don't have it in stock.
If you have been called out to give an immediate demonstration of your company's software, that would be on demand. Now if you notice a fault with its set-up just before the meeting starts, and quickly edit the configuration files, you would have fixed it on the fly.