To create a new category 202 the category based list control software application 30 will prompt the user via the display 60 to input a category name 210. The category based list control software application 30 will then prompt the user to specify the types of input 212 to be associated with the category. Types of input include, at a minimum, text, audio (e.g., voice recordings), video, multimedia (video\audio) and still video (e.g., picture). Once the category name and input types have been received by the category based list control software application 30, a prompt can be displayed asking if the user would like to create a new list now 214. If the response is no, then the category based list control software application 30 terminates 216. Otherwise, control is passed to the create new list functional process 204.
To create a new list 204, the user is first prompted by the category based list control software application 30 to select a category 218 (unless the user is creating a new list upon creating a new category in which case the category has already been selected). Upon selecting a category for the list, the user is prompted to input a list name 220. The next step involves defining and setting various parameters 222 that govern the existence and control over the list. Once the list parameters have been defined and set, the user is prompted by the category based list control software application 30 whether to add items to the list now 224. If the response is no then the category based list control software application 30 terminates 216. Otherwise, control is passed to the add to list functional process 206.
To add to a list, the user first selects a category 226 in response to a prompt from the category based list control software application 30. The lists for the selected category are then displayed 228. The user then uses the user interface tools 40 to navigate and highlight the desired list and that list is then opened and its items displayed 230. The user then follows the prompts of the category based list control software application 30 to add more items to the list 232. Upon completion of adding items to the list the category based list control software application 30 can be terminated 216.
The last functional process allows the user to manipulate a list 208. To manipulate a list, the user utilizes the user interface to select a category 234. The lists in the selected category are then displayed 236. The user can then view, send, or delete the list 238, process group user requests 240, or access the list 242. If the user opts to access the list 242, he will be presented with the sub-options of adding items 244, deleting items 246, or editing items 248. Once the user has completed list manipulation, the category based list control software application 30 can be terminated 216.
An additional feature allows for lists to be pre-populated with items. Such items can be selected or deleted at the user's discretion. For example, there could be a list with item names and a selectable check box. Items left unchecked by the user would be deleted from the list or vice-versa. Also, creating a list enables a “send to” link in other multimedia applications.
For instance, in a family setting, a mother can create a grocery list for the week and invite her husband and the children to access and add to the list. The invitation could be in the form of an SMS message to the group that states, “I'm going to the grocery store on Friday to get the items on the list. Please add your requests to the list before then. Mom.” If the list is created on Monday and expires on Friday evening, the members of the group can add to the list until Friday. Upon expiration as determined when Mom created the list, the items can be cleared so that new items can be input for next week.
The list creator also has the ability to set the permissions and/or privileges group users will have with respect to the list 310. Some of the permissions include viewing the list, editing items, deleting items, adding items, and a time limit for how long a group user can have exclusive access to the list before having to check any changes back in to the list creator.
If it is determined that an item is to be manually entered 406, the user is prompted by the category based list control software application 30 to specify the type of item to be added 412. The item type options 414 include text 416, audio 418, and picture 420. For text items 416, the user is prompted to input the text that will comprise the item using the keypad or other input device. When input is complete, the text item will be appended to the list 424. For audio items 418, an audio application such as a voice recorder is launched 428 and the user records an audio item 430 such as, for instance, milk in the grocery list example introduced earlier. The audio item is then appended as the next item to the list 424. For pictures 420, the user can either take a picture using an integrated digital camera (if available) or select a picture image file from a storage device associated with the mobile communications device 10. The selected picture or the picture just taken is then appended to the list 424.
For items received in messages, the user opens the message containing the list item to be added to a list 434. The category based list control software application 30 then determines the category specified in the message 436 followed by the list 438 within the category. The specified category/list is checked to determine group privileges (private/shared) and the source of the message (sender) is then verified as having group access to the specified list 439. Upon verification, the list is opened 440 and the item contained in the message is appended to the list 442.
Alternatively, the program can be coded to recognize messages containing list items and automatically open the message and append the item(s) to the specified list without the user having to open the message manually. In this instance, the user could receive an alert when new item(s) are added to lists.
Items can also be added to lists while utilizing other applications 410. For instance, the mobile communications device user can be browsing the Internet on the mobile device when she comes across a word/phrase or picture that she would like to append to a list. The other application is not necessarily limited to a web browsing application. Word processing applications, spreadsheet applications, contact management applications, file management applications, music applications, etc. can all be the basis for identifying potential list items. When the user comes across a word/phrase or picture of interest, she uses the user interface to highlight or select the item of interest 444. The type of the selected item is then determined 446. The user then must identify the category 448 and list 450 within the category 448 for the item. The list is then opened 452 and the item is appended to the list 454.
In another embodiment, it is not necessary to restrict check out of the list to one group user at a time. The list could be open for simultaneous collaboration. If the list is “open” for such collaboration, some form of contention management would be needed, but this is considered to be within the capabilities of those skilled in the art.
The next screen shot shown 706 results from the user selecting the “To Do” category on the first screen shot 702. This screen shot 706 provides a listing of the lists associated with the “To Do” category. The list “Home” appears highlighted 708 in this figure indicating that the user intends to act on this list in some fashion. Some of the options available to the user include editing the name of the list, delete the list, view a copy of the list, select the list, or edit the permissions and parameters associated with the list.
The next screen shot shown 710 results from the user selecting the “Home” list on the second screen shot 706. This screen shot 710 illustrates the items associated with the “Home” list under the “To Do” category. Three text items are shown in addition to selections/options including “Add New Item” 712 and “Clear List” 714. At the bottom of the screen, there is shown a list expiration date indicating when the list is set to expire 716. If no date/time is set, then the list will not expire until it is manually deleted by the user. From this screen, the user is free to select an item to edit it or to delete it. The user can also add items or clear the list.
As will be appreciated by one of skill in the art, the present invention may be embodied as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium.
Any suitable computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, 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), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code 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 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).
The present invention is described below 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 program instructions. These computer 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 program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Any prompts associated with the present invention may be presented and responded to via a graphical user interface (GUI) presented on the display of the mobile communications device or the like. Prompts may also be audible, vibrating, etc.
The flowcharts 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 code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, 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 which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown and that the invention has other applications in other environments. This application is intended to cover any adaptations or variations of the present invention. The following claims are in no way intended to limit the scope of the invention to the specific embodiments described herein.