The present invention relates to displaying user interface (UI) components, more specifically, to displaying UI components moving in a display area based on an attribute of the display area.
Currently, many personal computers apply a window system. In the window system, users can do multiple tasks simultaneously while maintaining multiple windows on a display and switching the windows using an input device such as a mouse or a keyboard. To simplify window control, a tabbed document interface (TDI) application may be used. A TDI application collectively controls multiple child windows with tabs under a single parent window.
According to an embodiment of the present invention, there is provided an apparatus including a component controller and a dynamic controller. The component controller displays a balloon component in a display area. The balloon component corresponds to a window component displayed in the display area. The balloon component and the window component are to be selected by a user. The dynamic controller changes a behavior of the balloon component on the basis of an environmental attribute.
According to another embodiment of the present invention, there is provided a computer-implemented method for displaying icons. The method displays, on a display area, a window including a first icon. The method receives, from a user, a display request to display a second icon corresponding to the first icon. The second icon enables the user to select the first icon. The second icon is visually different from the first icon. The method displays, in response to the display request, the second icon on the display area.
According to still another embodiment of the present invention, there is provided a computer program product for displaying components. The computer program product includes a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by a computer to cause the computer to display a balloon component in a display area. The balloon component corresponds to a window component displayed in the display area. The balloon component and the window component are to be selected by a user. The program instructions are executable by a computer to further cause the computer to change a behavior of the balloon component on the basis of an environmental attribute.
Currently available techniques exemplary embodiments of the present invention will be described in detail with reference to the attached drawings.
It is to be noted that the present invention is not limited to these exemplary embodiments to be given below and may be implemented with various modifications within the scope of the present invention. In addition, the drawings used herein are for purposes of illustration, and may not show actual dimensions.
If a user selects one of the tabs 500, the corresponding panel is displayed in the application window 511 or 513. For example, if the user selects the second tab 533, the panel of A2 appears as shown in
The applications displaying the application windows 511 and 513 in the presentation space 51 may be any application, such as a web browser, a document creation application, a spread sheet application, a database application, or a presentation application. In this exemplary embodiment, the applications displaying the application windows 511 and 513 are assumed to be the same application, but different applications may display the application windows 511 and 513, respectively. The contents within the panels displayed in the application windows 511 and 513 may be any contents such as a web page, an e-mail, a document, a spread sheet, a slide, a memo, or an address book.
If the number of the tabs 500 in the application windows 511 and 513 increases, accessibility to each of the tabs 500 may be decreased. For example, it may take a longer time for the user to find a particular tab. Also, the size of each of the tabs 500 becomes small so that the space for the text such as the title becomes limited.
As shown in
To improve accessibility to the tabs 500, this exemplary embodiment displays other selectable UI components i.e. balloons 550 in the presentation space 51, as shown in
The presentation space 51, as defined as the 3D virtual space, has a 3D coordinate. That is to say, a distant object in the presentation space 51 is displayed small, while a nearby object is displayed large. Further, the 3D virtual space is assumed as in the atmosphere. Accordingly, if the user places a fan 591 (a function tool for the extraction; described later), a virtual wind (indicated by an arrow 595 in
The balloons 550 correspond to the tabs 500, respectively. In
The balloons 550 have a function for allowing easy access to a target panel. More specifically, if the user selects one of the balloons 550, the panel (part) tabbed with the corresponding one of the tabs 500 reacts in a selected way. For example, if the user points, e.g. clicks one of the balloons 550, the corresponding panel or the window comes frontward in the 3D virtual space. More specifically, if the user selects the balloon 553 tied to the second tab 533, the panel tabbed with the second tab 533 is displayed in the application window 511. That is to say, the balloons 550 and the tabs 500 have a similar function to switch the panels by selecting them. The panels are examples of the same image in the display area. Further, if the user grabs, e.g. drags one of the balloons 550, the corresponding panel or the window may be pulled frontward. Also, if the user grabs and enlarges e.g. pinches out one of the balloons 550, the corresponding panel or the window may be enlarged.
The balloons 550 may slightly move (sway) in the 3D virtual space. In other words, behavior of the balloons 550 changes in the 3D virtual space. Behavior includes any motion of the balloons 550 (first components or balloon components), such as sway, rotation, swell or spin. This enables the user to view all of the balloons 550 if the user waits for a predetermined time period. For example, while the balloon 553 overlaps the balloon 551 in
Further, as shown in
The processing device 3 may include a UI components controller 10, an event detector 30, and a display controller 50. The UI components controller 10 performs a selected process to control the UI components displayed in the display 7. The event detector 30 detects an event, i.e. receives an input from the input device 5 such as a mouse or a keyboard, and outputs the input data to the UI components controller 10. The display controller 50 communicates with the UI components controller 10 and controls the display 7. The event detector 30 is an example of a receiver.
The UI components controller 10 may include a collector 110, an extractor controller 130, a conditioner 150, and an effect controller 170. Note that the conditioner 150 is an example of a dynamic controller. The effect controller 170 is an example of a component controller. The extractor controller 130 and the effect controller 170 are examples of a switch.
The collector 110 collects and stores UI components information. The UI components information is information on the attribute of the UI components (e.g. the tabs 500 in
The attribute of the UI components may include appearance condition and usage condition of the UI components. The appearance condition may include the position of the UI components in the presentation space 51, the size of the UI components, and the color of the UI components. The usage condition of the UI components may include a frequency of use of each UI component, and a time when each UI component was used last.
The extractor controller 130 screens out or extracts the UI components information from the collector 110. The extractor controller 130 receives an input of parameters of the extraction (described later) via the event detector 30. Based on the received input, the extractor controller 130 calculates the parameters of the extraction and outputs the parameter data to the display controller 50 and the effect controller 170. The extractor controller 130 extracts the UI components dynamically and outputs the updated data. For example, the extractor controller 130 outputs an extractor setup. In other words, the extractor controller 130 outputs the data of the position of the fan 591 in the presentation space 51 (refer to
The conditioner 150 defines the presentation space 51. The conditioner 150 receives an input of parameters (definition) of the presentation space 51 via the event detector 30. Based on the received input, the conditioner 150 calculates the parameters of the presentation space 51 and outputs the parameter data to the display controller 50. In this exemplary embodiment, the conditioner 150 defines the presentation space 51 as the 3D virtual space with the atmosphere. As mentioned above, wind can blow in this 3D virtual space. That is to say, the atmosphere in the 3D virtual space can move in a predetermined direction. Here, the conditioner 150 may receive the input of the parameters of the 3D virtual space such as width, height, and depth of the 3D virtual space, and barometric pressure via the event detector 30.
The effect controller 170 sets the UI effects, i.e. the balloons 550 (refer to
The linking portion 175 determines which one of the balloons 550 is to be tied to which one of the UI components (the tabs 500) with the strings 570. The linking portion 175 also determines the shape of the strings 570.
The information display portion 177 determines the information shown in the balloons 550. The information to be shown may include the text indicating one of the tabs 500 to which one of the balloons 550 is tied. Depending on the size of the balloons 550, the information display portion 177 may adjust the size or the number of the characters shown in the balloons 550.
The appearance adjusting portion 179 determines the appearance of the balloons 550, such as a shape or a color. Depending on the attribute of the tabs 500, the appearance adjusting portion 179 may adjust the appearance of the balloons 550.
Referring to
The setup operation is configured to set up the UI components controller 10. More specifically, the extractor controller 130, the conditioner 150, and the effect controller 170 of the UI components controller 10 perform the setup operation, for example, when the computer system 1 is activated.
As shown in the
The extract operation is configured to extract the UI components information to display the UI effects. More specifically, the extractor controller 130 and the effect controller 170 perform the extract operation. In one embodiment, the extractor controller and the effect controller perform the extract operation when the event detector 30 detects the event, i.e. receives an input from the input device 5.
As shown in
If the effect controller 170 receives the data from the extractor controller 130 (step 605), the effect controller 170 calculates the property (level) of the UI effects, using the parameters of the UI effects that have been set at step 503 (step 606). The effect controller 170 displays the UI effects, i.e. the balloons 550 in the presentation space 51 via the display controller 50 (step 607).
In this exemplary embodiment, the user may change the parameters of the extraction and the UI effects via the input device 5, after the balloons 550 are displayed in the presentation space 51. If the input receiver 131 of the extractor controller 130 or the input receiver 171 of the effect controller 170 detects that these parameters are changed, the extractor controller 130 and the effect controller 170 execute the above extract operation.
In this exemplary embodiment, the event detected by the extractor controller 130 at step 601 is an example of a display request to display a second icon corresponding to the first icon.
As shown in
In this exemplary embodiment, after the panel of the corresponding UI component is displayed, the effect controller 170 hides the balloons 550. In other words, the extracting function is turned off to restore the normal application windows 511 and 513 (refer to
As depicted with respect to
As shown in
The wind attribute (one example of the environmental attribute) is a criteria for screening by which the UI components having a corresponding attribute is to be extracted. The user can choose the wind attribute among frequency, timing and color in the sub-window 593A. The frequency is the frequency of use of the target UI component. The timing is the time when the target UI component was used last, in other words, elapsed time from the last use. The color is the displayed color of the target UI component.
The target icon type (one example of the environmental attribute) is the type of the UI components to be extracted. The user can choose the UI component type among tab, button, and pull down menu in the sub-window 593B.
The wind level (one example of the environmental attribute) is the parameter of the power of the wind, i.e. the strength of screening. The user can set the wind level at high or low in the sub-window 593C. Note that if the wind level is changed, the shape of the balloons 550 may change accordingly.
Here, the parameter setting portion 133 of the extractor controller 130 displays the window 593 for setting the parameters of the extraction if the input receiver 131 receives the input from the event detector 30. For example, the window 593 appears if the user right-clicks the fan 591 displayed in the presentation space 51. Then the user can set the above parameters, i.e. the wind attribute, the target icon type, and the wind level, in the window 593. Further, the fan 591 has a function of controlling ON and OFF of the extraction (screening) function. For example, if the user left-clicks the fan 591, the extractor controller 130 stops the extraction operation. That is to say, the balloons 550 disappear from the presentation space 51.
As shown in
If the position of the fan 591 changes, the position of the balloon 550 changes because the balloon 550 is blown in the direction of the generated wind. Note that the fan 591 may be of any appearance; the fan 591 may take an appearance of a weathercock, a flag, a streamer, a compass, or an arrow. Besides or instead of the fan 591, tracer particles, for example cherry blossom petals, can be flown in the space for the user to visually understand the wind direction and the wind level.
As shown in
As shown in
As mentioned above, the fan 591 blows the wind to screen out the tabs 500 based on the attribute of the tabs 500 to display the balloons 550. Depending on the attribute of the tabs 500, the appearance of the balloons 550 may change.
In
The displayed size of the balloons 651, 653, 655 may change depending on their depth in the 3D virtual space. For example, in
The appearance of the balloons 550 may change depending on the attribute of the presentation space 51, i.e. the parameters of the wind type. In other words, the balloons 550 have a functional attribute corresponding to the environmental attribute of the 3D virtual space. In this exemplary embodiment, the appearance of the balloons 550 changes depending on the setting of the fan 591. In
If the wind level of the fan 591 is set at the low level, the balloons 550 are displayed in a substantially round shape, blown by a breeze and swaying back and forth and side to side (refer to
The elongated balloons 750 are capable of showing more texts compared to the balloons 550 in
All balloons 750 are aligned as shown in
As shown in
As shown in
In
As mentioned above, the balloons 550 may sway in the wind. Beside or instead of the swaying motion, the balloons 550 may rotate like a balloon 580 as shown in
As an alternative embodiment, various modifications are available. In the above exemplary embodiment, the extract operation stars if the event detector 30 detects a user input. However, the extract operation may start without the user input. For example, if the number of the tabs 500 in the application windows 511 and 513, or the number of the application windows exceeds a threshold, the extract operation may start.
The balloons 550 may be displayed not to overlap each other. In such a modification, the balloons 550 may deform if the balloons 550 contact each other in the sway motion. The stiffness (degree of deformation) of the balloons 550 may vary depending on the attribute, e.g. the frequency of use of the corresponding one of the tabs 500. For example, one of the balloons 550 tied to a frequently used tab may be hard and not deform easily, while another one of the balloons 550 tied to a less frequently used tab may be soft and deform easily.
The balloons 550 may be compressed, in other words the size of the balloons 550 may decrease, if the barometric pressure in the 3D virtual space is high.
The balloons 550 may be transparent or translucent. This modification allows the user to read the text in an overlapped area of the balloons 550 even if the balloons 550 overlap each other.
In the above exemplary embodiment, the wind blows entirely in the 3D virtual space. Instead, the wind may blow in a specific part of the 3D virtual space. This enables the wind to blow toward some of the tabs 500 displayed in the 3D virtual space. In this case, some of the tabs 500 blown by the wind react to display the balloons 550 while the other tabs 500 out of the wind do not react to display the balloons 550.
In the above exemplary embodiment, each of the balloons 550 is uniquely connected and associated with each of the tabs 500. Instead, multiple balloons 550 may be tied to one of the tabs 500. Here, in the known window system, if the number of the tabs 500 in the application windows 511 and 513 increases, a collective tab, i.e. a grouping tab indicating multiple panels collectively may be shown in the right end of the tabs 500. In this case, multiple balloons 550 corresponding to the multiple panels may be displayed so as to be tied to the collective tab.
In the above exemplary embodiment, the balloons 550 may sway and rotate in the wind, but the movement (behavior) of the balloons is not limited thereto. For example, the balloons 550 may spin around as if being hit by a tornado. Alternatively, the balloons 550 may be in a static condition, that is to say the balloons 550 may stop in the 3D virtual space. In such a modification, the user may select a mode regarding the motion of the balloons 550 between a sway mode and a static mode.
In the above explanation referring to
In the above explanation, various sets of the parameters have been described. Each set of the parameters may include a single parameter. For example, the parameters of the extraction may include a single parameter, e.g. the wind attribute.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions 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 any type of network, including 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). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein 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 readable program instructions.
These computer readable 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 readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart 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 instructions, which comprises one or more executable instructions for implementing the specified logical function(s). 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 that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Here, the present invention may be realized using all hardware or all software. It can also be realized using a combination of both hardware and software. The present invention may also be realized as a computer, data processing system, or computer program product. The computer program product may be stored and distributed on a non-transitory computer-readable medium. Here, the medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (device or equipment), or a transmission medium. Examples of the non-transitory computer-readable medium include semiconductors, solid-state storage devices, magnetic tape, removable computer diskettes, random-access memory (RAM), read-only memory (ROM), rigid magnetic disks, and optical disks. Examples of optical disks at the present time include compact disk read-only memory (CD-ROM) disks, compact disk read/write (CD-R/W) disks, and DVDs.
The present invention has been explained above using an exemplary embodiment, but the technical scope of the present invention is not limited in any way by this exemplary embodiment. It should be clear to a person of skill in the art that various modifications and substitutions can be made without departing from the spirit and scope of the present invention.