The exemplary and non-limiting embodiments of this invention relate generally to communication systems, methods, devices and computer programs and, more specifically, relate to techniques for operating a scheduling function, such as a calendar application of a mobile device.
Events are a part of everyday life. Business meetings, birthday parties, plays and concerts are all examples of different events. Information descriptive of an event typically includes at least a date and time, a location and a subject. People add events to their calendars, and associate reminders with the added events, so as to ensure that they will be at the correct location at the correct time.
In many cases of interest more than one person attends a given event. As such, a need arises to share event information between different persons.
As one example, sharing information within a family concerning upcoming events can be important as family members need to know each other's schedules (e.g., irregular working hours) and need to agree about common events (e.g., visiting grandparents or picking up children from daycare).
Some electronic calendar applications enable sharing either a single calendar entry or an entire calendar. However, in many cases this degree of sharing is inadequate. In general, these approaches represent the extreme boundary conditions: i.e.; share nothing at all, share just a single calendar entry, or share an entire calendar.
For example, conventional electronic PC calendars, such as one provided by Google™ (http://www.google.com/calendar) and one provided by Mozilla™ (http://www.mozilla.org/projects/calendar/), allow users to share their calendar information, either events or entire calendars. In addition, a Calendar Core Application provided by the assignee of this patent application enables sending individual entries to other users via short message service (SMS), multimedia messaging service (MMS), Bluetooth™ or by email.
If a user wishes to share a block of several calendar entries (referred to in this document as a “time-block”), and not a single event and not a full calendar, the user has basically two options: create a new calendar containing only those entries that the user wishes to share at the moment, or send each calendar entry separately to others. Both of these approaches are far from optimal.
The foregoing and other problems are overcome, and other advantages are realized, in accordance with the non-limiting and exemplary embodiments of this invention.
In accordance with a first aspect of the exemplary embodiments of this invention a method includes operating a user interface in conjunction with a source electronic calendar application to generate a time-block from at least one first electronic calendar; and sending the time-block to a recipient electronic calendar application.
In accordance with a further aspect of the exemplary embodiments of this invention a computer-readable memory medium stores program instructions the execution of which results in operations that comprise operating a user interface in conjunction with a source electronic calendar application to generate a time-block from at least one first electronic calendar; and sending the time-block to a recipient electronic calendar application.
In accordance with a further aspect of the exemplary embodiments of this invention there is provided an apparatus that includes a data processor, a memory that stores an electronic calendar application and an associated electronic calendar database that stores data representing at least one electronic calendar, a user interface and a transmitter. The data processor is configurable to operate with the electronic calendar application and to receive user input from the user interface to generate a time-block from the at least one electronic calendar and to send the time-block through the transmitter to a recipient electronic calendar application in another apparatus.
In accordance with another aspect of the exemplary embodiments of this invention there is provided an apparatus that includes means for interfacing to a communication network; means for presenting information to a user and for receiving information from the user; means for storing an electronic calendar application and at least one electronic calendar; and means responsive to information received from the user for generating a time-block from the at least one electronic calendar for sending the time-block to a recipient electronic calendar application through the interfacing means. The information received from the user comprises at least one date and a start time and an end time for the at least one date, and the time-block comprises a plurality of electronic calendar entries descriptive of a plurality of scheduled events that are defined by the at least one date and the start time and the end time for the at least one date. The apparatus may further comprise means responsive to a time-block received through the interfacing means for creating in the storing means a new electronic calendar containing entries that comprise those in received time-block, and may further include means for optionally acknowledging receipt of the time-block and for indicating an action taken by the user in response to receiving the time-block.
The foregoing and other aspects of the teachings of this invention are made more evident in the following Detailed Description, when read in conjunction with the attached Drawing Figures, wherein:
The exemplary embodiments of this invention enable the use of an advanced electronic calendar application to permit sharing calendar events with other users in the form of one or more time-blocks.
The exemplary embodiments of this invention are well suited for consumer and enterprise use cases and provide enhanced capabilities as compared to conventional approaches. For example, the exemplary embodiments of this invention permit a user to share a time range within a day, share an entire day, or share a time range spanning multiple days. The exemplary embodiments beneficially provide an ability for a user to share a “time-block”, where a time-block is defined as having a user-specified start time, end time, and date or dates. A time-block may contain from one to many individual calendar entries.
Other embodiments of time-blocks (i.e., time-block as a set of calendar entries with an earliest starting time and latest ending time) are also possible. As a non-limiting example, the user may select a contiguous time block (e.g., Tuesday morning from 7:00-12:00) but excluding a selected set of calendar entries (e.g., a Doctor appointment from 9:00 until 10:30), and representing an excluded entry or entries in the time-block instead as ‘empty’, or ‘busy’.
If the electronic calendar application 14B supports multiple calendars/categories, the user may select to exclude all entries from one of these, or show them only with free/busy indications. It this example the user may wish to share entries with a colleague and choose to share all details for work-related entries, but indicate only free/busy data for personal entries, and generate a related time-block for the certain time interval.
Thus, it can be appreciated that other embodiments of a time-block are useful and also possible to represent in accordance with the exemplary embodiments of this invention. For example, the use may select a basic time-block but exclude a specific entry (or entries), or the user may mark the specific entry or entries as ‘free/busy’, or show only the location of the entry, thereby preserving the user's privacy when creating a time-block for sharing entries from one or more electronic calendars.
Note that a ‘repeating time-block’ containing one or more repeating calendar entries may also be created and shared.
Reference is made to
It should be appreciated that the data processor block 12 may actually comprise a number of circuit types, in addition to a data processor per se, such as analog-to-digital converters and digital-to-analog converters, that support the operation of the various input modalities 47 and output modalities 48.
In the exemplary embodiments the device 10 has user communication capabilities, and includes a suitable transceiver 30, such as a radio frequency transceiver coupled with at least one antenna 32 for conducting wireless communications through a bidirectional radio frequency link 34 (e.g., a link to a cellular communication network, or a low power radio frequency link such as a Bluetooth™ link). In other embodiments the transceiver 30 may be optically based and may then include suitable optical source and detector components, such as an infrared emitter and an infrared detector. In other embodiments the transceiver 30 may be adapted for non-wireless communication, such as communication through an optical or electrical conductor (e.g., a cable, a telephone line, or a in general wiring).
It should be noted that the various input modalities 36 and output modalities 38 are exemplary, and not all may be present in a given implementation. For example, the exemplary embodiments of this invention may be used with just the display screen 16 and the keypad/keyboard 26, or with just the display screen 16 if the screen is touch sensitive to permit the user to enter information and commands.
The PROG 14A is assumed to include program instructions that, when executed by the data processor 12, enable the electronic device 10 to operate in accordance with the exemplary embodiments of this invention, as will be discussed below in greater detail.
In general, the various embodiments of the device 10 can include, but are not limited to, cellular phones, personal digital assistants (PDAs) possibly having wireless communication capabilities, portable computers possibly having wireless communication capabilities, image capture devices such as digital cameras possibly having wireless communication capabilities, gaming devices possibly having wireless communication capabilities, music storage and playback appliances possibly having wireless communication capabilities, Internet appliances permitting wireless or wired Internet access and browsing, as well as portable units or terminals that incorporate combinations of such functions.
The exemplary embodiments of this invention may be implemented by computer software executable by the data processor 12, or by hardware, or by a combination of software and hardware (and firmware).
The memory 14 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The data processor 12 may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-core processor architecture, as non-limiting examples.
The memory 14 is shown as including computer program code that implements a calendar application (CA) 14B and associated database (DB), as well as a Contacts application 14C and associated database (DB). The Calendar application 14B is enhanced in accordance with the embodiments of this invention, as discussed below, to permit the selective sharing of specific calendar information with other devices.
Examples of electronic calendars can be found in commonly assigned U.S. Pat. No. 7,257,778, Kekki et al., “Calendar system and a method for producing a calendar view”, as well as in commonly assigned US Patent Application Publication 2007/0250366, Nurmi, “Apparatus, method and computer program product for annotating a meeting in an electronic calendar”.
The network 40 may represent, as non-limiting examples, a wireless network (e.g., a cellular network), a local area network (LAN), a wireless local area network (WLAN), or the Internet. The network 40 may also represent plural network types that are interconnected together. For example, the source device 10 may be connected through a first cellular network, one of the recipient devices 10A may be connected via a wired Internet interface (e.g., a cable modem), another recipient device 10A may be connected via a WLAN, and yet another recipient device 10 may be connected via a second cellular network that differs in location and possibly access technology type from the first cellular network. In other words, the specifics of the connectivity between the source device 10 and the recipient devices 10A is not germane to an understanding (or the implementation) of this invention, and the network 40 is assumed to include whatever interworking mechanisms are needed to permit communication to occur between the source device 10 and one or more of the recipient devices 10A.
The exemplary embodiments of this invention provide the enhanced Calendar application 14B that allows sharing user-selected calendar-related time-blocks. The user may a select one or more start and end times/date(s) for sharing, which calendar(s) to share, and with whom. The recipient devices 10A receive calendar-related entries which may be locally stored as a (new) calendar.
It can be noted that the users of recipient device(s) 10A may optionally chose to acknowledge their action(s) to the source device 10 in response to receipt of a time-block from the source device 10. These actions may include: view the received time-block (or newly created calendar), save the received time-block, or ignore/delete the received time-block, as non-limiting examples.
The enhanced Calendar application 14B may enable sharing either continuous or discrete time ranges. A continuous time range implies sharing all entries starting from, for example, Monday, 15th September, 8:00 AM until Friday, 19th September 4:00 PM. A discrete time range implies, for example, sharing all entries taking place on, e.g., Mondays and/or Tuesdays between 8:00 AM and 4:00 PM during selected weeks (e.g., weeks 32 to 42).
As non-limiting examples, the ability to share specific Calendar entries may be useful for those Calendars related to work, e.g., to share with collaborators on a specific project. As another example, a group of people who are attempting to schedule a time for a meeting may selectively send their schedules, e.g., for the next week between 10:00 AM and 4:00 PM, to a common calendar that would then indicate a time or times during that week when everyone is available. As was noted above, those entries related to personal items (e.g., Doctor's appointments) may be excluded and not viewable by the recipient device users.
The ability to share specific Calendar time-blocks may also be useful for those Calendars related to personal items, e.g., to share with grandparents or other child care givers who participate in child care activities when a parent is at work.
In
Note as well that the order of selections may be different than that shown in
It is also within the scope of the exemplary embodiments of this invention for the user of the source device 10 to choose to share only free/busy data of selected entries/calendars. Further, the sharing may encompass one or more options such as: share all details, share only location, share only free/busy, as non-limiting examples.
Note also that the recipient of a shared time-block may choose to send the acknowledgement of their action to the sender of the time-block. This ability to send an acknowledgment is not shown in
It should be appreciated that the start/end time and date selection may be performed differently. For example, and instead of entering times and dates as in
If desired, the user may be given the opportunity to review his or her selections prior to sending them (publishing them), and to make modifications (e.g., add/remove entries) if needed.
In an exemplary embodiment, when a time-block is constructed by the user all events fulfilling the selection criteria may be exported from the database of the Calendar application 14B (or from several databases if multiple calendars have separate storage areas). The selected events to be shared are then forwarded to a sharing engine (which may be embodied in the server 42 of
The exemplary embodiments of this invention provide in one aspect thereof a method, apparatus and computer program to share a time-block comprised of electronic calendar entries.
Referring to
The step of operating the user interface comprises a user selecting at least one date and a start time and an end time for the at least one date to generate the time-block, where the time-block comprises a plurality of first electronic calendar entries descriptive of a plurality of scheduled events.
The step of operating the user interface further comprises selecting at least one recipient, generating the at least one time-block comprises selecting a date range comprised of one or more calendar dates, a start time and an end time. Selecting the at least one recipient may use a contacts database. The step of operating the user interface may further include selecting one of a plurality of first electronic calendars from which to generate the time-block.
The various blocks shown in
As such, it should be appreciated that at least some aspects of the exemplary embodiments of the inventions may be practiced in various components such as integrated circuit chips and modules. The design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be fabricated on a semiconductor substrate. Such software tools can automatically route conductors and locate components on a semiconductor substrate using well established rules of design, as well as libraries of pre-stored design modules. Once the design for a semiconductor circuit has been completed, the resultant design, in a standardized electronic format (e.g., Opus, GDSII, or the like) may be transmitted to a semiconductor fabrication facility for fabrication as one or more integrated circuit devices.
Various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. As but some examples, the use of other different, similar or equivalent techniques for interacting with the user to define time-blocks and to publish time-blocks may be attempted by those skilled in the art.
As a further example, in another exemplary use case the time-blocks may be used in a non-intrusive manner to define availability of one or more persons with regard to one or more events. Assume that a certain user is interested in identifying a time within a certain time-block as to when the user could have a meeting with colleagues. The user defines the time-block on the user's personal calendar (e.g., Monday-Wednesday, between 9AM and 1PM). However, instead of sending this particular time-block to the colleagues the user selects an option in the time-block related menu whereby an enquiry is made as to times when all members in a particular set of users (the set of colleagues in this case) have the ability to meet within the particular time-block defined by the user. Any of the matches identified may then be sent to the persons in this particular set in the form of a meeting invitation. Note that the enquiry may be made to an external agency, such as to one embodied in the server 42 in
All such and similar modifications of the teachings of this invention will still fall within the scope of this invention.
It should be noted that the terms “connected,” “coupled,” or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and may encompass the presence of one or more intermediate elements between two elements that are “connected” or “coupled” together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements may be considered to be “connected” or “coupled” together by the use of one or more wires, cables and/or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non-exhaustive examples.
Furthermore, some of the features of the examples of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings, examples and exemplary embodiments of this invention, and not in limitation thereof.