Seamless application switching that saves perspectives
The application switching engine addresses the inefficiencies of manual context switching by using machine learning to seamlessly transition between applications, maintaining user perspective and improving interaction efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- ORACLE INT CORP
- Filing Date
- 2021-05-20
- Publication Date
- 2026-05-25
AI Technical Summary
Switching between different applications in systems managed by a single user is cumbersome and requires manual context switching, as each component has a separate application, leading to inefficiencies in accessing different functionalities.
An application switching engine that seamlessly transitions between applications while maintaining perspective, using machine learning to identify target objects and select appropriate applications based on user input, such as zooming, and integrating with external data sources to provide context-aware switching.
Enables smooth transitions between applications by preserving user perspective, enhancing user experience and efficiency by automatically selecting relevant applications based on user interactions and object focus.
Smart Images

Figure 0007864699000001 
Figure 0007864699000002 
Figure 0007864699000003
Abstract
Description
Technical Field
[0005] , , , ,
[0001] This disclosure relates to switching applications for presenting different types of information or different command sets for the same object.
Background Art
[0002] Background Systems managed by a single user often include multiple components, and each component has a separate application used to manage the functionality of that component and / or access that functionality. The user must switch between different applications to access the different functionality of the various components. Switching applications can be cumbersome and requires the user to manually switch the context and identify the location of the components in the new application.
[0003] The approaches described in this section are approaches that can be pursued, but are not necessarily approaches that have been previously conceived or pursued. Thus, unless otherwise indicated, none of the approaches described in this section should be assumed to be eligible as prior art merely by virtue of being included in this section.
[0004] In the figures of the accompanying drawings, embodiments are illustrated by way of example and not limitation. References to "an" or "one" embodiment in this disclosure are not necessarily references to the same embodiment, and they mean at least one.
Brief Description of the Drawings
[0005] [Figure 1] A diagram showing a system for application switching that preserves perspective according to one or more embodiments. [[ID=This figure shows an exemplary set of operations for application switching that preserves perspectives, according to one or more embodiments. [Figure 3A] This figure shows an example of application switching that preserves perspectives, according to one or more embodiments. [Figure 3B] This figure shows an example of application switching that preserves perspectives, according to one or more embodiments. [Figure 3C] This figure shows an example of application switching that preserves perspectives, according to one or more embodiments. [Figure 3D] This figure shows an example of application switching that preserves perspectives, according to one or more embodiments. [Figure 4] This is a block diagram showing a computer system according to one or more embodiments. [Modes for carrying out the invention]
[0006] Detailed explanation In the following description, many specific details are given for illustrative purposes to provide a complete understanding. One or more embodiments may be practiced without these specific details. Features described in one embodiment may be combined with features described in a different embodiment. In some examples, well-known structures and apparatus are described with reference to block diagrams to avoid unnecessarily obscuring the invention: 1.Overview 2. System Architecture 3. Switching applications to save perspectives 4. Exemplary Embodiments 5. Other; Expansion 6. Hardware overview.
[0007] 1.Overview Different applications may present different information about an object and / or provide different functionality with respect to that object. For example, a mapping application may display the location of a warehouse on a map. A warehouse management application may display details such as the current set of trucks loading / unloading at the warehouse or the warehouse's inventory.
[0008] One or more embodiments seamlessly switch between different applications while maintaining perspective, such as focusing on a specific object. In the example above, the system switches from displaying an interface generated by a map application to an interface displayed by a warehouse management application. The application switch may be triggered, for example, in response to zooming in or zooming out. The map application may initially display multiple streets and buildings (including warehouses). When the system receives user input to zoom in on a warehouse, the system increases the size of the warehouse in the map application. However, when the system receives further user input to zoom in beyond a threshold zoom level, the system switches from (a) displaying a map generated by the map application to (b) displaying a warehouse management interface generated by the warehouse application. The warehouse management interface presents information about the warehouse and may accept commands for managing the warehouse. When the user zooms out, the system may switch back from the warehouse management application to the map application.
[0009] One or more embodiments select a new application for seamless switching based on a target object. For example, when the system detects user input zooming in on a tourist destination, the system may display information corresponding to that destination, presented by a travel-centric application. This information may be displayed within an interface generated by the travel-centric application.
[0010] One or more embodiments described herein and / or claimed may not be included in this General Overview section.
[0011] 2. Architecture Overview Figure 1 shows a system 100 for application switching that preserves perspectives, according to one or more embodiments. As shown in Figure 1, the system 100 includes an application switching engine 102, a user interface 116, an external data source 120, and various components thereof. In one or more embodiments, the system 100 may include more or fewer components than those shown in Figure 1. The components shown in Figure 1 may be local or remote to each other. The components shown in Figure 1 may be implemented in software and / or hardware. Each component may be distributed across multiple applications and / or machines. Multiple components may be combined into a single application and / or machine. An operation described with respect to one component may instead be performed by another component.
[0012] In one or more embodiments, the user interface 116 refers to hardware and / or software configured to facilitate communication between the user and the application switching engine 102. The user interface 116 may be used by a user accessing the interface (e.g., a dashboard interface) for work and / or personal activities. The user interface 116 may be associated with one or more devices for presenting a visual medium, such as a display 118, including a monitor, television, or projector. The user interface 116 provides user interface elements and receives input through the user interface elements. Examples of interfaces include graphical user interfaces (GUI), command line interfaces (CLI), haptic interfaces, and voice command interfaces. Examples of user interface elements include checkboxes, radio buttons, dropdown lists, list boxes, buttons, toggles, text fields, date and time selectors, command lines, sliders, pages, and forms.
[0013] In one embodiment, different components of the user interface 116 are specified in different languages. The behavior of user interface elements is specified in a dynamic programming language such as JavaScript®. The content of user interface elements is specified in a markup language such as hypertext markup language (HTML) or XML User Interface Language (XUL). The layout of user interface elements is specified in a stylesheet language such as Cascading Style Sheets (CSS). Alternatively, the user interface 116 is specified in one or more other languages such as Java®, C, or C++.
[0014] In one or more embodiments, the application switching engine 102 refers to hardware and / or software configured to perform operations for seamlessly switching application interfaces displayed to the user, as described herein. An example of operations for selecting query results to be displayed to the user is described below with reference to Figure 2.
[0015] In one embodiment, the application switching engine 102 includes an interface display component 104. The interface display component 104 may refer to hardware and / or software configured to perform operations (including operations incorporated herein by reference) for displaying an application interface to the user.
[0016] In one embodiment, the application switching engine 102 includes an object identification component 106. The object identification component 106 may refer to hardware and / or software configured to identify the characteristics of an object associated with a displayed interface element.
[0017] In one embodiment, the application switching engine 102 includes a command interpretation component 108. The command interpretation component 108 may refer to hardware and / or software configured to receive and interpret commands received from a user.
[0018] In one embodiment, the application switching engine 102 includes an application selection component 110. The application selection component 110 may refer to hardware and / or software configured to select an application to display to the user.
[0019] In one embodiment, one or more components of the application switching engine 102 use the machine learning engine 112. Machine learning includes various techniques in the field of artificial intelligence that are implemented by a computer to solve problems with variable inputs and handle processes independent of the user.
[0020] In some embodiments, the machine learning engine 112 trains a machine learning model 114 to perform one or more operations. Training the machine learning model 114 uses training data to generate a function that calculates a corresponding output when one or more inputs to the machine learning model 114 are provided. The output may correspond to a prediction based on previous machine learning. In one embodiment, the output includes labels, classifications, and / or categorizations assigned to the provided inputs. The machine learning model 114 corresponds to a learned model for performing a desired operation (e.g., labeling, classifying, and / or categorizing inputs). The application switching engine 102 may use multiple machine learning engines 112 and / or multiple machine learning models 114 for different purposes.
[0021] In one embodiment, the machine learning engine 112 may use supervised learning, semi-supervised learning, unsupervised learning, reinforcement learning, and / or another training method, or a combination thereof. In supervised learning, the labeled training data includes input / output pairs where each input is labeled with a desired output, also referred to as a monitoring signal (e.g., a label, classification, and / or categorization). In semi-supervised learning, some inputs are associated with a monitoring signal and other inputs are not. In unsupervised learning, the training data does not include a monitoring signal. Reinforcement learning uses a feedback system where the machine learning engine 112 receives positive and / or negative reinforcement in a process of attempting to solve a particular problem (e.g., optimizing performance in a particular scenario according to one or more predefined performance criteria). In one embodiment, the machine learning engine 112 first uses supervised learning to train the machine learning model 114 and then uses unsupervised learning to continuously update the machine learning model 114.
[0022] In one embodiment, the machine learning engine 112 may use many different techniques to label, classify, and / or categorize the input. The machine learning engine 112 may transform the input into a feature vector that describes one or more properties ("features") of the input. Based on the feature vector, the machine learning engine 112 may label, classify, and / or categorize the input. Alternatively, or in addition to the above, the machine learning engine 112 may use clustering (also called cluster analysis) to identify commonalities in the input. The machine learning engine 112 may group (i.e., cluster) the input based on those commonalities. The machine learning engine 112 may use hierarchical clustering, k-means clustering, and / or other clustering methods, or a combination thereof. In one embodiment, the machine learning engine 112 includes an artificial neural network. The artificial neural network includes a number of nodes (also called artificial neurons) and edges between the nodes. The edges may be associated with corresponding weights that represent the strength of the connections between the nodes, which the machine learning engine 112 modulates as machine learning progresses. Alternatively, or in addition to the above, the machine learning engine 112 may include a support vector machine, which represents the input as a vector. The machine learning engine 112 may label, classify, and / or categorize the input based on the vector. Alternatively, or in addition to the above, the machine learning engine 112 may use a naive Bayes classifier to label, classify, and / or categorize the input. Alternatively, or in addition to the above, given a particular input, the machine learning model may apply a decision tree to predict an output for the given input. Alternatively, or in addition to the above, in situations where it is impossible or impractical to label, classify, and / or categorize the input between a fixed set of mutually exclusive options, the machine learning engine 112 may apply fuzzy logic. The machine learning models 114 and techniques described above are for illustrative purposes only and should not be construed as limiting one or more embodiments.
[0023] In one embodiment, a machine learning model may be trained to determine a specific application from among several applications to use when displaying an interface to the user. For example, a machine learning model may be trained based on applications that have been previously used to release and / or interact with specific objects and / or objects of a particular class, and may select an application for release and / or interaction based on historical data.
[0024] In some embodiments, the machine learning engine 112 applies different inputs to the machine learning model 114, so the corresponding output is not necessarily accurate. As an example, the machine learning engine 112 may use supervised learning to train the machine learning model 114. After training the machine learning model 114, the output is always accurate if the next input is identical to an input that was included in the labeled training data, and the output is identical to the monitoring signal in the training data. If the input is different from an input that was included in the labeled training data, the machine learning engine 112 may produce a corresponding output that is inaccurate or has uncertain accuracy. In addition to producing a specific output for a given input, the machine learning engine 112 may be configured to produce a metric that represents the certainty (or lack thereof) of the accuracy of the output. The certainty metric may include a numerical score, a Boolean value, and / or other types of metrics that represent the certainty (or lack thereof) of the accuracy of the output.
[0025] In one embodiment, the application switching engine 102 is configured to receive data from one or more external data sources 120. The external data sources 120 refer to hardware and / or software that operate independently of the application switching engine 102. For example, the hardware and / or software of the external data source 120 may be under the control of an entity different from the entity controlling the application switching engine 102 (e.g., a different company or other type of organization). The external data source 120 may supply data associated with one or more applications. An example of an external data source 120 supplying data to the application switching engine 102 may include a third-party database. Many different types of external data sources 120 may supply different types of data.
[0026] In one embodiment, the application switching engine 102 is configured to retrieve data from an external data source 120 by "pulling" the data via the application programming interface (API) of the external data source 120 using user credentials provided by the user for that particular external data source 120. Alternatively, or in addition to this, the external data source 120 may be configured to "push" data to the application switching engine 102 via the query suggestion service API using access keys, passwords, and / or other types of credentials provided by the user to the external data source 120. The application switching engine 102 may be configured to receive data from the external data source 120 in a different manner.
[0027] In one embodiment, System 100 is implemented on one or more digital devices. The term “digital device” generally refers to any hardware device, including a processor. A digital device may refer to a physical device or a virtual machine on which an application runs. Examples of digital devices include computers, tablets, laptops, desktops, netbooks, servers, web servers, network policy servers, proxy servers, general-purpose machines, function-specific hardware devices, hardware routers, hardware switches, hardware firewalls, hardware network address translators (NATs), hardware load balancers, mainframes, televisions, content receivers, set-top boxes, printers, mobile phones, smartphones, personal digital assistants (PDAs), wireless receivers and / or transmitters, base stations, communication management devices, routers, switches, controllers, access points, and / or client devices.
[0028] 3. Switching applications to save perspectives Figure 2 shows an exemplary set of actions for seamless application switching that preserves perspective, according to one or more embodiments. The one or more actions shown in Figure 2 may be modified, rearranged, or omitted collectively. Therefore, a particular sequence of actions shown in Figure 2 should not be construed as limiting the scope of one or more embodiments.
[0029] In one embodiment, a system (for example, one or more components of system 100 shown in Figure 1) may display an interface containing a set of objects (operation 202). The interface may be generated and displayed by a first application. The first set of objects may be displayed in many contexts, including, for example, a geographic map or a functional diagram such as a flowchart, Gantt chart, or organizational chart. There are many ways to display a set of objects that provide a set of objects in any context. In an embodiment, the first application used to display the set of objects may be selected from multiple applications. The selected application may be an application that allows the user to perform an operation and / or provide inputs associated with one or more of the displayed objects (for example, all or nearly all). In a particular example, the first application may be a network logistics application that shows all objects located within a network accessible to the user.
[0030] In this embodiment, each object may be associated with one or more types. For example, a warehouse object may be associated with a warehouse type, and a truck object may be associated with a truck type. There are many object types that can be used.
[0031] In embodiments, a user may navigate the interface using navigation commands. For example, a user may pan a set of objects as if they were on a physical map or chart, as is known in the art. In addition, a user may zoom in and / or zoom out on a set of objects.
[0032] The system may receive a command that causes the interface to zoom in or zoom out on a particular subset of a set of objects (operation 204). A command to zoom in or zoom out may specify a particular zoom level associated with the zoom. In embodiments, the zoom level may be specified, for example, as a multiplier of the intrinsic size of the displayed set (e.g., 0.25×, 0.5×, 2×, 3×, 4×, etc.) or as a percentage of the intrinsic size of the displayed set (e.g., 25%, 50%, 200%, 300%, 400%, etc.).
[0033] The system may determine whether the requested zoom level exceeds a threshold (operation 206). For example, the threshold may be based on one or more of the following: the size of the object, the size of the display, and / or the number of objects presented on the display. There are many different factors that may be used to determine the threshold.
[0034] If the requested zoom level does not exceed a threshold ("No" in behavior 206), the system may use the first application to display a zoomed version of a set of objects as required by the zoom in or zoom out request (behavior 208). Displaying a zoomed version of a set of objects may include displaying a subset of the set of objects based on the zoom level, display size, and resolution.
[0035] If the requested zoom level exceeds a threshold (yes, in operation 206), the system may identify the target object associated with the zoom command (operation 210). The target object may be identified, for example, based on the object that remains on the display after the requested zoom operation.
[0036] The system may select a new application to display object properties and / or user input elements for performing an action associated with the identified object (action 212). The new application may be selected from multiple applications.
[0037] In some embodiments, a new application may be selected based at least partially on one or more attributes of the determined object. For example, a new application may be selected based on the object type associated with the object (e.g., warehouse object, truck object, etc.) or the object name associated with the object (for example, a particular object may have a corresponding application used to display the characteristics of that particular object and / or to enable the input of commands to perform actions associated with that particular object).
[0038] In some embodiments, a new application may be selected based at least partially on attributes associated with the user. For example, the user may be in a specific mode (e.g., a view-only mode), and therefore the new application may be selected as one that only allows viewing the properties of identified objects.
[0039] The system may display a second interface through a selected new application (operation 214). The second interface generated by the new application may preserve the perspective of the first interface generated by the first application. For example, immediately before switching applications, the first application may be presenting information related to a particular object, or otherwise focusing on a particular object. The new application may present information for the same particular object, thereby preserving the perspective. The particular object may be identified in messages from the first application to the new application, or from the management application to the new application. In one embodiment, an API call for the new application may include the identification of a particular object. Preserving the perspective may further include the same set of controls being used to trigger the application switch. For example, zoom in / zoom out buttons may be presented or superimposed in both the first and new applications. Zooming in through the interface presented by the first application may trigger a switch to the new application. Zooming out from the interface presented by the new application may trigger a switch back to the first application.
[0040] The second interface generated by the new application may be limited to interacting with the identified object. That is, the second interface does not include any characteristics or user input elements associated with any object other than the identified object from a set of objects. In some embodiments, the second interface includes one or more characteristics associated with the identified object, or user input elements for performing actions associated with the identified object. In some embodiments, the characteristics and / or user input elements displayed through the new application are characteristics and / or user interface elements that were not displayed by the first application.
[0041] In some embodiments, displaying a second interface through a new application may involve the first application transferring control to the new application so that the new application can display the second interface. Control may be transferred directly from the first application to the new application via direct communication between these two applications. Control may also be transferred via communication with a management application.
[0042] Alternatively, the system may rely on a management application to manage the display of various interfaces. Displaying a second interface through a new application may include the management application displaying the second interface generated by the new application superimposed on the first interface generated by the first application. In some embodiments, the second interface completely covers the first interface so that the first interface is no longer visible. Alternatively, the second interface may partially cover the first interface so that at least a portion of the first interface remains visible.
[0043] In some embodiments, displaying a second interface via a new application may include the management application simultaneously displaying both the second interface generated by the new application and the first interface generated by the first application. For example, in a windowed system, the management application may display a first window containing the first interface generated by the first application and a second window containing the second interface generated by the new application.
[0044] In one embodiment, the system may be able to return from a second interface provided by a new application to a first interface provided by the first application. That is, while displaying the second interface, the system may receive a second zoom command via the second interface requesting to zoom out (for example, to a zoom level less than 100%). In response to receiving the zoom-out command, the system may use the first application to display the first interface containing a set of objects.
[0045] 4. Exemplary Embodiments For clarity, a detailed example is provided below. The components and / or operations described below should be understood as one specific example that may not apply to certain embodiments. Therefore, the components and / or operations described below should not be construed as limiting the scope of any of the claims.
[0046] Figures 3A-3D show specific examples according to one or more embodiments. As shown in Figure 3A, the system displays a geographic map including warehouse and truck objects in addition to geographical features such as roads, via an initial application (e.g., a network logistics application).
[0047] As shown in Figure 3B, in response to a zoom-in command from the user focusing on a warehouse object, the system displays a second interface using a new application (e.g., a warehouse management application). The warehouse management application visualizes attributes associated with the warehouse, including details about the warehouse's trucks, warehouse rooms, current inventory, aisles, etc.
[0048] Figure 3C shows a view of a specific subcomponent of the warehouse. In particular, the user can zoom further into the warehouse, and a third application (e.g., an inventory management application) will display information related to the inventory located within a specific part of the warehouse. Now, returning to the first interface shown in Figure 3A, in response to the user providing a zoom-in command to zoom in on the truck object, the system may display a fourth interface generated by a fourth application (e.g., a traffic management application) used to manage the trucks. Thus, the user can seamlessly transition between multiple applications without the need for uncomfortable and cumbersome transitions in perspective.
[0049] 5. Other; Expansion The embodiments are directed to a system having one or more devices, including a hardware processor, configured to perform any of the operations described herein and / or described in any of the claims.
[0050] In one embodiment, a non-temporary computer-readable storage medium includes instructions, when executed by one or more hardware processors, that cause the execution of any of the operations described herein and / or described in any of the claims.
[0051] Any combination of features and functionalities described herein may be used according to one or more embodiments. In the foregoing specification, embodiments have been described with reference to many specific details that may vary by implementation. Therefore, the specification and drawings should be considered illustrative rather than restrictive. The sole and exclusive indicator of the scope of this invention, and the scope of this invention as intended by the applicant, is the literal and equivalent scope of a set of claims arising from this application, including any subsequent amendments in the specific form in which such claims arise.
[0052] 6. Hardware Overview According to one embodiment, the techniques described herein are implemented by one or more dedicated computing devices. These dedicated computing devices may include one or more digital electronic devices such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or network processing units (NPUs) that are hardwired or permanently programmed to perform these techniques, or they may include one or more general-purpose hardware processors programmed to perform these techniques according to program instructions in firmware, memory, other storage devices, or a combination thereof. Such dedicated computing devices may also combine custom hardwired logic, ASICs, FPGAs, or NPUs with custom programming to perform these techniques. These dedicated computing devices may be desktop computer systems, portable computer systems, handheld devices, networking devices, or any other devices that incorporate hardwired logic and / or programmable logic to implement these techniques.
[0053] For example, Figure 4 is a block diagram showing a computer system 400 in which one embodiment of the present invention may be realized. The computer system 400 includes a bus 402 or other communication mechanism for communicating information and a hardware processor 404 coupled to the bus 402 for processing information. The hardware processor 404 may be, for example, a general-purpose microprocessor.
[0054] The computer system 400 also includes main memory 406, such as random access memory (RAM) or other dynamic storage device, coupled to bus 402 for storing instructions and information executed by processor 404. Main memory 406 may also be used to store temporary variables or other intermediate information during the execution of instructions by processor 404. Once such instructions are stored in a non-temporary storage medium accessible to processor 404, the computer system 400 becomes a dedicated machine customized to perform the operation specified by the instructions.
[0055] The computer system 400 further includes a read-only memory (ROM) 408 or other static storage device coupled to the bus 402 for storing static information and instructions for the processor 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to the bus 402 for storing information and instructions.
[0056] The computer system 400 may be coupled via a bus 402 to a display 412, such as a cathode ray tube (CRT), for displaying information to the computer user. An input device 414, including alphanumeric keys and other keys, is coupled to the bus 402 to communicate information and command selections to the processor 404. Another type of user input device is a cursor control device 416, such as a mouse, trackball, or cursor directional keys, for communicating directional information and command selections to the processor 404 and for controlling cursor movement on the display 412. This input device typically has two degrees of freedom on two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to determine its position in a plane.
[0057] The computer system 400 may implement the techniques described herein using customized hardwired logic, one or more ASICs or FPGAs, firmware and / or programmable logic, which, when combined with the computer system, make the computer system 400 a dedicated machine or programmable to become a dedicated machine. According to one embodiment, the techniques described herein are performed by the computer system 400 in response to the processor 404 executing one or more sequences of one or more instructions contained in the main memory 406. Such instructions may be read into the main memory 406 from another storage medium, such as a storage device 410. The execution of the sequence of instructions contained in the main memory 406 causes the processor 404 to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used instead of or in combination with software instructions.
[0058] As used herein, the term “storage medium” refers to any non-temporary medium that stores data and / or instructions that cause a machine to operate in a particular manner. Such storage mediums may include non-volatile media and / or volatile media. Non-volatile media include, for example, optical or magnetic disks such as storage device 410. Volatile media include dynamic memory such as main memory 406. Common forms of storage mediums include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes, or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media having a pattern of holes, RAM, PROMs, and EPROMs, flash EPROMs, NVRAMs, any other memory chips or cartridges, associative memory (content-addressable memory: CAM), and ternary content-addressable memory (TCAM).
[0059] A storage medium is different from a transmission medium, but can be used in conjunction with one. A transmission medium is involved in the transfer of information between storage mediums. For example, a transmission medium includes coaxial cables, copper wires, and optical fibers, including the wires that make up bus 402. A transmission medium can also take the form of sound waves or light waves, such as those generated during radio and infrared data communications.
[0060] Various forms of media may be involved in transporting one or more sequences of one or more instructions to the processor 404 for execution. For example, instructions may initially be transported on a magnetic disk or solid-state drive of a remote computer. The remote computer may load the instructions into its dynamic memory and transmit them over a telephone line using a modem. A modem local to the computer system 400 may receive the data on the telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector may receive the data transported by the infrared signal, and appropriate circuitry may place the data on the bus 402. The bus 402 transports the data to the main memory 406, from which the processor 404 retrieves and executes the instructions. Instructions received by the main memory 406 may optionally be stored on the storage device 410 before or after execution by the processor 404.
[0061] The computer system 400 also includes a communication interface 418 coupled to bus 402. The communication interface 418 provides bidirectional data communication coupling to a network link 420 connected to a local network 422. For example, the communication interface 418 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or modem for providing data communication connectivity to a corresponding type of telephone line. As another example, the communication interface 418 may be a local area network (LAN) card for providing data communication connectivity to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface 418 transmits and receives electrical, electromagnetic, or optical signals carrying digital data streams representing various types of information.
[0062] A network link 420 typically provides data communication to other data devices through one or more networks. For example, a network link 420 may provide a connection to a host computer 424 through a local network 422, or to data equipment operated by an Internet Service Provider (ISP) 426. The ISP 426 then provides data communication services through a global packet data communication network now commonly referred to as the “Internet” 428. Both the local network 422 and the Internet 428 use electrical, electromagnetic, or optical signals to carry digital data streams. Signals carrying digital data to and from the computer system 400, and signals on the network link 420 through the communication interface 418, are exemplary forms of transmission media.
[0063] The computer system 400 can send messages and receive data, including program code, through the network, network link 420, and communication interface 418. In the case of the internet, server 430 may transmit requested code for an application program through the internet 428, ISP 426, local network 422, and communication interface 418.
[0064] The received code may be executed by the processor 404 upon receipt, and / or stored in the storage device 410 or other non-volatile storage device for later execution.
[0065] In the aforementioned specification, embodiments of this invention have been described with reference to many specific details that may vary depending on the realization. Therefore, the specification and drawings should be considered illustrative rather than restrictive. The sole and exclusive indicator of the scope of this invention, and the scope intended by the applicant, is the literal and equivalent scope of the set of claims arising from this application, including any subsequent amendments in the specific form in which such claims arise.
Claims
1. A computer-readable program that includes instructions that, when executed by one or more hardware processors, cause an action to be performed, the action being: The first application displays a first interface that includes multiple interface elements, each representing multiple objects. The operation includes detecting a zoom-in command received by the first application that requests a zoom level for a first interface element among the plurality of interface elements, wherein the first interface element corresponds to a first object in the plurality of objects, and the operation further includes Determining that the requested zoom level exceeds the threshold, In response to determining that the requested zoom level exceeds the threshold, the second application displays a second interface corresponding to the first object, the second interface includes (a) characteristics associated with the first object that were not displayed by the first application, and (b) user input elements for performing actions associated with the first object that were not displayed by the first application. A computer-readable program in which the threshold is based on the number of objects presented on the first interface.
2. The computer-readable program according to claim 1, wherein the second interface does not include any characteristics or user input elements associated with any of the plurality of objects other than the first object.
3. The aforementioned operation further, While displaying the second interface, the system detects a zoom-out command received by the second application, A computer-readable program according to claim 1 or 2, wherein, in response to receiving the zoom-out command, the first application displays the first interface, which includes the plurality of interface elements each representing the plurality of objects.
4. The second application is a computer-readable program according to any one of claims 1 to 3, selected by a machine learning algorithm.
5. The computer-readable program according to any one of claims 1 to 4, wherein the operation further includes selecting the second application from a plurality of applications based on the object type of the first object, prior to the second application displaying the second interface.
6. The aforementioned operation further, The operation includes detecting a second zoom-in command received by the first application for zooming in on a second interface element among the plurality of interface elements, wherein the second interface element corresponds to a second object in the plurality of objects, and the operation further includes: The second zoom-in command is determined to exceed a specific zoom-in level, A computer-readable program according to any one of claims 1 to 5, comprising: a third application displaying a third interface corresponding to the second object in response to the second zoom-in command determining that the second zoom-in command exceeds a specific zoom-in level, wherein the third application is different from the second application.
7. The computer-readable program according to any one of claims 1 to 6, wherein the display of the second interface by the second application includes the management application switching from (a) displaying the first interface generated by the first application to (b) the second interface generated by the second application.
8. The computer-readable program according to any one of claims 1 to 6, wherein the second application displays the second interface, and the management application displays (a) the second interface generated by the second application, superimposed on the first interface generated by the first application.
9. The computer-readable program according to any one of claims 1 to 6, wherein the display of the second interface by the second application includes the management application displaying (a) the second interface generated by the second application and (b) the first interface generated by the first application simultaneously.
10. The computer-readable program according to any one of claims 1 to 6, wherein the display of the second interface by the second application includes the first application switching control to the second application.
11. The aforementioned operation further, Detecting a zoom-in command received by the second application that requests a second zoom level for the first interface element among the plurality of interface elements, Determining that the requested second zoom level exceeds the second threshold, A computer-readable program according to any one of claims 1 to 5, comprising: the third application displaying a third interface corresponding to the first object in response to determining that the requested second zoom level exceeds the threshold, wherein the third interface includes one or more of the following: (a) characteristics associated with the first object that were not displayed by the first and second applications, or (b) user input elements for performing actions associated with the first object that were not displayed by the first and second applications.
12. The computer-readable program according to any one of claims 1 to 11, wherein the first application displays the first interface, which includes the plurality of interface elements each representing the plurality of objects, and further includes displaying a geographic map including a plurality of icons representing a plurality of buildings.
13. A system comprising at least one device including a hardware processor, wherein the system is configured to perform an operation, and the operation is, The first application displays a first interface that includes multiple interface elements, each representing multiple objects. The operation includes detecting a zoom-in command received by the first application that requests a zoom level for a first interface element among the plurality of interface elements, wherein the first interface element corresponds to a first object in the plurality of objects, and the operation further includes Determining that the requested zoom level exceeds the threshold, In response to determining that the requested zoom level exceeds the threshold, the second application displays a second interface corresponding to the first object, the second interface includes (a) characteristics associated with the first object that were not displayed by the first application, and (b) user input elements for performing actions associated with the first object that were not displayed by the first application. The threshold is based on the number of objects presented on the first interface, in a system.
14. It is a method, The first application displays a first interface which includes multiple interface elements that each represent multiple objects, The method includes the step of detecting a zoom-in command received by the first application that requests a zoom level for a first interface element among the plurality of interface elements, wherein the first interface element corresponds to a first object in the plurality of objects, and the method further includes The steps include determining whether the requested zoom level exceeds a threshold, The steps include: determining that the requested zoom level exceeds the threshold, and in response to this, the second application displays a second interface corresponding to the first object, the second interface including (a) characteristics associated with the first object that were not displayed by the first application, and (b) user input elements for performing actions associated with the first object that were not displayed by the first application. The method described above is performed by at least one device including a hardware processor, A method wherein the threshold is based on the number of objects presented on the first interface.