A method of operating a server computer that is in communication with a companion device over a network connection, the method comprising: receiving, at the server computer, an accessory device application file for installation at an accessory device, the accessory device application file comprising an accessory device stub application and an interface definition, wherein the accessory device stub application and the interface definition are mutually identified with an application identifier, the accessory device application file including programming code that, when executed by the accessory device, provides the accessory device stub application to the accessory device, and wherein the accessory device stub application, with the interface definition, specifies display values for display at the accessory device and communicates with an accessory device daemon included with an operating system of the accessory device for external communications; generating, by the server computer in response to receiving the accessory device application file, a companion device application, a companion device extension, and an accessory device application package for installation at the companion device, the accessory device application package including components comprising: the companion device application for generating the display values for display at the accessory device, the companion device extension for communications with a companion device daemon included with an operating system of the companion device, wherein the companion device daemon is for communications with the companion device application, and the accessory device application file; and sending the accessory device application package from the server computer to the companion device over the network connection, wherein the application identifier is publicized and is recognized by the companion device application, the companion device extension, the companion device daemon, the accessory device daemon, and the interface definition, which are configured to interoperate in accordance with the application identifier. receiving, at the server computer, an accessory device application file for installation at an accessory device, the accessory device application file comprising an accessory device stub application and an interface definition, wherein the accessory device stub application and the interface definition are mutually identified with an application identifier, the accessory device application file including programming code that, when executed by the accessory device, provides the accessory device stub application to the accessory device, and wherein the accessory device stub application, with the interface definition, specifies display values for display at the accessory device and communicates with an accessory device daemon included with an operating system of the accessory device for external communications; generating, by the server computer in response to receiving the accessory device application file, a companion device application, a companion device extension, and an accessory device application package for installation at the companion device, the accessory device application package including components comprising: the companion device application for generating the display values for display at the accessory device, the companion device extension for communications with a companion device daemon included with an operating system of the companion device, wherein the companion device daemon is for communications with the companion device application, and the accessory device application file; and the companion device application for generating the display values for display at the accessory device, the companion device extension for communications with a companion device daemon included with an operating system of the companion device, wherein the companion device daemon is for communications with the companion device application, and the accessory device application file; and sending the accessory device application package from the server computer to the companion device over the network connection, wherein the application identifier is publicized and is recognized by the companion device application, the companion device extension, the companion device daemon, the accessory device daemon, and the interface definition, which are configured to interoperate in accordance with the application identifier.