Automatic discovery and control of a remotely controllable system
Example techniques relate to discovery and control of a remote controllable system.
1 . A computing system comprising:
one or more processors; and
a non-transitory computer-readable medium that stores instruction code that, when executed by the one or more processors, causes the computing system to perform operations comprising:
after determining that a mobile device is within a threshold distance of a remote controllable speaker system, communicating an indication of a system identifier associated with the remote controllable speaker system to the mobile device, wherein the system identifier facilitates control, by the mobile device, of the remote controllable speaker system;
after the mobile device receives the indication of the system identifier, causing the mobile device to display instructions for configuring the mobile device to control the remote controllable speaker system;
after the mobile device has been configured to control the remote controllable speaker system, receiving, from the mobile device, data representing a command to perform an operation on the remote controllable speaker system; and
causing the remote controllable speaker system to:
(i) utilize account login information associated with a user of the mobile device to log the remote controllable speaker system into an account that is (a) at a service operating on a server, and (b) associated with the user of the mobile device; and
(ii) retrieve data from the service operating on the server to execute the operation.
2 . The computing system of claim 1 , wherein the instruction code that causes the computing system to determine that the mobile device is within the threshold distance of the remote controllable speaker system causes the computing system to perform further coperations comprising:
determining that the mobile device and the remote controllable speaker system are on a same local network.
3 . The computing system of claim 1 , wherein the system identifier distinguishes the remote controllable speaker system from other remote controllable speaker systems.
4 . The computing system of claim 1 , wherein the instruction code that causes the computing system to communicate the indication of the system identifier associated with the remote controllable speaker system to the mobile device causes the computing system to perform further operations comprising:
communicating the indication of the system identifier associated with the remote controllable speaker system to the mobile device after receiving an indication from the mobile device that the mobile device has discovered the remote controllable speaker system.
5 . The computing system of claim 4 , wherein the instruction code that causes the computing system to receive the indication from the mobile device that the mobile device has discovered the remote controllable speaker system causes the computing system to perform further operations comprising:
causing the remote controllable speaker system to broadcast a network discovery message, wherein receiving the broadcasted network discovery message by the mobile device causes the mobile device to communicate a response to the network discovery message.
6 . The computing system of claim 5 , wherein the instruction code causes the computing system to perform further operations comprising:
terminating control by the mobile device of the remote controllable speaker system after a predefined duration of time after causing the mobile device to discover the remote controllable speaker system.
7 . The computing system of claim 1 , wherein the instruction code causes the computing system to perform further operations comprising:
terminating control by the mobile device of the remote controllable speaker system when the mobile device is no longer within the threshold distance of the remote controllable speaker system.
8 . The computing system of claim 1 , wherein a particular environment in which the remote controllable speaker system is located includes a second remote controllable speaker system, wherein the instruction code causes the computing system to perform further operations comprising:
causing the mobile device to discover the second remote controllable speaker system; and
after causing the mobile device to discover the second remote controllable speaker system, causing the mobile device to display instructions for configuring the mobile device to control the second remote controllable speaker system, wherein the mobile device ceases to remotely control the remote controllable speaker system when configured to remotely control the second remote controllable speaker system.
9 . The computing system of claim 1 , wherein the instruction code causes the computing system to perform further operations comprising:
causing a content library control interface of the mobile device to display indications of content available at one or more content-serving services registered with the remote controllable speaker system.
10 . The computing system of claim 9 , wherein the instruction code causes the computing system to perform further operations comprising:
communicating instructions to index content on the mobile device; and
causing the content library control interface of the mobile device to display indications of the indexed content on the mobile device, wherein the indexed content on the mobile device is processed by the remote controllable speaker system.
11 . A tangible, non-transitory computer-readable medium storing instruction code that, when executed by one or more processors, causes a computing system to perform operations comprising:
after determining that a mobile device is within a threshold distance of a remote controllable speaker system, communicating an indication of a system identifier associated with the remote controllable speaker system to the mobile device, wherein the system identifier facilitates control, by the mobile device, of the remote controllable speaker system;
after the mobile device receives the indication of the system identifier, causing the mobile device to display instructions for configuring the mobile device to control the remote controllable speaker system;
after the mobile device has been configured to control the remote controllable speaker system, receiving, from the mobile device, data representing a command to perform an operation on the remote controllable speaker system; and
causing the remote controllable speaker system to:
(i) utilize account login information associated with a user of the mobile device to log the remote controllable speaker system into an account that is (a) at a service operating on a server, and (b) associated with the user of the mobile device; and
(ii) retrieve data from the service operating on the server to execute the operation.
12 . The tangible, non-transitory computer-readable medium of claim 11 , wherein the instruction code that causes the computing system to determine that the mobile device is within the threshold distance of the remote controllable speaker system causes the computing system to perform further operations comprising:
determining that the mobile device and the remote controllable speaker system are on a same local network.
13 . The tangible, non-transitory computer-readable medium of claim 11 , wherein the system identifier distinguishes the remote controllable speaker system from other remote controllable speaker systems.
14 . The tangible, non-transitory computer-readable medium of claim 11 , wherein the instruction code that causes the computing system to communicate the indication of the system identifier associated with the remote controllable speaker system to the mobile device causes the computing system to perform further operations comprising:
communicating the indication of the system identifier associated with the remote controllable speaker system to the mobile device after receiving an indication from the mobile device that the mobile device has discovered the remote controllable speaker system.
15 . The tangible, non-transitory computer-readable medium of claim 14 , wherein the instruction code that causes the computing system to receive the indication from the mobile device that the mobile device has discovered the remote controllable speaker system causes the computing system to perform further operations comprising:
causing the remote controllable speaker system to broadcast a network discovery message, wherein receiving the broadcasted network discovery message by the mobile device causes the mobile device to communicate a response to the network discovery message.
16 . The tangible, non-transitory computer-readable medium of claim 15 , wherein the instruction code causes the computing system to perform further operations comprising:
terminating control by the mobile device of the remote controllable speaker system after a predefined duration of time after causing the mobile device to discover the remote controllable speaker system.
17 . The tangible, non-transitory computer-readable medium of claim 11 , wherein the instruction code causes the computing system to perform further operations comprising:
terminating control by the mobile device of the remote controllable speaker system when the mobile device is no longer within the threshold distance of the remote controllable speaker system.
18 . The tangible, non-transitory computer-readable medium of claim 11 , wherein a particular environment in which the remote controllable speaker system is located includes a second remote controllable speaker system, wherein the instruction code causes the computing system to perform further operations comprising:
causing the mobile device to discover the second remote controllable speaker system; and
after causing the mobile device to discover the second remote controllable speaker system, causing the mobile device to display instructions for configuring the mobile device to control the second remote controllable speaker system, wherein the mobile device ceases to remotely control the remote controllable speaker system when configured to remotely control the second remote controllable speaker system.
19 . The tangible, non-transitory computer-readable medium of claim 11 , wherein the instruction code causes the computing system to perform further operations comprising:
causing a content library control interface of the mobile device to display indications of content available at one or more content-serving services registered with the remote controllable speaker system.
20 . A method to be performed by a computing system, the method comprising:
after determining that a mobile device is within a threshold distance of a remote controllable speaker system, communicating an indication of a system identifier associated with the remote controllable speaker system to the mobile device, wherein the system identifier facilitates control, by the mobile device, of the remote controllable speaker system;
after the mobile device receives the indication of the system identifier, causing the mobile device to display instructions for configuring the mobile device to control the remote controllable speaker system;
after the mobile device has been configured to control the remote controllable speaker system, receiving, from the mobile device, data representing a command to perform an operation on the remote controllable speaker system; and
causing the remote controllable speaker system to:
(i) utilize account login information associated with a user of the mobile device to log the remote controllable speaker system into an account that is (a) at a service operating on a server, and (b) associated with the user of the mobile device; and
(ii) retrieve data from the service operating on the server to execute the operation.