The present invention relates generally to calendar systems, and more particularly to generating activity suggestions (e.g., play badminton with friend John Doe) to assist the user in maintaining a work-life balance.
Calendar systems (e.g., Google® calendar) utilize software that minimally provides users with an electronic version of a calendar. Additionally, the calendar systems may provide an appointment book, address book, and/or contact list.
Currently, people have become more concerned about maintaining a “work-life balance” where they attempt to establish a balance between work (e.g., career and ambition) and lifestyle (e.g., health, pleasure, leisure, family and spiritual development/meditation). In connection with maintaining such a work-life balance, people may manually enter activities (e.g., work, leisure and family activities) into a calendar system so as to track their schedule to determine if they are maintaining their desired work-life balance.
However, determining one's current work-life balance in such a manner may be difficult, such as in the scenario where the user has an excessive number of activities scheduled in the user's calendar. Even if a person is able to determine their work-life balance from their calendar, the person may be unsure how to incorporate more activities, such as lifestyle activities, to achieve their desired work-life balance if the person's current work-life balance is not acceptable to them.
Hence, there is not currently a means for assisting users to determine their current work-life balance as well as to provide suggestions for meeting the user's desired work-life balance if the user's current work-life balance is not acceptable to them.
In one embodiment of the present invention, a method for assisting users to maintain a desired work-life balance comprises receiving a desired work-life balance ratio from a user, where the work-life balance ratio is expressed as a ratio of time spent between two or more categories among work and lifestyle. The method further comprises analyzing, by a processor, one or more calendar systems to determine a current work-life balance ratio over a duration of time. The method additionally comprises analyzing, by the processor, an activity pool containing a list of activities to identify activities to suggest to the user to enable the current work-life balance ratio to match the desired work-life balance ratio in response to the current work-life balance ratio not matching the desired work-life balance ratio. Furthermore, the method comprises providing the identified list of activities from the activity pool to the user.
Other forms of the embodiment of the method described above are in a system and in a computer program product.
The foregoing has outlined rather generally the features and technical advantages of one or more embodiments of the present invention in order that the detailed description of the present invention that follows may be better understood. Additional features and advantages of the present invention will be described hereinafter which may form the subject of the claims of the present invention.
A better understanding of the present invention can be obtained when the following detailed description is considered in conjunction with the following drawings, in which:
The present invention comprises a method, system and computer program product for assisting users to maintain a desired work-life balance. In one embodiment of the present invention, a work-life balance ratio is provided by the user. A “work-life balance,” as used herein, refers to a balance between work (e.g., career and ambition) and lifestyle (e.g., health, pleasure, leisure, family and spiritual development/meditation). A “work-life balance ratio,” as used herein, refers to a ratio of time spent between two or more categories (e.g., work, leisure, family) among work and lifestyle. One or more calendar systems (e.g., Google® calendar, calendar storing work-related activities) used by the user are analyzed to determine the user's current work-life balance ratio over a duration of time (e.g., upcoming week). An activity pool containing a list of activities is analyzed to identify activities to suggest to the user to enable the current work-life balance ratio to match the desired work-life balance ratio in response to the current work-life balance ratio not matching the desired work-life balance ratio. A list of the activities identified is then provided to the user to enable the current work-life balance ratio to match the desired work-life balance ratio. In this manner, the user is better able to achieve the user's desired work-life balance.
In the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without such specific details. In other instances, well-known circuits have been shown in block diagram form in order not to obscure the present invention in unnecessary detail. For the most part, details considering timing considerations and the like have been omitted inasmuch as such details are not necessary to obtain a complete understanding of the present invention and are within the skills of persons of ordinary skill in the relevant art.
Referring now to the Figures in detail,
Computing device 101 may be any type of computing device (e.g., portable computing unit, Personal Digital Assistant (PDA), smartphone, laptop computer, mobile phone, navigation device, game console, desktop computer system, workstation, Internet appliance and the like) configured with the capability of connecting to network 103 and consequently communicating with other computing devices 101 and server 102.
Network 103 may be, for example, a local area network, a wide area network, a wireless wide area network, a circuit-switched telephone network, a Global System for Mobile Communications (GSM) network, Wireless Application Protocol (WAP) network, a WiFi network, an IEEE 802.11 standards network, various combinations thereof, etc. Other networks, whose descriptions are omitted here for brevity, may also be used in conjunction with system 100 of
Computing devices 101 may be configured to send out calendar appointments or meeting notices/invitations to other computing devices 101 using a calendar application (not shown) via network 103. Any user of computing device 101 may be the creator or initiator of an activity/event invitation (e.g., meeting invitation) and any user of computing device 101 may be a recipient of an activity/event invitation.
In one embodiment, computing devices 101A-101C include a software agent, referred to herein as a client calendar agent 104A-104C, respectively. Client calendar agents 104A-104C may collectively or individually be referred to as client calendar agents 104 or client calendar agent 104, respectively. Furthermore, server 102 includes a software agent, referred to herein as the calendar management agent 105. Calendar management agent 105 interfaces with client calendar agent 104 to present invitations to computing device 101. Client calendar agent 104 is configured to display the received invitation as well as display calendar schedule information on the calendar user interface of computing device 101.
System 100 further includes a social network server 106, which may be a web server configured to offer a social networking and/or microblogging service, enabling users of computing devices 101 to send and read other users' posts. “Posts,” as used herein, include any one or more of the following: text (e.g., comments, sub-comments and replies), audio, video images, etc. Social network server 106 is connected to network 103 by wire or wirelessly. While
System 100 further includes a unit 107, referred to herein as the “work-life balance analyzer,” connected to network 103 via wire or wirelessly. Work-life balance analyzer 107 is configured to analyze calendar systems (e.g., Google® calendar) of user 101 to determine the user's current work-life balance and to recommend activities/events to user 101 to assist user 101 in reaching a desired work-life balance if the user's current work-life balance is not satisfactory to user 101 as discussed further below. A description of the hardware configuration of work-life balance analyzer 107 is provided below in connection with
System 100 is not to be limited in scope to any one particular network architecture. System 100 may include any number of computing devices 101, servers 102, networks 103, social network servers 106 and work-life balance analyzers 107.
Referring now to
Referring again to
Work-life balance analyzer 107 may further include a communications adapter 209 coupled to bus 202. Communications adapter 209 interconnects bus 202 with an outside network (e.g., network 103 of
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
As stated in the Background section, currently, people have become more concerned about maintaining a “work-life balance” where they attempt to establish a balance between work (e.g., career and ambition) and lifestyle (e.g., health, pleasure, leisure, family and spiritual development/meditation). In connection with maintaining such a work-life balance, people may manually enter activities (e.g., work, leisure and family activities) into a calendar system so as to track their schedule to determine if they are maintaining their desired work-life balance. However, determining one's current work-life balance in such a manner may be difficult, such as in the scenario where the user has an excessive number of activities scheduled in the user's calendar. Even if a person is able to determine their work-life balance from their calendar, the person may be unsure how to incorporate more activities, such as lifestyle activities, to achieve their desired work-life balance if the person's current work-life balance is not acceptable to them. Hence, there is not currently a means for assisting users to determine their current work-life balance as well as to provide suggestions for meeting the user's desired work-life balance if the user's current work-life balance is not acceptable to them.
The principles of the present invention provide a means for assisting users to determine their current work-life balance as well as to provide suggestions for meeting the user's desired work-life balance if the user's current work-life balance is not acceptable to them as discussed below in connection with
As stated above,
Referring to
In step 302, work-life balance analyzer 107 receives from user 101 authentication information for the social network system(s) previously provided by user 101 in step 301. In this manner, work-life balance analyzer 107 will be able to access those social network system(s) and analyze the user's activity streams in those social network system(s) as discussed further below. In one embodiment, the authentication information may be provided to work-life balance analyzer 107 by user 101 via a user interface of computing device 101.
In step 303, work-life balance analyzer 107 receives from user 101 a list of the user's personal interests (e.g., hockey, baseball, traveling). Such a list will be utilized by work-life balance analyzer 107 to identify activities of interest to user 101 as discussed further below. In one embodiment, the user's personal interests may be provided to work-life balance analyzer 107 by user 101 via a user interface of computing device 101.
In step 304, work-life balance analyzer 107 receives a desired work-life balance ratio from user 101. In one embodiment, such information may be provided to work-life balance analyzer 107 by user 101 via a user interface of computing device 101. A “work-life balance,” as used herein, refers to a balance between work (e.g., career and ambition) and lifestyle (e.g., health, pleasure, leisure, family and spiritual development/meditation). A “work-life balance ratio,” as used herein, refers to a ratio of time spent between two or more categories (e.g., work, leisure, family) among work and lifestyle as illustrated in
After the user's desired work-life balance ratio is received by work-life balance analyzer 107, work-life balance analyzer 107 may establish the activity pool of activities that are used by work-life balance analyzer 107 to suggest activities to user 101 to enable user 101 to meet the user's desired work-life balance ratio as discussed below in connection with
Referring to
In step 602, work-life balance analyzer 107 generates a list of the user's friends from the social network systems utilized by user 101. For example, work-life balance analyzer 107 may generate a list of the user's friends on the user's social networks via the user's friend lists. In another example, work-life balance analyzer 107 may infer the user's friends based on activities participated by user 101 with other users. For example, if there is a post involving user 101 and another person attending an event, it may be inferred by work-life balance analyzer 107 that the person who attended the event with user 101 is a friend of user 101.
In step 603, work-life balance analyzer 107 identifies activities from the analyzed activity streams that match the interests of user 101, and, if applicable, identifies friends of user 101 that participate in such activities. “Activities,” as used herein, refer to events involving work and lifestyle actions. Such actions identified in the analyzed activity streams may occur in the present, past or future. As discussed above, user 101 may provide work-life balance analyzer 107 a list of interests (e.g., tennis, baseball, movies, art museums, travel). These interests may be used by work-life balance analyzer 107 to determine if any of the activities identified in the user's activity streams in the social networks utilized by user 101 would be of interest to user 101 using natural language processing. For instance, if user 101 has expressed an interest in attending art museum, and a post was identified on the user's activity stream that discusses that the user's friends attended a local art museum recently, then such an activity would be identified as matching one of the interests of user 101. Also, the friends of user 101 that attended the art museum would be identified as participating in that activity (i.e., attending the art museum).
It is noted that some activities, such as going to the gym, need not involve other users (e.g., friends). For example, user 101 may post about how much he/she enjoys going to the gym but has had a hard time finding time to attend. Work-life balance analyzer 107 may infer that such an activity is of an interest to user 101 via natural language processing based on the fact that user 101 has expressed a desire to participate in such an activity.
In step 604, work-life balance analyzer 107 stores the identified activities along with a listing of the user's friends, if applicable, that participated in such activities in what is referred to herein as the “activity pool.” In one embodiment, the activity pool is a data structure stored in a data storage unit (e.g., memory 205, disk unit 208) of work-life balance analyzer 107.
These activities will be used by work-life balance analyzer 107 to suggest activities to user 101 to meet the user's desired work-life balance ratio as discussed below in connection with
Referring to
A work-life balance ratio may then be determined by work-life balance analyzer 107 by determining the amount of time spent in each category (e.g., work, leisure, family) among work and lifestyle activities over a duration of time (e.g., a week). For example, if user 101 spends 80% of his/her time doing work-related activities, 10% of his/her time doing leisure-related activities and 10% of his/her time doing family-related activities during the upcoming week, then work-life balance analyzer 107 may determine that the work-life balance ratio among the categories of work, leisure and family is 80%, 10% and 10%, respectively.
In step 702, a determination is made by work-life balance analyzer 107 as to whether the current work-life balance ratio matches the desired work-life balance ratio (user 101 previously provided the user's desired work-life balance ratio to work-life balance analyzer 107 in step 304). In one embodiment, such a determination may be based on whether the current work-life balance ratio is within a threshold degree of matching the desired work-life balance ratio. For example, if the current work-life balance ratio is a value that is within 2% or less of the value of the desired work-life balance ratio, then work-life balance analyzer 107 may determine that in essence the current work-life balance ratio matches the desired work-life balance ratio.
If the current work-life balance matches the desired work-life balance ratio, then work-life balance analyzer 107 continues to analyze the user's calendar system(s) to determine the current work-life balance ratio over a duration of time (e.g., upcoming week) in step 701.
If, however, the current work-life balance does not match the desired work-life balance ratio, then, in step 703, work-life balance analyzer 107 analyzes the activity pool to identify activities to suggest to user 101 to enable the current work-life balance ratio to match the user's desired work-life balance ratio.
For example, if user 101 indicated (such as in step 304) that the desired work-life balance ratio among the categories of work, leisure and family is to be 60%, 20% and 20%, respectively, and the current work-life balance (determined in step 701) among the categories of work, leisure and family is 80%, 10% and 10%, respectively, then work-life balance analyzer 107 determines that user 101 needs more activities in the leisure and family categories and less activities in the work category. As a result, work-life balance analyzer 107 analyzes the activity pool for activities in the leisure and family categories to suggest to user 101 to help user 101 reach the user's desired work-life balance. For instance, work-life balance analyzer 107 may identify activities in a particular category (e.g., leisure and family) using natural language processing. For example, work-life balance analyzer 107 may identify activities in a particular category, such as leisure, by focusing on keywords involving leisure activities, such as “art museum,” “hockey,” etc. In another example, work-life balance analyzer 107 may identify activities in a particular category, such as family, by focusing on keywords involving activities that are family centered (e.g., movies) or activities that are enjoyed by family members. For instance, work-life balance analyzer 107 may analyze the social profiles of the user's family members to determine their activities of interest. As a result, work-life balance analyzer 107 will be able to identify those activities that are of interest to the user's family members that also match the interests of user 101.
In step 704, work-life balance analyzer 107 provides to user 101 a list of the identified activities (identified in step 703) and a list of the user's friends, if applicable, that participated in such activities (acquired from the activity pool which contains a list of activities as well as a listing of the user's friends, if applicable, that participated in such activities) to enable the current work-life balance ratio to match the desired work-life balance ratio as illustrated in
In one embodiment, a date and time may be suggested along with the suggested activity. In one embodiment, such a date and time may be determined based on the user's calendar (e.g., identify a block of time that user 101 does not currently have a conflict with such an activity) as well as possibly the calendar of the user's friend(s), if applicable, who are to receive an invitation concerning the selected activity. In one embodiment, work-life balance analyzer 107 may determine the user's friend's schedule by analyzing the friend's public social profile as well as any other publicly available electronic calendar of the user's friend.
In one embodiment, user 101 may select one of the suggested activities to participate, such as via an arrow icon 804, as illustrated in
Referring to
Furthermore,
Returning to
If user 101 did not select any of the suggested activities to participate, then work-life balance analyzer 107 further analyzes the activity pool to identify further activities to suggest to user 101 to enable the current work-life balance ratio to match the user's desired work-life balance ratio in step 703.
If, however, user 101 selected an activity suggested by work-life balance analyzer 107 to participate, then, in step 706, a determination is made by work-life balance analyzer 107 as to whether the selected activity involves another person.
If the selected activity does not involve another person (e.g., going to the gym), then work-life balance analyzer 107 then determines if the current work-life balance ratio now matches the desired work-life balance ratio in step 702.
If, however, the selected activity involves another person, then, in step 707, work-life balance analyzer 107 generates an invitation to the user's friend(s) to participate in the selected activity with user 101 as discussed above in connection with
In step 708, a determination is made by work-life balance analyzer 107 as to whether user 101 received a response within a threshold period of time (e.g., within six hours). In one embodiment, the threshold period of time is user-selected.
If user 101 did not receive a response within the threshold period of time, then, in step 709, work-life balance analyzer 107 generates a follow-up invitation to the user's friend(s) to participate in the selected activity with user 101. Work-life balance analyzer 107 then determines whether user 101 received a response within a threshold period of time in step 708.
If, however, work-life balance analyzer 107 received a response within the threshold period of time, then, in step 710, work-life balance analyzer 107 saves the response of the user's friend(s) to the invitation in the activity history to improve the future selection of activities. In one embodiment, the activity history is a data structure stored in a data storage unit (e.g., memory 205, disk unit 208) of work-life balance analyzer 107. For example, if the user's friend(s) are not accepting the invitations to participate in a particular type of activity (e.g., attending baseball game), then it may be inferred that the user's friend(s) do not have an interest in participating in such an activity. Other information that may be inferred from the invitation responses include confirming the user's friend's interests, scheduling conflicts and alternative activities, times and dates based on responses that suggest alternatives (e.g., suggest alternative time or activity).
Upon saving the responses from the user's friend(s) to the invitation, work-life balance analyzer 107 determines if the current work-life balance ratio now matches the desired work-life balance ratio in step 702.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.