Free busy calendar interface
A method and electronic device which provide a calendar having availability status options based on a type of remote server are described. In accordance with one embodiment, there is provided a method comprising: determining, by an electronic device, a type of a remote server in communication with the electronic device; and setting, by the electronic device, availability status options for an availability status field for calendar events based on the type of the remote server.
Latest Malikie Innovations Limited Patents:
- Automated software vulnerability determination
- Network address policy information received in a pre-associated state
- Updating an application at a second device based on received user input at a first device
- Sending reports of asset transport status
- Timing advance enhancements for cellular communications
This application is a continuation of U.S. patent application Ser. No. 12/536,808, which is a continuation of U.S. patent application Ser. No. 11/278,489, filed April 3, 2006, now U.S. Pat. No. 7,590,413. The content of the above-noted documents is incorporated herein by reference.
TECHNICAL FIELDThe present application relates to mobile device entry of event details and, in particular, to mobile device entry of availability status in relation to an event.
BACKGROUNDCommunication devices, in particular handheld mobile communication devices, are becoming increasingly sophisticated. A common feature of such communication devices is a system or application for scheduling events such as, for example, a built-in calendar. If the system or application does not permit the device user to enter details for events in an intuitive manner, benefits realized through use of the system or application may be less than if it did permit details entry in such a manner.
Accordingly, it would be advantageous to improve mobile device entry of event details.
Reference will now be made, by way of example, to the accompanying drawings which show example embodiments, and in which:
Similar or the same reference numerals may have been used in different figures to denote similar components.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTSAn electronic device having access to a calendar database comprising calendar event data identifying events scheduled for respective time slots and a method of using such a device are provided. The device is configured to generate on a display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying an availability status for the time slot, and in which the availability status options for the availability status field are dependent on a type of a remote messaging server.
In accordance with one embodiment of the present disclosure, there is provided a method comprising: determining, by an electronic device, a type of a remote server in communication with the electronic device; and setting, by the electronic device, availability status options for an availability status field for calendar events based on the type of the remote server.
In accordance with another embodiment of the present disclosure, there is provided an electronic device, comprising: a controller; a communication subsystem coupled to the controller which exchanges calendar event data with a remote server; the controller being configured to determine a type of the remote server, and set availability status options for an availability status field for calendar events based on the type of the remote server.
In accordance with a further embodiment of the present disclosure, there is provided a method comprising: determining, by an electronic device, a type of a remote server in communication with the electronic device; setting, by the electronic device, availability status options for an availability status field for calendar events based on the type of the remote server; displaying, by the electronic device, a calendar events detail user interface screen that includes a plurality of fields specifying information about an event, wherein one of the fields in the plurality of fields is an availability status field for displaying an availability status associated with the event; and setting, by the electronic device, the availability status in the displayed availability status field to one of the availability status options in response to input received by the electronic device.
In accordance with yet a further embodiment of the present disclosure, there is provided an electronic device, comprising: a controller; a display connected to the controller; a user input device connected to the controller; a communication subsystem connected to the controller which exchanges calendar event data with a remote server; the controller being configured to interact with a calendar database comprising calendar event data identifying events scheduled for respective time slots; the controller being further configured to generate on the display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying an availability status for the time slot, wherein availability status options for the availability status field are dependent on a type of the remote server; the communication subsystem exchanging calendar event data for scheduled events with the remote server, the exchanged calendar event data including the availability status of scheduled events.
In accordance with yet a further embodiment of the present disclosure, there is provided a method of generating calendar information on an electronic device having access to a calendar database storing calendar event data identifying events scheduled for respective time slots, the electronic device including a controller and a display, user input device, and communication subsystem each connected to the controller, the communication subsystem exchanging calendar event data with a remote server, the method comprising: generating on the display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying an availability status for the time slot, wherein availability status options for the availability status field are dependent on a type of the remote server; and exchanging with the remote server calendar event data for scheduled events, the exchanged calendar event data including the availability status of the scheduled events.
In accordance with a further embodiment of the present disclosure, there is provided a method of configuring a calendar application on an electronic device having access to a calendar database storing calendar event data identifying events scheduled for respective time slots, the electronic device including a controller and a display, user input device, memory and communication subsystem each connected to the controller, the communication subsystem exchanging calendar event data with a remote server, the method comprising: provisioning the electronic device with calendar application settings for interacting with the remote server dependent on a type of the remote server, the calendar application settings including availability status options used for indicating an availability status for a time slot in the calendar application; and generating on the display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying the availability status for the time slot.
In accordance with yet a further embodiment of the present disclosure, there is provided a computer program product comprising a computer readable medium having stored thereon computer program instructions for implementing a method on a handheld electronic device for controlling its operation, the computer executable instructions comprising instructions for performing the method(s) set forth herein.
The present description of example embodiments does not limit implementation to any particular computer programming language or system architecture. Embodiments described in the specification are not limited to any particular operating system (OS), mobile device architecture, server architecture, or computer programming language.
Any references herein to “messages” are not intended to be limited to e-mail, but should be understood to include other types of electronic messages that one skilled in the art would understand to be possible in the context in which the term is used.
Referring now to the drawings,
Some examples of the mobile device 10 include the wireless communications subsystem(s) 11 for exchanging communications with one or more communications networks including, for example, cellular type wide area wireless networks and/or wireless local area networks. In some examples, the mobile device 10 is a two-way, electronic communications device having data and possibly also voice communication capabilities. In some examples, the mobile device 10 has the capability to exchange messages with other devices and computer systems on the Internet. Depending on the functionality provided by the mobile device 10, in various examples the mobile device may be a multiple-mode communication device configured for both data and voice communications, a smartphone, a Personal Digital Assistant (PDA), or a mobile computer system among other things. In some examples, the mobile device 10 is not a wireless communications device. For example, there exist PDAs that are not capable of sending and receiving wireless communications.
Operating system software 50 and various software applications (for example, calendar application 56, and messaging application 60) used by the microprocessor 38 are, in a number of example embodiments, stored in a persistent store such as the flash memory 24 or similar storage element. Those skilled in the art will appreciate that the operating system 50, other software applications, or parts thereof, may be temporarily loaded into a volatile store such as the RAM 26.
The microprocessor 38, in addition to its operating system functions, can enable execution of software applications (for example, the calendar application 56 and the messaging application 60) on the mobile device 10. A predetermined set of software applications which control basic device operations, including data and voice communication applications for example, will normally be installed on the mobile device 10. In some embodiments, the processor 38 is configured to implement a number of modules for interacting with the various device subsystems described above (or other device subsystems). In some embodiments, some or part of the functionality of a number of these modules can be implemented through firmware or hardware components instead of, or in combination with, computer software instructions executed by the microprocessor 38 (or other processors).
As a first module example, under instructions from the calendar application 56 resident on the mobile device 10, the processor 38 could be configured to implement calendar module 62. The calendar module 62 facilitates device user scheduling and reminding in relation to calendar events. In some examples, the calendar module 62 handles meeting invitations sent and received over a communication network, through the communication subsystem 11. Also, a database (not explicitly shown) adapted to store event data corresponding to entered event details can be maintained on the flash memory 24, the RAM 26 and/or some other computer readable medium such as a remotely located magnetic/optical-based disk drive, for example. The calendar module 62 is able to add, alter and delete event data in this database by way action queries, for example.
As a second module example, under instruction from the messaging application 60 resident on the mobile device 10, the processor 38 could be configured to implement messaging module 66. The messaging module 66 enables composition of data items, such as e-mail messages for example. Such composed items may then be transmitted over a communication network through the communication subsystem 11. Conversely, messages can be received through the communication subsystem 11 for processing by the messaging module 66.
With reference now to
In some examples, the keys 208 of the keyboard 32a consist of number, pound and asterisk keys typically found on any telephone, plus a few additional keys associated with miscellaneous inputs (for example, a hang up or answer call key); however in examples such as the illustrated example, the keyboard 32a has a larger number of keys. In the illustrated example, the keyboard 32a mimics standard full-sized keyboards normally associated with personal computers (e.g. a number of the keys 208 could each permit input of a particular letter of the alphabet). The illustrated keyboard 32a also includes one or more keys that can be held down to give an alternate meaning to another of the keys (or other input component) when depressed. In at least one example, these one or more keys include an Alt key. As will be appreciated by those skilled in the art, keys that give alternate meaning to other input components enable expanded input capability such as, for example, the ability to provide for so-called “shortcut keys” or “hot keys”.
The illustrated mobile device 10 also includes a scroll-wheel 32b that can be rotated upwards towards an upper end of the device or downwards towards a bottom end of the device, as indicated by the arrows x and y respectively. Rotation is about an axis perpendicular to the face 204 of the mobile device 10. In the illustrated example, the scrollwheel 32b protrudes through an opening that is provided through a side of the housing case 200 so as to be adapted for manipulation by a thumb (or other hand digit) of a user of the mobile device 10. In addition to being rotatable, the illustrated scrollwheel 32b can also be depressed inwardly as indicated by arrow z.
The illustrated server system 300 also includes a wireless connector server or subsystem 308. In some examples, the wireless connector subsystem 308 relays received electronic messages from a message store within the enterprise network out to a mobile device, and conversely the wireless connector subsystem 308 can also facilitate the handling of messages composed on a mobile device, which are sent to the messaging server 304 for subsequent delivery. The wireless connector subsystem 308 functions as an interface between the enterprise network (to which it belongs) and a wireless network. As will be appreciated by those skilled in the art, an enterprise network may, in some instances, include multiple wireless connector subsystems 308 such as in some implementations where a large number of mobile devices need to be supported.
The server system 300 may optionally include one or more other servers 316 enabling the server system 300 to provide other types of services to mobile devices besides those related to messages, calendar entries, etc. In some examples, the server 316 could be a collaboration server employed in conjunction with one or more other collaboration tools in relation to cooperative document revision, team rooms, discussions stored in discussion databases and the like. In other examples, the server 316 could be a type of media server enabling the server system 300 to provide services similar to those associated with so-called unified messaging systems.
A number of computers 320 (for convenience only one is shown in
When the mobile device 10 is in the cradle 328, provisioning of the mobile device 10 can be carried out through communications with the server system 300 mediated by the computer 320. In some examples, such provisioning may change and/or add to calendar application settings 58 (
So-called synchronization may also be carried out when the mobile device 10 is in the cradle 328. As understood by those skilled in the art, synchronization involves the mobile device and the server system 300 updating each other with respect to any new information on either device. In some examples, a database that stores event data such as calendar event data, for example, will exist on both the server system 300 and the mobile device 10; however at times the server system's database may, for instance, only be as up-to-date as the last time that synchronization was carried out, whereas the mobile device's database (calendar database 59 in
In order that details of example embodiments may be expounded upon, a number of example user interface screens of the mobile device 10 are now described. Beginning with reference to
Once the operating system 50 launches the appropriate application or function, the user interface screen 400 on display 22 may be replaced by whatever startup interface screen is generated by the launched application. The device user would then typically proceed through further user interface screens of the application that was launched. For example, if the device user launches the calendar application 56, the device user may choose to navigate through a number of user interface screens in order to enter the details of various calendar events.
An example startup interface screen 500 generated on the display 22 by the calendar application is shown in
When the interface screen 500 is displayed on display 500, one or more predetermined user input activities (for example depressing the scrollwheel 32b or an “Enter” key) results in an option menu 510 of selectable calendar functions being displayed on the device display 22, such as shown in
Still with reference to the example event relating to a budget review,
It will be understood that in alternative examples calendar event details may include more or fewer details than the above example. Possible additional details may include, for example, meeting/appointment location, long meeting/appointment description, etc. In some example embodiments, the displayed calendar details may be retrieved from calendar database 59 stored locally on the mobile device 10 (as indicated above, in at least some embodiments the locally stored calendar database 59 is periodically synchronized with a corresponding calendar database maintained at server system 300 or computer 320. In some example embodiments, when the device user “opens” a calendar event for viewing at the mobile device, at least some of the displayed calendar event details are retrieved over the air from a database maintained at the server system or computer 320.
In the illustrated example of
The calendar event detail user interface screen 600 includes a free/busy availability status field 612 in the form of a box 614 followed by the term “Pencil In”. The free/busy availability status field 612 indicates the device user availability status during the time slot for which the calendar event is scheduled. In
For the example of
User interface screen 700 shown in
Within the example selection list 800 are four selectable availability status options: “Free” (option 804), “Tentative” (option 806), “Busy” (option 808) and “Out of Office” (option 810). “Free” may mean that the device user can do other things during that time period if need be. “Tentative” may mean that the device user will likely be unavailable to do other things during that time period, but there could still be a chance that, for example, what he intended to do could be postponed/cancelled leaving him available during that time period. “Busy” may mean that the device user will be unavailable to do other things during the time period of the calendar event. “Out of Office” may mean that the device user will not be at work during the time period of the calendar event, and hence possibly even less likely to be reachable at that time as opposed to if he were merely “Busy”. To choose one of the options 804, 806, 808 and 810 within the selection list 800, the device user can navigate a selection symbol 812 up or down as need be to highlight the desired option, and then make a selection input. The device user can move the selection symbol 812 by, for instance, rotating the scrollwheel 32b in either direction x or y, or by means of some other input component(s) such as, for example, arrow keys on the keyboard 32a. The selection input can, for example, include depression of the scrollwheel 32b or some other designated selection key.
In
It will be understood that the granularity of the availability status detail described in connection with the example of
In at least one example embodiment, the mobile device 10, prior to being provisioned for use with a specific type of server system 300, has the ability to support a plurality of different possible calendar event detail user interface screens (for example screens 600, 700) each having a different availability status field configurations (for example fields 612, 704). Upon provisioning of a mobile device 10 to associate the device with a particular server system 300, the device settings are configured so that a default calendar event detail user interface is selected that has an availability status field that is compatible with the availability status information generally used by the particular server system 300.
Turning again to
It will be understood that the calendar application 56 need not be a distinct application launchable by way one of the icons 402 within the screen 400 (
Certain adaptations and modifications of the described embodiments can be made. Therefore, the above discussed embodiments are considered to be illustrative and not restrictive.
Claims
1. A method comprising:
- determining, by an electronic device, a type provider identity of a remote server in communication with the electronic device, wherein the remote server comprises a messaging server that provides calendar functions to the electronic device, and wherein the provider identity of the remote server is specified in calendar application settings of the electronic device; and
- setting, selecting, by the electronic device, from a plurality of different sets, a set of a plurality of availability status options for an availability status field for calendar events based on the type provider identity of the remote server; and
- generating, by the electronic device, a calendar application user interface for creating or modifying calendar events on a display of the electronic device, wherein the calendar application user interface includes the availability status field, and wherein each one of the plurality of availability status options is selectable from the availability status field.
2. The method of claim 1, further comprising:
- exchanging with the remote server calendar event data for scheduled calendar events, wherein the calendar event data including the includes an availability status of the scheduled calendar events.
3. The method of claim 1, wherein setting the availability status options is based on whether the remote server is a server that identifies itself as being implemented using IBM Lotus Domino™ or a server that identifies itself as being implemented using Microsoft Exchange™ Server.
4. The method of claim 1, wherein setting comprises setting availability status options for the availability status field of a calendar events detail user interface screen of a calendar application, wherein the calendar events detail application user interface screen displays includes details about an event.
5. The method of claim 1, wherein setting the availability status options the plurality of different sets comprises:
- causing the availability status field to have a first set of at least two availability status options that is selected when the remote server is a first type of server provider identity of the remote server is a first provider identity; and
- causing the availability status field to have a second set of at least four availability status options that is selected when the remote server is a second type of server provider identity of the remote server is a second provider identity, and
- wherein the first set has less availability status options than the second set.
6. The method of claim 5, wherein the at least two availability status options when the remote server is the first type of server include a “Free” status and a “Busy” status”, and wherein the at least four availability status levels when the remote server is the second type of server options include a “Free” status, a “Tentative” status, a “Busy” status, and an “Out of Office” status.
7. The method of claim 1, further comprising:
- displaying a calendar events detail user interface screen that includes a plurality of fields specifying information about an event, wherein one of the fields in the plurality of fields is an availability status field for displaying an availability status associated with the event.
8. The method of claim 1, wherein setting the availability status options selecting the set is performed during communication between the electronic device and the remote server.
9. The method of claim 1, wherein setting the availability status options selecting the set is performed during provisioning of the electronic device or synchronization of the electronic device with the remote server.
10. An electronic device, comprising: a display; a controller; and a communication subsystem, coupled to the controller, which exchanges calendar event data with a remote server;, wherein the controller being is configured to:
- determine a type provider identity of the remote server and,wherein the remote server comprises a messaging server that provides calendar functions to the electronic device, and wherein the provider identity of the remote server is specified in calendar application settings of the electronic device;
- set select, from a plurality of different sets, a set of a plurality of availability status options for an availability status field for calendar events based on the type provider identity of the remote server; and
- generate a calendar application user interface for creating or modifying calendar events on the display, wherein the calendar application user interface includes the availability status field, and wherein each one of the plurality of availability status options is selectable from the availability status field.
11. The electronic device of claim 10, wherein the controller is configured to cause the communication subsystem to exchange calendar event data for scheduled calendar events, and wherein the calendar event data including the includes an availability status of the scheduled calendar events.
12. The electronic device of claim 10, wherein the controller is configured to set the availability status options based on whether the remote server is a server that identifies itself as being implemented using IBM Lotus Domino™ or a server that identifies itself as being implemented using Microsoft Exchange™ Server.
13. The electronic device of claim 10, wherein setting comprises setting availability status options for the availability status field of a calendar events detail user interface screen of a calendar application, wherein the calendar events detail application user interface screen displays includes details about an event.
14. The electronic device of claim 10, wherein the controller is configured to plurality of different sets comprises:
- cause the availability status field to have a first set of at least two availability status options that is selected when the remote server is a first type of server, provider identity of the remote server is a first provider identity; and
- cause the availability status field to have a second set of at least four availability status options that is selected when the remote server is a second type of server provider identity of the remote server is a second provider identity, and
- wherein the first set has less availability status options than the second set.
15. The electronic device of claim 14, wherein the at least two availability status options when the remote server is the first type of server include a “Free” status and a “Busy” status”, and wherein the at least four availability status levels when the remote server is the second type of server options include a “Free” status, a “Tentative” status, a “Busy” status, and an “Out of Office” status.
16. The electronic device of claim 10, further comprising:
- a display coupled to the controller;
- wherein the controller being is configured to generate on the display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event, wherein one of the fields in the plurality of fields is an availability status field for displaying an availability status associated with the event.
17. The electronic device of claim 10, wherein setting the availability status options is performed the controller is configured to select the set during communication between the electronic device and the remote server.
18. The electronic device of claim 10, wherein setting the availability status options is performed the controller is configured to select the set during provisioning of the electronic device or synchronization of the electronic device with the remote server.
19. A method comprising:
- determining, by associating an electronic device, a type of with a remote server in communication with the electronic device, wherein the remote server comprises a messaging server that provides calendar functions to the electronic device;
- determining, by the electronic device, a provider identity of the remote server, wherein the provider identity of the remote server is specified in calendar application settings of the electronic device;
- setting, selecting, by the electronic device, from a plurality of different sets, a set of a plurality of availability status options for an availability status field for calendar events based on the type provider identity of the remote server;
- displaying, by the electronic device, a calendar events detail user interface screen that includes a plurality of fields specifying information about an event, wherein one of the fields in the plurality of fields is an the availability status fieldfor displaying an availability status associated with the event, and wherein each one of the plurality of availability status options is selectable from the availability status field; and
- setting, by the electronic device, the an availability status in the displayed availability status field to one of the plurality of availability status options in response to input received by the electronic device.
20. The method of claim 19, wherein the controller is configured to plurality of different sets comprises:
- cause the availability status field to have a first set of availability status options that is selected when the remote server is a first type of messaging server, provider identity of the remote server is a first provider identity; and
- cause the availability status field to have a second set of availability status options that is selected when the remote server is a second type of messaging server provider identity of the remote server is a second provider identity,
- wherein each one of the first and second sets includes at least two availability status options, and wherein the first set has less availability status options than the second set.
21. The method of claim 19, wherein the plurality of different sets comprises:
- a first set of at least two availability status options that is selected when the provider identity of the remote server is a first provider identity; and
- a second set of at least four availability status options that is selected when the provider identity of the remote server is a second provider identity, and
- wherein the first set has less availability status options than the second set.
22. A non-transitory computer readable medium storing instructions to cause one or more processors to perform operations comprising:
- determining a provider identity of a remote server, wherein the remote server comprises a messaging server that provides calendar functions to an electronic device, and wherein the provider identity of the remote server is specified in calendar application settings of the electronic device;
- selecting, from a plurality of different sets, a set of a plurality of availability status options for an availability status field based on the provider identity of the remote server; and
- generating a calendar application user interface for creating or modifying calendar events on a display of the electronic device, wherein the calendar application user interface includes the availability status field, and wherein each one of the plurality of availability status options is selectable from the availability status field.
23. The computer readable medium of claim 22, wherein the instructions further cause the one or more processors to perform an operation comprising exchanging calendar event data for scheduled calendar events, the calendar event data includes an availability status of the scheduled calendar events.
24. The computer readable medium of claim 22, wherein the calendar application user interface includes details about an event.
25. The computer readable medium of claim 22, wherein the plurality of different sets comprises:
- a first set of at least two availability status options that is selected when the provider identity of the remote server is a first provider identity; and
- a second set of at least four availability status options that is selected when the provider identity of the remote server is a second provider identity, and
- wherein the first set has less availability status options than the second set.
26. The computer readable medium of claim 25, wherein the at least two availability status options include a “Free” status and a “Busy” status, and wherein the at least four availability status options include a “Free” status, a “Tentative” status, a “Busy” status, and an “Out of Office” status.
27. The computer readable medium of claim 22, wherein the instructions further cause the one or more processors to perform an operation comprising displaying a calendar events detail user interface screen that includes a plurality of fields specifying information about an event, wherein one of the fields in the plurality of fields is an availability status field for displaying an availability status associated with the event.
28. The computer readable medium of claim 22, wherein selecting the set is performed during communication between the electronic device and the remote server.
29. The computer readable medium of claim 22, wherein selecting the set is performed during provisioning of the electronic device.
6085166 | July 4, 2000 | Beckhardt |
6097964 | August 1, 2000 | Nuovo et al. |
6466236 | October 15, 2002 | Pivowar |
6757530 | June 29, 2004 | Rouse et al. |
6941160 | September 6, 2005 | Otsuka et al. |
7035913 | April 25, 2006 | Culp |
7069003 | June 27, 2006 | Lehikoinen et al. |
7181689 | February 20, 2007 | Mock |
7346705 | March 18, 2008 | Hullot |
7610390 | October 27, 2009 | Yared |
7853563 | December 14, 2010 | Alvarado |
8069166 | November 29, 2011 | Alvarado |
8719842 | May 6, 2014 | Bhogal |
9042869 | May 26, 2015 | Bulgin |
20060200374 | September 7, 2006 | Nelken |
20060285661 | December 21, 2006 | Patel et al. |
20070130221 | June 7, 2007 | Abdo |
20070143003 | June 21, 2007 | Chien |
20070143684 | June 21, 2007 | Stillion et al. |
20090247134 | October 1, 2009 | Jeide |
- Harry Newton, Newton's Telecom Dictionary, Feb. 2002, CMP Books, 18th Ed., p. 333.
Type: Grant
Filed: Jun 6, 2014
Date of Patent: Sep 24, 2024
Assignee: Malikie Innovations Limited (Dublin)
Inventor: Darrell May (Waterloo)
Primary Examiner: Roland G Foster
Application Number: 14/298,699
International Classification: H04M 1/72451 (20210101); H04M 1/72436 (20210101);