U.S. patent application number 13/836204 was filed with the patent office on 2014-04-03 for determination of custom information based on golfer performance data.
The applicant listed for this patent is ADVANCE MAGAZINE PUBLISHERS INC.. Invention is credited to Anthony G. Aguila, Craig Bestrom, Matt Ginella, Peter Morrice, Lucius J. Riccio, Jerry Tarde.
Application Number | 20140094942 13/836204 |
Document ID | / |
Family ID | 50385927 |
Filed Date | 2014-04-03 |
United States Patent
Application |
20140094942 |
Kind Code |
A1 |
Tarde; Jerry ; et
al. |
April 3, 2014 |
DETERMINATION OF CUSTOM INFORMATION BASED ON GOLFER PERFORMANCE
DATA
Abstract
The present embodiments relate to the determination of custom
information based on golfer performance data. In one embodiment, a
device receives round information that identifies a round of golf
of a user. Based at least in part on the round information, at
least one performance category exception based on a performance
category criterion is determined. At least one content item from a
plurality of content items is selected based on the at least one
performance category exception. A custom report is generated that
identifies the at least one performance category exception and
includes the at least one content item.
Inventors: |
Tarde; Jerry; (Fairfield,
CT) ; Aguila; Anthony G.; (New York, NY) ;
Ginella; Matt; (Winter Park, FL) ; Morrice;
Peter; (Ridgefield, CT) ; Bestrom; Craig;
(Monroe, CT) ; Riccio; Lucius J.; (New York,
NY) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
ADVANCE MAGAZINE PUBLISHERS INC. |
New York |
NY |
US |
|
|
Family ID: |
50385927 |
Appl. No.: |
13/836204 |
Filed: |
March 15, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61708915 |
Oct 2, 2012 |
|
|
|
Current U.S.
Class: |
700/91 |
Current CPC
Class: |
A63B 24/0062 20130101;
G06Q 10/0639 20130101 |
Class at
Publication: |
700/91 |
International
Class: |
A63B 24/00 20060101
A63B024/00 |
Claims
1. A method for generating a custom report, comprising: receiving,
by a device, round information that identifies a round of golf of a
user; determining, based at least in part on the round information,
at least one performance category exception based on a performance
category criterion; selecting at least one content item from a
plurality of content items based on the at least one performance
category exception, the plurality of content items comprising
articles that include advice relating to one or more performance
categories; and generating a custom report that identifies the at
least one performance category exception and includes the at least
one content item.
2. The method of claim 1, wherein the round information comprises a
plurality of hole datasets, each hole dataset corresponding to a
different hole of a plurality of holes played in the round and
including at least one club identifier that identifies a golf club
and distance information identifying a distance a golf ball
travelled when struck by the golf club when the hole was
played.
3. The method of claim 2, wherein receiving the round information
comprises receiving, for each hole of the plurality of holes played
in the round, one of the hole datasets prior to the user playing a
subsequent hole in the round.
4. The method of claim 2, wherein each hole dataset comprises, for
each respective shot played in the corresponding hole, a shot
dataset, each shot dataset comprising a club identifier that
identifies a club used for the respective shot, and distance
information that identifies the distance the golf ball travelled
when struck by the club.
5. The method of claim 2, wherein each hole dataset comprises, for
each respective shot other than a putt played in the corresponding
hole, a shot dataset, each shot dataset comprising a club
identifier that identifies a club used for the respective shot, and
distance information that identifies the distance the golf ball
travelled when struck by the club.
6. The method of claim 1, wherein receiving the round information
comprises receiving, after the round, the round information.
7. The method of claim 1, wherein the performance category
criterion is based on a total score of the round of the user and a
model performance function, and wherein determining the at least
one performance category exception comprises: calculating an actual
performance value based on the model performance function and the
total score; and determining the at least one performance category
exception based on the actual performance value.
8. The method of claim 1, wherein the performance category
criterion is based on an historical performance of the user in a
performance category associated with the performance category
criterion, and wherein determining the at least one performance
category exception comprises: accessing historical data that
identifies the historical performance of the user in the
performance category; comparing a current performance of the user
in the performance category during the round to the historical
performance; and determining the at least one performance category
exception.
9. The method of claim 8, wherein the historical data comprises
data identifying at least one previous performance of the user at a
same golf course as the round of golf.
10. The method of claim 1, further comprising: determining, based
at least in part on the round information, a set of performance
category exceptions, each performance category exception
corresponding to a different performance category; for each
respective performance category exception in the set, selecting at
least one content item that provides advice relating to the
corresponding performance category; determining a priority for
performance category exceptions in the set; and including in the
custom report the at least one content item for each respective
performance category in an order of the priority.
11. The method of claim 1, wherein the at least one content item
comprises a tip or a drill for improving the user's performance in
the one or more performance categories.
12. The method of claim 1, further comprising storing the round
information for use in generating a subsequent custom report for a
subsequent round of golf by the user.
13. A device, comprising: a communications interface configured to
communicate with a network; and a processor coupled to the
communications interface and configured to: receive round
information that identifies a round of golf of a user; determine,
based at least in part on the round information, at least one
performance category exception based on a performance category
criterion; select at least one content item from a plurality of
content items based on the at least one performance category
exception, the plurality of content items comprising articles that
include advice relating to one or more performance categories; and
generate a custom report that identifies the at least one
performance category exception and includes the at least one
content item.
14. A method for providing a tip report based on historical
performance, comprising: determining, by a device, that a user is
playing a hole on a golf course; accessing, by the device,
historical data that identifies a previous performance of the user;
determining, based on the historical data, that a tip criterion has
been met; and generating, based on the tip criterion, a tip report
for the user.
15. The method of claim 14, wherein determining that the user is
playing the hole on the golf course comprises: receiving, by the
device, a request for information about the hole.
16. The method of claim 14, wherein determining that the user is
playing the hole on the golf course comprises: determining, via GPS
coordinates, a location of the user; accessing golf course data;
and based on the golf course data, determining that the user is
playing the hole on the golf course.
17. The method of claim 14, wherein the previous performance
comprises a previous performance of the user on the hole.
18. The method of claim 14, wherein the previous performance
comprises a previous performance of the user during the current
round of golf.
19. The method of claim 14, wherein generating, based on the tip
criterion, the tip report for the user further comprises:
determining a performance category; selecting a content item based
on the performance category; and effecting presentation of the tip
report to the user.
20. The method of claim 19, wherein the tip report identifies the
performance category.
21. The method of claim 20, wherein the tip report identifies the
previous performance of the user.
22. A device, comprising: a communications interface configured to
communicate with a network; and a processor coupled to the
communications interface and configured to: determine that a user
is playing a hole on a golf course; access historical data that
identifies a previous performance of the user; determine, based on
the historical data, that a tip criterion has been met; and
generate, based on the tip criterion, a tip report for the user.
Description
RELATED APPLICATIONS
[0001] This application claims the benefit of provisional patent
application Ser. No. 61/708,915, entitled "REAL-TIME COLLECTION OF
GOLFER DATA AND ANALYSIS THEREOF," filed Oct. 2, 2012, the
disclosure of which is hereby incorporated herein by reference in
its entirety.
TECHNICAL FIELD
[0002] The present embodiments relate to the determination of
custom information based on golfer performance data.
BACKGROUND
[0003] Many players of a sport are interested in improving their
performance in the sport. Players may take lessons and may practice
a substantial amount of time in pursuit of improved performance.
The performance of a player in certain sports, such as golf, not
only depends in part on a highly complicated motion, such as
swinging a golf club, but on myriad other factors that may differ
on a shot-by-shot basis, such as lie, wind, obstacles and the like,
all of which should be taken into consideration when hitting a
particular shot.
[0004] Many deficiencies of golfers may be identifiable only with
knowledge of past performance. For example, a golfer may not
realize that their chipping is particularly poor compared to other
types of shots, and may not seek out advice on techniques for
improving chipping performance. Many golfers play the same courses
repeatedly, and may not realize that certain holes cause the golfer
more problems than other holes.
[0005] It is impractical for most golfers while playing multiple
rounds of golf to take meticulous notes that may shed light on his
particular deficiencies, or on which aspects of a particular golf
course are more problematic than others.
[0006] Accordingly, there is a need for mechanisms that at least in
part automate the generation of information that describes a
golfer's performance on a golf course, and the subsequent analysis
and use thereof to provide custom information to the golfer to aid
the golfer in improving in the sport.
SUMMARY
[0007] The present embodiments relate to the collection of golfer
performance data, and the analysis thereof to provide custom
information to a user based on the golfer performance data.
[0008] In one embodiment, a device receives round information that
identifies a round of golf of the user. Based at least in part on
the round information, at least one performance category exception
is determined based on a performance category criterion. At least
one content item is selected from a plurality of content items
based on the at least one performance category exception. The
plurality of content items comprises articles that provide advice
relating to one or more of the golf performance categories. A
custom report is generated that identifies the at least one
performance category exception and includes the at least one
content item. In one embodiment, the round information is collected
substantially in real-time, either as the round of golf is played,
or immediately thereafter. The custom report may then be generated
substantially instantaneously, and provided to the user immediately
following the conclusion of the round of golf.
[0009] In one embodiment, the round information includes a
plurality of hole datasets, each of which corresponds to a
different hole of the holes played in the round of golf. Each hole
dataset may comprise a plurality of shot datasets, each shot
dataset corresponding to a particular host played in the
corresponding hole. Each shot dataset may identify, for example, a
club identifier that identifies the club used for the respective
shot, and distance information that identifies a distance a golf
ball travelled when struck by the club.
[0010] In one embodiment, the performance category criterion is
based on a total score of the round of the user and a model
performance function. An actual performance value based on the
model performance function and the total score is calculated. The
at least one performance category exception is determined based on
the actual performance value.
[0011] In another embodiment, the performance category criterion is
based on an historical performance of the user in a performance
category associated with the performance category criterion.
Historical data that identifies the historical performance of the
user in the performance category is accessed. A current performance
of the user in the performance category during the round is
compared to the historical performance. The at least one
performance category exception is determined based on the
comparison. In some embodiments, a performance category exception
may be determined based on any one of a plurality of different
performance category criteria.
[0012] The historical data may comprise data identifying previous
performances of the user at the same golf course at which the
current round is being played.
[0013] In one embodiment, based at least in part on the round
information, a set of performance category exceptions may be
determined. Each performance category exception corresponds to a
different performance category. For each respective performance
category exception in the set, at least one content item that
provides advice relating to the corresponding performance category
is selected. A priority for performance category exceptions in the
set is determined. The custom report includes the at least one
content item for each respective performance category in order of
the priority.
[0014] In another embodiment, a tip report based on historical
performance is provided. It is determined that the user is playing
a hole on a golf course. Historical data that identifies a previous
performance of the user is accessed. Based on the historical data,
it is determined that a tip criterion has been met. Based on the
tip criterion, a tip report for the user is generated.
[0015] In one embodiment, it is determined that the user is playing
the hole on the golf course in response to receiving, from the
user, a request for information about the hole. In another
embodiment, it is determined that the user is playing the hole on
the golf course by determining the location of the user, accessing
golf course data, and determining, based on the location of the
user and the golf course, data that the user is playing the
hole.
[0016] In one embodiment, the previous performance comprises a
previous performance of the user on the hole. In another
embodiment, the previous performance comprises a previous
performance of the user during the current round of golf.
[0017] Those skilled in the art will appreciate the scope of the
present disclosure and realize additional aspects thereof after
reading the following detailed description of the preferred
embodiments in association with the accompanying drawing
figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawing figures incorporated in and forming
a part of this specification illustrate several aspects of the
disclosure, and together with the description serve to explain the
principles of the disclosure.
[0019] FIG. 1 is a block diagram of a system in which embodiments
may be practiced;
[0020] FIG. 2 is a flowchart of a process for determining custom
information based on golfer performance data according to one
embodiment;
[0021] FIG. 3 is a diagram illustrating round information according
to one embodiment;
[0022] FIG. 4 is a block diagram of a NFC tag according to one
embodiment;
[0023] FIG. 5 is a block diagram illustrating content items
according to one embodiment;
[0024] FIG. 6 is a block diagram illustrating a plurality of
performance categories according to one embodiment;
[0025] FIG. 7 is a block diagram illustrating performance category
criteria according to one embodiment;
[0026] FIG. 8 is a diagram of an example scorecard section of a
customer report according to one embodiment;
[0027] FIG. 9A is a diagram of a portion of an example analytics
section according to one embodiment;
[0028] FIG. 9B is a diagram of another portion of the example
analytics section illustrated in FIG. 9A;
[0029] FIG. 10 is a diagram of a portion of an article section
according to one embodiment;
[0030] FIG. 11 is a diagram of a portion of a course map section
according to one embodiment;
[0031] FIG. 12 is a block diagram of a system in which additional
embodiments may be practiced;
[0032] FIG. 13 is a flowchart of a process for providing a tip
report according to one embodiment;
[0033] FIG. 14 is a diagram of an example of a user interface that
may be displayed on a display to provide a custom tip report to a
user according to one embodiment;
[0034] FIG. 15 is a block diagram illustrating the server device in
greater detail according to one embodiment; and
[0035] FIG. 16 is a block diagram illustrating a mobile device in
greater detail according to one embodiment.
DETAILED DESCRIPTION
[0036] The embodiments set forth below represent the necessary
information to enable those skilled in the art to practice the
embodiments and illustrate the best mode of practicing the
embodiments. Upon reading the following description in light of the
accompanying drawing figures, those skilled in the art will
understand the concepts of the disclosure and will recognize
applications of these concepts not particularly addressed herein.
It should be understood that these concepts and applications fall
within the scope of the disclosure and the accompanying claims.
[0037] The present embodiments relate to the collection of golfer
performance data, and the analysis thereof to provide custom
information to a user based on the golfer performance data. In some
embodiments, the custom information is in the form of a post-round
custom report that includes content, such as articles, drills,
and/or tips, for improving the performance of the user in
performance categories that the user was deemed to be deficient.
For example, if, based on the golfer performance data, it was
determined that the user was deficient in driving accuracy and
chipping, the custom report may include content, such as articles,
drills, and/or tips, on how to improve driving accuracy and
chipping. The custom report may include additional information
regarding the user's current round of golf, including, for example,
analytics that provide an analysis of the golfer's performance in
one or more performance categories, including comparing the
golfer's performance to other golfers deemed to be similar to the
golfer, as well as tour professional golfers. The custom report may
also include a course map depicting each hole on the course and
bearing information summarizing the user's performance on each
hole.
[0038] In other embodiments, golfer performance data may be
analyzed and used to generate tip reports substantially in real
time while a user is playing a round of golf.
[0039] FIG. 1 is a block diagram of a system 10 in which
embodiments may be practiced. The system 10 includes a mobile
device 12 associated with a user 14. The user 14 may be a golfer
who is preparing to play a round of golf, is playing a round of
golf, or recently has played a round of golf. The mobile device 12
may comprise, by way of non-limiting example, a smart phone such as
an Android.RTM.- or IOS.RTM.-based smart phone, or a computing
tablet. In one embodiment, at least part of the functionality
disclosed herein may be implemented on the mobile device 12 via an
application module 16 that may have been downloaded on the mobile
device 12 at a time prior to the round of golf. In one embodiment,
the mobile device 12 includes a global positioning system (GPS)
module 18, sometimes referred to as a GPS receiver, that is
operable to determine a location of the mobile device 12 at a point
in time, and provide the location to, for example, the application
module 16.
[0040] The mobile device 12 preferably includes a display 20 that,
as described in greater detail herein, may facilitate one or both
of the collection of golfer performance data, and the presentation
of custom information generated based on the golfer performance
data. In some embodiments, the display 20 may comprise a
touch-sensitive surface. In one embodiment, the mobile device 12
includes, or is coupled to, a near field communication (NFC) module
22 that is capable of reading information contained in a NFC tag 24
integrated into a golf club 26. For purposes of illustration,
functionality provided by any of the elements or components of the
mobile device 12 may be attributed to the mobile device 12
generally, rather than to a particular element or component of the
mobile device 12.
[0041] In a client-server embodiment, the mobile device 12 may
communicate in real-time with a server device 28. Such
communications may be facilitated with one or more networks 30,
which may comprise any network or networks suitable or appropriate
for facilitating communications between the mobile device 12 and
the server device 28, including by way of non-limiting example,
WiFi.RTM. networks, cellular networks, or any combination
thereof.
[0042] The server device 28 is communicatively coupled to a storage
32, in which various information may be stored, including,
historical data 34 of the user 14, which may comprise, for example,
golfer performance data that identifies the performance of the user
14 on previous rounds of golf played by the user 14, and/or the
performance of the user 14 on the current round of golf being
played by the user 14. Course data 36 may identify information
about various golf courses, including hole-layout information,
distances, par information, a course map, and the like. Content
items 38 comprise content, such as articles, tips, drills, videos,
video lessons, audio tracks, audio lessons, and the like. The
content items 38 may be indexed, or otherwise organized, in terms
of performance categories, as will be discussed in greater detail
herein. Performance category criteria 40 identify one or more
criterion that are used to determine performance category
exceptions based on the historical data 34. Tour pro data 42
comprises statistics about current PGA professionals, and may be
used to provide analytical or comparative data to the user 14.
[0043] In addition to other functionality, in one embodiment the
server device 28 includes an exception determination function 44.
The exception determination function 44 utilizes the historical
data 34 and performance category criteria 40 to determine
performance category exceptions. Custom information provided to the
user 14 may in part be based on any determined performance category
exceptions.
[0044] While the embodiments will be discussed in the context of a
client-server architecture as illustrated in FIG. 1, the
embodiments are not limited to a client-server architecture, and in
other embodiments, the information and functionality described as
being implemented by the server device 28 and storage 32 may
instead be performed by the mobile device 12.
[0045] FIG. 2 is a flowchart of a process for determining custom
information based on golfer performance data according to one
embodiment, and will be discussed in conjunction with FIG. 1.
Preliminarily, during a round of golf, the mobile device 12
captures round information 46 that identifies the performance of
the user 14. The round information 46 will be discussed in greater
detail herein with regard to FIG. 3, but in summary, the round
information 46 may include, by way of non-limiting example, the
particular golf club used for a shot and the distance the ball
travelled when struck by the particular golf club. The round
information 46 may be collected automatically by the mobile device
12 without user input, or via user input, or by a combination of
automatic collection and user input.
[0046] In one embodiment, each golf club 26 may include a NFC tag
24 in which information has been coded, including, for example, a
golf club identifier (ID) that identifies the respective golf club
26. For example, a NFC tag 24 associated with a 3-wood would
identify the golf club as a 3-wood, and a NFC tag 24 associated
with a putter would identify the golf club as a putter.
[0047] In this embodiment, prior to initiating a shot during a
round of golf, the user 14 may move the golf club 26 that the user
14 is preparing to use to strike the golf ball from a first
location L1 to a second location L2 that is in NFC proximity of the
NFC module 22. The NFC module 22 may then read the NFC tag 24 and
determine that the golf club is, for example, a driver. The NFC
module 22 may provide this information to the application module
16. The application module 16 may then automatically request from
the GPS module 18 a current location of the mobile device 12.
Alternatively, the mobile device 12 may present to the user 14 via
the display 20 a user interface requesting the entry of certain
information, such as which golf club is being used for the
shot.
[0048] Assume that the user 14 then uses the golf club 26 to strike
the golf ball. The user 14 travels to the new location of the golf
ball. In one embodiment, the user 14 may then, standing adjacent to
the position of the golf ball, bring another golf club 26 in
proximity to the NFC module 22. For example, assume that the user
14 is now approximately 150 yards away from the green, and selects
a 7-iron. The user 14 brings the 7-iron in proximity to the NFC
module 22, which reads the NFC tag 24 and provides this information
to the application module 16. The application module 16 may then
automatically request from the GPS module 18 a current location of
the mobile device 12. The application module 16 may determine the
difference between the previous location of the mobile device 12
and the current location of the mobile device 12 as the distance
travelled by the ball when last struck by the user 14.
[0049] Alternatively, the user 14 may, via a user interface, enter
an estimate of the distance the ball travelled, or may manually
select a location determination icon which prompts the GPS module
18 to determine the current location and provide the current
location to the application module 16.
[0050] After each shot, the application module 16 may request that
additional information be provided by the user 14, such as
characterizing the flight of the shot, such as a hook, slice, pull,
or push.
[0051] In one embodiment, the mobile device 12 may collect the
round information 46 hole-by-hole, or shot-by-shot, and provide the
round information 46 to the server device 28 after the user 14 has
finished the round of golf. In other embodiments, the mobile device
12 may provide the round information 46 to the server device 28
after each shot, or after each hole has been completed. Providing
the round information 46 incrementally during the round of golf may
help facilitate additional functionality, such as the real-time
generation and presentation of custom tip reports to the user 14 as
the user 14 plays the round of golf, as discussed in greater detail
below. The server device 28 stores the round information 46 in the
historical data 34.
[0052] Referring now to FIG. 2, assume that the server device 28
has received the round information 46, either in a single
collection of information or incrementally as discussed above, but
that, in either event, the user 14 has completed the round of golf
(FIG. 2, block 1000). The server device 28 accesses the performance
category criteria 40. The performance category criteria 40 comprise
one or more criteria for each of a plurality of different
performance categories. Thus, a performance category criterion 40
may be associated with, or correspond to, a particular performance
category of a plurality of different performance categories.
[0053] In one embodiment, the performance categories comprise, by
way of non-limiting example, a driving distance performance
category, a driving accuracy performance category, a greens in
regulation performance category, a ball striking performance
category, a scrambling: pitch performance category, a scrambling:
chip performance category, a short/lag putting performance
category, a scrambling: sand performance category, a pitching
accuracy performance category, a chipping accuracy performance
category, a bunker/sand accuracy performance category, and a
general putting performance category.
[0054] The server device 28 then determines at least one
performance category exception based at least in part on the round
information 46 and the performance category criteria 40 (FIG. 2,
block 1002). Based on the at least one performance category
exception, the server device 28 accesses the content items 38 (FIG.
2, block 1004). The content items 38 may be indexed, or otherwise
ordered, based on one or more performance categories. The content
items 38 may comprise, for example, articles, tips, or drills that
provide advice relating to one or more of the performance
categories. The server device 28 generates a custom report 48, and
sends the custom report 48 to the mobile device 12 for presentation
to the user 14 (FIG. 2, blocks 1006 and 1008).
[0055] The server device 28 may generate the custom report 48
substantially in real-time, such as in seconds, after the
completion of the round of golf. In particular, by the time the
user 14 arrives at the clubhouse, the user 14 may review the custom
report 48 via the display 20 on the mobile device 12 and receive
immediate feedback, including custom advice, such as articles,
drills, and/or tips, on those performance categories in which the
user 14 was deemed to be deficient based on the round information
46 and the performance category criteria 40.
[0056] The custom report 48, in one embodiment, may comprise
multiple different sections. A scorecard section 50 may provide
details, such as the hole-by-hole performance of the user 14, the
par of each hole, and any additional or suitable information
relating to the performance of the user 14. An analytics section 52
may include information analyzing the performance of the user 14 in
all of the performance categories, or in a subset of the
performance categories in which the user 14 is deemed to be most
deficient, such as the three performance categories in which the
user 14 performed worst. The content of the analytics section 52
may include, by way of non-limiting example, for the respective
performance category, average information, such as the average
length of the drives in the round, minimum and maximum information,
such as the shortest and longest drives of the day, comparisons to
PGA tour professionals, and/or other golfers deemed to be similar
to the user 14 based on a criterion, such as the overall score of
the round of golf. The content of the analytics section 52 may also
include content items 38, such as drills and/or tips, for improving
the performance of the user 14 in a particular performance
category.
[0057] An articles section 54 may include more detailed articles,
selected from the content items 38, relating to those performance
categories in which the user 14 was deemed to be most deficient. A
course map section 56 may include images depicting the holes of the
golf course, and identifying the performance, such as the ball
locations and clubs used, during the round of golf.
[0058] FIG. 3 is a block diagram illustrating the round information
46 according to one embodiment. In this embodiment, the round
information 46 may include miscellaneous information 58, such as
the golf course being played, the date, the score at the end of the
round, user-generated photographs, lengths of the first putt on
each green, number and types of scrambling shots, numbers of
fairways hit, and the numbers of greens hit in regulation. Some of
the miscellaneous information 58 may be captured automatically, and
other of the miscellaneous information 58 may be collected by user
input from the user 14. For example, the mobile device 12 may
provide a user interface on the display 20 that allows the user 14
to identify the particular golf course at which the round of golf
is being played. The mobile device 12 may determine the date
automatically. The user 14 may enter the final score, or the final
score may be determined by the mobile device 12 based on other
information obtained, such as shot-by-shot information. The mobile
device 12 may allow the user 14 to take photographs with the mobile
device 12, and provide the photographs for subsequent inclusion
into the custom report 48.
[0059] The mobile device 12 may request that the user 14 provide
the lengths of the first putt for each green, or may determine such
information based on GPS location information. The mobile device 12
may request that the user 14 provide number of fairways hit. The
number of greens hit in regulation may be provided by the user 14,
or may be automatically determined by the mobile device 12 based on
shot-by-shot information that includes the club identifiers.
[0060] In one embodiment, the round information 46 includes a
plurality of hole datasets 60-1-60-18 (generally, hole datasets
60), each of which corresponds to a hole in the round of golf. Each
hole dataset 60 comprises one or more shot datasets 62-1-62-N
(generally, shot datasets 62), each of which corresponds to a shot
played in the respective hole. Each shot dataset 62 may include, by
way of non-limiting example, a club identifier field 64 that
identifies the club used for the shot. Each shot dataset 62 may
also include a shot distance field 66 that identifies the distance
the ball travelled after being struck by the club. A shot
characterization field 68 allows the user 14 to characterize the
shot, such as a slice, a hook, a push, or a pull, for example. A
begin location field 70 identifies the location of the ball prior
to being struck by the club. An end location field 72 identifies
the location of the ball after it was struck by the club. The
fields discussed herein are exemplary only, and may include
additional information, or may include less information, than that
described herein.
[0061] Distance information may be provided explicitly in a shot
dataset 62, such as in the shot distance field 66, or may be
determined based on other information provided in the shot dataset
62, such as the begin location field 70 and the end location field
72.
[0062] FIG. 4 is a diagram of a NFC tag 24 according to one
embodiment. In this embodiment, the NFC tag 24 may be shaped to fit
within a hole 74 of a golf grip of the golf club 26. An enlarged
nub portion 76 located on a stem 78 of the NFC tag 24 may ensure
that the NFC tag 24 does not easily fall out of the golf grip. Each
NFC tag 24 includes a NFC chip 80 in which information may be
encoded, such as the club identifier that identifies the golf club
26.
[0063] In one embodiment, the NFC tag 24 is passive and does not
require a battery source. The NFC tag 24 may be read by the NFC
module 22 (FIG. 1) when brought in close proximity to the NFC
module 22, and thereby inform the mobile device 12 which club the
user 14 will use, or has used, on a particular shot. The NFC tag 24
may be reusable, such that the NFC tag 24 may be pulled from the
golf grip on the golf club 26, and re-used in another set of golf
clubs.
[0064] FIG. 5 is a block diagram illustrating a plurality of
content items 38-1-38-N according to one embodiment. The content
items 38 may comprise, for example, articles, drills, and/or tips
relating to golf. The content items 38 may comprise textual data,
image data, video data, and/or audio data. In one embodiment, the
content items 38 include videos illustrating various drills and
tips. Each content item 38 may include information such as a
content type field 81 that may identify a type of content, such as
an article, a drill, a tip, a video, an audio file, a short
summary, or the like. An author field 82 may identify the author of
the content item 38. A topic field 84 may identify a general topic
of the content item 38, such as putting, driving, chipping, or the
like. A category field 86 may identify one or more performance
categories to which the content item 38 relates. A priority ranking
field 88 may identify a priority of the content item 38 with
respect to other content items 88, based on, for example, the
author of the content item 38, and the relevance of the content
item 38 to the topic identified in the topic field 84 and/or the
category identified in the category field 86. A condensed version
field 90 may provide a link to a summary version of the content
item 38, and may be useful, for example, in embodiments wherein
real-time custom tips are provided to the user 14. A full version
field 92 may provide a link to the full version of the content item
38.
[0065] As the server device 28 determines one or more performance
category exceptions, the server device 28 may access the content
items 38 based on any of the information contained in the fields
81-92. For example, if the server device 28 determines that the
user 14 is deficient in a driving performance category, the server
device 28 may select a content item 38 identified by the category
field 86 as relating to driving performance.
[0066] FIG. 6 is a block diagram illustrating a plurality of
performance categories 94-1-94-N (generally, performance categories
94) according to one embodiment. In this embodiment, example
performance categories include a driving distance performance
category 94-1, a driving accuracy performance category 94-2, a
greens in regulation performance category 94-3, a ball striking
performance category 94-4, a scrambling: pitch performance category
94-5, a scrambling: chip performance category 94-6, a short/lag
putting performance category 94-7, a scrambling: sand performance
category 94-8, a pitching accuracy performance category 94-9, a
chipping accuracy performance category 94-10, a bunker/sand
accuracy performance category 94-11, and a general putting
performance category 94-12. The performance categories 94 presented
herein are merely illustrative, and the embodiments disclosed
herein are applicable to any number of different performance
categories.
[0067] FIG. 7 is a block diagram illustrating performance category
criteria 40 according to one embodiment. The performance category
criteria 40 relate to the driving distance performance category
94-1 (FIG. 6). In this example, the performance category criteria
40 includes three criteria 96-1-96-3. If any of the three criteria
96-1-96-3 are met, then the server device 28 determines a
performance category exception for the driving distance performance
category 94-1. A criterion 96-1 includes a model performance
function 98, which is a mathematical function from which a
performance value may be calculated based on historical data 34, in
particular, the total score of the round of golf identified in the
round information 46. Thus, if the average drive of the user 14 for
the current round of golf identified in the round information 46 is
more than 20 yards less than the performance value, the server
device 28 determines a performance category exception for the
driving distance performance category 94-1. The model performance
function 98 may be determined, according to one embodiment, by
analyzing data associated with highly skilled golfers, such as
those on the professional golf circuit. The model performance
function 98 may be derived based on the performance of such
individuals over a relatively long period of time.
[0068] The criterion 96-2 identifies a predetermined threshold of,
in this example, 180 yards. Thus, if the average drive of the user
14 for the current round of golf identified in the round
information 46 is less than 180 yards, the server device 28
determines a performance category exception for the driving
distance performance category 94-1.
[0069] The criterion 96-3 is also based on the historical data 34,
and in particular based on an historical average drive distance of
the user 14. Thus, if the average drive of the user 14 for the
current round of golf identified in the round information 46 is
more than 20 yards less than an historical average drive distance
of the user 14, the server device 28 determines a performance
category exception for the driving distance performance category
94-1. The amount of historical data 34 used by the server device 28
may be configuration dependent. For example, the server device 28
may only use the last three rounds of golf, last five rounds of
golf, or last seven rounds of golf, for example, to determine the
historical average of the user 14. Alternatively, the server device
28 may use information specific to the particular golf course. For
example, the server device 28 may only use the historical data 34
that pertains to the same respective golf course on which the
current round of golf is being played.
[0070] Table 1, below, provides additional illustrative performance
category criteria for the performance categories 94-1-94-12,
according to one embodiment.
TABLE-US-00001 TABLE 1 FORMULA PERFORMANCE PERFORMANCE (MODEL
PERFORMANCE CATEGORY CATEGORY FUNCTION) CRITERA EXPLANATION Driving
Distance 1.364504/(.004771 + .0000886 * 1. IF avg. dist. is >20
yds. Equation is the (score - 70)) less than formula expected avg.
predict distance based on 2. IF avg. dist. is <180 score, on par
4 & 5 yards holes using any club 3. IF avg. dist. is >20
yds. off the tee less than user historical avg. Driving Accuracy
(103.4 - score)/0.4 * [No. 1. IF 2 fairways < formula Equation
is expected Par 4&5 holes using prediction using number of
fairways driver off tee] round score hit based on score, 2. IF
<3 fairways during using data from par 4 user's current round
& 5 holes with driver 3. IF 2 fairways < off tee historical
average number of fairways Ball Striking (95.1 - score)/0.3 1. IF %
is at least 10% < Equation is expected formula prediction
percentage of greens 2. IF % <25% hit from par 3 tees 3. IF % is
20% < historical and par 4 fairways average % based on score
Scrambling: ((88.9 - score)/0.3)/100 1. IF % is 20% < formula
Equation is expected Pitching prediction using percentage of up-
score and-downs on holes 2. IF % <10% with only pitches, 3. IF %
<20% under with no chips or user's historical bunkers average
Scrambling: 6 + (score - 70) * 0.66 1. IF distance >6 feet
Equation is expected Pitching over formula distance of first putt
Accuracy prediction using after a pitch on holes score with only
pitches, no 2. IF distance >25 feet chips or bunker shots 3. IF
distance >6 feet over average distance Scrambling: ((94.1 -
score)/0.3)/100 1. IF % is at least 10% < Equation is expected
Chipping formula prediction percentage of up- using score and-downs
on holes 2. IF % <25% with only chips, with 3. IF % is 20% <
historical no pitches or bunkers average % Scrambling: 2 + (score -
70) * 0.33 1. IF distance >3 feet Equation is expected Chipping
over formula distance of first putt Accuracy prediction using after
a chip on holes score with only chips, no 2. IF distance >12
feet pitches or bunker 3. IF distance >3 feet shots over user's
average historical distance Scrambling: ((83.8 - score)/0.2)/100 1.
IF % is 20% < formula Equation is expected Bunker prediction
using percentage of up- score and-downs on holes 2. IF % is <10%
with only greenside 3. IF % is 20% < user's bunkers, with no
historical average % pitches or chips Scrambling: 10 + (score - 70)
1. IF distance is >6 feet Equation is expected Bunker Accuracy
over formula distance of first putt prediction using after a
greenside score bunker on holes with 2. IF distance is >35 feet
only greenside 3. IF distance >6 feet bunkers, and no over
user's average pitches or chips historical distance Putting 10 +
(score - 70) 1. IF total putts >3 over Equation is expected
formula prediction total number of putts using score for each round
2. IF total putts >38 3. IF total putts >3 over user's
historical average putts Lag Putting 100 - [(score - 1. IF % of 3
putt Equation is expected 70) * 0.39 + 2.38] avoidance < formula
3 putt avoidance on prediction using all holes where first score
putt is 21-30 feet 2. IF % of 3 putt avoidance <85% 3. IF % of 3
putt avoidance 10% < user's avg. historical 3 putt avoid Short
Putting -0.86 * score + 137.1 1. IF % is 10% < Equation is
expected formula prediction putts made on 1st using score putts
between 3-6 2. IF % <50% feet 3. IF % is 10% < user's
historical average of % made
[0071] FIG. 8 is a diagram of an example scorecard section 50 of
the custom report 48 according to one embodiment. The scorecard
section 50 may include an identification section 100 that
identifies, for example, the golf course at which the round of golf
was played and the date. The scorecard section 50 may also include
a table 102 that identifies the performance of the user 14 during
the round, including for example, the number of shots per hole, the
number of putts per hole, the total score, and the like.
[0072] FIG. 9A is a diagram of a portion of an example analytics
section 52 of the custom report 48 according to one embodiment.
FIG. 9A relates to the driving distance performance category 94-1.
The analytics section 52 may include a statistics section 104 that
identifies various statistics determined from the round information
46, such as an average drive length, maximum drive length, and
minimum drive length (not illustrated). A comparison section 106
identifies the performance of the user 14 to various other metrics,
including, for example, the average drive of the user 14 based on
the historical data 34, the average drive of golfers deemed to be
similar to the user 14, and the average drive of PGA tour
professionals. A drill section 108 may identify a drill that is
useful in improving the performance of the user 14 in the driving
distance performance category 94-1. The content of the drill
section 108 may be obtained from the content items 38. A tip
section 110 may provide advice that is useful in improving the
performance of the user 14 in the driving distance performance
category 94-1. The content of the tip section 110 may be obtained
from the content items 38. An analytics section 112 may provide an
analysis of the performance of the user 14 based on the round
information 46. A similar players section 114 may provide a
comparison of the performance of the user 14 to other players who
shoot similar scores.
[0073] FIG. 9B is a diagram of another portion of the example
analytics section 52 illustrated in FIG. 9A. FIG. 9B relates to the
driving accuracy performance category 94-2. The analytics section
52 may include a statistics section 116 that identifies various
statistics determined from the round information 46, such as a
percentage of the drives that went left of the fairway, a
percentage of the drives that hit the fairway, and a percentage of
the drives that went right of the fairway. A comparison section 118
identifies the performance of the user 14 to various other metrics,
including, for example, the number of fairways hit in the current
round of golf by user 14, the number of fairways hit in previous
rounds of golf based on the historical data 34, the average number
of fairways hit by golfers deemed to be similar to the user 14, and
the average number of fairways hit by PGA tour professionals. A
drill section 120 may identify a drill that is useful in improving
the performance of the user 14 in the driving accuracy performance
category 94-2. The content of the drill section 120 may be obtained
from the content items 38. A tip section 122 may provide advice
that is useful in improving the performance of the user 14 in the
driving accuracy performance category 94-2. The content of the tip
section 122 may be obtained from the content items 38. An analytics
section 124 may provide an analysis of the performance of the user
14 based on the round information 46. A similar players section 126
may provide an analysis of the performance of the user 14 to other
players who shoot similar scores.
[0074] FIG. 10 is a diagram of a portion of the article section 54
according to one embodiment. The article section 54 may include one
or more articles that provide advice on the performance categories
in which the user 14 is deemed deficient based on the round
information 46.
[0075] In one embodiment, the server device 28 may determine, based
at least in part on the round information 46, a set of performance
category exceptions, each performance category exception
corresponding to a different performance category. For each
respective performance category exception in the set, the server
device 28 selects at least one content item 38 that provides advice
relating to the corresponding performance category. The server
device 28 may determine a priority for performance category
exceptions in the set, and include in the custom report 48 the
content items 38 in order of the priority. The priority may be
based on, for example, a deviation from a predicted score using a
corresponding model performance function, and/or based on the
historical data 34 associated with the user 14. Thus, as the user
14 reviews the article section 54, the user 14 is presented with
content items 38 in an order of performance categories based on the
priority.
[0076] FIG. 11 is a diagram of a portion of the course map section
56 of the custom report 48 according to one embodiment. The course
map section 56 may include, for each hole in the round, a hole
section 128, which may depict, by way of non-limiting example, an
illustration 130 of the hole, locations 132 of the golf ball after
the ball was struck by the user 14, and shot data 134 that
identifies the club used to strike the ball, and the distance
travelled by the ball after being struck by the club.
[0077] FIG. 12 is a block diagram of a system 136 in which
additional embodiments may be practiced. The system 136 includes
the server device 28, the mobile device 12, the network 30, and the
storage 32. In this embodiment, the server device 28 includes a tip
report function 138. The tip report function 138 generates one or
more custom tip reports 140 based on the historical data 34 of the
user 14 as the user 14 plays a round of golf.
[0078] FIG. 13 is a flowchart of a process for providing a tip
report 140 according to one embodiment. FIG. 13 will be discussed
in conjunction with FIG. 12. Assume that the user 14 is on the golf
course and preparing to play a hole. In one embodiment, at a time
T1 the user 14 may access the mobile device 12 to request
information about the hole, such as layout, or yardage.
Specifically, the mobile device 12 may present a user interface on
the display 20 for facilitating such information upon request by
the user 14. Upon such request, the mobile device 12 sends a hole
information request 144 to the server device 28. The server device
28 receives the hole information request 144 and accesses the
course data 36 to provide the requested data to the mobile device
12. In one embodiment, the server device 28 may also determine,
based on the hole information request 144 that the user 14 is
playing the requested hole (FIG. 13, block 2000).
[0079] Based on this determination, the server device 28 accesses
the historical data 34 to obtain previous performance data of the
user 14 (FIG. 13, block 2002). The server device 28 also accesses
tip criteria 145 that comprises a plurality of tip criteria that
are used to determine if a tip report should be generated. The
server device 28 may determine that a tip criterion 145 has been
met (FIG. 13, block 2004). In response to this determination, at a
time T2 the server device 28 generates a custom tip report 140 for
presentation to the user 14, and sends the custom tip report 140 to
the mobile device 12 (FIG. 13, block 2006)
[0080] The mobile device 12 receives the custom tip report 140 and
presents the custom tip report 140 in a user interface 146 on the
display 20. The custom tip report 140 may take any suitable format,
as long as the custom tip report 140 contains advice on playing the
present hole and is based on previous performance data of the user
14. In one embodiment, the user interface 146 may include an image
148 of the respective hole, and a user location indicator 150 that
indicates the location of the user 14 on the hole. The location
information may have been obtained by the mobile device 12, via the
GPS module 18, and provided to the server device 28 when the user
14 initiated the hole information request 144. The user interface
146 may include a tip section 152 that contains a custom tip for
the user 14 based on performance data obtained from the historical
data 34. In this example, the tip section 152 identifies a previous
performance of the user 14, and based on such previous performance,
and the current weather conditions, the tip section 152 recommends
a particular type of shot for the user 14.
[0081] In one embodiment, the server device 28 may automatically
determine that the user 14 is about to initiate play on a hole
without concurrent input from the user 14. In such embodiment, the
mobile device 12 may, from time to time, send GPS location
information to the server device 28. The server device 28, based on
previous data received from the mobile device 12, may know that the
user 14 is playing a round of golf on a particular golf course. For
example, the mobile device 12 may be sending round information 46
to the server device 28 on a shot-by-shot or hole-by-hole basis.
The server device 28 may compare the received GPS location
information to a map of the golf course, and when the GPS location
information indicates that the user 14 is approaching, or has
reached, a tee area of a hole, the server device 28 may generate a
custom tip report 140 for the user 14, and provide the custom tip
report 140 to the mobile device 12 for presentation to the user 14
prior to the time that the user 14 strikes the golf ball.
[0082] The historical data 34 used to determine the previous
performance may comprise previous performance data from one or more
previous rounds of golf, previous performance during the current
round of golf, or any combination thereof. In one embodiment, as
the user 14 initially starts to play the round, the previous
performance data used by the server device 28 may comprise the last
three rounds of golf played by the user 14, or the last one or more
rounds of golf that the user 14 played on this particular golf
course. As the user 14 completes a number of holes on the golf
course, the mobile device 12 may provide the server device 28 round
information 46 that identifies the performance of the user 14 on
such holes, and the server device 28 may begin to use the previous
performance of the current round of the user 14 to generate the
custom tip report 140. For example, if the user 14 is approaching a
par 5 hole, the server device 28 may use the average number of
fairways hit from the previous three holes in which a driver was
used. In one embodiment, the server device 28 may access the
historical data 34 and analyze previous performance by the user 14
on the same golf course from previous rounds of golf, and determine
that one or more holes constitute "blow-up" holes where the user 14
routinely scores poorly on the respective one or more holes. The
threshold for determining whether a hole constitutes a blow-up hole
may be any desired threshold, such as an average of three strokes
over par.
[0083] The tip criteria 145, similar to the performance category
criteria 40, may comprise any suitable criterion or criteria, and
may be based on one or more of the performance categories 94. In
some embodiments, the performance category criteria 40 may comprise
the same criteria as the tip criteria 145. Upon determining that a
tip criterion 145 has been met, the server device 28 accesses the
content items 38, searches for a content item 38 of a type equal to
"TIP", and is of the same performance category as that of the tip
criterion 145 that was met.
[0084] FIG. 14 is a diagram of an example of another user interface
154 that may be displayed on the display 20 to provide a custom tip
report 140 to the user 14 according to one embodiment. In this
example, the user interface 154 includes a hole information section
156 that identifies the location and yardage of the respective
hole. An image 158 depicts the respective hole, and a user location
indicator 160 indicates the current location of the user 14. A tip
section 162 identifies a performance category of the user 14 in
which the user 14 is deemed to be deficient based on the current
round of golf, and provides a tip based on the determined
deficiency. In particular, the tip section 162 is generated based
on the determination by the server device 28 that a driving
distance performance category tip criterion was met, indicating
that the drives of the user 14 in the current round of golf have
been deficient.
[0085] Among other advantages, the present embodiment facilitates
the generation of real-time custom tips for the user 14 based on
recent previous performance in a timely and non-intrusive manner to
aid the user 14 in improving their score while playing a round of
golf.
[0086] FIG. 15 is a block diagram illustrating the server device 28
in greater detail according to one embodiment. The server device 28
may comprise any computing or processing device capable of
executing software instructions to implement the functionality
described herein, such as a work station, a computer server, a
desktop or laptop computer, a switch, or the like. The server
device 28 includes a processor 170, a system memory 172, and a
system bus 174. The system bus 174 provides an interface for system
components including, but not limited to, the system memory 172 and
the processor 170. The processor 170 can be any commercially
available or proprietary processor. Dual microprocessors and other
multi-processor architectures may also be employed as the processor
170.
[0087] The system bus 174 may be any of several types of bus
structures that may further interconnect to a memory bus (with or
without a memory controller), a peripheral bus, and/or a local bus
using any of a variety of commercially available bus architectures.
The system memory 172 may include non-volatile memory 176 (e.g.,
read only memory (ROM), erasable programmable read only memory
(EPROM), electrically erasable programmable read only memory
(EEPROM), etc.), and/or volatile memory 178 (e.g., random access
memory (RAM)). A basic input/output system (BIOS) 179 may be stored
in the non-volatile memory 176, and can include the basic routines
that help to transfer information between elements within the
server device 28. The volatile memory 178 may also include a
high-speed RAM, such as static RAM for caching data.
[0088] The server device 28 may include the computer-readable
storage 32, which may comprise, for example, an internal hard disk
drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or
serial advanced technology attachment (SATA)), HDD (e.g., EIDE or
SATA) for storage, flash memory, or a network-attached storage
device. The computer-readable storage 32 and other drives,
associated with computer-readable and computer-usable media,
provide non-volatile storage of data, data structures,
computer-executable instructions, and the like. Although the
description of computer-readable media above refers to an HDD, it
should be appreciated by those skilled in the art that other types
of media which are readable by a computer, such as Zip disks,
magnetic cassettes, flash memory cards, cartridges, and the like,
may also be used in the exemplary operating environment, and
further, that any such media may contain computer-executable
instructions for performing novel methods of the disclosed
architecture.
[0089] A number of modules can be stored in the computer-readable
storage 32 and in the volatile memory 178, including an operating
system 180 and one or more program modules 182, which may implement
the functionality described herein in whole or in part, including,
for example, functionality associated with the exception
determination function 44, the tip report function 138, and other
processing and functionality described herein.
[0090] All or a portion of the embodiments may be implemented as a
computer program product stored on a transitory or non-transitory
computer-usable or computer-readable storage medium, such as the
computer-readable storage 32, which includes complex programming
instructions, such as complex computer-readable program code,
configured to cause the processor 170 to carry out the steps
described herein. Thus, the computer-readable program code can
comprise software instructions for implementing the functionality
of the embodiments described herein when executed on the processor
170. The processor 170, in conjunction with the program modules 182
in the volatile memory 178, may serve as a control system for the
server device 28 that is configured to, or adapted to, implement
the functionality described herein.
[0091] The server device 28 may also include a communication
interface 184 suitable for communicating with the network 30,
and/or with other devices, as appropriate.
[0092] FIG. 16 is a block diagram illustrating the mobile device 12
in greater detail according to one embodiment. The mobile device 12
may comprise any computing or processing device capable of
executing software instructions to implement the functionality
described herein, such as, by way of non-limiting example, a smart
phone such as an Android.RTM.- or IOS.RTM.-based smart phone, or a
computing tablet, or the like. The mobile device 12 includes a
processor 190, a system memory 192, and a system bus 194. The
system bus 194 provides an interface for system components
including, but not limited to, the system memory 192 and the
processor 190. The processor 190 can be any commercially available
or proprietary processor. Dual microprocessors and other
multi-processor architectures may also be employed as the processor
190.
[0093] The system bus 194 may be any of several types of bus
structures that may further interconnect to a memory bus (with or
without a memory controller), a peripheral bus, and/or a local bus
using any of a variety of commercially available bus architectures.
The system memory 192 may include non-volatile memory 196 (e.g.,
read only memory (ROM), erasable programmable read only memory
(EPROM), electrically erasable programmable read only memory
(EEPROM), etc.), and/or volatile memory 198 (e.g., random access
memory (RAM)). A basic input/output system (BIOS) 200 may be stored
in the non-volatile memory 196, and can include the basic routines
that help to transfer information between elements within the
mobile device 12. The volatile memory 198 may also include a
high-speed RAM, such as static RAM for caching data.
[0094] A number of modules can be stored in the volatile memory
198, including an operating system 202 and one or more program
modules 204, which may implement the functionality described herein
in whole or in part, including, for example, functionality
associated with the application module 16, and other processing and
functionality described herein.
[0095] All or a portion of the embodiments may be implemented as a
computer program product stored on a transitory or non-transitory
computer-usable or computer-readable storage medium, which includes
complex programming instructions, such as complex computer-readable
program code, configured to cause the processor 190 to carry out
the steps described herein. Thus, the computer-readable program
code can comprise software instructions for implementing the
functionality of the embodiments described herein when executed on
the processor 190. The processor 190, in conjunction with the
program modules 204 in the volatile memory 198, may serve as a
control system for the mobile device 12 that is configured to, or
adapted to, implement the functionality described herein.
[0096] The mobile device 12 may also include a communication
interface 206 suitable for communicating with the network 30,
and/or with other devices, as appropriate.
[0097] As discussed before, in some embodiments, the functionality
described herein with regard to the server device 28 may be
implemented on the mobile device 12, and the mobile device 12 may
provide the functionality described herein without communications
with the mobile device 12.
[0098] Those skilled in the art will recognize improvements and
modifications to the preferred embodiments of the present
disclosure. All such improvements and modifications are considered
within the scope of the concepts disclosed herein and the claims
that follow.
* * * * *