Modifying the default state of an application to suit a user's preferences or to address the unique requirements of a particular objective.
An app that supports customization may allow users to change default values, colors, or settings and persist those changes for the next time the user runs the app.
Customization can also refer to modifying configuration settings or modifying source code to make a "prepackaged" software product meet a requirement that is unique to a particular customer or environment. For example, if an app needs to fetch data from a server, the specific details of how the app should connect to the server (URL, protocol, credentials) are usually externalized in a configuration file so they can be easily customized without requiring code modifications.