A computer-implemented method, comprising: receiving, by a first application running on a first device (104, 210), from an application server (106, 202, 204) over a first network, first application data for the first application, wherein the application server is arranged to send application data over the first network to the first device (104, 210) and to a second device (110, 220); causing, by a first service running on the first device (104, 210), the first device (104, 210) to establish a wireless connection with the second device (110, 220), wherein the wireless connection is a connection that is separate from the first network; receiving, from a second service running on the second device, data specifying applications that are installed on the second device (110, 220) and supported by the second service, each of the applications being separate from the second service; determining, by the first service, that the first application installed on the first device (104, 210) matches one of the applications installed on the second device (110, 220), the matching one of the applications being the first application, the first application being separate from the first service; receiving, by the first service, the first application data from the first application that the first application is receiving over the first network from the application server (106, 202, 204); and causing, by the first service, the first device (104, 210) to send the first application data to the second service running on the second device (110, 220) using the wireless connection for receiving by the first application running on the second device (110, 220), wherein the first application data is forwarded from the first device to the second service as the first application data is received from the application server (106, 202, 204) at the first device. receiving, by a first application running on a first device (104, 210), from an application server (106, 202, 204) over a first network, first application data for the first application, wherein the application server is arranged to send application data over the first network to the first device (104, 210) and to a second device (110, 220); causing, by a first service running on the first device (104, 210), the first device (104, 210) to establish a wireless connection with the second device (110, 220), wherein the wireless connection is a connection that is separate from the first network; receiving, from a second service running on the second device, data specifying applications that are installed on the second device (110, 220) and supported by the second service, each of the applications being separate from the second service; determining, by the first service, that the first application installed on the first device (104, 210) matches one of the applications installed on the second device (110, 220), the matching one of the applications being the first application, the first application being separate from the first service; receiving, by the first service, the first application data from the first application that the first application is receiving over the first network from the application server (106, 202, 204); and causing, by the first service, the first device (104, 210) to send the first application data to the second service running on the second device (110, 220) using the wireless connection for receiving by the first application running on the second device (110, 220), wherein the first application data is forwarded from the first device to the second service as the first application data is received from the application server (106, 202, 204) at the first device.