Smart networking techniques for portable playback devices
In one aspect, a playback device is configured to: (i) after receiving an indication that the presence of one or more first wireless networks is detected, transition from a second power state to a first power state; (ii) update, while in the first power state, a state variable from a first value indicating that a connection via at least one of one or more second wireless networks should be established to a second value indicating that a connection via at least one of the one or more first wireless networks should be established; and (iii) after updating the state variable, enter the second power state.
1 . A playback device comprising:
at least one communication interface configured to facilitate communication over a plurality of wireless networks;
at least one processor;
at least one non-transitory computer-readable medium; and
program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the playback device is configured to:
operate in a first mode of operation in which the playback device is configured to: (i) while the playback device is in a first power state and connected to at least one first wireless network, play back first audio content received via at least one first wireless network from a user device, (ii) transition between the first power state and a second power state where the playback device consumes less power than in the first power state, and (iii) store a first value for at least one state variable that indicates the playback device will operate in the first mode of operation upon detecting a triggering event indicative of a user input while the playback device is in the second power state;
while operating in the first mode of operation, detect that a connection to at least one second wireless network is available;
based on detecting that the connection to the at least one second wireless network is available, (i) while in the first power state, establish a connection to one of the at least one second wireless network; (ii) update the at least one state variable to a second value that indicates the playback device will operate in a second mode of operation upon detecting a triggering event indicative of a user input while the playback device is in the second power state; and (iii) after establishing the connection to the one of the at least one second wireless network, transition from the first power state to the second power state;
after updating the at least one state variable and while the playback device is in the second power state, detect a triggering event indicative of a given user input; and
based on the triggering event indicative of the given user input and the updated at least one state variable, (i) transition from the second power state to the first power state and (ii) begin to operate in the second mode of operation in which the playback device is configured to, while the playback device is in the first power state and connected to the one of the at least one second wireless network, play back second audio content received via the one of the at least one second wireless network from at least one remote server.
2 . The playback device of claim 1 , wherein the at least one first wireless network comprises a Personal Area Network (PAN), and wherein the at least one second wireless network comprises a Wireless Local Area Network (WLAN).
3 . The playback device of claim 1 , wherein the first power state is an awake state and the second power state is a sleep state.
4 . The playback device of claim 1 , wherein the first power state is an active state and wherein the second power state is an idle state.
5 . The playback device of claim 1 , wherein the triggering event indicative of the given user input is a first triggering event indicative of a first given user input, the playback device further having program instructions that are executable by the at least one processor such that the playback device is configured to:
while operating in the second mode, transition to the second power state;
while operating in the second mode and in the second power state, detect that the connection to the one of the at least one second wireless network has been lost;
based on detecting that the connection to the second wireless network has been lost, (i) transition from the second power state to the first power state, (ii) update the at least one state variable, and (iii) transition from the first power state to the second power state;
detect a second triggering event indicative of a second given user input; and
based on the second triggering event indicative of the second given user input and the updated at least one state variable, (i) transition from the second power state to the first power state and (ii) begin to operate in the first mode of operation.
6 . The playback device of claim 5 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to detect that the connection to the one of the at least one second wireless network has been lost comprise program instructions that are executable by the at least one processor such that the playback device is configured to:
detect an interruption to the connection to the one of the at least one second wireless network;
attempt to reestablish the connection with the one of the at least one second wireless network; and
after attempting to reestablish the connection for a predetermined period of time, determine that the connection to the one of the at least one second wireless network has been lost.
7 . The playback device of claim 1 , wherein the playback device further comprises a user interface, the playback device further having program instructions that are executable by the at least one processor such that the playback device is configured to:
update the user interface by providing a first visual feedback indicating the first mode of operation when the playback device begins operating in the first mode of operation; and
update the user interface by providing a second visual feedback indicating the second mode of operation when the playback device begins operating in the second mode of operation.
8 . The playback device of claim 1 , the playback device further having program instructions that are executable by the at least one processor such that the playback device is configured to:
based on (i) establishing a connection to the one of the at least one second wireless network and (ii) updating the at least one state variable, cause the user device to update a graphical user interface (GUI) to provide a set of selectable user control options associated with the second mode of operation.
9 . The playback device of claim 1 , the playback device further having program instructions that are executable by the at least one processor such that the playback device is configured to:
based on the triggering event indicative of the given user input, cause the user device to update a graphical user interface (GUI) to provide a set of selectable user control options associated with the second mode of operation.
10 . The playback device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the playback device is configured to detect the triggering event indicative of the given user input comprise program instructions that are executable by the at least one processor such that the playback device is configured to:
receive, from the user device, via the one of the at least one second wireless network, a command to transition from the second power state to the first power state.
11 . The playback device of claim 1 , wherein the playback device is a battery-powered portable playback device.
12 . The playback device of claim 11 , wherein the playback device is a wearable device.
13 . A non-transitory computer-readable medium comprising program instructions stored thereon that are executable by at least one processor such that a playback device is configured to:
operate in a first mode of operation in which the playback device is configured to: (i) while the playback device is in a first power state and connected to at least one first wireless network, play back first audio content received via at least one first wireless network from a user device, (ii) transition between the first power state and a second power state where the playback device consumes less power than in the first power state, and (iii) store a first value for at least one state variable that indicates the playback device will operate in the first mode of operation upon detecting a triggering event indicative of a user input while the playback device is in the second power state;
while operating in the first mode of operation, detect that a connection to at least one second wireless network is available;
based on detecting that the connection to the at least one second wireless network is available, (i) while in the first power state, establish a connection to one of the at least one second wireless network; (ii) update the at least one state variable to a second value that indicates the playback device will operate in a second mode of operation upon detecting a triggering event indicative of a user input while the playback device is in the second power state; and (iii) after establishing the connection to the one of the at least one second wireless network, transition from the first power state to the second power state;
after updating the at least one state variable and while the playback device is in the second power state, detect a triggering event indicative of a given user input; and
based on the triggering event indicative of the given user input and the updated at least one state variable, (i) transition from the second power state to the first power state and (ii) begin to operate in the second mode of operation in which the playback device is configured to, while the playback device is in the first power state and connected to the one of the at least one second wireless network, play back second audio content received via the one of the at least one second wireless network from at least one remote server.
14 . The non-transitory computer-readable medium of claim 13 , wherein the at least one first wireless network comprises a Personal Area Network (PAN), and wherein the at least one second wireless network comprises a Wireless Local Area Network (WLAN).
15 . The non-transitory computer-readable medium of claim 13 , wherein the triggering event indicative of the given user input is a first triggering event indicative of a first given user input, the non-transitory computer-readable medium further comprising program instructions stored thereon that are executable by at least one processor such that the playback device is configured to:
while operating in the second mode, transition to the second power state;
while operating in the second mode and in the second power state, detect that the connection to the one of the at least one second wireless network has been lost;
based on detecting that the connection to the second wireless network has been lost, (i) transition from the second power state to the first power state, (ii) update the at least one state variable, and (iii) transition from the first power state to the second power state;
detect a second triggering event indicative of a second given user input; and
based on the second triggering event indicative of the second given user input and the updated at least one state variable, (i) transition from the second power state to the first power state and (ii) begin to operate in the first mode of operation.
16 . The non-transitory computer-readable medium of claim 15 , wherein detecting that the connection to the one of the at least one second wireless network has been lost comprises:
detecting an interruption to the connection to the one of the at least one second wireless network;
attempting to reestablish the connection with the one of the at least one second wireless network; and
after attempting to reestablish the connection for a predetermined period of time, determining that the connection to the one of the at least one second wireless network has been lost.
17 . The non-transitory computer-readable medium of claim 13 , wherein the playback device further comprises a user interface, the non-transitory computer-readable medium further comprising program instructions stored thereon that are executable by at least one processor such that the playback device is configured to:
update the user interface by providing a first visual feedback indicating the first mode of operation when the playback device begins operating in the first mode of operation; and
update the user interface by providing a second visual feedback indicating the second mode of operation when the playback device begins operating in the second mode of operation.
18 . The non-transitory computer-readable medium of claim 13 , further comprising program instructions stored thereon that are executable by at least one processor such that the playback device is configured to:
based on (i) establishing a connection to the one of the at least one second wireless network and (ii) updating the at least one state variable, cause the user device to update a graphical user interface (GUI) to provide a set of selectable user control options associated with the second mode of operation.
19 . The non-transitory computer-readable medium of claim 13 , further comprising program instructions stored thereon that are executable by at least one processor such that the playback device is configured to:
based on the triggering event indicative of the given user input, cause the user device to update a graphical user interface (GUI) to provide a set of selectable user control options associated with the second mode of operation.
20 . A method carried out by a playback device, the method comprising:
operating in a first mode of operation in which the playback device is configured to: (i) while the playback device is in a first power state and connected to at least one first wireless network, play back first audio content received via at least one first wireless network from a user device, (ii) transition between the first power state and a second power state where the playback device consumes less power than in the first power state, and (iii) store a first value for at least one state variable that indicates the playback device will operate in the first mode of operation upon detecting a triggering event indicative of a user input while the playback device is in the second power state;
while operating in the first mode of operation, detecting that a connection to at least one second wireless network is available;
based on detecting that the connection to the at least one second wireless network is available, (i) while in the first power state, establishing a connection to one of the at least one second wireless network; (ii) updating the at least one state variable to a second value that indicates the playback device will operate in a second mode of operation upon detecting a triggering event indicative of a user input while the playback device is in the second power state; and (iii) after establishing the connection to the one of the at least one second wireless network, transitioning from the first power state to the second power state;
after updating the at least one state variable and while the playback device is in the second power state, detecting a triggering event indicative of a given user input; and
based on the triggering event indicative of the given user input and the updated at least one state variable, (i) transitioning from the second power state to the first power state and (ii) beginning to operate in the second mode of operation in which the playback device is configured to, while the playback device is in the first power state and connected to the one of the at least one second wireless network, play back second audio content received via the one of the at least one second wireless network from at least one remote server.