The present invention relates generally to electrical and electronic hardware, computer software, wired and wireless network communications, and computing devices. More specifically, an insight micro-engine is configured to present insights relating a detected activity.
With the advent of greater computing capabilities in smaller personal and/or portable form factors and an increasing number of applications (i.e., computer and Internet software or programs) for different uses, consumers (i.e., users) have access to large amounts of personal data. Information and data are often readily available, but poorly captured using conventional data capture devices. Conventional devices typically lack capabilities that can capture, analyze, communicate, or use data in a contextually-meaningful, comprehensive, and efficient manner. Further, conventional solutions are often limited to specific individual purposes or uses, demanding that users invest in multiple devices in order to perform different activities (e.g., a sports watch for tracking time and distance, a GPS receiver for monitoring a hike or run, a cyclometer for gathering cycling data, and others). Although a wide range of data and information is available, conventional devices and applications fail to provide effective solutions that comprehensively capture data for a given user across numerous disparate activities.
Some conventional solutions combine a small number of discrete functions. Functionality for data capture, processing, storage, or communication in conventional devices such as a watch or timer with a heart rate monitor or global positioning system (“GPS”) receiver are available conventionally, but are expensive to manufacture and purchase. Other conventional solutions for combining personal data capture facilities often present numerous design and manufacturing problems such as size restrictions, specialized materials requirements, lowered tolerances for defects such as pits or holes in coverings for water-resistant or waterproof devices, unreliability, higher failure rates, increased manufacturing time, and expense. Subsequently, conventional devices such as fitness watches, heart rate monitors, GPS-enabled fitness monitors, health monitors (e.g., diabetic blood sugar testing units), digital voice recorders, pedometers, altimeters, and other conventional personal data capture devices are generally manufactured for conditions that occur in a single or small groupings of activities. Problematically, though, conventional devices do not provide effective solutions to users in terms of providing a comprehensive view of one's overall health or wellness as a result of a combined analysis of data gathered. This is a limiting aspect of the commercial attraction of the various types of conventional devices listed above.
Generally, if the number of activities performed by conventional personal data capture devices increases, there is a corresponding rise in design and manufacturing requirements that results in significant consumer expense, which eventually becomes prohibitive to both investment and commercialization. Further, conventional manufacturing techniques are often limited and ineffective at meeting increased requirements to protect sensitive hardware, circuitry, and other components that are susceptible to damage, but which are required to perform various personal data capture activities. As a conventional example, sensitive electronic components such as printed circuit board assemblies (“PCBA”), sensors, and computer memory (hereafter “memory”) can be significantly damaged or destroyed during manufacturing processes where overmoldings or layering of protective material occurs using techniques such as injection molding, cold molding, and others. Damaged or destroyed items subsequently raises the cost of goods sold and can deter not only investment and commercialization, but also innovation in data capture and analysis technologies, which are highly compelling fields of opportunity.
Thus, what is needed is a solution for data capture devices without the limitations of conventional techniques.
Various embodiments or examples (“examples”) of the invention are disclosed in the following detailed description and the accompanying drawings:
Various embodiments or examples may be implemented in numerous ways, including as a system, a process, an apparatus, a user interface, or a series of program instructions on a computer readable medium such as a computer readable storage medium or a computer network where the program instructions are sent over optical, electronic, or wireless communication links. In general, operations of disclosed processes may be performed in an arbitrary order, unless otherwise provided in the claims.
A detailed description of one or more examples is provided below along with accompanying figures. The detailed description is provided in connection with such examples, but is not limited to any particular example. The scope is limited only by the claims and numerous alternatives, modifications, and equivalents are encompassed. Numerous specific details are set forth in the following description in order to provide a thorough understanding. These details are provided for the purpose of example and the described techniques may be practiced according to the claims without some or all of these specific details. For clarity, technical material that is known in the technical fields related to the examples has not been described in detail to avoid unnecessarily obscuring the description.
As described above, bands 104-112 may be implemented as wearable personal data or data capture devices (e.g., data-capable devices) that are worn by a user around a wrist, ankle, arm, ear, or other appendage, or attached to the body or affixed to clothing. One or more facilities, sensing elements, or sensors, both active and passive, may be implemented as part of bands 104-112 in order to capture various types of data from different sources. Temperature, environmental, temporal, motion, electronic, electrical, chemical, or other types of sensors (including those described below in connection with
Using data gathered by bands 104-112, applications may be used to perform various analyses and evaluations that can generate information as to a person's physical (e.g., healthy, sick, weakened, or other states, or activity level), emotional, or mental state (e.g., an elevated body temperature or heart rate may indicate stress, a lowered heart rate and skin temperature, or reduced movement (e.g., excessive sleeping), may indicate physiological depression caused by exertion or other factors, chemical data gathered from evaluating outgassing from the skin's surface may be analyzed to determine whether a person's diet is balanced or if various nutrients are lacking, salinity detectors may be evaluated to determine if high, lower, or proper blood sugar levels are present for diabetes management, and others). Generally, bands 104-112 may be configured to gather from sensors locally and remotely.
As an example, band 104 may capture (i.e., record, store, communicate (i.e., send or receive), process, or the like) data from various sources (i.e., sensors that are organic (i.e., installed, integrated, or otherwise implemented with band 104) or distributed (e.g., microphones on mobile computing device 116, mobile communications device 118, computer 120, laptop 122, distributed sensor 124, global positioning system (“GPS”) satellites, or others, without limitation)) and exchange data with one or more of bands 106-112, server 114, mobile computing device 116, mobile communications device 118, computer 120, laptop 122, and distributed sensor 124. As shown here, a local sensor may be one that is incorporated, integrated, or otherwise implemented with bands 104-112. A remote or distributed sensor (e.g., mobile computing device 116, mobile communications device 118, computer 120, laptop 122, or, generally, distributed sensor 124) may be sensors that can be accessed, controlled, or otherwise used by bands 104-112. For example, band 112 may be configured to control devices that are also controlled by a given user (e.g., mobile computing device 116, mobile communications device 118, computer 120, laptop 122, and distributed sensor 124). For example, a microphone in mobile communications device 118 may be used to detect, for example, ambient audio data that is used to help identify a person's location, or an ear clip (e.g., a headset as described below) affixed to an ear may be used to record pulse or blood oxygen saturation levels. Additionally, a sensor implemented with a screen on mobile computing device 116 may be used to read a user's temperature or obtain a biometric signature while a user is interacting with data. A further example may include using data that is observed on computer 120 or laptop 122 that provides information as to a user's online behavior and the type of content that she is viewing, which may be used by bands 104-112. Regardless of the type or location of sensor used, data may be transferred to bands 104-112 by using, for example, an analog audio jack, digital adapter (e.g., USB, mini-USB), or other, without limitation, plug, or other type of connector that may be used to physically couple bands 104-112 to another device or system for transferring data and, in some examples, to provide power to recharge a battery (not shown). Alternatively, a wireless data communication interface or facility (e.g., a wireless radio that is configured to communicate data from bands 104-112 using one or more data communication protocols (e.g., IEEE 802.11a/b/g/n (WiFi), WiMax, ANT™, ZigBee®, Bluetooth®, Near Field Communications (“NFC”), and others)) may be used to receive or transfer data. Further, bands 104-112 may be configured to analyze, evaluate, modify, or otherwise use data gathered, either directly or indirectly.
In some examples, bands 104-112 may be configured to share data with each other or with an intermediary facility, such as a database, website, web service, or the like, which may be implemented by server 114. In some embodiments, server 114 can be operated by a third party providing, for example, social media-related services. Bands 104-112 and other related devices may exchange data with each other directly, or bands 104-112 may exchange data via a third party server, such as a third party like Facebook®, to provide social-media related services. Examples of other third party servers include those implemented by social networking services, including, but not limited to, services such as Yahoo! IM™, GTalk™, MSN Messenger™, Twitter® and other private or public social networks. The exchanged data may include personal physiological data and data derived from sensory-based user interfaces (“UI”). Server 114, in some examples, may be implemented using one or more processor-based computing devices or networks, including computing clouds, storage area networks (“SAN”), or the like. As shown, bands 104-112 may be used as a personal data or area network (e.g., “PDN” or “PAN”) in which data relevant to a given user or band (e.g., one or more of bands 104-112) may be shared. As shown here, bands 104 and 112 may be configured to exchange data with each other over network 102 or indirectly using server 114. Users of bands 104 and 112 may direct a web browser hosted on a computer (e.g., computer 120, laptop 122, or the like) in order to access, view, modify, or perform other operations with data captured by bands 104 and 112. For example, two runners using bands 104 and 112 may be geographically remote (e.g., users are not geographically in close proximity locally such that bands being used by each user are in direct data communication), but wish to share data regarding their race times (pre, post, or in-race), personal records (i.e., “PR”), target split times, results, performance characteristics (e.g., target heart rate, target VO2 max, and others), and other information. If both runners (i.e., bands 104 and 112) are engaged in a race on the same day, data can be gathered for comparative analysis and other uses. Further, data can be shared in substantially real-time (taking into account any latencies incurred by data transfer rates, network topologies, or other data network factors) as well as uploaded after a given activity or event has been performed. In other words, data can be captured by the user as it is worn and configured to transfer data using, for example, a wireless network connection (e.g., a wireless network interface card, wireless local area network (“LAN”) card, cell phone, or the like). Data may also be shared in a temporally asynchronous manner in which a wired data connection (e.g., an analog audio plug (and associated software or firmware) configured to transfer digitally encoded data to encoded audio data that may be transferred between bands 104-112 and a plug configured to receive, encode/decode, and process data exchanged) may be used to transfer data from one or more bands 104-112 to various destinations (e.g., another of bands 104-112, server 114, mobile computing device 116, mobile communications device 118, computer 120, laptop 122, and distributed sensor 124). Bands 104-112 may be implemented with various types of wired and/or wireless communication facilities and are not intended to be limited to any specific technology. For example, data may be transferred from bands 104-112 using an analog audio plug (e.g., TRRS, TRS, or others). In other examples, wireless communication facilities using various types of data communication protocols (e.g., WiFi, Bluetooth®, ZigBee®, ANT™, and others) may be implemented as part of bands 104-112, which may include circuitry, firmware, hardware, radios, antennas, processors, microprocessors, memories, or other electrical, electronic, mechanical, or physical elements configured to enable data communication capabilities of various types and characteristics.
As data-capable devices, bands 104-112 may be configured to collect data from a wide range of sources, including onboard (not shown) and distributed sensors (e.g., server 114, mobile computing device 116, mobile communications device 118, computer 120, laptop 122, and distributed sensor 124) or other bands. Some or all data captured may be personal, sensitive, or confidential and various techniques for providing secure storage and access may, be implemented. For example, various types of security protocols and algorithms may be used to encode data stored or accessed by bands 104-112. Examples of security protocols and algorithms include authentication, encryption, encoding, private and public key infrastructure, passwords, checksums, hash codes and hash functions (e.g., SHA, SHA-1, MD-5, and the like), or others may be used to prevent undesired access to data captured by bands 104-112. In other examples, data security for bands 104-112 may be implemented differently.
Bands 104-112 may be used as personal wearable, data capture devices that, when worn, are configured to identify a specific, individual user. By evaluating captured data such as motion data from an accelerometer, biometric data such as heart rate, skin galvanic response, and other biometric data, and using long-term analysis techniques (e.g., software packages or modules of any type, without limitation), a user may have a unique pattern of behavior or motion and/or biometric responses that can be used as a signature for identification. For example, bands 104-112 may gather data regarding an individual person's gait or other unique biometric, physiological or behavioral characteristics. Using, for example, distributed sensor 124, a biometric signature (e.g., fingerprint, retinal or iris vascular pattern, or others) may be gathered and transmitted to bands 104-112 that, when combined with other data, determines that a given user has been properly identified and, as such, authenticated. When bands 104-112 are worn, a user may be identified and authenticated to enable a variety of other functions such as accessing or modifying data, enabling wired or wireless data transmission facilities (i.e., allowing the transfer of data from bands 104-112), modifying functionality or functions of bands 104-112, authenticating financial transactions using stored data and information (e.g., credit card, PIN, card security numbers, and the like), running applications that allow for various operations to be performed (e.g., controlling physical security and access by transmitting a security code to a reader that, when authenticated, unlocks a door by turning off current to an electromagnetic lock, and others), and others. Different functions and operations beyond those described may be performed using bands 104-112, which can act as secure, personal, wearable, data-capable devices. The number, type, function, configuration, specifications, structure, or other features of system 100 and the above-described elements may be varied and are not limited to the examples provided.
In some examples, memory 206 may be implemented using various types of data storage technologies and standards, including, without limitation, read-only memory (“ROM”), random access memory (“RAM”), dynamic random access memory (“DRAM”), static random access memory (“SRAM”), static/dynamic random access memory (“SDRAM”), magnetic random access memory (“MRAM”), solid state, two and three-dimensional memories, Flash®, and others. Memory 206 may also be implemented using one or more partitions that are configured for multiple types of data storage technologies to allow for non-modifiable (i.e., by a user) software to be installed (e.g., firmware installed on ROM) while also providing for storage of captured data and applications using, for example, RAM. Once captured and/or stored in memory 206, data may be subjected to various operations performed by other elements of band 200.
Notification facility 208, in some examples, may be implemented to provide vibratory energy, audio or visual signals, communicated through band 200. As used herein, “facility” refers to any, some, or all of the features and structures that are used to implement a given set of functions. In some examples, the vibratory energy may be implemented using a motor or other mechanical structure. In some examples, the audio signal may be a tone or other audio cue, or it may be implemented using different sounds for different purposes. The audio signals may be emitted directly using notification facility 208, or indirectly by transmission via communications facility 216 to other audio-capable devices (e.g., headphones (not shown), a headset (as described below with regard to
Power may be stored in battery 214, which may be implemented as a battery, battery module, power management module, or the like. Power may also be gathered from local power sources such as solar panels, thermo-electric generators, and kinetic energy generators, among others that are alternatives power sources to external power for a battery. These additional sources can either power the system directly or can charge a battery, which, in turn, is used to power the system (e.g., of a band). In other words, battery 214 may include a rechargeable, expendable, replaceable, or other type of battery, but also circuitry, hardware, or software that may be used in connection with in lieu of processor 204 in order to provide power management, charge/recharging, sleep, or other functions. Further, battery 214 may be implemented using various types of battery technologies, including Lithium Ion (“LI”), Nickel Metal Hydride (“NiMH”), or others, without limitation. Power drawn as electrical current may be distributed from battery via bus 202, the latter of which may be implemented as deposited or formed circuitry or using other forms of circuits or cabling, including flexible circuitry. Electrical current distributed from battery 204 and managed by processor 204 may be used by one or more of memory 206, notification facility 208, accelerometer 210, sensor 212, or communications facility 216.
As shown, various sensors may be used as input sources for data captured by band 200. For example, accelerometer 210 may be used to gather data measured across one, two, or three axes of motion. In addition to accelerometer 210, other sensors (i.e., sensor 212) may be implemented to provide temperature, environmental, physical, chemical, electrical, or other types of sensed inputs. As presented here, sensor 212 may include one or multiple sensors and is not intended to be limiting as to the quantity or type of sensor implemented. Data captured by band 200 using accelerometer 210 and sensor 212 or data requested from another source (i.e., outside of band 200) may also be exchanged, transferred, or otherwise communicated using communications facility 216. For example, communications facility 216 may include a wireless radio, control circuit or logic, antenna, transceiver, receiver, transmitter, resistors, diodes, transistors, or other elements that are used to transmit and receive data from band 200. In some examples, communications facility 216 may be implemented to provide a “wired” data communication capability such as an analog or digital attachment, plug, jack, or the like to allow for data to be transferred. In other examples, communications facility 216 may be implemented to provide a wireless data communication capability to transmit digitally encoded data across one or more frequencies using various types of data communication protocols, without limitation. In still other examples, band 200 and the above-described elements may be varied in function, structure, configuration, or implementation and are not limited to those shown and described.
As shown, accelerometer 302 may be used to capture data associated with motion detection along 1, 2, or 3-axes of measurement, without limitation to any specific type of specification of sensor. Accelerometer 302 may also be implemented to measure various types of user motion and may be configured based on the type of sensor, firmware, software, hardware, or circuitry used. As another example, altimeter/barometer 304 may be used to measure environment pressure, atmospheric or otherwise, and is not limited to any specification or type of pressure-reading device. In some examples, altimeter/barometer 304 may be an altimeter, a barometer, or a combination thereof. For example, altimeter/barometer 304 may be implemented as an altimeter for measuring above ground level (“AGL”) pressure in band 200, which has been configured for use by naval or military aviators. As another example, altimeter/barometer 304 may be implemented as a barometer for reading atmospheric pressure for marine-based applications. In other examples, altimeter/barometer 304 may be implemented differently.
Other types of sensors that may be used to measure light or photonic conditions include light/IR sensor 306, motion detection sensor 320, and environmental sensor 322, the latter of which may include any type of sensor for capturing data associated with environmental conditions beyond light. Further, motion detection sensor 320 may be configured to detect motion using a variety of techniques and technologies, including, but not limited to comparative or differential light analysis (e.g., comparing foreground and background lighting), sound monitoring, or others. Audio sensor 310 may be implemented using any type of device configured to record or capture sound.
In some examples, pedometer 312 may be implemented using devices to measure various types of data associated with pedestrian-oriented activities such as running or walking. Footstrikes, stride length, stride length or interval, time, and other data may be measured. Velocimeter 314 may be implemented, in some examples, to measure velocity (e.g., speed and directional vectors) without limitation to any particular activity. Further, additional sensors that may be used as sensor 212 include those configured to identify or obtain location-based data. For example, GPS receiver 316 may be used to obtain coordinates of the geographic location of band 200 using, for example, various types of signals transmitted by civilian and/or military satellite constellations in low, medium, or high earth orbit (e.g., “LEO,” “MEO,” or “GEO”). In other examples, differential GPS algorithms may also be implemented with GPS receiver 316, which may be used to generate more precise or accurate coordinates. Still further, location-based services sensor 318 may be implemented to obtain location-based data including, but not limited to location, nearby services or items of interest, and the like. As an example, location-based services sensor 318 may be configured to detect an electronic signal, encoded or otherwise, that provides information regarding a physical locale as band 200 passes. The electronic signal may include, in some examples, encoded data regarding the location and information associated therewith. Electrical sensor 326 and mechanical sensor 328 may be configured to include other types (e.g., haptic, kinetic, piezoelectric, piezomechanical, pressure, touch, thermal, and others) of sensors for data input to band 200, without limitation. Other types of sensors apart from those shown may also be used, including magnetic flux sensors such as solid-state compasses and the like, including gyroscopic sensors. While the present illustration provides numerous examples of types of sensors that may be used with band 200 (
For example, logic module 404 may be configured to send control signals to communications module 406 in order to transfer, transmit, or receive data stored in memory 206, the latter of which may be managed by a database management system (“DBMS”) or utility in data management module 412. As another example, security module 408 may be controlled by logic module 404 to provide encoding, decoding, encryption, authentication, or other functions to band 200 (
Interface module 410, in some examples, may be used to manage user interface controls such as switches, buttons, or other types of controls that enable a user to manage various functions of band 200. For example, a 4-position switch may be turned to a given position that is interpreted by interface module 410 to determine the proper signal or feedback to send to logic module 404 in order to generate a particular result. In other examples, a button (not shown) may be depressed that allows a user to trigger or initiate certain actions by sending another signal to logic module 404. Still further, interface module 410 may be used to interpret data from, for example, accelerometer 210 (
As shown, audio module 414 may be configured to manage encoded or unencoded data gathered from various types of audio sensors. In some examples, audio module 414 may include one or more codecs that are used to encode or decode various types of audio waveforms. For example, analog audio input may be encoded by audio module 414 and, once encoded, sent as a signal or collection of data packets, messages, segments, frames, or the like to logic module 404 for transmission via communications module 406. In other examples, audio module 414 may be implemented differently in function, structure, configuration, or implementation and is not limited to those shown and described. Other elements that may be used by band 200 include motor controller 416, which may be firmware or an application to control a motor or other vibratory energy source (e.g., notification facility 208 (
Another element of application architecture 400 that may be included is service management module 418. In some examples, service management module 418 may be firmware, software, or an application that is configured to manage various aspects and operations associated with executing software-related instructions for band 200. For example, libraries or classes that are used by software or applications on band 200 may be served from an online or networked source. Service management module 418 may be implemented to manage how and when these services are invoked in order to ensure that desired applications are executed properly within application architecture 400. As discrete sets, collections, or groupings of functions, services used by band 200 for various purposes ranging from communications to operating systems to call or document libraries may be managed by service management module 418. Alternatively, service management module 418 may be implemented differently and is not limited to the examples provided herein. Further, application architecture 400 is an example of a software/system/application-level architecture that may be used to implement various software-related aspects of band 200 and may be varied in the quantity, type, configuration, function, structure, or type of programming or formatting languages used, without limitation to any given example.
In some examples, applications may be developed using various types of schema, including using a software development kit or providing requirements in a proprietary or open source software development regime. Applications may also be developed by using an application programming interface to an application marketplace in order for developers to design and build applications that can be downloaded on wearable devices (e.g., bands 104-106 (
Peer-to-hub communication may be exemplified by bands 104 and 108, each respectively communicating with mobile communications device 118 or laptop 122, exemplary hub devices. Bands 104 and 108 may communicate with mobile communications device 118 or laptop 122 using any number of known wired communication technologies (e.g., Universal Service Bus (USB) connections, TRS/TRRS connections, telephone networks, fiber-optic networks, cable networks, etc.). In some examples, bands 104 and 108 may be implemented as lower power or lower energy devices, in which case mobile communications device 118, laptop 122 or other hub devices may act as a gateway to route the data from bands 104 and 108 to software applications on the hub device, or to other devices. For example, mobile communications device 118 may comprise both wired and wireless communication capabilities, and thereby act as a hub to further communicate data received from band 104 to band 110, network 102 or laptop 122, among other devices. Mobile communications device 118 also may comprise software applications that interact with social or professional networking services (“SNS”) (e.g., Facebook®, Twitter®, LinkedIn®, etc.), for example via network 102, and thereby act also as a hub to further share data received from band 104 with other users of the SNS. Band 104 may communicate with laptop 122, which also may comprise both wired and wireless communication capabilities, and thereby act as a hub to further communicate data received from band 104 to, for example, network 102 or laptop 122, among other devices. Laptop 122 also may comprise software applications that interact with SNS, for example via network 102, and thereby act also as a hub to further share data received from band 104 with other users of the SNS. The software applications on mobile communications device 118 or laptop 122 or other hub devices may further process or analyze the data they receive from bands 104 and 108 in order to present to the wearer, or to other wearers or users of the SNS, useful information associated with the wearer's activities.
In other examples, bands 106 and 110 may also participate in peer-to-hub communications with exemplary hub devices such as mobile communications device 118 and laptop 122. Bands 106 and 110 may communicate with mobile communications device 118 and laptop 122 using any number of wireless communication technologies (e.g., local wireless network, near field communication, Bluetooth®, Bluetooth® low energy, ANT, etc.). Using wireless communication technologies, mobile communications device 118 and laptop 122 may be used as a hub or gateway device to communicate data captured by bands 106 and 110 with other devices, in the same way as described above with respect to bands 104 and 108. Mobile communications device 118 and laptop 122 also may be used as a hub or gateway device to further share data captured by bands 106 and 110 with SNS, in the same way as described above with respect to bands 104 and 108.
Peer-to-peer communication may be exemplified by bands 106 and 110, exemplary peer devices, communicating directly. Band 106 may communicate directly with band 110, and vice versa, using known wireless communication technologies, as described above. Peer-to-peer communication may also be exemplified by communications between bands 104 and 108 and bands 106 and 110 through a hub device, such as mobile communications device 118 or laptop 122.
Alternatively, exemplary system 600 may be implemented with any combination of communication capable devices, such as any of the devices depicted in
In some examples, aggregation engine 710 may receive or gather inputs from one or more sources over a period of time, or over multiple periods of time, and organize those inputs into a database (not shown) or other type of organized form of information storage. In some examples, graphical representation 740 may be a simple representation of a facial expression, as shown. In other examples, graphical representation 740 may be implemented as a richer graphical display comprising inputs gathered over time (e.g.,
In other examples, activity data may be received from multiple sources. These multiple sources may comprise a combination of sources (e.g., a band and a mobile communications device, two bands and a laptop, etc.) (not shown). Such activity data may be accumulated continuously, periodically, or otherwise, over a time period. As activity data is accumulated, the aggregate value may be updated and/or accumulated, and in turn, the graphical representation may be updated. In some examples, as activity data is accumulated and the aggregate value updated and/or accumulated, additional graphical representations may be generated based on the updated or accumulated aggregate value(s). In other examples, the above-described process may be varied in the implementation, order, function, or structure of each or all steps and is not limited to those provided.
In some examples, points awarded may be time-dependent or may expire after a period of time. For example, points awarded for eating a good meal may be valid only for a certain period of time. This period of time may be a predetermined period of time, or it may be dynamically determined. In an example where the period of time is dynamically determined, the points may be valid only until the user next feels hunger. In another example where the period of time is dynamically determined, the points may be valid depending on the glycemic load of the meal (e.g., a meal with low glycemic load may have positive effects that meal carry over to subsequent meals, whereas a meal with a higher glycemic load may have a positive effect only until the next meal). In some examples, a user's total accumulated points 1010 may reflect that certain points have expired and are no longer valid.
In some examples, these points may be used for obtaining various types of rewards, or as virtual or actual currency, for example, in an online wellness marketplace, as described herein (e.g., a fitness marketplace). For example, points may be redeemed for virtual prizes (e.g., for games, challenges, etc.), or physical goods (e.g., products associated with a user's goals or activities, higher level bands, which may be distinguished by different colors, looks and/or features, etc.). In some examples, the points may automatically be tracked by a provider of data-capable bands, such that a prize (e.g., higher level band) is automatically sent to the user upon reaching a given points threshold without any affirmative action by the user. In other examples, a user may redeem a prize (e.g., higher level band) from a store. In still other examples, a user may receive deals. These deals or virtual prizes may be received digitally via a data-capable band, a mobile communications device, or otherwise.
Wireframe 1230 comprises an exemplary Team page, which may include a navigation 1202, selected page 1204B, sync widget 1216, team manager element 1228, leaderboard element 1240, comparison element 1242, avatar and goals element 1206A, statistics element 1208A, social feed 1212A, and scrolling member snapshots element 1226. Avatar and goals element 1206A and statistics element 1208A may be implemented as described above with regard to like-numbered or corresponding elements. Navigation 1202, selected page 1204B and sync widget 1216 also may be implemented as described above with regard to like-numbered or corresponding elements. In some examples, team manager element 1228 may be implemented as an area for displaying information, or providing widgets, associated with team management. Access to team manager element 1228 may be restricted, in some examples, or access may be provided to the entire team. Leaderboard element 1240 may be implemented to display leaders in various aspects of an activity in which the team is participating (e.g., various sports, social functions (e.g., clubs), drinking abstinence, etc.). In some examples, leaderboard element 1240 may be implemented to display leaders among various groupings (e.g., site-wide, team only, other users determined to be “like” the user according to certain criteria (e.g., similar activities), etc.). In other examples, leaderboard element 1240 may be organized or filtered by various parameters (e.g., date, demographics, geography, activity level, etc.). Comparison element 1242 may be implemented, in some examples, to provide comparisons regarding a user's performance with respect to an activity, or various aspects of an activity, with the performance of the user's teammates or with the team as a whole (e.g., team average, team median, team favorites, etc.). Scrolling member snapshots element 1226 may be configured to provide brief summary information regarding each of the members of the team in a scrolling fashion. A Team page may be implemented differently than described here.
Wireframe 1250 comprises an exemplary Public page, which may include navigation 1202, selected page 1204C, sync widget 1216, leaderboard element 1240A, social feed 1212B, statistics report engine 1254, comparison element 1242A, and challenge element 1256. Navigation 1202, selected page 1204C and sync widget 1216 may be implemented as described above with regard to like-numbered or corresponding elements. Leaderboard element 1240A also may be implemented as described above with regard to leaderboard element 1240, and in some examples, may display leaders amongst all of the users of the wellness marketplace. Social feed 1212B also may be implemented as described above with regard social feed 1212 and social feed 1212A. Comparison element 1242A may be implemented as described above with regard to comparison element 1242, and in some examples, may display comparisons of a user's performance of an activity against the performance of all of the other users of the wellness marketplace. Statistics report engine 1254 may generate and display statistical reports associated with various activities being monitored by, and discussed in, the wellness marketplace. In some examples, challenge element 1256 may enable a user to participate in marketplace-wide challenges with other users. In other examples, challenge element 1256 may display the status of, or other information associated with, ongoing challenges among users. A Public page may be implemented differently than described here.
Wireframe 1260 comprises an exemplary Move page, which may include navigation 1202, selected page 1204D, sync widget 1216, leaderboard element 1240B, statistics report engine 1254, comparison element 1242B, search and recommendations element 1272, product sales element 1282, exercise science element 1264, daily movement element 1266, maps element 1280 and titles element 1258. Navigation 1202, selected page 1204D, sync widget 1216, leaderboard element 1240B, statistics report engine 1254, and comparison element 1242B may be implemented as described above with regard to like-numbered or corresponding elements. The Move page may be implemented to include a search and recommendations element 1272, which may be implemented to enable searching of the wellness marketplace. In some examples, in addition to results of the search, recommendations associated with the user's search may be provided to the user. In other examples, recommendations may be provided to the user based on any other data associated with the user's activities, as received by, gathered by, or otherwise input into, the wellness marketplace. Product sales element 1282 may be implemented to display products for sale and provide widgets to enable purchases of products by users. The products may be associated with the user's activities or activity level. Daily movement element 1266 may be implemented to suggest an exercise each day. Maps element 1280 may be implemented to display information associated with the activity of users of the wellness marketplace on a map. In some examples, maps element 1280 may display a percentage of users that are physically active in a geographical region. In other examples, maps element 1280 may display a percentage of users that have eaten well over a particular time period (e.g., currently, today, this week, etc.). In still other examples, maps element 1280 may be implemented differently. In some examples, titles element 1258 may display a list of users and the titles they have earned based on their activities and activity levels (e.g., a most improved user, a hardest working user, etc.). A Move page may be implemented differently than described here.
Wireframe 1270 comprises an exemplary Eat page, which may include navigation 1202, selected page 1204E, sync widget 1216, leaderboard elements 1240C and 1240D, statistics report engine 1254, comparison element 1242C, search and recommendations element 1272, product sales element 1282, maps element 1280A, nutrition science element 1276, and daily food/supplement element 1278. Navigation 1202, selected page 1204E, sync widget 1216, leaderboard elements 1240C and 1240D, statistics report engine 1254, comparison element 1242C, search and recommendations element 1272, product sales element 1282, and maps element 1280A may be implemented as described above with regard to like-numbered or corresponding elements. The Eat page may be implemented to include a nutrition science element 1276, which may display, or provide widgets for accessing, information associated with nutrition science. The Eat page also may be implemented with a daily food/supplement element 1278, which may be implemented to suggest an food and/or supplement each day. An Eat page may be implemented differently than described here.
Wireframe 1280 comprises an exemplary Live page, which may include navigation 1202, selected page 1204F, sync widget 1216, leaderboard element 1240E, search and recommendations element 1272, product sales element 1282, maps element 1280B, social feed 1212C, health research element 1286, and product research element 1290. Navigation 1202, selected page 1204F, sync widget 1216, leaderboard element 1240E, search and recommendations element 1272, product sales element 1282, maps element 1280B and social feed 1212C may be implemented as described above with regard to like-numbered or corresponding elements. In some examples, the Live page may include health research element 1286 configured to display, or to enable a user to research, information regarding health topics. In some examples, the Live page may include product research element 1290 configured to display, or to enable a user to research, information regarding products. In some examples, the products may be associated with a user's particular activities or activity level. In other examples, the products may be associated with any of the activities monitored by, or discussed on, the wellness marketplace. A Live page may be implemented differently than described here.
According to some examples, computer system 1300 performs specific operations by processor 1304 executing one or more sequences of one or more instructions stored in system memory 1306. Such instructions may be read into system memory 1306 from another computer readable medium, such as static storage device 1308 or disk drive 1310. In some examples, hard-wired circuitry may be used in place of or in combination with software instructions for implementation.
The term “computer readable medium” refers to any tangible medium that participates in providing instructions to processor 1304 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as disk drive 1310. Volatile media includes dynamic memory, such as system memory 1306.
Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
Instructions may further be transmitted or received using a transmission medium. The term “transmission medium” may include any tangible or intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such instructions. Transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 1302 for transmitting a computer data signal.
In some examples, execution of the sequences of instructions may be performed by a single computer system 1300. According to some examples, two or more computer systems 1300 coupled by communication link 1320 (e.g., LAN, PSTN, or wireless network) may perform the sequence of instructions in coordination with one another. Computer system 1300 may transmit and receive messages, data, and instructions, including program, i.e., application code, through communication link 1320 and communication interface 1312. Received program code may be executed by processor 1304 as it is received, and/or stored in disk drive 1310, or other non-volatile storage for later execution.
In one mode of operation, wearable device 1420a can receive at least a portion of insight data 1412 as determined by insight engine 1430. As such, wearable device 1420a is configured to operate, at least in part, based on data generated by insight engine 1430. Note that insight engine 1430 can receive sensor data 1416 from wearable device 1420a, such as from another sensor set (“2”) 1442 disposed in the wearable device 1420a. In some examples, wearable device 1420a also can receive insight data from a remote server 1404 via network 1402.
Further to the example shown, when wearable device 1420a transitions across boundary 1462 to a position as shown as wearable device 1420b, wearable device 1420b transitions operation from the first mode to a second mode. In a second mode of operation, wearable device 1420b is configured to implement an insight micro-engine 1440. In this mode of operation, wearable device 1420b operates independently of aggregation engine 1408 and insight engine 1430. Therefore, insights presented to user interface 1424, such as a touch-sensitive display interface, are based on the operation of insight micro-engine 1440.
According to some embodiments, the term “insight” can refer to, for example, data correlated among a state of user (e.g., number of steps taken, number of our slapped, etc.) and other sets of data representing trends, patterns, and correlations to goals of a user (e.g., a target value of a number of steps per day) and/or supersets of generalized (e.g., average values) of anonymized data for a population at-large. With insight data, the user can understand how an activity (e.g., running, etc.) can affect other aspects of health (e.g., amount of sleep as a parameter). In some embodiments, insight data can include feedback information. For example, insights can include data derived by the structures and/or functions set forth in U.S. Pat. No. 8,446,275, which is herein incorporated by reference to illustrate at least some examples. In some cases, an insight micro-engine (and/or insight engine) can include one or more structures or functions set forth in U.S. Pat. No. 8,446,275.
To illustrate operation of insight micro-engine 1440, consider the following. According to some examples, wearable device 1420b can detect an absence of communication link 1414. Responsive to the loss of communication, insight micro-engine 1440 can be activated to operate in association with the memory (not shown) to continue to provide insights to the user independent of remote server 1404 and insight engine 1430. Insight micro-engine 1440 is configured to receive a subset of sensor data from sensor set 1442 whereby the subset of sensor data can represent a smaller amount of data due to the loss of sensor data from sensor set 1432.
Based on the subset of sensor data, and insight micro-engine 1440 can determine an activity and aggregate value representative of the state of the activity. For example, a user can walk a number of steps per unit time, and have an aggregate value of 8,123 steps in one day. Further, insight micro-engine 1440 can correlate the aggregate value to a target value, whereby the target value they represent a goal. To continue with the previous example, consider that the user wishes to walk 10,000 steps per day. As such, the target value is 10,000 steps. By this correlation, insight micro-engine 1440 can determine a difference (e.g., insight data representing how far above or below) the user's progress is relative to a goal. Insight micro-engine 1440 can generate data for presentation at a displayable user interface. In some cases the data insight includes the aggregate value and/or a graphical representation of the aggregate value. Further, the data may also include data representing an insight, whereby the insight data provides contextual information that conveys a correlation between the aggregate value and a parameter. For example, a parameter can represent value or other information associated with another state of a user, is one example. To illustrate, consider that insight micro-engine 1440 can correlate an aggregate value of steps to a parameter describing a number of hours slept over a period of time.
In some examples, insight micro-engine 1440 can derive data representing an aggregate number of steps, or any other measurable activity, at a point in time, such as 5 pm every day (e.g., as a parameter). Insight micro-engine 1440 can also compare data representing another aggregate number of steps for a different point in time (e.g., number of steps taken one week ago today). Note that the “number of steps” described above is merely an example of the units of motion or accomplishment for an activity or condition, and the various embodiments are not intended to be limited thereto.
In some examples, wearable device 1420b can transition to a position associated with wearable device 1420a. As such, logic in a wearable device 1420b can detect a presence of communication links 1414. In some embodiments, insight micro-engine 1440 and its operation can be terminated (e.g., in whole or part). Accordingly, wearable device 1420a receives data from insight engine 1430 mobile device 1410. Further, wearable device 1428 can again receive insight data from remote server 1404.
In another mode of operation, wearable device 1420a can be configured to generate and transmit a request 1480 via network 1402 to remote server 1404. Request 1480 can include data requesting an authorized downloading or transfer of data 1482 including insight engine 1430. Therefore, insight micro-engine 1440 can be preinstalled on wearable device 1420b, and upon detection of communication link 1414, instant micro-engine 1440 can cause insight engine 1430 and related applications to be downloaded onto mobile phone 1410.
Examples of wearable device 420a include Gear Live™ by Samsung, Moto 360™ and G Watch by LG, among others.
Although the foregoing examples have been described in some detail for purposes of clarity of understanding, the above-described inventive techniques are not limited to the details provided. There are many alternative ways of implementing the above-described invention techniques. The disclosed examples are illustrative and not restrictive.
This application is a continuation-in-part (“CIP”) patent application of U.S. patent application Ser. No. 13/181,495, filed Jul. 12, 2011, entitled “Wellness Application for Data-Capable Band” (ALI-013), and this application also is a continuation-in-part (“CIP”) patent application of U.S. patent application Ser. No. 13/433,204, filed Mar. 28, 2012, a continuation-in-part (“CIP”) patent application of U.S. patent application Ser. No. 13/433,208, filed Mar. 28, 2012, and a continuation-in-part (“CIP”) patent application of U.S. patent application Ser. No. 13/433,213, filed Mar. 28, 2012, all of which are herein incorporated by reference for all purposes. Further, U.S. Pat. No. 8,446,275 is herein incorporated by reference.