U.S. patent application number 13/317557 was filed with the patent office on 2012-09-13 for methods and apparatus for control unit with a variable assist rotational interface and display.
Invention is credited to Steven A. Hales, IV, Michael Plitkins, David Sloo.
Application Number | 20120229521 13/317557 |
Document ID | / |
Family ID | 46063215 |
Filed Date | 2012-09-13 |
United States Patent
Application |
20120229521 |
Kind Code |
A1 |
Hales, IV; Steven A. ; et
al. |
September 13, 2012 |
Methods and apparatus for control unit with a variable assist
rotational interface and display
Abstract
Provided is a method and system of processing rotational inputs
to a control device having an electronic display and user
interface, such as a programmable thermostat. Displayed on the
electronic display is an initial display element selected from a
sequence of display elements. In response to seeing such
information, the user applies a rotational input applied to a
rotational input device, such as a rotatable ring around the
electronic display. A variable scroll assist engine determines an
angular movement provided through the rotational input device and
applies one or more heuristics to variably assist with a scrolling
movement of a sequence of display elements. The variable scroll
assist engine may reduce the rotational user input required to
traverse an arbitrary number of display elements to as little as a
quarter-revolution of the rotational input device in order that a
user is better able to operate the control device.
Inventors: |
Hales, IV; Steven A.; (Palo
Alto, CA) ; Plitkins; Michael; (Berkeley, CA)
; Sloo; David; (Menlo Park, CA) |
Family ID: |
46063215 |
Appl. No.: |
13/317557 |
Filed: |
October 21, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61415771 |
Nov 19, 2010 |
|
|
|
61429093 |
Dec 31, 2010 |
|
|
|
Current U.S.
Class: |
345/684 |
Current CPC
Class: |
F24F 11/62 20180101;
F24F 11/56 20180101; G05D 23/1917 20130101; F24F 11/52 20180101;
F24F 2120/20 20180101; F24F 11/47 20180101; F24D 19/10 20130101;
F24F 11/63 20180101; G05D 23/19 20130101; F24F 11/46 20180101; Y02D
70/142 20180101; Y02D 70/144 20180101; Y02B 10/70 20130101; F24F
2130/40 20180101; H01R 9/2416 20130101; B01D 46/0086 20130101; F24F
11/61 20180101; G05D 23/1902 20130101; Y02D 70/162 20180101; F24F
11/32 20180101; F24F 11/64 20180101; Y02B 10/20 20130101; F24F
11/89 20180101; G05B 15/02 20130101; H04W 4/70 20180201; Y02D
70/122 20180101; F24F 11/39 20180101; F24F 2110/10 20180101; F24F
11/30 20180101; F24F 2110/00 20180101; F24F 2120/10 20180101; F24F
2140/60 20180101; Y02D 30/70 20200801; Y10T 29/49826 20150115; F24D
19/1084 20130101; G05B 13/0265 20130101 |
Class at
Publication: |
345/684 |
International
Class: |
G09G 5/00 20060101
G09G005/00 |
Claims
1. A processor-implemented method of processing a rotational input
to a control device having a an electronic display, comprising:
displaying on the electronic display associated with the control
device at least a portion of an initial display element selected
from a sequence of display elements; determining an angular
movement from a rotational user input applied to a rotational input
device associated with the control device; and applying one or more
heuristics to variably assist with a scrolling movement of the
sequence of display elements on the electronic display and reduce
the rotational user input necessary to traverse the sequence of
display elements.
2. The processor-implemented method of claim 1 wherein the sequence
of display elements are arranged along a circular menu displayed on
the electronic display.
3. The processor-implemented method of claim 1 wherein the sequence
of display elements are arranged in a linear menu displayed on the
electronic display.
4. The processor-implemented method of claim 1 wherein the
electronic display is centrally mounted on the body of the control
device and the rotational input device is a rotatable ring around
the periphery of the electronic display.
5. The processor-implemented method of claim 1 wherein determining
the angular movement depends on one or more measurements selected
from a set of measurements including a displacement measurement, a
velocity measurement, and an acceleration measurement associated
with the rotational input device.
6. The processor-implemented method of claim 1 wherein the one or
more heuristics to variably assist with the scrolling movement of
the sequence of display elements includes a heuristic that changes
the rate of the scrolling movement of the sequence of display
elements on the electronic display compared with the rate of the
angular movement associated with the rotational user input.
7. The processor-implemented method of claim 6 wherein the change
in the rate of scrolling movement is increased when the sequence of
display elements includes a larger sequence of display
elements.
8. The processor-implemented method of claim 6 wherein the change
in the rate of scrolling movement is decreased when the sequence of
display elements includes a shorter sequence of display
elements.
9. The processor-implemented method of claim 1 wherein the one or
more heuristics to variably assist with the scrolling movement of
the sequence of display elements includes a heuristic that creates
an extended scrolling movement that continues to display additional
display elements after the angular movement associated with the
rotational user input has stopped.
10. The processor-implemented method of claim 1 wherein the one or
more heuristics to variably assist with the scrolling movement of
the sequence of display elements includes a heuristic that
increases a displacement covered by the scrolling movement of the
sequence of display elements on the electronic display compared
with a displacement associated with the angular movement from the
rotational user input.
11. The processor-implemented method of claim 1 wherein the one or
more heuristics to variably assist with the scrolling movement of
the sequence of display elements includes a heuristic that
continues the scrolling movement of the sequence of display
elements until at least one display element has been affirmatively
identified on the electronic display.
12. The processor-implemented method of claim 11 wherein a
simulated indentation under a force of gravity coincident with each
display element causes the scrolling movement of the sequence of
display elements to affirmatively identify a specific display
element rather than land in an area between two display elements
from the sequence of display elements.
13. The processor-implemented method of claim 1 wherein the
rotational user input necessary to traverse the sequence of display
elements may be selected from a set of rotational inputs including
a quarter-revolution, a half-revolution, and a three-quarter
revolution.
14. A computer program product comprising instructions executable
on a processor for processing a rotational input to a control
device having an electronic display, the instructions tangibly
embodied in a machine readable medium and operable to cause the
processor to operate in accordance with the method of claim 1.
15. A control device having an electronic display, comprising: a
processing system associated with the control device adapted to
process instructions and a rotational user input to a rotational
input device associated with the control device; memory containing
instructions when executed on the processing system, display on the
electronic display associated with the control device at least a
portion of an initial display element selected from a sequence of
display elements, determine an angular movement from the rotational
user input applied to the rotational input device associated with
the control device, and apply one or more heuristics to variably
assist with a scrolling movement of the sequence of display
elements on the electronic display and reduce the rotational user
input necessary to traverse the sequence of display elements.
16. The control device of claim 15 wherein the one or more
heuristics to variably assist with the scrolling movement of the
sequence of display elements includes a heuristic that changes the
rate of the scrolling movement of the sequence of display elements
on the electronic display compared with the rate of the angular
movement associated with the rotational user input.
17. The control device of claim 15 wherein the one or more
heuristics to variably assist with the scrolling movement of the
sequence of display elements includes a heuristic that creates an
extended scrolling movement that continues to display additional
display elements after the angular movement associated with the
rotational user input has stopped.
18. The control device of claim 15 wherein the one or more
heuristics to variably assist with the scrolling movement of the
sequence of display elements includes a heuristic that increases a
displacement covered by the scrolling movement of the sequence of
display elements on the electronic display compared with a
displacement associated with the angular movement from the
rotational user input.
19. The control device of claim 15 wherein the one or more
heuristics to variably assist with the scrolling movement of the
sequence of display elements includes a heuristic that continues
the scrolling movement of the sequence of display elements until at
least one display element has been affirmatively identified on the
electronic display.
20. The control device of claim 15 wherein a simulated indentation
under a force of gravity coincident with each display element
causes the scrolling movement of the sequence of display elements
to affirmatively identify a specific display element rather than
land in an area between two display elements from the sequence of
display elements.
Description
CROSS-REFERENCE To RELATED APPLICATIONS
[0001] The subject matter of this patent specification relates to
the subject matter of the following commonly assigned applications:
U.S. Ser. No. 12/881,430 filed Sep. 14, 2010; U.S. Ser. No.
12/881,463 filed Sep. 14, 2010; U.S. Ser. No. 61/415,771 filed Nov.
19, 2010; U.S. Ser. No. 61/429,093 filed Dec. 31, 2010; U.S. Ser.
No. 12/984,602 filed Jan. 4, 2011; U.S. Ser. No. 12/987,257 filed
Jan. 10, 2011; U.S. Ser. No. 13/033,573 filed Feb. 23, 2011; U.S.
Ser. No. 29/386,021, filed Feb. 23, 2011; U.S. Ser. No. 13/034,666,
U.S. Ser. No. 13/034,674 and U.S. Ser. No. 13/034,678 filed Feb.
24, 2011; U.S. Ser. No. 13/038,191 filed Mar. 1, 2011; U.S. Ser.
No. 13/038,206 filed Mar. 1, 2011; U.S. Ser. No. 29/399,609 filed
Aug. 16, 2011; U.S. Ser. No. 29/399,614 filed Aug. 16, 2011; U.S.
Ser. No. 29/399,617 filed Aug. 16, 2011; U.S. Ser. No. 29/399,618
filed Aug. 16, 2011; U.S. Ser. No. 29/399,621 filed Aug. 16, 2011;
U.S. Ser. No. 29/399,623 filed Aug. 16, 2011; U.S. Ser. No.
29/399,625 filed Aug. 16, 2011; U.S. Ser. No. 29/399,627 filed Aug.
16, 2011; U.S. Ser. No. 29/399,630 filed Aug. 16, 2011; U.S. Ser.
No. 29/399,632 filed Aug. 16, 2011; U.S. Ser. No. 29/399,633 filed
Aug. 16, 2011; U.S. Ser. No. 29/399,636 filed Aug. 16, 2011; U.S.
Ser. No. 29/399,637 filed Aug. 16, 2011; U.S. Ser. No. 13/199,108,
filed Aug. 17, 2011; U.S. Ser. No. 13/267,871 filed Oct. 6, 2011;
U.S. Ser. No. 13/267,877 filed Oct. 6, 2011; U.S. Ser. No.
13/269,501 filed Oct. 7, 2011; U.S. Ser. No. 29/404,096 filed Oct.
14, 2011; U.S. Ser. No. 29/404,097 filed Oct. 14, 2011; U.S. Ser.
No. 29/404,098 filed Oct. 14, 2011; U.S. Ser. No. 29/404,099 filed
Oct. 14, 2011; U.S. Ser. No. 29/404,101 filed Oct. 14, 2011; U.S.
Ser. No. 29/404,103 filed Oct. 14, 2011; U.S. Ser. No. 29/404,104
filed Oct. 14, 2011; U.S. Ser. No. 29/404,105 filed Oct. 14, 2011;
U.S. Ser. No. 13/275,311 filed Oct. 17, 2011; U.S. Ser. No.
13/275,307, filed Oct. 17, 2011; Attorney Docket 00162-000300000,
filed Oct. 17, 2011 via Express Mail Receipt, EH 162375377 US
entitled, "User Interfaces for Remote Management and Control of
Network-Connected Thermostats". Each of the above-referenced patent
applications is incorporated by reference herein. The
above-referenced patent applications are collectively referenced
hereinbelow as "the commonly assigned incorporated
applications."
FIELD
[0002] This patent specification relates to systems, methods, and
related computer program products for the monitoring and control of
energy-consuming systems or other resource-consuming systems. More
particularly, this patent specification relates to rotational input
devices and user interfaces for control units that govern the
operation of energy-consuming systems, household devices, or other
resource-consuming systems, including user interfaces for
thermostats that govern the operation of heating, ventilation, and
air conditioning (HVAC) systems.
BACKGROUND
[0003] While substantial effort and attention continues toward the
development of newer and more sustainable energy supplies, the
conservation of energy by increased energy efficiency remains
crucial to the world's energy future. According to an October 2010
report from the U.S. Department of Energy, heating and cooling
account for 56% of the energy use in a typical U.S. home, making it
the largest energy expense for most homes. Along with improvements
in the physical plant associated with home heating and cooling
(e.g., improved insulation, higher efficiency furnaces),
substantial increases in energy efficiency can be achieved by
better control and regulation of home heating and cooling
equipment. By activating heating, ventilation, and air conditioning
(HVAC) equipment for judiciously selected time intervals and
carefully chosen operating levels, substantial energy can be saved
while at the same time keeping the living space suitably
comfortable for its occupants.
[0004] Historically, however, most known HVAC thermostatic control
systems have tended to fall into one of two opposing categories,
neither of which is believed be optimal in most practical home
environments. In a first category are many simple, non-programmable
home thermostats, each typically consisting of a single mechanical
or electrical dial for setting a desired temperature and a single
HEAT-FAN-OFF-AC switch. While being easy to use for even the most
unsophisticated occupant, any energy-saving control activity, such
as adjusting the nighttime temperature or turning off all
heating/cooling just before departing the home, must be performed
manually by the user. As such, substantial energy-saving
opportunities are often missed for all but the most vigilant users.
Moreover, more advanced energy-saving capabilities are not
provided, such as the ability for the thermostat to be programmed
for less energy-intensive temperature setpoints ("setback
temperatures") during planned intervals of non-occupancy, and for
more comfortable temperature setpoints during planned intervals of
occupancy.
[0005] In a second category, on the other hand, are many
programmable thermostats, which have become more prevalent in
recent years in view of Energy Star (US) and TCO (Europe)
standards, and which have progressed considerably in the number of
different settings for an HVAC system that can be individually
manipulated. Unfortunately, however, users are often intimidated by
a dizzying array of switches and controls laid out in various
configurations on the face of the thermostat or behind a panel door
on the thermostat, and seldom adjust the manufacturer defaults to
optimize their own energy usage. Thus, even though the installed
programmable thermostats in a large number of homes are
technologically capable of operating the HVAC equipment with
energy-saving profiles, it is often the case that only the
one-size-fits-all manufacturer default profiles are ever
implemented in a large number of homes. Indeed, in an unfortunately
large number of cases, a home user may permanently operate the unit
in a "temporary" or "hold" mode, manually manipulating the
displayed set temperature as if the unit were a simple,
non-programmable thermostat.
[0006] Proposals have been made for so-called self-programming
thermostats, including a proposal for establishing learned
setpoints based on patterns of recent manual user setpoint entries
as discussed in US20080191045A1, and including a proposal for
automatic computation of a setback schedule based on sensed
occupancy patterns in the home as discussed in G. Gao and K.
Whitehouse, "The Self-Programming Thermostat: Optimizing Setback
Schedules Based on Home Occupancy Patterns," Proceedings of the
First ACM Workshop on Embedded Sensing Systems for
Energy-Efficiency in Buildings, pp. 67-72, Association for
Computing Machinery (November 2009). It has been found, however,
that crucial and substantial issues arise when it comes to the
practical integration of self-programming behaviors into mainstream
residential and/or business use, issues that appear unaddressed and
unresolved in such self-programming thermostat proposals. By way of
example, just as there are many users who are intimidated by
dizzying arrays of controls on user-programmable thermostats, there
are also many users who would be equally uncomfortable with a
thermostat that fails to give the user a sense of control and
self-determination over their own comfort, or that otherwise fails
to give confidence to the user that their wishes are indeed being
properly accepted and carried out at the proper times. At a more
general level, because of the fact that human beings must
inevitably be involved, there is a tension that arises between (i)
the amount of energy-saving sophistication that can be offered by
an HVAC control system, and (ii) the extent to which that
energy-saving sophistication can be put to practical, everyday use
in a large number of homes. Similar issues arise in the context of
multi-unit apartment buildings, hotels, retail stores, office
buildings, industrial buildings, and more generally any living
space or work space having one or more HVAC systems. It has been
found that the user interface of a thermostat, which so often seems
to be an afterthought in known commercially available products,
represents a crucial link in the successful integration of
self-programming thermostats into widespread residential and
business use, and that even subtle visual and tactile cues can make
an large difference in whether those efforts are successful.
[0007] Thus, it would be desirable to provide a thermostat having
an improved user interface that is simple, intuitive, elegant, and
easy to use such that the typical user is able to access many of
the energy-saving and comfort-maintaining features, while at the
same time not being overwhelmed by the choices presented.
SUMMARY
[0008] Provided according to one or more embodiments is method of
processing rotational inputs to a control device having a an
electronic display and user interface, such as a programmable
thermostat, that controls the operation of one or more
energy-consuming systems, household devices, or other
resource-consuming systems, such as a heating, ventilation, and air
conditioning (HVAC) system. Further provided are systems, methods,
computer program products, and related business methods associated
with the user interface and programmable device. For some
embodiments, the programmable device is configured to carry out a
method for interacting with a user thereof, the method includes
displaying on the electronic display associated with the control
device at least a portion of an initial display element selected
from a sequence of display elements. In response to seeing such
information, the user applies a rotational input applied to a
rotational input device, such as a rotatable ring around the
electronic display. A variable assist scroll engine receives this
information and determines an angular movement as provided by the
user through the rotational input device. In order to reduce the
rotational input required by the user, the variable assist scroll
engine applies one or more heuristics to variably assist with a
scrolling movement of a sequence of display elements on the
electronic display. Some embodiments may accelerate the scrolling
of certain display elements on a display screen as a user operates
a rotational input device. As a result, the variable assist scroll
engine may reduce the rotational user input required to traverse an
arbitrary number of display elements to as little as a
quarter-revolution of the rotational input device in order that a
user is better able to operate the control device and use the
rotational input when navigating the user interface of a control
device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The inventive body of work will be readily understood by
referring to the following detailed description in conjunction with
the accompanying drawings, in which:
[0010] FIG. 1 is a diagram of an enclosure in which environmental
conditions are controlled, according to some embodiments;
[0011] FIG. 2 is a diagram of an HVAC system, according to some
embodiments;
[0012] FIGS. 3A-3B illustrate a thermostat having a user-friendly
interface, according to some embodiments;
[0013] FIG. 3C illustrates a cross-sectional view of a shell
portion of a frame of the thermostat of FIGS. 3A-3B;
[0014] FIG. 4 illustrates a thermostat having a head unit and a
backplate (or wall dock) for ease of installation, configuration
and upgrading, according to some embodiments;
[0015] FIG. 5A illustrates thermostat and several exemplary natural
and comfortable hand positions of a user manipulating the
thermostat as presented through a user interface displayed on
electronic display, according to some embodiments;
[0016] FIG. 5B illustrates a short menu from a user interface
having two display elements and a long menu having eight display
elements with wider spacing and multiple lines of data in
accordance with some embodiments;
[0017] FIG. 6 illustrates a logical schematic diagram using a
variable assist scroll engine to process user inputs on a control
device such as a thermostat in accordance with some
embodiments;
[0018] FIG. 7 is a schematic block diagram providing an overview of
some components inside a thermostat in accordance with embodiments
of the present invention;
[0019] FIG. 8 illustrates a flow chart diagram of the operations
for processing rotational user inputs and the control of scrolling
display elements in accordance with some embodiments;
[0020] FIGS. 9A-9D illustrate one application of the variable
assist scroll engine to a circular menu of display elements in
accordance with some embodiments;
[0021] FIG. 10 illustrates one application of a heuristic for
affirmatively identifying a display element on a circular menu in
accordance with some embodiments;
[0022] FIGS. 11A-11B illustrate another application of the variable
assist scroll engine to a linear menu of display elements in
accordance with some embodiments; and
[0023] FIGS. 12A-C illustrates further additional types of menus
that have also benefitted from application of the variable assist
scroll engine in accordance with some embodiments.
DETAILED DESCRIPTION
[0024] A detailed description of the inventive body of work is
provided below. While several embodiments are described, it should
be understood that the inventive body of work is not limited to any
one embodiment, but instead encompasses numerous alternatives,
modifications, and equivalents. In addition, while numerous
specific details are set forth in the following description in
order to provide a thorough understanding of the inventive body of
work, some embodiments can be practiced without some or all of
these details. Moreover, for the purpose of clarity, certain
technical material that is known in the related art has not been
described in detail in order to avoid unnecessarily obscuring the
inventive body of work.
[0025] As used herein the term "HVAC" includes systems providing
both heating and cooling, heating only, cooling only, as well as
systems that provide other occupant comfort and/or conditioning
functionality such as humidification, dehumidification and
ventilation.
[0026] As used herein the terms power "harvesting," "sharing" and
"stealing" when referring to HVAC thermostats all refer to the
thermostat are designed to derive power from the power transformer
through the equipment load without using a direct or common wire
source directly from the transformer.
[0027] As used herein the term "residential" when referring to an
HVAC system means a type of HVAC system that is suitable to heat,
cool and/or otherwise condition the interior of a building that is
primarily used as a single family dwelling. An example of a cooling
system that would be considered residential would have a cooling
capacity of less than about 5 tons of refrigeration (1 ton of
refrigeration=12,000 Btu/h).
[0028] As used herein the term "light commercial" when referring to
an HVAC system means a type of HVAC system that is suitable to
heat, cool and/or otherwise condition the interior of a building
that is primarily used for commercial purposes, but is of a size
and construction that a residential HVAC system is considered
suitable. An example of a cooling system that would be considered
residential would have a cooling capacity of less than about 5 tons
of refrigeration.
[0029] As used herein the term "thermostat" means a device or
system for regulating parameters such as temperature and/or
humidity within at least a part of an enclosure. The term
"thermostat" may include a control unit for a heating and/or
cooling system or a component part of a heater or air conditioner.
As used herein the term "thermostat" can also refer generally to a
versatile sensing and control unit (VSCU unit) that is configured
and adapted to provide sophisticated, customized, energy-saving
HVAC control functionality while at the same time being visually
appealing, non-intimidating, elegant to behold, and delightfully
easy to use.
[0030] FIG. 1 is a diagram of an enclosure in which environmental
conditions are controlled, according to some embodiments. Enclosure
100, in this example is a single-family dwelling. According to
other embodiments, the enclosure can be, for example, a duplex, an
apartment within an apartment building, a light commercial
structure such as an office or retail store, or a structure or
enclosure that is a combination of the above. Thermostat 110
controls HVAC system 120 as will be described in further detail
below. According to some embodiments, the HVAC system 120 is has a
cooling capacity less than about 5 tons. According to some
embodiments, a remote device 112 wirelessly communicates with the
thermostat 110 and can be used to display information to a user and
to receive user input from the remote location of the device 112.
Although many of the embodiments are described herein as being
carried out by a thermostat such as thermostat 110, according to
some embodiments, the same or similar techniques are employed using
a remote device such as device 112.
[0031] FIG. 2 is a diagram of an HVAC system, according to some
embodiments. HVAC system 120 provides heating, cooling,
ventilation, and/or air handling for the enclosure, such as a
single-family home 100 depicted in FIG. 1. The system 120 depicts a
forced air type heating system, although according to other
embodiments, other types of systems could be used. In heating,
heating coils or elements 242 within air handler 240 provide a
source of heat using electricity or gas via line 236. Cool air is
drawn from the enclosure via return air duct 246 through filter
270, using fan 238 and is heated heating coils or elements 242. The
heated air flows back into the enclosure at one or more locations
via supply air duct system 252 and supply air grills such as grill
250. In cooling, an outside compressor 230 passes gas such a Freon
through a set of heat exchanger coils to cool the gas. The gas then
goes to the cooling coils 234 in the air handlers 240 where it
expands, cools and cools the air being circulated through the
enclosure via fan 238. According to some embodiments a humidifier
254 is also provided. Although not shown in FIG. 2, according to
some embodiments the HVAC system has other known functionality such
as venting air to and from the outside, and one or more dampers to
control airflow within the duct systems. The system is controlled
by control electronics 212 whose operation is governed by a
thermostat such as the thermostat 110. Thermostat 110 controls the
HVAC system 120 through a number of control circuits. Thermostat
110 also includes a processing system 260 such as a microprocessor
that is adapted and programmed to controlling the HVAC system and
to carry out the techniques described in detail herein.
[0032] FIGS. 3A-B illustrate a thermostat having a user-friendly
interface, according to some embodiments. Unlike many prior art
thermostats, thermostat 300 preferably has a sleek, simple,
uncluttered and elegant design that does not detract from home
decoration, and indeed can serve as a visually pleasing centerpiece
for the immediate location in which it is installed. Moreover, user
interaction with thermostat 300 is facilitated and greatly enhanced
over known conventional thermostats by the design of thermostat
300. The thermostat 300 includes control circuitry and is
electrically connected to an HVAC system, such as is shown with
thermostat 110 in FIGS. 1 and 2. Thermostat 300 is wall mounted, is
circular in shape, and has an outer rotatable ring 312 for
receiving user input. Thermostat 300 is circular in shape in that
it appears as a generally disk-like circular object when mounted on
the wall. Thermostat 300 has a large front face lying inside the
outer ring 312. According to some embodiments, thermostat 300 is
approximately 80 mm in diameter. The outer rotatable ring 312
allows the user to make adjustments, such as selecting a new target
temperature. For example, by rotating the outer ring 312 clockwise,
the target temperature can be increased, and by rotating the outer
ring 312 counter-clockwise, the target temperature can be
decreased. The front face of the thermostat 300 comprises a clear
cover 314 that according to some embodiments is polycarbonate, and
a metallic portion 324 preferably having a number of slots formed
therein as shown. According to some embodiments, the surface of
cover 314 and metallic portion 324 form a common outward arc or
spherical shape gently arcing outward, and this gentle arcing shape
is continued by the outer ring 312.
[0033] Although being formed from a single lens-like piece of
material such as polycarbonate, the cover 314 has two different
regions or portions including an outer portion 314o and a central
portion 314i. According to some embodiments, the cover 314 is
painted or smoked around the outer portion 314o, but leaves the
central portion 314i visibly clear so as to facilitate viewing of
an electronic display 316 disposed thereunderneath. According to
some embodiments, the curved cover 314 acts as a lens that tends to
magnify the information being displayed in electronic display 316
to users. According to some embodiments the central electronic
display 316 is a dot-matrix layout (individually addressable) such
that arbitrary shapes can be generated, rather than being a
segmented layout. According to some embodiments, a combination of
dot-matrix layout and segmented layout is employed. According to
some embodiments, central display 316 is a backlit color liquid
crystal display (LCD). An example of information displayed on the
electronic display 316 is illustrated in FIG. 3A, and includes
central numerals 320 that are representative of a current setpoint
temperature. According to some embodiments, metallic portion 324
has number of slot-like openings so as to facilitate the use of a
passive infrared motion sensor 330 mounted therebeneath. The
metallic portion 324 can alternatively be termed a metallic front
grille portion. Further description of the metallic portion/front
grille portion is provided in the commonly assigned U.S. Ser. No.
13/199,108, supra. The thermostat 300 is preferably constructed
such that the electronic display 316 is at a fixed orientation and
does not rotate with the outer ring 312, so that the electronic
display 316 remains easily read by the user. For some embodiments,
the cover 314 and metallic portion 324 also remain at a fixed
orientation and do not rotate with the outer ring 312. According to
one embodiment in which the diameter of the thermostat 300 is about
80 mm, the diameter of the electronic display 316 is about 45 mm.
According to some embodiments an LED indicator 380 is positioned
beneath portion 324 to act as a low-power-consuming indicator of
certain status conditions. For, example the LED indicator 380 can
be used to display blinking red when a rechargeable battery of the
thermostat (see FIG. 4A, infra) is very low and is being recharged.
More generally, the LED indicator 380 can be used for communicating
one or more status codes or error codes by virtue of red color,
green color, various combinations of red and green, various
different blinking rates, and so forth, which can be useful for
troubleshooting purposes.
[0034] Motion sensing as well as other techniques can be use used
in the detection and/or predict of occupancy, as is described
further in the commonly assigned U.S. Ser. No. 12/881,430, supra.
According to some embodiments, occupancy information is used in
generating an effective and efficient scheduled program.
Preferably, an active proximity sensor 370A is provided to detect
an approaching user by infrared light reflection, and an ambient
light sensor 370B is provided to sense visible light. The proximity
sensor 370A can be used to detect proximity in the range of about
one meter so that the thermostat 300 can initiate "waking up" when
the user is approaching the thermostat and prior to the user
touching the thermostat. Such use of proximity sensing is useful
for enhancing the user experience by being "ready" for interaction
as soon as, or very soon after the user is ready to interact with
the thermostat. Further, the wake-up-on-proximity functionality
also allows for energy savings within the thermostat by "sleeping"
when no user interaction is taking place our about to take place.
The ambient light sensor 370B can be used for a variety of
intelligence-gathering purposes, such as for facilitating
confirmation of occupancy when sharp rising or falling edges are
detected (because it is likely that there are occupants who are
turning the lights on and off), and such as for detecting long term
(e.g., 24-hour) patterns of ambient light intensity for confirming
and/or automatically establishing the time of day.
[0035] According to some embodiments, for the combined purposes of
inspiring user confidence and further promoting visual and
functional elegance, the thermostat 300 is controlled by only two
types of user input, the first being a rotation of the outer ring
312 as shown in FIG. 3A (referenced hereafter as a "rotate ring" or
"ring rotation" input), and the second being an inward push on an
outer cap 308 (see FIG. 3B) until an audible and/or tactile "click"
occurs (referenced hereafter as an "inward click" or simply "click"
input). For the embodiment of FIGS. 3A-3B, the outer cap 308 is an
assembly that includes all of the outer ring 312, cover 314,
electronic display 316, and metallic portion 324. When pressed
inwardly by the user, the outer cap 308 travels inwardly by a small
amount, such as 0.5 mm, against an interior metallic dome switch
(not shown), and then springably travels back outwardly by that
same amount when the inward pressure is released, providing a
satisfying tactile "click" sensation to the user's hand, along with
a corresponding gentle audible clicking sound. Thus, for the
embodiment of FIGS. 3A-3B, an inward click can be achieved by
direct pressing on the outer ring 312 itself, or by indirect
pressing of the outer ring by virtue of providing inward pressure
on the cover 314, metallic portion 314, or by various combinations
thereof. For other embodiments, the thermostat 300 can be
mechanically configured such that only the outer ring 312 travels
inwardly for the inward click input, while the cover 314 and
metallic portion 324 remain motionless. It is to be appreciated
that a variety of different selections and combinations of the
particular mechanical elements that will travel inwardly to achieve
the "inward click" input are within the scope of the present
teachings, whether it be the outer ring 312 itself, some part of
the cover 314, or some combination thereof. However, it has been
found particularly advantageous to provide the user with an ability
to quickly go back and forth between registering "ring rotations"
and "inward clicks" with a single hand and with minimal amount of
time and effort involved, and so the ability to provide an inward
click directly by pressing the outer ring 312 has been found
particularly advantageous, since the user's fingers do not need to
be lifted out of contact with the device, or slid along its
surface, in order to go between ring rotations and inward clicks.
Moreover, by virtue of the strategic placement of the electronic
display 316 centrally inside the rotatable ring 312, a further
advantage is provided in that the user can naturally focus their
attention on the electronic display throughout the input process,
right in the middle of where their hand is performing its
functions. The combination of intuitive outer ring rotation,
especially as applied to (but not limited to) the changing of a
thermostat's setpoint temperature, conveniently folded together
with the satisfying physical sensation of inward clicking, together
with accommodating natural focus on the electronic display in the
central midst of their fingers' activity, adds significantly to an
intuitive, seamless, and downright fun user experience. Further
descriptions of advantageous mechanical user-interfaces and related
designs, which are employed according to some embodiments, can be
found in U.S. Ser. No. 13/033,573, supra, U.S. Ser. No. 29/386,021,
supra, and U.S. Ser. No. 13/199,108, supra.
[0036] FIG. 3C illustrates a cross-sectional view of a shell
portion 309 of a frame of the thermostat of FIGS. 3A-B, which has
been found to provide a particularly pleasing and adaptable visual
appearance of the overall thermostat 300 when viewed against a
variety of different wall colors and wall textures in a variety of
different home environments and home settings. While the thermostat
itself will functionally adapt to the user's schedule as described
herein and in one or more of the commonly assigned incorporated
applications, supra, the outer shell portion 309 is specially
configured to convey a "chameleon" quality or characteristic such
that the overall device appears to naturally blend in, in a visual
and decorative sense, with many of the most common wall colors and
wall textures found in home and business environments, at least in
part because it will appear to assume the surrounding colors and
even textures when viewed from many different angles. The shell
portion 309 has the shape of a frustum that is gently curved when
viewed in cross-section, and comprises a sidewall 376 that is made
of a clear solid material, such as polycarbonate plastic. The
sidewall 376 is backpainted with a substantially flat silver- or
nickel-colored paint, the paint being applied to an inside surface
378 of the sidewall 376 but not to an outside surface 377 thereof.
The outside surface 377 is smooth and glossy but is not painted.
The sidewall 376 can have a thickness T of about 1.5 mm, a diameter
d1 of about 78.8 mm at a first end that is nearer to the wall when
mounted, and a diameter d2 of about 81.2 mm at a second end that is
farther from the wall when mounted, the diameter change taking
place across an outward width dimension "h" of about 22.5 mm, the
diameter change taking place in either a linear fashion or, more
preferably, a slightly nonlinear fashion with increasing outward
distance to form a slightly curved shape when viewed in profile, as
shown in FIG. 3C. The outer ring 312 of outer cap 308 is preferably
constructed to match the diameter d2 where disposed near the second
end of the shell portion 309 across a modestly sized gap g1
therefrom, and then to gently arc back inwardly to meet the cover
314 across a small gap g2. It is to be appreciated, of course, that
FIG. 3C only illustrates the outer shell portion 309 of the
thermostat 300, and that there are many electronic components
internal thereto that are omitted from FIG. 3C for clarity of
presentation, such electronic components being described further
hereinbelow and/or in other ones of the commonly assigned
incorporated applications, such as U.S. Ser. No. 13/199,108,
supra.
[0037] According to some embodiments, the thermostat 300 includes a
processing system 360, display driver 364 and a wireless
communications system 366. The processing system 360 is adapted to
cause the display driver 364 and display area 316 to display
information to the user, and to receiver user input via the
rotatable ring 312. The processing system 360, according to some
embodiments, is capable of carrying out the governance of the
operation of thermostat 300 including the user interface features
described herein. The processing system 360 is further programmed
and configured to carry out other operations as described further
hereinbelow and/or in other ones of the commonly assigned
incorporated applications. For example, processing system 360 is
further programmed and configured to maintain and update a
thermodynamic model for the enclosure in which the HVAC system is
installed, such as described in U.S. Ser. No. 12/881,463, supra.
According to some embodiments, the wireless communications system
366 is used to communicate with devices such as personal computers
and/or other thermostats or HVAC system components, which can be
peer-to-peer communications, communications through one or more
servers located on a private network, or and/or communications
through a cloud-based service.
[0038] FIG. 4 illustrates a side view of the thermostat 300
including a head unit 410 and a backplate (or wall dock) 440
thereof for ease of installation, configuration and upgrading,
according to some embodiments. As is described hereinabove,
thermostat 300 is wall mounted and has circular in shape and has an
outer rotatable ring 312 for receiving user input. Head unit 410
includes the outer cap 308 that includes the cover 314 and
electronic display 316. Head unit 410 of round thermostat 300 is
slidably mountable onto back plate 440 and slidably detachable
therefrom. According to some embodiments the connection of the head
unit 410 to backplate 440 can be accomplished using magnets,
bayonet, latches and catches, tabs or ribs with matching
indentations, or simply friction on mating portions of the head
unit 410 and backplate 440. According to some embodiments, the head
unit 410 includes a processing system 360, display driver 364 and a
wireless communications system 366. Also shown is a rechargeable
battery 420 that is recharged using recharging circuitry 422 that
uses power from backplate that is either obtained via power
harvesting (also referred to as power stealing and/or power
sharing) from the HVAC system control circuit(s) or from a common
wire, if available, as described in further detail in co-pending
patent application U.S. Ser. Nos. 13/034,674, and 13/034,678, which
are incorporated by reference herein. According to some
embodiments, rechargeable battery 420 is a single cell lithium-ion,
or a lithium-polymer battery.
[0039] Backplate 440 includes electronics 482 and a
temperature/humidity sensor 484 in housing 460, which are
ventilated via vents 442. Two or more temperature sensors (not
shown) are also located in the head unit 410 and cooperate to
acquire reliable and accurate room temperature data. Wire
connectors 470 are provided to allow for connection to HVAC system
wires. Connection terminal 480 provides electrical connections
between the head unit 410 and backplate 440. Backplate electronics
482 also includes power sharing circuitry for sensing and
harvesting power available power from the HVAC system
circuitry.
[0040] FIG. 5A illustrates thermostat 300 and several exemplary
natural and comfortable hand positions of a user manipulating the
thermostat to change some aspect of its configuration or operation
as presented through a user interface displayed on electronic
display 316. In some implementations the user interface may include
a sequence of display elements arranged in a circular arrangement,
a linear arrangement, or combinations thereof and as further
described in U.S. Ser. No. 13/269,501, supra. In some embodiments,
the user interface may be navigated through using a rotatable ring
312, or other rotational input device invoking a series of ring
rotations to scroll through the series of display elements and
inward clicks to select one of these display elements and gain
additional information or access to other portions of a menu.
[0041] Usability of the user interface displayed on thermostat 300
may be positively enhanced when the user's hand position on
thermostat 300 remains in a comfortable position throughout all
aspects of operating the thermostat 300. In some implementations,
the user's hand may initially be comfortably positioned in any one
of the circular quadrants 500 (I) through (IV) depending on the
user's left or right handedness, height relative to the position of
the thermostat, and a variety of other ergonomic factors. Once the
user's hand is placed in a comfortable position, the user should be
able to navigate most, if not all, aspects of the user interface
displayed on thermostat 300 while rotating rotatable ring 312
through one or two but preferably no more three of the circular
quadrants 500 (I) through (IV). This navigation is preferably done
without the user having to lift and reposition their hand.
[0042] As an example, a user's hand 502 in starting position (a)
initially begins navigation of a user interface displayed on
thermostat 300, as indicated by the approximate position of the
forefinger, in circular quadrant (I). The user's hand 502 placed on
thermostat 300 may then rotate clockwise approximately a
quarter-revolution into intermediary position (b) and towards the
lower boundary of circular quadrant (I), which may happen to be a
limit on the user's ability to rotate their wrist and hand. With
the user's hand remaining engaged to the thermostat 300 in
intermediary position (b), the user may peer through the open area
between the thumb and forefinger to read information displayed on
the user interface, reposition a display element on the display,
select a display element with a inward click, or other interactions
with the user interface. The user may then turn an equivalent
quarter-revolution counter-clockwise from the intermediary position
(b) arriving in a final position (c) whereupon the user's hand
continues to remain engaged to the thermostat 300 and is ready to
further interact with the user interface.
[0043] Embodiments of the present invention facilitate keeping the
user's hand in a comfortable position and engaged to the thermostat
300 as menus and interactions within the user interface vary in
both complexity and number of display elements presented. A
variable assist scroll engine for rotational inputs (not shown in
FIG. 5B), also referred to as a variable assist scroll engine,
designed in accordance with embodiments of the present invention
uses heuristics to provide assistance in scrolling through an
arbitrary number of display elements presented on the user
interface while in the process also helping keep the user's hand in
a natural and comfortable position on the thermostat. As described
hereinabove, the user's rotational input in one embodiment may
traverse a sequence of display elements preferably using less than
a quarter-revolution in order to enhance the user experience and
improve the usability of the thermostat. In alternate embodiments
and depending on the user's preference, the variable assist scroll
engine may also allow the user to configure the rotational input
for scrolling to less than a half-revolution, a three-quarter
revolution, or set as a measurement of angular displacement from 0
to 360 degrees.
[0044] As a brief example, FIG. 5B illustrates, a short menu 508
from a user interface having two display elements (i.e., "UNLOCKED"
and "LOCKED") and a long menu 512 having eight display elements
with wider spacing and multiple lines of data. In accordance with
some embodiments, the variable assist scroll engine may not
accelerate the scrolling movement between the two display elements
since the element distance 510 (i.e., the distance between the
beginning and end of the sequence of elements) is quite short might
make using the short menu 508 difficult for the user. Even if a
user imparts a rapid rotational acceleration during rotational
input 504, indicating an imperative to scroll more quickly, some
embodiments of variable assist scroll engine may select to actually
reduce or quickly "dampen" the amount of acceleration on the short
menu 508 to a predetermined level. In some embodiments, limiting
the acceleration to the predetermined level may improve the
interface by providing the user with a more predictable and
consistent interaction with the display elements. In comparison,
the variable assist scroll engine may detect that a user has
subsequently imparted the same rapid rotational acceleration to
scroll through long menu 512. In this case, the variable assist
scroll engine may respond by increasing the acceleration of the
scrolling movement as the associated element distance 514 is much
greater than the short menu 508. The variable assist scroll engine
assists the user entering rotational input 506 by accelerating the
scrolling movement of the sequence of display elements thereby
allowing the user to quickly scroll through the more numerous
display elements on the long menu 512. In some embodiments, the
user is able to scroll through the display elements while using
less than quarter-revolution of the rotatable ring 312 as
indicated.
[0045] FIG. 6 illustrates a logical schematic diagram using a
variable assist scroll engine 604 to process user inputs on a
control device such as a thermostat in accordance with some
embodiments. As described hereinabove, rotational input device 602
may be a rotatable ring located around a periphery of an electronic
display centrally mounted on a body of the thermostat or control
device, such as rotatable ring 312 shown and described supra with
respect to FIG. 3. In some embodiments, the rotational input device
602 receives rotational user inputs and provides a measurement of
angular displacement at regular time intervals such as once every
1/60th of a second or faster depending on the sampling capabilities
of the rotational input device 602. In other embodiments, the
rotational input device 602 may receive rotational user input and
produce instead output linear displacements reflecting a linear
representation of the angular distance traveled by the rotational
input device 602 in a given time interval.
[0046] In some embodiments, variable assist scroll engine 604
receives these linear and/or rotational displacements over time and
uses them to determine a scrolling movement for display elements on
the electronic display. The scrolling movement may be calculated
using linear or angular equations describing speed (change in
displacement), velocity (speed in a direction), and acceleration
(change in velocity over time with direction). Variable assist
scroll engine 604 may modify the degree of acceleration than
provided through rotational input device 602 according to the
application of information such as tuning parameters for scrolling
display elements 612 (also referred to as tuning parameters 612) as
well as display elements metadata 610, which are used to describe
the shapes and sizes of display elements as they are rendered on
the electronic display of the thermostat.
[0047] Some of these tuning parameters 612 help the variable assist
scroll engine 604 model the scrolling of the display elements as
physical objects having a mass and inertia being accelerated and
then damped by friction or other opposing forces. Different
inertial models used in simulating movement of these display
elements may include a flywheel or weighted cylinder spinning
around a rod as well as other variations to provide a smooth and
attractive appearance of the display elements as they are rendered
on the electronic display. For example, if a user enters user
rotational inputs 608 in the opposite direction to the movement of
the scrolling display, variable assist scroll engine may dampen the
scrolling of the display elements based on tuning parameters 612
and the inertial model. In some embodiments, tuning parameters 612
may also be selected to accommodate for different menu types, such
as a circular menu and a linear menu either with wrapping and
non-wrapping effects, and to achieve an overall effect on the
scrolling of the display elements on the electronic display.
[0048] In some implementations, these tuning parameters 612 may
include an acceleration multiplier, a scroll decay factor, edge
bounce decay factor, a center decay factor, and a scroll settle
threshold. The acceleration multiplier is used to increase or
decrease the amount of acceleration applied to a set of scrolling
elements. The value may be set to a higher value if a menu has a
larger sequence of display elements and it is desirable to scroll
quickly through the sequence. Scroll decay factor helps simulate
the effect of friction and determines how the long the elements may
scroll before stopping. If the scroll decay is set to a high value,
the scrolling movement may decay quickly and stop. In some
embodiments, the scrolling may continue even after a user has
stopped providing rotational input to the rotational input device
602 due to simulated force and inertia. The edge bounce decay
factor is used in a non-wrapping menu when it reaches the terminus
element. In some embodiments, the menu will not stop quickly but
"bounce" when it reaches the end and oscillate briefly as the
energy decays. Accordingly, edge bounce decay determines how
quickly the energy in the terminus element in a sequence of display
elements will decay when it reaches the end of the menu. The center
decay is used to determine how a quickly the decay will occur for a
display element once it settles into a position. In some
embodiments, a user interface may apply gravity to a display
element and cause the display element to settle into simulated
notch, groove, or indentation simulated in the user interface.
Accordingly, the center decay determines the decay associated with
this event and how quickly a display element may settle into
position. The scroll settle threshold is a threshold value used to
determine when a scrolling of elements has effectively stopped.
Once the movement of the scrolling elements falls below this
threshold, scrolling of the elements will be stopped. In some
embodiments, the scroll settle threshold may vary for different
menus depending on the simulated forces, inertia, and friction
associated with the scrolling movement of the display elements.
[0049] The variable assist scroll engine 604 sends these display
elements to render engine 606 to be displayed on the electronic
display at a frequency determined by the display device. In some
implementations, the frequency of the electronic display device may
be every 1/60th of a second or faster depending on the capabilities
of the particular device and how it is configured. As this process
repeats, the display elements scrolling over the electronic display
appear animated, pleasing to the user and easier to navigate in
accordance with embodiments of the invention.
[0050] Referring to FIG. 7, a schematic block diagram provides an
overview of some components inside a thermostat in accordance with
embodiments of the present invention. Thermostat 800 is similar to
thermostat 300 in FIG. 3 and highlights selected internal
components including a Wifi module 702, a head unit processor 704
with associated memory 710, a backplate processor 708 with
associated memory 714, and sensors 712 (e.g., temperature,
humidity, motion, ambient light, proximity). Further details
regarding the physical placement and configuration of the
thermostat head unit, backplate, and other physical elements are
described in the commonly assigned U.S. Ser. No. 13/199,108, supra.
The backplate processor 708 is coupled to, and responsible for
polling on a regular basis, most or all of the sensors 712
including the temperature and humidity sensors, motion sensors,
ambient light sensors, and proximity sensors. For sensors 712 that
may not be located on the backplate hardware itself but rather are
located in the head unit, ribbon cables or other electrical
connections between the head unit and backplate are provided for
this purpose. Notably, there may be other sensors (not shown) for
which the head unit processor 704 is responsible, with one example
being a ring rotation sensor that senses the user rotation of the
outer ring 716. Battery 706 supplies power to the electronic
display (not shown in FIG. 7) used to display scrolling display
elements in accordance embodiments of the present invention as well
as to Wifi module 702 and both backplate processor 708 and head
unit processor 704.
[0051] In some embodiments, memory 710 may include a menu system
module 718, variable assist scroll engine 720, display render
module 722, HVAC module 724, communications module 726, and a
runtime environment 728 for managing these modules and their
execution on head unit processor 704. In one embodiment, menu
system module 718 may include the menu systems associated with
configuring, controlling, and generally interfacing with thermostat
700 through rotatable ring 716. In accordance with some
embodiments, variable assist scroll engine 720 processes scrolling
display elements used in menu system module 718 to interact more
efficiently with rotatable ring 716 as well as display more
attractively on the electronic display of the thermostat 700. For
example, the variable assist scroll engine 720 may further
accelerate the scrolling of display elements from a menu in menu
system module 718 and thereby reduce the required amount of
rotational input applied to rotatable ring 716. In some
embodiments, variable assist scroll engine 720 accelerates the
scrolling movement allowing the user to scroll through many display
elements in multiple areas of menu system module 718. In each the
areas of the menu, the user may scroll through a variable number of
display elements without turning rotatable ring 716 more than a
quarter-turn. This advantageously makes the thermostat 800 or other
control devices with a rotational input easier to use since user's
hand can control the thermostat without having to remove and
reposition multiple times in the midst of navigating a menu,
setting a set point on the thermostat, or performing some other
task. The display render module 722 receives the various display
elements from variable assist scroll engine 720 and renders them on
the electronic display (not shown) of thermostat 800. HVAC module
724 may further be used to gather commands and data from menu
system module 718 in consideration of controlling the HVAC
system.
[0052] FIG. 8 illustrates a flow chart diagram of the operations
for processing rotational user inputs and controlling the scrolling
of display elements in accordance with some embodiments. In
processing the rotational inputs, embodiments of the present
invention balance usability of the interface with the need to
reduce or minimize the amount of rotational input necessary to
scroll through display elements on the electronic display of a
control device. In some embodiments, the variable assist engine can
assist with the scrolling the display elements but must still leave
the user with control over the interface.
[0053] In some embodiments, aspects of the present invention may
display on the electronic display associated with the control
device at least a portion of an initial display element selected
from a sequence of display elements. (802) For example, the initial
display element may be a symbol or image selected from a sequence
of display elements arranged along on a circular menu or may be a
symbol or image selected from a sequence of display elements
arranged in a series on a linear menu. If the initial display
element is larger then it may only be partially displayed on the
electronic display while a smaller display element from a sequence
of display elements may be fully displayed on the on the electronic
display. In some embodiments, the electronic display is centrally
mounted on a body of a control device providing for a smaller
overall form factor for the device while in alternate embodiments,
the display may be mounted offset or adjacent to the body of the
control device.
[0054] In some embodiments, determining an angular movement is made
from a rotational user input applied to a rotational input device
associated with the control device. (804) The angular movement may
be determined as a measurement of the displacement, velocity, and
acceleration of the rotational input device averaged over a time
interval. For example, a user may impart a rotational user input
with their hand using a rotatable ring around a periphery of the
electronic display, such as rotatable ring 300 described and shown
supra. in FIG. 3. The angular displacement on the rotatable ring
sampled at regular time intervals is provided to embodiments of the
present invention and used to calculate the angular movement. In
alternative embodiments, the rotational input device may be a
rotatable knob or other mechanism to rotate and scroll through
display elements in the interface. The rotatable knob may be
smaller and positioned adjacent to the display rather than
surrounding the electronic display portion and adjustable with a
user's fingers.
[0055] In some embodiments, one or more heuristics are applied to
variably assist with a scrolling movement of the sequence of
display elements on the electronic display and reduce the
rotational user input necessary to traverse the sequence of display
elements. (806) The user may preferably configure one embodiment of
the variable assist scroll engine to assist in scrolling through
the sequence of display elements using a rotational input of less
than a quarter-revolution, a half-revolution, a three-quarter
revolution, or set as a measurement of an angular displacement from
0 to 360 degrees. Alternate embodiments of the variable assist
scroll engine may set the default rotational input to less than
quarter-revolution if the user selects to not customize or change
these settings. In providing assistance with the scrolling
movement, one embodiment takes into consideration an angular
movement associated with the rotational user input and an element
distance associated with the sequence of display elements to be
displayed on the electronic display. If the angular movement has a
larger rotational acceleration component and the element distance
is quite long, the engine may increase the assistance with
scrolling through the sequence of display elements in one or
multiple ways as the user has indicated an imperative to quickly
view the sequence of display elements. For example, a user may wish
to read a terminus element in a menu having a long list of display
elements with text and thus provide a large rotational acceleration
to the rotational input device.
[0056] In some embodiments, a heuristic to reduce the required
rotational user input may cause the engine to increase or decrease
the rate of scrolling movement associated with the sequence of
display elements compared with a rate of angular movement received
from the rotational input device. (808) To perform this function,
for example, the engine may increase the acceleration of the
scrolling movement to meet both the user's request to view the
information quickly and reduce the rotational input required to a
predetermined amount, such as a quarter-rotation of the rotational
ring 312 in FIG. 3. To increase the acceleration, one embodiment
may use the rotational acceleration component of the angular
movement and either add a predetermined amount of acceleration or
multiple of the acceleration by a factor such as an acceleration
multiplier.
[0057] In some embodiments, a heuristic to reduce the required
rotational user input may cause the engine to create an extended
scrolling movement that continues to display additional display
elements from the sequence of display elements after the initial
angular movement associated with the rotational user input has
stopped. (810) For example, a rotational user input with
acceleration may impart a simulated force and inertia on the
sequence of display elements causing the display elements to scroll
after the rotational user input has ended. As previously described
hereinabove, the movement of the display may be modeled as a
physical object having mass, inertia, and decay due to friction or
opposing rotational forces. Incorporating this type of "virtual
inertia" increases the visual attraction of the interface while
simultaneously achieving the goal of reducing the rotational input
required to scroll through the display elements in a manner
understood and expected in the user's physical world (i.e, inertia
and decay). In some embodiments, the extended scrolling movement
may be reduced through successive subtraction or division by a
scroll decay factor until the scrolling movement falls below a
scroll settle threshold and is determined to have stopped.
[0058] In some embodiments, a heuristic to reduce the required
rotational user input may cause the engine to increase a distance
covered by the scrolling movement compared with a distance covered
by the angular movement. (812) For example, a user may provide a
quarter-revolution on a rotatable ring as and input and cause the
corresponding elements to scroll a half-revolution on the
electronic display. In some embodiments, the distance travelled by
the scrolling elements may be one or several times the distance
provided by the user through the rotational input device. This is
particularly useful if a user is scrolling through a long sequence
of display elements and needs to cover the longer distance
quickly.
[0059] In some embodiments, a heuristic to reduce the required
rotational user input may cause the engine to continue the
scrolling movement of the sequence of display elements until at
least one has been affirmatively identified on the electronic
display. (814) For example, a user's rotational input may cause a
sequence of display elements to scroll with a scrolling movement
and land in an area between two display elements leaving it not
possible to select or identify a specific display element in the
context of the user interface. To keep the required rotational user
input reduced or minimized, one embodiment simulates a notch,
indentation, or groove coincident with each display element under
the force of gravity and friction which in turn causes the
scrolling movement to settle on a particular display element. In
one embodiment, a distance calculation may be used to select one
display element over another nearby display element as the
scrolling movement of the display elements slows and comes close to
falling below the scroll settle threshold.
[0060] In some embodiments, the variable assist scroll engine may
determine whether a user has applied a subsequent angular movement
in an opposite rotational. (816) In some embodiments, the user
applies the subsequent rotational input to the rotational input
device in an opposite direction to the scrolling movement displayed
on the electronic display. (816--Yes) For example, the user may see
a display element of interest and desire to quickly slow or
potentially stop the scrolling of the display elements. Variable
assist scroll engine responds by gradually slowing the scrolling of
display elements in proportion to the amount of the subsequent
angular movement. (818) In one embodiment, variable assist scroll
engine models the subsequent rotational input as an opposing
rotational force upon an object thus the user experience is
familiar and expected. In addition, this heuristic further reduces
the required rotational user input as the variable assist scroll
engine allows the user to quickly slow or stop the scrolling
movement with a reduced rotational input.
[0061] FIGS. 9A-9D illustrate one application of the variable
assist scroll engine to a circular menu of display elements in
accordance with some embodiments. Referring to FIG. 9A, a user in
this example has applied a rotational force in clockwise direction
908 to a rotatable ring 906 surrounding an electronic display 904
on thermostat 902. The acceleration graph 914 indicates
schematically at .DELTA.Time=t1 (hereinafter t1) the rotatable ring
acceleration 916 (hereinafter ring acceleration) is less than the
display elements acceleration 918 (hereinafter display
acceleration) as the variable assist scroll engine has increased
the simulated acceleration associated with the animation of
circular menu 912.
[0062] In one embodiment, the circular menu 912 at t2 in FIG. 9A
has a display elements velocity 926 (hereinafter display velocity)
in velocity graph 922 which is also greater than the rotatable ring
velocity 924 (hereinafter ring velocity). Circular menu 912 also
moved through a rotational displacement 928 at t2 that is at least
twice the rotational displacement 920 associated with the rotatable
ring 906 of the thermostat 902. In this application, the variable
assist scroll engine has applied one heuristic to reduce the
rotational user input to a quarter-rotation of the rotatable ring
906 while traversing at least half the sequence of display elements
in the circular menu 912.
[0063] At a subsequent time interval t3, the user is no longer
moving rotatable ring 906 and the ring velocity 932 as indicated by
velocity graph 930 is negligible or zero. In contrast, circular
menu 912 continues to travel at a much more significant display
velocity 934 reduced in part by a simulated friction or decay. In
this embodiment. variable assist scroll engine has imparted a
rotational inertia and decay to circular menu 912 to further reduce
the rotational input required by the user. While not displayed in
FIG. 9A, rotational displacement 936 will continue to increase
after t3 until display velocity 934 decays further and circular
menu 912 stops.
[0064] Referring to FIG. 9B, in this example a user has applied a
rotational force in clockwise direction 908 to a rotatable ring 906
of thermostat 902. The acceleration graph 938 indicates
schematically at t1 the ring acceleration 940 is less than the
display acceleration 942 as the variable assist scroll engine has
slightly increased the simulated acceleration associated with the
animation of circular menu 912. The ring acceleration 940 provided
in FIG. 9B is similar to the ring acceleration 916 in FIG. 9A
except that it has a much lower magnitude in comparison. As a
result, the variable assist scroll engine has also responded with a
lower acceleration for the animation of the circular menu 912 to
reflect the user's intent when using the interface.
[0065] In one embodiment, the circular menu 912 at t2 in FIG. 9B
has a display velocity 950 in velocity graph 946 which is
comparable with the ring velocity 948. It follows that circular
menu 912 has also moved through a rotational displacement 952 at t2
that is also comparable to the rotational displacement 944
associated with the rotatable ring 906 of the thermostat 902. In
this application, the variable assist scroll engine has applied one
heuristic of allowing the user to make a quarter-rotation of the
rotatable ring 906 that more directly controls the scrolling
movement of display elements in the circular menu 912.
[0066] At a subsequent time interval t3 in FIG. 9B, the user is no
longer moving rotatable ring 906 and the ring velocity 956 as
indicated by velocity graph 954 is negligible or zero. Likewise,
variable assist scroll engine has damped circular menu 912 at t3
such that display velocity 958 is also negligible or zero and the
animation of circular menu 912 has effectively stopped. In this
embodiment. variable assist scroll engine has reduced the effects
of any inertial energy in order to provide the user with more
control over the scrolling movement of the display elements in
circular menu 912.
[0067] Referring to FIG. 9C, in this example a user has again
applied a rotational force in clockwise direction 908 to a
rotatable ring 906 associated with a thermostat 902. The
acceleration graph 962 indicates schematically at t1 that ring
acceleration 964 is less than the display acceleration 966 as the
variable assist scroll engine has increased the simulated
acceleration associated with the animation of circular menu 912.
The ring acceleration 964 is similar to the ring acceleration 916
in FIG. 9A except that it is at a much higher magnitude in
comparison. As a result, the variable assist scroll engine responds
with an even higher acceleration for the animation of the circular
menu 912 to reflect the user's intent when using the interface.
[0068] In one embodiment, the circular menu 912 at t2 in FIG. 9C
has a display velocity 974 in velocity graph 970 which is
significantly greater than the ring velocity 972. As a result of
the associated relatively high acceleration and velocity, circular
menu 912 has also moved through a rotational displacement 976 at t2
that is almost three times the rotational displacement 968
associated with the rotatable ring 906. In this application, the
variable assist scroll engine has applied one heuristic to reduce
the rotational user input to a quarter-rotation of the rotatable
ring 906 while traversing almost three-quarters of the sequence of
display elements in the circular menu 912.
[0069] At a subsequent time interval t3 in FIG. 9C, the user is no
longer moving rotatable ring 906 and the ring velocity 980 as
indicated by velocity graph 978 is negligible or zero. In contrast,
circular menu 912 at t3 continues to travel at a much more
significant display velocity 982 reduced only partially by the
simulated friction or decay. In this embodiment, the inertia
imparted a rotational to circular menu 912 allowed the circular
menu 912 at t3 to complete almost a full-revolution from only a
quarter-revolution input to rotatable ring 906. Referring to FIG.
9D, the user at t4 has now applied a rotational force to a
rotatable ring 906 with ring acceleration 987 in counter-clockwise
direction 909 causing circular menu 912 at t4 to receive a
"negative" acceleration and dampening force. Despite the display
acceleration 988 going negative at t4, the animation of circular
menu 912 does not immediately reverse direction but gradually slows
before appearing to reverse direction. Accordingly, circular menu
912 has a rotational displacement 990 at t4 and continues to extend
to rotational displacement 995 in t5 with a display velocity of 994
as indicated by velocity graph 992. In contrast, rotatable ring 991
has travelled at ring velocity 993 at t5 with a rotational
displacement 991 in the opposite direction, for a brief moment, to
the rotation of circular menu 912 at t5. At t6 in FIG. 9D, the ring
velocity 997 associated with rotatable ring 906 is negligible or
zero and the display velocity 998 has reversed direction causing
the animation of circular menu 912 to reverse direction traveling
counter-clockwise with rotational displacement 999.
[0070] FIG. 10 illustrates one application of a heuristic for
affirmatively identifying a display element on a circular menu in
accordance with some embodiments of the present invention. In this
embodiment, a user has applied a rotational input at t1 to
rotatable ring 906 on thermostat 902. In the same time t1,
electronic display 904 on thermostat 902 displays an indicator 910
on circular menu 912 identifying a symbol "f" on the circular menu
912. Detail 1004 illustrates schematically that each symbol is
logically associated with a groove and under the force of simulated
gravity identifies a display element under a similarly simulated
pawl 911.
[0071] In this example, a rotational displacement 1002 on
thermostat 902 at t1 results in circular menu 912 at t2
experiencing a rotational displacement 1008 such that indicator 910
momentarily falls between symbols "u" and "v" making it not
possible to determine whether "u" or "v" has been identified in the
context of the user interface. To resolve this dilemma, and further
reduce or minimize additional required rotational input from the
user, one embodiment at t3 in FIG. 10 simulating the groove
associated with each symbol either advances or retreats circular
menu 912. Upon moving circular menu 912 a slight amount, indicator
affirmatively identifies a display element, such as symbol "v" as
shown in detail 1010. On or about the same moment, detail 1010 also
shows that an audible "Click" sound is provided in the user
interface providing a user with audible feedback and providing a
sense of added control, confidence, and comfort when operating the
thermostat 906.
[0072] FIGS. 11A-11B illustrate another application of the variable
assist scroll engine to a linear menu of display elements in
accordance with some embodiments. Referring to FIG. 11A, in this
example a user has applied a rotational force in clockwise
direction 908 to a rotatable ring 906 surrounding an electronic
display 904 centrally mounted on a body of a thermostat 902. The
acceleration graph 1102 indicates schematically at t1 the ring
acceleration 1104 is less than the display acceleration 1106 as the
variable assist scroll engine has increased the simulated
acceleration associated with the animation of linear menu. It can
also be observed that linear menu 1108, which operates in the
scrolling direction as indicated in FIG. 11A, is a scheduling
system for operation of the thermostat at different temperature
setpoints in the course of a weeklong period from Monday to Friday
with indicator 1109 showing the current display element on the
linear menu 1108 pointing to 4 pm on Monday.
[0073] In one embodiment, the linear menu 1108 at t2 in FIG. 9A has
a display velocity 1116 in velocity graph 1112 which is also
greater than the ring velocity 1114. Linear menu 1108 also moved
through a linear displacement at t2 that is at least twice the
rotational displacement 1110 associated with the rotatable ring 906
of the thermostat 902. This linear displacement can be observed as
the indicator 1109 at t1 was indicates 4 pm on Monday while the
indicator 1118 at t2 indicates 8 pm on Thursday. In this
application, the variable assist scroll engine has applied one
heuristic to reduce the rotational user input to a quarter-rotation
of the rotatable ring 906 while traversing more than twice a
comparable linear distance in the sequence of display elements in
the linear menu 1108.
[0074] At a subsequent time interval t3 in FIG. 11A, the user is no
longer moving rotatable ring 906 and the ring velocity 1122 as
indicated by velocity graph 1120 is negligible or zero. In
contrast, linear menu 1108 continues to travel at a much more
significant display velocity 1124 reduced in part by a simulated
friction or decay. In this embodiment, variable assist scroll
engine has imparted an inertia and linear menu 1108 to further
scrolls where indicator 1126 shows 2 pm Friday. While not displayed
in FIG. 11A, the linear displacement of linear menu 1108 will
continue to increase after t3 until display velocity 1124 decays
further and the scrolling stops.
[0075] Referring to FIG. 11B, in this example a user has applied a
rotational force in clockwise direction 908 to a rotatable ring 906
of thermostat 902. The acceleration graph 1130 indicates
schematically at t1 the ring acceleration 1130 is less than the
display acceleration 1132 as the variable assist scroll engine has
slightly increased the simulated acceleration associated with the
animation of linear menu 1108. The ring acceleration 1130 provided
in FIG. 11B is similar to the ring acceleration 1104 in FIG. 11A
except that it is a lower magnitude in comparison and, more
importantly, is used to change a setpoint 1134 rather than a date
in the schedule of linear menu 1108. As a result, the variable
assist scroll engine has also responded with a lower acceleration
for the animation of the linear menu 1108 to reflect the user's
intent when using the interface.
[0076] In one embodiment, the linear menu 1108 at t2 in FIG. 11B
has a display velocity 1142 in velocity graph 1138 which is
comparable with the ring velocity 1140. It follows that linear menu
1108 has also moved through a linear displacement at t2 that is
comparable to the rotational displacement 944 associated with the
rotatable ring 906. For example, a relatively small change between
the setpoint 1134 at 76 degrees and the setpoint 1144 at 68 degrees
in FIG. 11B does not require a large linear displacement. In this
application, the variable assist scroll engine has applied one
heuristic of allowing the user to make a quarter-rotation of the
rotatable ring 906 that more directly controls the movement of the
scrolling movement of display elements in the linear menu 1108.
[0077] At a subsequent time interval t3 in FIG. 11B, the user is no
longer moving rotatable ring 906 and the ring velocity 1148 as
indicated by velocity graph 1146 is negligible or zero. Likewise,
variable scroll assist engine has damped linear menu 1108 at t3
such that display velocity 1150 is also negligible or zero and the
animation of linear menu 1108 has effectively stopped. In this
embodiment, variable assist scroll engine has reduced the effects
of any inertial energy in order to provide the user with more
control over the scrolling movement of the display elements in
linear menu 1108.
[0078] FIGS. 12A-C illustrates further additional types of menus
that have also benefitted from application of the variable assist
scroll engine in accordance with some embodiments. In settings menu
in FIG. 12A, a set of display elements shaped discs scroll linearly
across the electronic display as physical objects with qualities of
mass and inertia. Further, temperature setting menu in FIG. 12B is
another example of a circular menu with a setpoint tick mark 1212
and a current temperature tick mark 1210. Rotating main menu in
FIG. 12C is a circular type menu with settings 1214 to be scrolled
using embodiments of the present invention.
[0079] Although the foregoing has been described in some detail for
purposes of clarity, it will be apparent that certain changes and
modifications may be made without departing from the principles
thereof. By way of example, it is within the scope of the present
teachings for the rotatable ring of the above-described thermostat
to be provided in a "virtual," "static," or "solid state" form
instead of a mechanical form, whereby the outer periphery of the
thermostat body contains a touch-sensitive material similar to that
used on touchpad computing displays and smartphone displays. For
such embodiments, the manipulation by the user's hand would be a
"swipe" across the touch-sensitive material, rather than a literal
rotation of a mechanical ring, the user's fingers sliding around
the periphery but not actually causing mechanical movement. This
form of user input, which could be termed a "virtual ring
rotation," "static ring rotation", "solid state ring rotation", or
a "rotational swipe", would otherwise have the same purpose and
effect of the above-described mechanical rotations, but would
obviate the need for a mechanical ring on the device. Although not
believed to be as desirable as a mechanically rotatable ring
insofar as there may be a lesser amount of tactile satisfaction on
the part of the user, such embodiments may be advantageous for
reasons such as reduced fabrication cost. By way of further
example, it is within the scope of the present teachings for the
inward mechanical pressability or "inward click" functionality of
the rotatable ring to be provided in a "virtual" or "solid state"
form instead of a mechanical form, whereby an inward pressing
effort by the user's hand or fingers is detected using internal
solid state sensors (for example, solid state piezoelectric
transducers) coupled to the outer body of the thermostat. For such
embodiments, the inward pressing by the user's hand or fingers
would not cause actual inward movement of the front face of the
thermostat as with the above-described embodiments, but would
otherwise have the same purpose and effect as the above-described
"inward clicks" of the rotatable ring. Optionally, an audible beep
or clicking sound can be provided from an internal speaker or other
sound transducer, to provide feedback that the user has
sufficiently pressed inward on the rotatable ring or virtual/solid
state rotatable ring. Although not believed to be as desirable as
the previously described embodiments, whose inwardly moving
rotatable ring and sheet-metal metal style rebounding mechanical
"click" has been found to be particularly satisfying to users, such
embodiments may be advantageous for reasons including reduced
fabrication cost. It is likewise within the scope of the present
teachings for the described thermostat to provide both the ring
rotations and inward clicks in "virtual" or "solid state" form,
whereby the overall device could be provided in fully solid state
form with no moving parts at all.
[0080] While examples and implementations have been described, they
should not serve to limit any aspect of the present invention.
Accordingly, implementations of the invention can be implemented in
digital electronic circuitry, or in computer hardware, firmware,
software, or in combinations of them. Apparatus of the invention
can be implemented in a computer program product tangibly embodied
in a machine readable storage device for execution by a
programmable processor; and method steps of the invention can be
performed by a programmable processor executing a program of
instructions to perform functions of the invention by operating on
input data and generating output. The invention can be implemented
advantageously in one or more computer programs that are executable
on a programmable system including at least one programmable
processor coupled to receive data and instructions from, and to
transmit data and instructions to, a data storage system, at least
one input device, and at least one output device. Each computer
program can be implemented in a high level procedural or object
oriented programming language, or in assembly or machine language
if desired; and in any case, the language can be a compiled or
interpreted language. Suitable processors include, by way of
example, both general and special purpose microprocessors.
Generally, a processor will receive instructions and data from a
read only memory and/or a random access memory. Generally, a
computer will include one or more mass storage devices for storing
data files; such devices include magnetic disks, such as internal
hard disks and removable disks; magneto optical disks; and optical
disks. Storage devices suitable for tangibly embodying computer
program instructions and data include all forms of non-volatile
memory, including by way of example semiconductor memory devices,
such as EPROM, EEPROM, and flash memory devices; magnetic disks
such as internal hard disks and removable disks; magneto optical
disks; CD ROM disks and other non-transitory storage mediums. Any
of the foregoing can be supplemented by, or incorporated in,
ASICs.
[0081] By way of further example, although described above as
having ring rotations and inward clicks as the exclusive user input
modalities, which has been found particularly advantageous in terms
of device elegance and simplicity, it is nevertheless within the
scope of the present teachings to alternatively provide the
described thermostat with an additional button, such as a "back"
button. In one option, the "back" button could be provided on the
side of the device, such as described in the commonly assigned U.S.
Ser. No. 13/033,573, supra. In other embodiments, plural additional
buttons, such as a "menu" button and so forth, could be provided on
the side of the device. For one embodiment, the actuation of the
additional buttons would be fully optional on the part of the user,
that is, the device could still be fully controlled using only the
ring rotations and inward clicks. However, for users that really
want to use the "menu" and "back" buttons because of the habits
they may have formed with other computing devices such as
smartphones and the like, the device would accommodate and respond
accordingly to such "menu" and "back" button inputs.
[0082] By way of even further example, other forms of user input
modalities could be provided by the above-described thermostat as
additions and/or alternative to the above-described ring rotations
and inward clicks without necessarily departing from the scope of
the present teachings. Examples include optically sensed
gesture-based user inputs similar to those provided with modern
video game consoles, and voice inputs implemented using known
speech recognition algorithms. It is to be appreciated that there
are many alternative ways of implementing both the processes and
apparatuses described herein. Accordingly, the present embodiments
are to be considered as illustrative and not restrictive, and the
inventive body of work is not to be limited to the details given
herein, which may be modified within the scope and equivalents of
the appended claims.
* * * * *