Surety is performing system maintenance this weekend. Electronic date stamps on new Prior Art Database disclosures may be delayed.
Browse Prior Art Database

A Method and Apparatus to Identify to Optimize the Calendar Display in the Presence of Shared Calendars

IP.com Disclosure Number: IPCOM000235691D
Publication Date: 2014-Mar-20
Document File: 6 page(s) / 78K

Publishing Venue

The IP.com Prior Art Database


The following disclosure shows how to optimize the display of common calendar entries with shared calendars. That is if two individuals share their calendars and both calendars contain an entry for the same meeting or event.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 47% of the total text.

Page 01 of 6

A Method and Apparatus to Identify to Optimize the Calendar Display in the Presence of Shared Calendars

    Typically when collaborating with other people, one has access to other people's calendars and invites other people for events. When having access to other people's calendars, today's applications show the events of all calendars side by side.

    In this setup, it may happen that one invites a person (or multiple people) to whose calendar one has access to a meeting or party. In this case, the same event is shown for each calendar to which one has access.

    As an example, this is shown in the following Figure (see Aug 15, 30, 31 where the same event occurs in multiple calendars, different calendars are marked with different colors):


Page 02 of 6

    This invention associates each calendar entry with a unique marker so that such duplicate calendar entries can be identified and displayed only once, potentially with markers in the same entry that this same event is present in multiple different calendars such as so:

    Additionally, similar entries can be identified based on similarity of calendar entries, for or herself and hence not necessarily exhibit the same marker that would identify this entry as unique.

This approach has two advantages:

It saves space necessary for displaying the calendar which is of utmost


importance for devices with smaller screens such as smart phones and tablets Because the presentation is visually slimmer it allows users to grasp the events


occurring on a day more quickly.

Typically the process for displaying calendar events in a calendar agent looks

as follows:

    Typically, a calendar agent retrieves the calendar events for a given day, week, or month through the calendar provider, next it is passed to some kind of analysis component that identifies overlapping calendar entries to be able to display them side by side and finally those events are passed on to the view that displays the


Page 03 of 6

calendar events on the screen.

    To implement our functionality, several options are possible. The least invasive to the above approach is to create a proxy for the calendar provider. This one provides the same API as the original calendar provider. For instance, on Android devices, calendar events are retrieved as follows:

String[] evProjection = new String[] {







String evSelection = Events.DTEND + " > ?" + " AND " + Events.DTSTART + " < ?"; String[] evSelectionArgs = new String[]{ Long.toString(time), Long.toString(time+24*60*60*1000) };

Cursor cur = cr.query(Events.CONTENT_URI, evProjection, evSelection, evSelectionArgs,

Events.DTSTART+" ASC, "+Events.DTEND+" ASC"); while (cur.moveToNext()) { // handle event }

    We provide the same interface. Except that whenever the user creates a query, the query is wrapped and each calendar entry is stored in a small cache depicted in the following figure. Whenever, a new entry s...