A method comprising: receiving, at a computing device, a search query from a user device; identifying, by the computing device, one or more function records (150, 150a-1) using the search query, wherein: each function record (150, 150a-1) includes an application access mechanism, AAM (156, 156a-1), additional AAM (156, 156a-1), and a web access mechanism (170, 170e), wherein the AAM (156, 156a-1) includes a reference to a native application executable on the user device and indicates one or more operations for the native application to perform, and a web address, the additional AAM (156, 156a-1) includes a reference to an edition of the native application that is different than an edition of the native application referenced by the AAM (156, 156a-1), and the web address is for a web browser of the user device to access a web version of the native application referenced by the AAM (156, 156a-1); selecting, by the computing device, the AAM (156, 156a-1) from the identified one or more function records (150, 150a-1); receiving an indication of an operating system of the user device; identifying whether the AAM (156, 156a-1) associated with the function record (150, 150a-1) is compatible with the operating system using the indication of the operating system; in response to determining that the AAM (156, 156a-1) is compatible with the operating system, transmitting the AAM (156, 156a-1) from the computing device to the user device; in response to determining that the AAM (156, 156a-1) is not compatible with the operating system, identifying whether the additional AAM (156, 156a-1) associated with the function record (150, 150a-1) is compatible with the operating system using the indication of the operating system; in response to determining that the additional AAM (156, 156a-1) is compatible with the operating system, transmitting the additional AAM (156, 156a-1) from the computing device to the user device; and in response to determining that the additional AAM (156, 156a-1) is not compatible with the operating system, transmitting the web address. receiving, at a computing device, a search query from a user device; identifying, by the computing device, one or more function records (150, 150a-1) using the search query, wherein: each function record (150, 150a-1) includes an application access mechanism, AAM (156, 156a-1), additional AAM (156, 156a-1), and a web access mechanism (170, 170e), wherein the AAM (156, 156a-1) includes a reference to a native application executable on the user device and indicates one or more operations for the native application to perform, and a web address, the additional AAM (156, 156a-1) includes a reference to an edition of the native application that is different than an edition of the native application referenced by the AAM (156, 156a-1), and the web address is for a web browser of the user device to access a web version of the native application referenced by the AAM (156, 156a-1); each function record (150, 150a-1) includes an application access mechanism, AAM (156, 156a-1), additional AAM (156, 156a-1), and a web access mechanism (170, 170e), wherein the AAM (156, 156a-1) includes a reference to a native application executable on the user device and indicates one or more operations for the native application to perform, and a web address, the additional AAM (156, 156a-1) includes a reference to an edition of the native application that is different than an edition of the native application referenced by the AAM (156, 156a-1), and the web address is for a web browser of the user device to access a web version of the native application referenced by the AAM (156, 156a-1); selecting, by the computing device, the AAM (156, 156a-1) from the identified one or more function records (150, 150a-1); receiving an indication of an operating system of the user device; identifying whether the AAM (156, 156a-1) associated with the function record (150, 150a-1) is compatible with the operating system using the indication of the operating system; in response to determining that the AAM (156, 156a-1) is compatible with the operating system, transmitting the AAM (156, 156a-1) from the computing device to the user device; in response to determining that the AAM (156, 156a-1) is not compatible with the operating system, identifying whether the additional AAM (156, 156a-1) associated with the function record (150, 150a-1) is compatible with the operating system using the indication of the operating system; in response to determining that the additional AAM (156, 156a-1) is compatible with the operating system, transmitting the additional AAM (156, 156a-1) from the computing device to the user device; and in response to determining that the additional AAM (156, 156a-1) is not compatible with the operating system, transmitting the web address.