Typically, businesses and activities, such as collegiate and professional sports, require the performance of particular personnel to be quantified. As a non-limiting example, in baseball, performance statistics, such as runs, hits, runs batted in (RBI), etc., are used in analyzing the performance of baseball players so that an educated decision whether to advance a player to a higher level, such as the “major leagues,” may be made. However, assessing the mental performance of the personnel, as opposed to the physical performance, remains problematic.
Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, with emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
The following disclosure relates to a performance development application as well as the derivation of analytics. Businesses and activities, such as collegiate and professional sports, require the performance of particular personnel to be quantified. As a non-limiting example, in baseball, performance statistics, such as runs, hits, runs batted in's (RBIs), etc., are used in analyzing the performance of baseball players so that an educated decision whether to advance a player to a higher level, such as the “major leagues,” may be made. However, assessing the mental performance of the personnel, as opposed to the physical performance, remains problematic.
For example, a high school baseball player may have solid physical performance statistics, such as an impressive number of RBIs. Yet, the impressive number of RBIs may not paint a whole picture as to how the player may perform in an advanced level of competition. Similarly, there is no indication as to how the player may perform mentally when confronted with various scenarios. For example, assuming a runner is on first and third base, the player may not know where to throw the ball if it is hit to him or her.
Thus, it may be beneficial to train a player using a performance development application as well as determine metrics that quantify the mental performance of the player. A client device, such as a smartphone, laptop computer, or tablet, may be employed in the presentation of position-specific scenarios requiring a user of the client device to answer presented questions related to the scenarios. Quantifiable metrics may be generated based on the answers provided as well as the time taken to provide an answer, whether correct or incorrect. A predefined formulation may generate a metric corresponding to the user that indicates the mental performance of the user and the metric may be made accessible by requesting third-party sites.
As a non-limiting example, a choice of where to throw the ball (first base, second base, third base, or home plate) depends on key circumstances on the field such as what bases are occupied with runners (bases empty, bases loaded, runner on first base, runner on second base, runner on third base, runners on first and second bases, runners on first and third bases, or runners on second and third bases) and how many outs there are (0, 1, or 2). The user may first choose his/her position on the field. The performance development application may generate a scenario based on a number of outs and a number of bases occupied including other variables such as the direction of the ball, the speed of the runner, the current score, the inning, etc. The player (e.g., the user) may then select a base to which he would throw the ball. The program will measure the response and record a correct or wrong answer for each play or scenario. The user may complete as many plays or scenarios as he/she is able in a predetermined timeframe (e.g., two minutes). The program may generate a score and a rating metric based on the number of plays completed as well as the percentage correct. The performance development application may store the data for analysis and a recommended course of training may be presented to the user to improve the player's knowledge of the position. The program may also recognize problem areas for the player and generate more scenarios to focus on those problem areas. The data may be stored locally on the client device in a database on a server for further access by the player, coaches, parents, recruiters, etc. Accordingly, the performance development application may train the user to quickly respond while making accurate decisions. The ability to choose a player position, mentally train the user, analyze the responses, smartly focus on the user's problem areas, recommend a training regiment, and/or share the data with players, coaches, parents, recruiters, etc., may create a unique training experience for baseball/softball players of all ages. The compiled data, as well as the metrics generated from the data, may be ranked according to geographic area, age, etc., to determine top players by position, age, state, region, country, etc. In various embodiments, the compiled data, as well as the metrics generated from the data, may be shared via social networking sites.
Although the following description is provided in the context of baseball, the disclosure is not so limited. For example, a performance development application may be employed in presenting a player with a position-specific scenario or role-specific scenario in golf, football, soccer, wrestling, track and field, basketball, swimming and diving, etc. Moreover, a performance development application may be employed in the business context permitting the user of the application to assume the role (instead of a position as described herein) of a doctor, nurse, construction worker, business manager, etc. Quantifiable metrics may be generated for the employee based on answers provided responsive to being presented with particular scenarios, the time taken to provide the answers, as well as other information. In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same.
With reference to
The performance development application may utilize the hardware of the client device 103 to communicate over a network 109 to a computing environment, such as one or more servers, that will be described in greater detail below. The computing environment may comprise, for example, a performance development engine 112 as well as an analytics engine 115. To this end, the performance development engine 112 may be configured to present various scenarios to the user over the network 109. The analytics engine 115 may be configured to determine one or more quantifiable that may be indicative of the user's mental performance relative to the presented scenarios. As a non-limiting example, a quantifiable metric may comprise a baseball academic rating (BAR) score 118 that may be encoded in regions of a user interface, as will be described in greater detail below.
With reference to
The computing environment 203 may comprise, for example, a server computer or any other system providing computing capability. Alternatively, the computing environment 203 may employ a plurality of computing devices that may be arranged, for example, in one or more server banks or computer banks or other arrangements. Such computing devices may be located in a single installation or may be distributed among many different geographical locations. For example, the computing environment 203 may include a plurality of computing devices that together may comprise a hosted computing resource, a grid computing resource and/or any other distributed computing arrangement. In some cases, the computing environment 203 may correspond to an elastic computing resource where the allotted capacity of processing, network, storage, or other computing-related resources may vary over time.
Various applications and/or other functionality may be executed in the computing environment 203 according to various embodiments. Also, various data is stored in a data store 206 that is accessible to the computing environment 203. The data store 206 may be representative of a plurality of data stores 206 as can be appreciated. The data stored in the data store 206, for example, is associated with the operation of the various applications and/or functional entities described below.
The components executed on the computing environment 203, for example, include the performance development engine 112, the analytics engine 115, an application programming interface (API) (hereinafter API interface 209) and other applications, services, processes, systems, engines, or functionality not discussed in detail herein. As briefly described above, the performance development engine 112 is executed to present various predefined scenarios 207a to the user over the network 109. The analytics engine 115 is executed to determine one or more quantifiable metrics for the user that may be indicative of the user's mental performance relative to the presented scenarios. The API interface 209 is executed to receive programmatic service calls (e.g., API calls) from one or more requesting services for information associated with players or personnel. According to various embodiments, the API interface 209 may comprise a web service enabling communication between the computing environment 203 and other devices over the network 109.
The data stored in the data store 206 includes, for example, application data 210, user data 212a, historical data 215, authentication data 218, scenario data 221, rating data 224, and potentially other data. Application data 210 may comprise data used in encode the performance development application 266 on a client device 103. User data 212 may comprise information associated with a user of the performance development application 266 (also referred herein as “a player”) such as historical data 215 obtained by the performance development application 266 in association with scenarios accessed and/or performed. For example, after presentation of various scenarios, the user may be prompted with questions to demonstrate the ability of the user in understanding and/or remembering the various scenarios. Historical data 215 may comprise, for example, the scenarios performed, the answers provided to questions presented in the scenarios, and/or the temporal delay in providing answers in the form of user input, etc.
Authentication data 218 may comprise, for example, data utilized to authenticate a user and/or a client device 103 on which the user accesses the performance development application 266. To this end, authentication data 218 may comprise login credentials (e.g., previously provided usernames and passwords), biometric data, internet protocol (IP) addresses, digital fingerprints of the client devices 103, and/or other information that may be used in authenticating the user or the client device 103. Scenario data 221 may comprise data used in generating scenarios specific to the user and/or specific to a particular position. A non-limiting example of scenario data 221 will be described in greater detail below with respect to
Rating data 224 may comprise data used to generate one or more metrics for a user or player. For example, rating data 224 may comprise formulae used to determine metrics that quantify the mental performance of the user or player. A non-limiting example of rating data 224 will be described in greater detail below with respect to
The client devices 103a-b are representative of a plurality of client devices that may be coupled to the network 109. Either client device 103 may comprise, for example, a processor-based system such as a computer system. Such a computer system may be embodied in the form of a desktop computer, a laptop computer, personal digital assistants, cellular telephones, smartphones, set-top boxes, music players, web pads, tablet computer systems, game consoles, electronic book readers, or other devices with like capability. The clients 103a-b may include displays 106a-b. The displays 106a-b may comprise, for example, one or more devices such as liquid crystal display (LCD) displays, gas plasma-based flat panel displays, organic light emitting diode (OLED) displays, electrophoretic ink (E ink) displays, LCD projectors, or other types of display devices, etc.
The clients 103a-b may be configured to execute various applications such as the performance development application 266, a statistics application 269 (hereinafter client applications) and/or other applications. The client applications may be executed in a client device 103, for example, to access network content served up by the computing environment 203 and/or other servers, thereby rendering a user interface 272 on the display 106. To this end, the client applications may comprise, for example, a browser, a dedicated application, etc., and the user interface 272 may comprise a network page, an application screen, etc. The clients 103a-b may be configured to execute applications beyond the client applications such as, for example, email applications, social networking applications, word processors, spreadsheets, and/or other applications.
Next, a general description of the operation of the various components of the networked environment 100 is provided. To begin, it assumed that a user may execute the performance development application 266 on the client device 103a to mentally train by being presented with one or more sport-specific, business-specific, and/or position-specific scenarios. The historical data 215 corresponding to the user may be accessed, for example, via the data store 206 or other memory and may be utilized in determining one or more predefined scenarios 207b to present to the user by the performance development engine 112. The predefined scenarios 207b may be sent to the client device 103 as application input data. According to various embodiments, the performance development engine 112 may comprise two or more modes of operation. As a non-limiting example, a first mode of operation may comprise a “game mode” where scenarios are determined during which the user is graded. For example, in the game mode, the user input 250 and the temporal delay 253 in receiving the user input 250 is measured to be utilizing in generating one or more metrics for the user. According to various embodiments, the scenarios presented in the game mode of operation may be selected at random, however, may be selected utilizing historical data 215 such that repeated scenarios are lessened and/or avoided.
A second mode of operation may comprise a “practice mode” and/or a “training mode” during which the user may be presented with various scenarios and questioned about the scenarios without affecting the metrics. Similarly, in the “practice mode” and/or “training mode,” the performance development engine 112 may determine recommended scenarios based on areas the user is weakly performing. Likewise, the performance development engine 112 may recommend “training regiments” such as performing a certain amount of scenarios in a particular amount of time. As a non-limiting example, the user struggling with determining where to throw a ball in various scenarios may be recommended to conduct 10 cycles a week in practice mode, wherein each cycle contains 5 scenarios associated with determining where to throw the ball.
The BAR score 118b may be periodically sent to the client device 103 (or upon a request) so that the user may be constantly aware of their performance. The predefined scenario 207b and/or data necessary to render the predefined scenario 207b in the client device 103 may be encoded for transmission. As a non-limiting example, the scenario and/or data necessary to render the scenario may be formatted in the JSON format and/or any other machine-readable format. Next, the scenario and/or data necessary to render the scenario may be sent to the client device 103.
As may be appreciated, as the predefined scenario 207b is rendered by the client device 103 on the display 106 via the performance development application 266. The performance development application 226 executing on the client device 103 may monitor the user input 250 or the time elapsed between the rendering of the scenario and a response initiated by a user, such as an amount of time taken by the user to answer a question presented in the scenario. Thus, the measurements of the user input 250 and/or the amount of time taken by the user in providing user input (e.g., the temporal delay 253) may be received by the performance development engine 112 from the client device 103. In addition, any information provided by the user via the performance development application 266 may be sent as user data 212 to the computing environment 203. This may be used to update the historical data 215 corresponding to the user.
The analytics engine 115 may subsequently access the historical data 215 corresponding to a user and may generate one or more metrics for the user utilizing at least the historical data 215. As a non-limiting example, a metric may comprise the BAR score 118, the computation of which will be described in greater detail below. The historical data 215 used in determining the metric may comprise, for example, an accuracy of user input 250 responsive to the presented scenarios, the temporal delay 253 in providing the user input 250, and/or any other information that may be employed in the generation of the one or more metrics.
As may be appreciated, other services, network sites, or mobile applications may desire to access BAR scores 118 for one or more players. Accordingly, the BAR scores 118, generated by the analytics engine 118 and stored in data store 212, may be made accessible to third-party requests. For example, recruiting sites, college sports sites, professional sports sites, professional networking sites, etc., may submit requests for the BAR scores 118 and may be provided with a most recent and up-to-date BAR score 118. Thus, the computing environment 203 may receive third-party requests via, for example, the API interface 209. A request may comprise a solicitation for information about a specific player or a class of players (e.g., the top percentile of players ranking according to the BAR score 118). Thus, a request may be classified as generic (e.g., asking for a class of players such as the highest ranked players) or specific (e.g., asking for a BAR score 118 for a specific player).
If a request has been received, the request may be authenticated by comparing the requesting service or device to a white list of permissible requesting services or devices. Similarly, authentication of the third-party request may comprise comparing the requesting service or device to a black list of blocked requesting services or devices. The white lists and/or black list may be updated according to subscriptions maintained in the computing environment 203. The one or more metrics may be encoded for transmission and may be sent to the client device 103 for rendering via the API interface 209. Thus, the transmission may comprise, for example, user data 212b corresponding to the user as well as the B.A.R. score 118c.
Referring next to
Moving on to
As shown in the embodiment set forth in
Turning now to
Moving on to
The performance development engine 112 may further use various in-game factors 506 such as (1) a number of outs; (2) a number of base runners; (3) a location of the base runners; (4) a score (e.g., tied, up one, down one, down two or more, up two or more); (5) a speed of a runner (e.g., slow, average, fast); (6) a depth of the infield or the outfield (e.g., in or back); (6) a direction of the ball being hit (e.g., right at you, two steps to the left or right); (7) a speed of the ball (e.g., slow, average, fast). Utilizing these factors 506, at least 95% of game situations may be quantifiable and presented by the performance development engine 112 for a respective position. As may be appreciated, the factors 506 utilized by the performance development engine 112 may vary according to the level of the user. For example, determining a scenario for a user in level one may not utilize advanced factors such as the speed of the ball or the depth of the infield or outfield. However, a user in a higher level (e.g., level 7) may utilize the speed of the ball or the depth of the infield or outfield. According to various embodiments, the progression of levels may include the use of additional factors in determining scenarios.
Referring next to
In the non-limiting example of
wherein W is a weight and L is the level of the user.
In the non-limiting example of
Turning now to
As may be appreciated, various recruiting websites or professional statistics websites depict various statistics for players. Accordingly, it may be beneficial for one or more metrics generated by the analytics engine 115 to become accessible to third-party applications or network sites to display in a metric describing mental performance relative to the other statistics. For example, a recruiting website may request one or more metrics for a particular player from the computing environment 203 (
In the non-limiting example of
Moving on to
Referring next to
As described above, a user may execute the performance development application 266 on a client device 103. Beginning with 903, the user may be authenticated utilizing at least login credentials (e.g., username and password), biometric data, internet protocol (IP) addresses, fingerprints of the client device 103 and/or other information. Next, in 906, the historical data 215 corresponding to the user may be accessed, for example, via the data store 206 or other memory. In 909, the performance development engine 112 may determine one or more scenarios to present to the user. To this end, the performance development engine 112 may utilize the scenario table 503 as depicted in
As may be appreciated, as the scenario is rendered by the client device 103 on the display 106, the client device 103 may monitor the user input 250 or the time elapsed between the rendering of the scenario and a response initiated by a user, such as an amount of time taken by the user to answer a question presented in the scenario. Thus, in 918, the measurements of the user input 250 and/or the amount of time taken by the user may be received by the performance development engine 112 from the client device 103. In 921, this may be used to update the historical data 215 corresponding to the user. In 924, the historical data 215 may be made accessible to the analytics engine 115 to derive one or more metrics for the user, as will be discussed in greater detail below.
Referring next to
As discussed above with respect to
Moving on to 1009, it is determined whether a request has been received from a requesting client device 103 for one or more metrics. A request may comprise a solicitation for information about a specific player or a class of players (e.g., the top percentile of players ranking according to the BAR score 118). If a request has been not been received, the process may end. Alternatively, if the request has been received, in 1012, then the request may be authenticated (1012). Authentication may comprise comparing the requesting service or device to a white list of permissible requesting services or devices. Similarly, authentication may comprise comparing the requesting service or device to a black list of blocked requesting services or devices. According to various embodiments, the white lists and/or black list may be updated according to subscriptions maintained in the computing environment 203. In 1015, one or metrics corresponding to a player may be identified, for example, according to a player or class of players identified in the request. In 1018, the one or more metrics may be encoded for transmission. In 1021, the one or more metrics may be sent to the client device 103 for rendering.
With reference to
Stored in the memory 1109 are both data and several components that are executable by the processor 1106. In particular, stored in the memory 1109 and executable by the processor 1106 are the performance development engine 112, the analytics engine 115, the API interface 209, and potentially other applications. Also stored in the memory 1109 may be a data store 206 and other data. In addition, an operating system may be stored in the memory 1109 and executable by the processor 1106.
It is understood that there may be other applications that are stored in the memory 1109 and are executable by the processor 1106 as can be appreciated. Where any component discussed herein is implemented in the form of software, any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java®, JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, or other programming languages.
A number of software components are stored in the memory 1109 and are executable by the processor 1106. In this respect, the term “executable” means a program file that is in a form that can ultimately be run by the processor 1106. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 1109 and run by the processor 1106, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 1109 and executed by the processor 1106, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 1109 to be executed by the processor 1106, etc. An executable program may be stored in any portion or component of the memory 1109 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
The memory 1109 is defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 1109 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
Also, the processor 1106 may represent multiple processors 1106 and/or multiple processor cores and the memory 1109 may represent multiple memories 1109 that operate in parallel processing circuits, respectively. In such a case, the local interface 1112 may be an appropriate network that facilitates communication between any two of the multiple processors 1106, between any processor 1106 and any of the memories 1109, or between any two of the memories 1109, etc. The local interface 1112 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. The processor 1106 may be of electrical or of some other available construction.
Although the performance development engine 112, the analytics engine 115, the API interface 209, and other various systems described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field-programmable gate arrays (FPGAs), or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
The flowcharts of
Although the flowcharts of
Also, any logic or application described herein, including the performance development engine 112, the analytics engine 115, and/or the API interface 209, that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor 1106 in a computer system or other system. In this sense, the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
The computer-readable medium can comprise any one of many physical media such as, for example, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
Further, any logic or application described herein, including the performance development engine 112, the analytics engine 115, the API interface 209, may be implemented and structured in a variety of ways. For example, one or more applications described may be implemented as modules or components of a single application. Further, one or more applications described herein may be executed in shared or separate computing devices or a combination thereof. For example, a plurality of the applications described herein may execute in the same computing device 1103, or in multiple computing devices in the same computing environment 203. Additionally, it is understood that terms such as “application,” “service,” “system,” “engine,” “module,” and so on may be interchangeable and are not intended to be limiting.
Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
This application claims priority to co-pending U.S. Provisional Patent Application entitled “BASEBALL ACADEMICS (BASEBALL TRAINER SOFTWARE APP),” filed on Apr. 5, 2013, and assigned application No. 61/808,692, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61808692 | Apr 2013 | US |