= Applications and app versions = In BOINC terminology, an '''application''' is not a single program; it's a set of programs (for different platforms and processor types) that compute the same thing. These individual programs are called '''app versions'''. Jobs are submitted to applications, not app versions. BOINC decides what app version to use when sending a job to a host. == Applications == Applications have the following required properties: * Name: A short name (used to name directories, so don't use special characters like /). * User friendly name: the name shown to volunteers. Optional properties: * Homogeneous redundancy: this application uses [HomogeneousRedundancy homogeneous redundancy]. * Weight: the proportion of workunits of this application to be sent when the [BackendPrograms#Feeder feeder is run with the --allapps option]. * Beta: whether jobs should be sent only to [BetaTest beta-test] users. * Minimum version: issue work to clients using the [http://boinc.berkeley.edu/wiki/Anonymous_platform anonymous platform mechanism] only if their reported application version number is this or greater. * Whether the application is [NonCpuIntensive non-CPU-intensive]. A project can have many applications. Applications can be created using the [XaddTool xadd] utility, based on a description in the '''project.xml''' file. Applications can be created or edited using the Manage Applications page of the [HtmlOps administrative web interface]. == App versions == An app version can consist of multiple files: for example, a controller script, pre- and post-processing programs, and a primary program. An application version has the following required properties: * Version number: an integer. Assign these in increasing order; for a given application and platform, BOINC will use only the app version with the greatest version number. and the following optional properties: * Beta: whether jobs should be sent only to [BetaTest beta-test] users. * Min and max client version: don't send jobs to clients outside this range. Specified as an integer, encoded as 10000*major + 100*minor + release. Application versions are created using [AppVersionNew update_versions]. Descriptions of application versions are stored in the '''app_version''' table in the [DataBase BOINC DB]. Application versions can be edited using the Manage Application Versions page of the [HtmlOps administrative web interface].