A method of determining which of at least two mobile devices is to function as a host device, the method comprising: connecting two mobile devices for communication with each other; the mobile devices communicating with each other to determine which of the mobile devices is to act as an initial host device and which is to act as an initial peripheral device; the initial host device providing a user of the initial host device on a display of the initial host device with options to enable the user to input into the initial host device instructions as to which of the mobile devices is to be the host device and which is to be a peripheral device; if the instructions indicate that the initial host device is to be the host device, the initial host device controlling, as host device, the initial peripheral device as a peripheral device; and if the instructions indicate that the initial peripheral device is to be the host device, the initial host device passing control to the initial peripheral device to enable the initial peripheral device to control, as host device, the initial host device as a peripheral device; if an initial peripheral device has been designated as private, the initial peripheral device sending a signal to the host device or initial host device indicating that the initial peripheral device cannot act as a peripheral device; and in response to the host device or initial host device receiving the signal: the host device or initial host device truncating the options provided to the user so that the user cannot input instructions to use the initial peripheral device as a peripheral device; and/or the host device or initial host device automatically passing control to the initial peripheral device to enable the initial peripheral device to control, as host device, the host device or initial host device as a peripheral device. connecting two mobile devices for communication with each other; the mobile devices communicating with each other to determine which of the mobile devices is to act as an initial host device and which is to act as an initial peripheral device; the initial host device providing a user of the initial host device on a display of the initial host device with options to enable the user to input into the initial host device instructions as to which of the mobile devices is to be the host device and which is to be a peripheral device; if the instructions indicate that the initial host device is to be the host device, the initial host device controlling, as host device, the initial peripheral device as a peripheral device; and if the instructions indicate that the initial peripheral device is to be the host device, the initial host device passing control to the initial peripheral device to enable the initial peripheral device to control, as host device, the initial host device as a peripheral device; if an initial peripheral device has been designated as private, the initial peripheral device sending a signal to the host device or initial host device indicating that the initial peripheral device cannot act as a peripheral device; and in response to the host device or initial host device receiving the signal: the host device or initial host device truncating the options provided to the user so that the user cannot input instructions to use the initial peripheral device as a peripheral device; and/or the host device or initial host device automatically passing control to the initial peripheral device to enable the initial peripheral device to control, as host device, the host device or initial host device as a peripheral device. the host device or initial host device truncating the options provided to the user so that the user cannot input instructions to use the initial peripheral device as a peripheral device; and/or the host device or initial host device automatically passing control to the initial peripheral device to enable the initial peripheral device to control, as host device, the host device or initial host device as a peripheral device.