I'm currently in the situation that two mobile apps should be updated to make future developments easier to implement.<p>By update I mean that the underlying framework needs to be completely replaced.<p>Do you charge these kind of upgrade to your customers or not?
If there's no outwardly visible features your customers care about then no, don't charge for the upgrade. You should only consider charging customers for an upgrade when something of direct value to them has been added to your app. In this example it sounds like you, the developer, are the primary benefactor of this change. It makes things better and easier for <i>you</i>. Once you've used the new framework to deliver something of value to your customers then consider charging them for it.