Abstract:
A method, system, and computer program product provide access to user information, such as landmarks, without applications having to implement the needed user interface functionality on their own. In one embodiment, common landmark user interface components are offered with application programming interfaces (APIs) for controlling the user interfaces. By utilizing this kind of common user interface, all applications can utilize landmarks.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to computer software platform user interfaces. More particularly, the present invention relates to trusted user interfaces and user sensitive data.  
       BACKGROUND OF THE INVENTION  
       [0002]     Currently, software platforms offer interfaces to handle basic functionalities of landmarks and other types of private user information. For example, conventional platforms have interfaces for saving and searching for geographical location information, such as coordinates and/or addresses. However, such interfaces are implemented by each application that uses landmarks separately. Further, common dialog interfaces used by various applications are limited to specific functions, such as saving and searching. Computer applications do not obtain information using a common interface for any function.  
         [0003]     As a example, a software application that provides a map, such as a mapping program or a GPS program, can display standard landmarks on the map and allow a user to add additional, user-defined landmarks. Such user-defined landmarks can be considered private data. Conventional platforms that run such programs require that such the mapping software application request user-defined landmark information using a dialog user interface from the software application. Such dialog user interfaces may differ from software application to software application.  
         [0004]     Thus, there is a need for shared landmark user interfaces. Further, there is a need for applications to be able to utilize user sensitive information with a common interface. Even further, there is a need to offer common dialogs for any information used by a computer application.  
       SUMMARY OF THE INVENTION  
       [0005]     The present invention is directed to a method, system, and computer program product in which information, such as landmarks, is accessible by applications without an implementing functionality of its own. In one embodiment, common landmark user interface components are offered with application programming interfaces (APIs). By utilizing this kind of common user interface, all applications can utilize landmarks without implementing a landmark user interface of their own.  
         [0006]     Briefly, one exemplary embodiment relates to a method for providing shared user interfaces. The method includes accessing information requested by the application, including a user interface application programming interface that selectively activates common user interface dialogs upon request by a client via the user interface application programming interface.  
         [0007]     Another exemplary embodiment relates to a system having an application programming interface for controlling and activating common dialogs. The system includes a software application that performs operations on a device, a user interface application programming interface (API) stored on the device, and storage that maintains information accessible by the client via the user interface API. The user interface API selectively activates common user interface dialogs upon request by a client.  
         [0008]     Yet another exemplary embodiment relates to a computer program product having an application programming interface for controlling and activating common user interface dialogs presented on a device having the computer program product stored thereon. The computer program product includes a user interface application programming interface that selectively activates common user interface dialogs upon request by a client and computer code. The computer code accesses the user interface application programming interface, and accesses information requested by the application.  
         [0009]     Other principle features and advantages of the invention will become apparent to those skilled in the art upon review of the following drawings, the detailed description, and the appended claims. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]     Exemplary embodiments will hereafter be described with reference to the accompanying drawings.  
         [0011]      FIG. 1  is a diagram illustrating a system having an application programming interface for controlling and activating common landmark dialogs.  
         [0012]      FIG. 2  is a diagram illustrating a user interface having landmarks in accordance with an exemplary embodiment.  
         [0013]      FIG. 3  is a diagram illustrating a common user interface dialog on the user interface of  FIG. 2  in accordance with an exemplary embodiment.  
         [0014]      FIG. 4  is a flow diagram of exemplary operations in providing a shared landmark user interface.  
     
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS  
       [0015]      FIG. 1  illustrates a user interface (UI) application programming interface (API)  12  that controls and activates common user interface dialogs  14 . Examples of common user interface dialogs  14  can include browsing, selecting, creating, and showing. The UI API  12  can be accessed by both an un-trusted application  16  and a trusted application  18 . The un-trusted application  16  could be an application, such as a third party navigation application. The trusted application  18  could be an application, such as a calendar application, which is packaged to the device by the device manufacturer.  
         [0016]     The common UI dialogs  14  and the trusted application  18  can access landmark storage  22  using a storage application programming interface (API)  24 . The landmark storage  22  can be, for example, a database which can reside anywhere, such as in a device or on a network server. The storage API  24  is a common API for accessing landmarks without the UI API  12 . The storage API  24  hides the internal storage structure, allowing the internal structure to be changed without disruption to the user. Further, the storage API  24  checks whether the client is allowed to use the methods of the API.  
         [0017]     The UI API  12  provides a common user interface, allowing developers to not have to implement landmark UI themselves. The UI API  12  also enhances the end user experience because the landmarks functionality looks and is always the same. If an application is un-trusted and landmarks are handled as private data, then UI API  12  enables access to landmarks for un-trusted applications without jeopardizing the end user&#39;s personal data because the end user can control access via common UI dialogs  14 .  
         [0018]     The common UI dialogs  14  provide a uniform access interface for both trusted and un-trusted applications to obtain a variety of data, such as user sensitive data. Landmarks are an example of sensitive data.  
         [0019]      FIG. 2  illustrates an example user interface  30  illustrating landmarks  32 ,  34  and  36 . The user interface  30  is shown as a display of a personal digital assistant (PDA), but could also be used with a cell phone, a computer, or any other device. The landmark  36  is a location identified by a user as a landmark, such as an office location, apartment, or a restaurant. The landmark  36  can be private data.  
         [0020]     The software application that provides map data, including the landmarks  32  and  34  may or may not be a trusted application. The software application can be a global positioning system (GPS) mapping program. To obtain information to locate a landmark, the software application interfaces with an application programming interface (API) that controls and activates common landmark dialogs.  
         [0021]      FIG. 3  illustrates the user interface  30  including a common user interface dialog  38 . The common user interface dialog  38  is separate from the application presenting the user interface  30 . By way of example, the common user interface dialog  38  asks the user for information about selecting a landmark. The landmark can be selected from a list of landmarks, as shown in  FIG. 3 . In an exemplary embodiment, a text box is utilized where the user can enter a part of the landmark name to search for in the list of landmarks.  
         [0022]      FIG. 4  illustrates a flow diagram  40  of exemplary operations in a process of providing shared landmark user interfaces. Additional, fewer, or different operations may be performed in accordance with alternative embodiments. An operation  44  is performed in which a user interface (UI) application programming interface (API) is accessed. The UI API controls and activates common user interface (U) dialogs.  
         [0023]     In an operation  46 , a common UI dialog is requested by the application. Example dialogs can include a dialog for browsing, selecting, creating, showing, and other various functions. After operation  46 , an operation  48  is performed in which access to landmark storage is provided such that the landmark is available to the application. Landmarks can be physical locations, such as locations on a map. However, the operations of  FIG. 4  can also apply to any user data. Landmarks are used as an example only.  
         [0024]     This detailed description outlines exemplary embodiments of a method, device, and system for shared landmark user interfaces. In the foregoing description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It is evident, however, to one skilled in the art that the exemplary embodiments may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to facilitate description of the exemplary embodiments.  
         [0025]     While the exemplary embodiments illustrated in the Figures and described above are presently preferred, it should be understood that these embodiments are offered by way of example only. Other embodiments may include, for example, different techniques for performing the same operations. The invention is not limited to a particular embodiment, but extends to various modifications, combinations, and permutations that nevertheless fall within the scope and spirit of the appended claims.