This application claims priority from European Application No. 15306863.0, entitled “Method and Apparatus for Generating A Combined Calendar,” filed on Nov. 25, 2015, the contents of which are hereby incorporated by reference in its entirety.
The present disclosure relates to a method and an apparatus for generating a combined calendar. Furthermore, a computer readable storage medium for such a method and an apparatus is also disclosed.
The merging of calendars occurs for example in a family or in a working group, wherein each person has one or more individual calendars and all calendars are accessible by the family or group members. In a typical situation when multiple calendars are combined in one single view, each calendar is attributed respectively with its own distinctive color or specific visual representations. This difference can sometimes be chosen by the user or owner of the respective calendar.
It is often configurable which subset of calendars should be integrated in the common view. When shared appointments are scheduled in a combined calendar or a multiple-calendar view, they are normally shown as multiple items in the merged view, which results in some problems and inconvenience. In a typical situation the multiple appointments of the individual users can be shown with different colors or visual representations and are cluttered next to each other in the common view. For example,
Furthermore, sometimes the display area or the screen to show the calendar is limited, for example, with a limited height. In this case only a limited number of events can be displayed at a same time, as illustrated in
Therefore, it is an object to provide an improved solution for generating a combined calendar, wherein merging of calendar entries should be more flexible and more robust with respect to identification of similar or identical calendar items or objects.
The object is solved by a method for generating a combined calendar, comprising:
Advantageously, identical events are found by comparison of attributes of the events. Furthermore, when identical calendar events are detected, only one of them is displayed in the calendar or in the agenda for visualization of the event. This is performed more or less exactly the same way as if there would be only that one single calendar item/object. A calendar item or object refers to, for example, a visual graphical item or icon that is shown in the visual representation of the calendars. Some extra information or highlight can be added to the common calendar object corresponding to identical calendar events. This can inform and remind the user that the calendar event come from multiple sources. The merged, single and common calendar object is for example provided with an extra text line. It can further have a different text style, a special color or marker. For example, dots, patterns or a hatching can be applied. The common calendar object requires the same or a comparable display space or area like a single event does. Hence, problems with respect to insufficient or incomplete display of multiple appointments, which is due to the limited area of the display, are avoided.
In an advantageous embodiment of the invention, the method further comprises defining a set of selected attributes to be compared, wherein comparing attributes of the events comprises comparing the selected attributes of the events, if available for the event.
There can be a subset of selected attributes of the events, which are applied for finding identical events among different calendar sources. This subset can be predefined or user definable. The selected attributes can be the most common attributes, for example starting time, duration, end time, etc.
In one embodiment, the method further comprises calculating hash values for the attributes of the calendar events. The comparison of the attributes of the events is accordingly based on the hash value. A hash value can be easily and robustly calculated from the information of the calendar events and varies when there are even minor changes of the information. Therefore, the comparison of the attributes of the events according to hash values can easily reflect and clarify whether there is a match or not.
In one embodiment, the method further comprises establishing a similarity measure among the events of the calendars. For example, a floating point value can be calculated to identify the likelihood between any two of the calendar events. Particularly in the case where the events are associated with several attributes, this approach can be applied to the events one by one, and the results can be combined by e.g. multiplication or addition. The comparison of the attributes of the events is accordingly performed based on the similarity measure, and events are considered identical if the similarity measure exceeds a predetermined threshold. Of course, the establishment of the similarity measure can be automatically performed by a device where users of the calendars can define the parameters and rules to generate the similarity measure. In other words, a user can configure how strict or loose the comparison should be done among the events of the calendars.
The alternative or combined use of the hash value and the similarity measure for the comparison of the calendar events make the detection of identical events more flexible and more robust.
In still another advantageous embodiment, the method further comprises converting the attributes of the events to be compared into a single and common data format, in particular with respect to character coding of descriptive elements of the events and reference to a time-zone of time data of the events.
The data format of the events is homogenized. This allows comparison of events being coded using for example different character coding or being stored in different time-zones.
The object is further solved by an apparatus for generating a combined calendar, comprising a reception unit and an operation unit. The reception unit is configured to receive information of at least two calendars, each calendar including several events, each event being associated with at least one attribute. The operation unit is configured to compare attributes of the events, wherein events are considered identical when they have at least one identical attribute, and generate a common visual representation of the at least two calendars, wherein the identical events from the respective calendars are represented jointly in a merged, single and common calendar object in the common visual representation.
Advantageously, the apparatus further comprises a user interface unit configured to receive user input indicative of a definition of a set of selected attributes to be compared, wherein the operation unit is further configured to compare the selected attributes of the events, if available for the event.
In one embodiment, the operation unit is configured to calculate hash values for the attributes of the events, wherein the comparison of the attributes of the events is based on the calculated hash values.
In one embodiment, the operation unit is configured to establish a similarity measure among the events of the calendars, wherein the comparison of the attributes of the events is based on the similarity measure. If the similarity measure exceeds a predetermined threshold, the events are considered identical.
In still another advantageous embodiment, the apparatus further comprises a conversion unit configured to convert the attributes of the events to be compared into a single and common data format, in particular with respect to character coding of descriptive elements of the events and reference to a time-zone of time data of the events.
Same or similar advantages, which have been mentioned with respect to the method according to the current principles, apply to the apparatus for generating a combined calendar in the same or similar way.
Also, a computer readable storage medium has stored therein instructions for generating a combined calendar, which when executed by a computer, cause the computer to:
The computer readable storage medium is advantageously further enhanced in that it further comprises instructions, which when executed by a computer, cause the computer to define a set of selected attributes to be compared, wherein the instructions, when executed by a computer, further cause the computer, in the step of comparing attributes, to compare the selected attributes of the events, if available for the event.
In an advantageous embodiment of the invention the computer readable storage medium further comprises instructions, which when executed by a computer, further cause the computer, to calculate hash values for the attributes of the events, wherein the comparison of the attributes of the events is based on the calculated hash values.
In an advantageous embodiment of the invention the computer readable storage medium further comprises instructions, which when executed by a computer, further cause the computer, to establish a similarity measure among the events of the calendars, wherein the comparison of the attributes of the events is based on the similarity measure.
In still another advantageous embodiment the computer readable storage medium is further enhanced in that it further comprises instructions, which when executed by a computer, further cause the computer, to convert the attributes of the events to be compared into a single and common data format, in particular with respect to character coding of descriptive elements of the events and reference to a time-zone of time data of the events.
Similar to the apparatus, same or similar advantages, which have been mentioned with respect to the method, also applied to the computer readable storage medium in the same or similar way and therefore not repeated.
Further characteristics of the current principles will become apparent from the description of the embodiments together with the claims and the included drawings. The embodiments can fulfill individual characteristics or a combination of several characteristics.
For a better understanding of the present principles, the proposed solutions shall now be explained in more detail in the following description with reference to the figures. It is understood that the solutions are not limited to the disclosed exemplary embodiments and that specified features can also expediently be combined and/or modified without departing from the scope of the proposed solutions as defined in the appended claims and exhibited in the figures.
In the drawings, the same or similar types of elements or respectively corresponding parts are provided with the same reference numbers in order to prevent the item from needing to be reintroduced.
As shown in
The comparison 202 of the attributes of the events can be performed in many ways.
Nevertheless, the focuses and advantages of the method for generating a combined calendar according to the current principles are on calendar events and information that is not associated with unique identifiers (UIDs). In the case where the UIDs are not available or different due to different handling by different calendar providers, the comparison 202 of the attributes of the events can be performed, for example, by the steps S2-S10 as shown in
Firstly, the attributes of the calendar events to be compared are converted into a single and common data format. In particular, this applies to their reference to a certain time-zone. As shown in step S2, all the events are adjusted to an identical time-zone, for example UTC.
Subsequently, a hash value is calculated over all attributes available for the events to be compared (step S3). The hash values are compared in step S4 and if a match can be found, the events are considered identical (branch “match”). If no match can be found a hash value is calculated based on a subset of selected attributes (step S5). This selected attributes to be compared can be predefined by a user or automatically by an apparatus or device. Again the hash values are compared (step S6) and if a match can be found (branch “match”) the events are also considered identical.
If the calculation of the hash values does not lead to a matching event, the two or more calendars and the calendar events can be compared based on certain selected attributes. For example, in step S7, the starting time is compared. In addition to this, the end time, if available, will be checked in step S8. Also the title of the calendar entry and the location of the calendar event can be compared (steps S9 and S10) if available. If anyone of these attributes does not match, the calendar entries will be directly considered not matching (see branches directed to the right). If all attributes are cumulatively matched, the two calendar events will be considered a match.
After two matching events have been found from the received at least two calendars, a common visual representation of the at least two calendars is generated 203. In other words, a common visual representation is generated to illustrate a combined calendar that is composed of the at least two calendars. In this common visual representation, the identical events from the respective calendars are represented as a single calendar object.
As shown in
Referring to
In one embodiment, the operation unit 6 is further configured to calculate a hash value for the attributes of the events, wherein events are considered identical if the hash values are identical.
In one embodiment, the operation unit 6 is further configured to establish a similarity measure between the events based on some similarity metric for the attributes of the events, wherein events are considered identical if the similarity measure exceeds a predetermined threshold.
In one embodiment, the apparatus 2 further comprises a user interface unit 8 configured to receive user input indicative of a definition of a set of selected attributes to be compared. The user interface unit 8 can be, for example, a touch screen and thus has multiple functions. The visual representation of the combined calendar can also be displayed on the user interface unit 8 when it can be used as a display as well. In other words, the user interface unit 8 can serve as a display and as a user interface.
In one embodiment, the apparatus 2 further comprises a conversion unit 10 configured to convert the attributes of the events to be compared into a single and common data format, in particular with respect to character coding of descriptive elements of the events and reference to a time-zone of time data of the events. This function has already been outlined above when making reference to
When identical calendar events are detected, only one of them or the common visual representation of the plurality of events is visualized. There are various ways to express this in the visual representation. For example, an extra text line with a special text (e.g. “multi event”) can be added. Also the names of the source calendars (e.g. “dad+girl child”) can be added. A different text style compared to the standard text can be applied (e.g. italic, bolt . . . ). A special color or color markers, for example dots, can be added. A special foreground or background color for multi events can also be applied. A mix of the foreground and background color as interpolation of the source calendar colors can be used. Furthermore, a special background pattern can be applied for multi events. A background pattern with the source calendar colors, for example in stripes, can be used. This is for example shown in
Furthermore, the colors can be taken from the own calendars color, if the event is in own calendar, or from other calendars color in the event is only in other calendars. The colors, patterns, etc. can be used from the source calendar via priority list.
Advantageously, the user may define how strict the comparison is done during detection. When the providers are similar or even the same, stricter comparison can be the choice and a more relaxed comparison when the user experiences wrong detection results. If time off-sets occur or time-zone definitions are missing, the user can easily provide time-zone information. This is stored as extra data.
In particular, the visualization can be configured by the user. As there are several visualizations possible, the user has to select the way he likes most. The user can select between the different ways mentioned before.
All named characteristics, including those taken from the drawings alone, and individual characteristics, which are disclosed in combination with other characteristics, are considered alone and in combination as important to the invention. Embodiments according to the invention can be fulfilled through individual characteristics or a combination of several characteristics.
The foregoing illustrates the principles of the disclosure and it will thus be appreciated that those skilled in the art will be able to devise numerous alternative arrangements which, although not explicitly described herein, embody the principles and are within its scope. It is therefore to be understood that numerous modifications can be made to the illustrative embodiments and that other arrangements can be devised without departing from the scope of the present principle as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
15306863.0 | Nov 2015 | EP | regional |