Source: https://patents.google.com/patent/US9092112B2/en
Timestamp: 2019-10-18 21:53:43
Document Index: 143832496

Matched Legal Cases: ['§1', '§1', '§1', '§1', '§1', '§1', '§1', '§1', '§4', '§4', '§1', '§1', '§1', '§1', '§1', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4', '§4']

US9092112B2 - Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter - Google Patents
Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter Download PDF
US9092112B2
US9092112B2 US11/865,724 US86572407A US9092112B2 US 9092112 B2 US9092112 B2 US 9092112B2 US 86572407 A US86572407 A US 86572407A US 9092112 B2 US9092112 B2 US 9092112B2
US11/865,724
US20080072168A1 (en
Stephen A. Jacquot
1999-06-18 Priority to US09/335,640 priority Critical patent/US7278115B1/en
2007-10-01 Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
2007-10-01 Priority to US11/865,724 priority patent/US9092112B2/en
2008-01-16 Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JACQUOT, STEPHEN A., PROFFITT, DENNIS R., CONWAY, MATTHEW J., ROBERTSON, GEORGE G.
2008-03-20 Publication of US20080072168A1 publication Critical patent/US20080072168A1/en
2015-07-28 Publication of US9092112B2 publication Critical patent/US9092112B2/en
101700042694 LRC25 family Proteins 0 description 4
102100009939 LRRC25 Human genes 0 description 3
The advent of graphical user interfaces (or “GUIs”) provided a more intuitive way for people to interact with computers. The casual user no longer needed to learn syntactical rules and enter sequences of commands. As personal computers penetrated business to an ever greater degree, probably due to popular and time saving word processing and spreadsheet applications, operating systems began to employ user interfaces which used an office metaphor which included documents, folders, filing cabinets, trash cans, telephone directories, etc. These so-called desktop GUIs have served their users well over the past decade or so. However, in addition to using computers for data entry, storage, and manipulation, people are using computers for access to information to an ever increasing degree. This recent trend is discussed in §1.2.2 below.
Some so-called “Internet browser” program services, such as Microsoft's Internet Explorer™ for example, permit people to create lists of favorite Internet locations (as located by a Uniform Resource Locator or “URL”) represented by bookmarks. Unfortunately, as the number of bookmarks in a list increases, a person's ability to find a desired bookmark becomes more difficult. Although people can arrange and organize such lists of bookmarks into hierarchies, this requires some effort (mental effort is also referred to as “cognitive load”) to organize and maintain the hierarchy. Moreover, the use of hierarchies does not fully exploit the spatial memory (This concept has also been referred to as “where it is what it is”.) of people. Finally, other than textual information regarding the information, such as a title of a web page for example, the bookmarks do not provide the user with any other information about the information.
§1.2.2.1.2 Web Book/Web Forager
§1.2.2.1.3 Workscape
Noting the concept of “what it is where it is”, the article, Ballay, “Designing Workscape™: An Interdisciplinary Experience”, Human Factors in Computing Systems, CHI '94, pp. 10-15 (April 1994) (hereafter referred to as “the Workscape article”), discusses a three-dimensional user interface for managing documents.
§1.2.2.1.4 Mapa
§1.2.2.1.5 MacIntosh and Windows NT® Operating Systems
§1.2.2.1.6 Windows NT® 5.0
A file manager or windows explorer feature of Windows NT® 5.0 may be configured to display document or file thumbnails in a selected directory. Each thumbnail includes a title which persists (i.e., is continuously rendered). A user can rearrange these thumbnails on a display screen, for example, by using a mouse drag operation. However, no drag feedback is provided.
§1.2.2.1.7 InfoGrid
The article: R. Rao, S. K. Card, H. D. Jellinek, J. D. Mackinlay, and G. G. Robertson, “The Information Grid: A Framework for Information Retrieval and Retrieval-Centered Applications,” UIST '92, pp. 23-32 (Nov. 15-18, 1992) (hereafter referred to as “the InfoGrid article”) discusses a user interface for object (e.g., document) retrieval. The InfoGrid display layout includes (i) an area for entering search parameters, (ii) a control panel which includes tool buttons, (iii) a area for rendering thumbnails of objects returned from a search, (iv) an area to hold selected objects, (v) an area for depicting a search path, and (vi) an area for depicting a document and its properties. The InfoGrid does not exploit a user's spatial memory and, in fact, teaches away from using location-centric workspace retrieval. (See page 31 of the InfoGrid article.) Instead, the InfoGrid permits a user to specify an initial query by providing values for various fields in a search parameter area, after which objects may be retrieved using an iterative process. (See page 26 of the InfoGrid article.)
§1.2.2.1.8 Data Mountain
Features of, and functions which may be performed by, the present invention, will first be described in §4.1 below. Then, structures, processes, data structures, methods and displays of exemplary embodiments of the present invention will be described in §4.2 below.
Recall from §1.2.3 above, that there exists a need for a user interface, and in particular a graphical user interface, to information or content (also referred to as an “object”). A user should be able to view and organize all objects and to edit or otherwise work on a selected object. To achieve these goals, the present invention may represent, visually, objects (such as a document, a spread sheet, a business contact, a drawing, a picture or image, a web page, a resource location or directory, etc., or a representation thereof, for example) or content with a low resolution scaled image (such as, a 64 pixel by 64 pixel bit map having 24 bit color for example) which can be added, moved, or deleted from a display rendered on a video monitor. The present invention may use pop-up title bars (or other descriptive textual information) for permitting a user to discern more about the object represented by a low resolution image. The present invention may use higher resolution image (such as a 512 pixel by 512 pixel bit map having 24 bit color for example) representations of objects, or “live” objects loaded within an associated application, for editing or otherwise working on a selected object. Other visual representations of objects may be used. Any and all visual representations of objects may be referred to as “thumbnails” in the following.
Recall also from §1.2.3 above, that a user interface should exploit spatial memory. To achieve this goal, the present invention may render a two-dimensional surface (or layer) on which the object thumbnails may be manipulated. The two-dimensional surface upon which an object may be manipulated may be the surface of a simulated three-dimensional tank (also referred to as a “data tank”).
Recall also from §1.2.3 above that a user interface should convey, at minimal cognitive load to the user, properties or parameters of the information to the user. To achieve this goal, the present invention may map values of properties or parameters of the object information to a depth. Using this depth information, the present invention renders the thumbnail of the information object in the simulated three-dimensional tank at a simulated depth. As the values of properties or parameters of the objects change, the simulated depth at which they are rendered may change.
Recall further from §1.2.3 above that a user interface should also be intuitive to minimize the time needed for a user to become familiar with it. For example, the user interface should not be cumbersome, nor should it require too many different types of inputs to manipulate the object thumbnails. To achieve this goal, the present invention may use inputs from a familiar input device such as a mouse or pointer to manipulate the object thumbnails. The present invention may also prevent any one object thumbnail (or landscape feature) from totally occluding another object thumbnail so that neither is (totally) hidden from the user.
Recall finally from §1.2.3 above, that the user interface should provide intelligent help to the user. The present invention may cluster, by rendering a visual boundary for example, object thumbnails which are arranged, by the user, relatively close to one another. Further, the present invention may employ a matching (e.g., correlation or similarity) algorithm to determine whether certain objects are related. Alternatively, objects may be related by an explicit selection or designation by a user. If so, the present invention may employ some type of visual indication, such as a colored halo around thumbnails of related objects for example, of related objects. This visual indication may be rendered continuously or, alternatively, upon an event, such as when an object thumbnail is made “active”.
Having described functions which may be performed by the present invention, structures, processes, methodologies, data structures and displays which may be used by the present invention are now described in §4.2.
§4.2 Structures, Processes, Methodologies, Data Structures, and Displays which May be Used By the Present Invention
In the following, exemplary systems on which the present invention may operate are described in §4.2.1 with reference to FIGS. 1A and 1B, exemplary displays which may be generated by the present invention are described in §4.2.2 with reference to FIGS. 9 through 12, and exemplary processes, methods and data structures which may be used to effect certain aspects of the present invention are described in §4.2.3 with reference to FIGS. 2A through 8 and 13 through 21.
§4.2.1 Exemplary Systems (FIGS. 1 and 22)
§4.2.2 Exemplary Displays (FIGS. 9-11B)
As discussed in §4.1 above, present invention may represent, visually, objects using object thumbnails. These thumbnails may be manipulated on a two-dimensional surface and may have a simulated depth based on values of properties or parameters of the object. FIG. 9 is a display 900 which illustrates the data tank metaphor user interface of the present invention. Basically, the display 900 includes an object manipulation and display field 910 and a view point control panel 920. Like a glass-walled tank, the object manipulation and display field 910 includes a bottom 912, a front wall 914, a rear wall 916, and side walls 918 a and 918 b. An equally valid metaphor is that of looking into a room (not a glass-walled tank) which includes a back wall 912, a floor 914, a ceiling 916 and side walls 918 a and 918 b. The front wall is transparent, giving the entire mechanism the visual appearance of a stage or a proscenium.
Recall that the button 932 or (assuming that there has been no net rotation about tilt axis 943) the forward button 951 a of the panel 951 permits a user's viewing point to descend into the tank (also referred to as “diving”), and that the button 931 or (assuming that there has been no net rotation about tilt axis 943) the backward button 951 b of the panel 951 allows the viewing point to ascend within the tank. Button 933 allows the viewpoint to instantaneously return to a home viewing point, such as viewing the top surface of the tank.
FIGS. 11A and 11B depict a sequence of exemplary displays which show a viewing point descent (or “diving”) feature which may be provided by the user interface of the present invention.
Finally, recall from §4.1 above that the present invention may use higher resolution image representations of objects, or “live” objects within an associated application, for editing or otherwise working on a selected object. The selected object thumbnail may be displayed in a preferred viewing position. The selected object thumbnail may be a high resolution bit map (e.g., 512 pixels by 512 pixels with 24 bit color). To reiterate, rather than merely providing a high resolution object thumbnail, the actual object, in its associated application, may be presented. In this example, the Internet Explorer™ Internet browser (part of Microsoft Windows NT® 4.0 operating system sold by Microsoft Corporation of Redmond, Wash.) may be rendering a web page, with the user interface of the present invention in the background. The application can be maximized, as is known to those skilled in the art, to substantially fill the screen of the video monitor. Further, the images may be rendered as an off-screen bitmap, which can be placed in the preferred viewing position when an object is selected. If the objects are HTML web pages, this may be done, for example, using techniques discussed in the article, M. Heydt, “Incorporating the Web Browser Control Into Your Program”, Microsoft Interactive Developer, Vol. 3, No. 7, pp. 42-51 (July 1998).
Having described functions which may be performed by the present invention, as well as exemplary displays which may be rendered by the present invention, exemplary processes, methods, and data structures which may be used to effect, at least certain aspects of the present invention, as now described in §4.2.3.
§4.2.3 Exemplary Processes, Methods and Data Structures
In the following, a high level overview of processes and an animation loop method will be presented in §4.2.3.1 with reference to FIGS. 2A, 3 through 8, and 13. Thereafter, processes and methods for managing inputs, updating state information, managing special services, and managing outputs, will be presented in §4.2.3.2 through §4.2.3.5.
§4.2.3.1 Overview of Processes and Animation Loop Method
In the following, high level processes which may be used to effect at least some aspects of the user interface of the present invention, are described, with reference to FIG. 2A, in §4.2.3.1.1. Next, exemplary data structures for storing data which may be used by one or more processes of the present invention are described, with reference to FIGS. 3 through 8, in §4.2.3.1.2. Finally, an exemplary high level method for effecting at least some aspects of the user interface of the present invention is described, with reference to FIG. 13, in §4.2.3.1.3.
§4.2.3.1.1 High Level Processes (FIG. 2A)
§4.2.3.1.2 Exemplary Data Structures (FIGS. 3-8)
§4.2.3.1.3 Exemplary Method (FIG. 13)
§4.2.3.2 Managing Inputs
In the following, processes related to managing inputs are described, with reference to FIG. 2B, in §4.2.3.2.1. Thereafter, an exemplary method for performing this process is described, with reference to FIG. 14, in §4.2.3.2.2.
§4.2.3.2.1 Processes for Managing Inputs (FIG. 2B)
§4.2.3.2.2 Exemplary Method for Managing Inputs (FIG. 14)
§4.2.3.3 Managing State Information
In the following, processes related to managing state information are described, with reference to FIG. 2C, in §4.2.3.3.1. Thereafter, exemplary methods for performing these processes are described, with reference to FIGS. 15 through 20, in §4.2.3.3.2.
§4.2.3.3.1 Processes for Managing State Information (FIG. 2C)
The view point determination process (or more generally, a “view point determination facility”) 235 may use cursor location information, information, originally from the camera 210 b, as well as present view point information (Recall field 360 of FIG. 3.) to determine a present view point and orientation. FIG. 20 is a flow diagram of an exemplary method 235′ for performing a view point determination process. First, as shown in act 2010, control panel (Recall, e.g., sub-panels 930 and 940, and buttons 951-954 of FIG. 9.) and camera inputs are accepted. Next, as shown in conditional branch point 2020, if a pan command exists (Recall buttons 952 and 953 of FIG. 9.), the view point is updated accordingly as shown in act 2030 and processing continues to conditional branch point 2040. Returning back to conditional branch point 2020, if a pan command does not exist, then processing continues directly to conditional branch point 2040. As shown in conditional branch point 2040, if a dive (or ascend) command exists (Recall, e.g., sub-panel 951 of FIG. 9.), the view point is updated accordingly as shown in act 2050 and processing continues to conditional branch point 2070. Returning back to conditional branch point 2040, if a dive (or ascend) command does not exist, then processing continues to act 2060 where the viewing point is “floated” by a predetermined amount (not necessarily all the way to the surface). Alternatively, act 2060 may be skipped. At conditional branch point 2070, if a tilt command exists (Recall, e.g., sub-panel 940 and buttons 941 and 942.), the viewing point is updated accordingly as shown in act 2080 and processing continues to RETURN node 2090. Returning to conditional branch point 2070, if a tilt command is not determined, then processing continues directly to the RETURN node 2090.
§4.2.3.3.2 Exemplary Methods for Managing State Information
Recall from FIG. 2C above that a state update management process 230 may use a object depth and fade or shade determination process 232. FIG. 19 is an exemplary method 232′/1540 for performing this process. The acts of this method may be performed for each of the objects. Thus, the method defines a loop through each of the objects. As shown in act 1910, an object counter is initialized (OB=1). Next, as shown in conditional branch point 1920, it is determined whether or not the object is “floated”. Since “floated” objects are on the surface of the tank, their depth need not be determined. Thus, if an object is “floated”, processing branches to act 1940 at which the shade or fade of the object is determined. If it can be assumed that “floated” objects are not shaded or faded, processing can branch to conditional branch point 1950 as shown by the dashed line. Returning to conditional branch point 1920, if the object is not “floated”, processing continues to act 1930. At act 1930, the depth level of the object is determined based on a function of one or more parameters. As discussed above, the function may be linear, polynomial, or exponential. Mathematically, any properties or parameters can be used, so long as each has a “partial ordering” on it. For example, the parameter(s) may include one or more of the following: click history, age, time since last use, size, file type, associated application, classification, author, etc. Next, as shown in act 1940, the shade or fade of the object is determined. At conditional branch point 1950, it is determined whether there are any more objects to process. If so, processing branches to act 1960 where the object counter is incremented (OB=OB+1).
Processing then continues back to conditional branch point 1920. Returning to conditional branch point 1950, if no more objects are to be processed, the method 232′/1540 is left via return node 1970. Referring back to conditional branch point 1920 and acts 1930 and 1940, the fade and/or shade of a floated object could be calculated just like any other object, in which case the conditional branch point 1920 would not be necessary. The conditional branch point 1920 would be used, however, if floated objects were given special treatment (such as special highlighting for example).
§4.2.3.4 Managing Special Services
In the following, the processes related to the management or special services are described, with reference to FIG. 2D, in §4.2.3.4.1. Thereafter, techniques for performing an implicit query function are described in §4.2.3.4.2 and techniques for performing a proximity clustering function are described in §4.2.3.4.3.
§4.2.3.4.1 Processes for Managing Special Services
§4.2.3.5 Managing Outputs
In the following, processes which may be used to facilitate managing outputs in the user interface of the present invention are described, with reference to FIG. 2E, in §4.2.3.5.1. Then, exemplary methods for effecting such processes are described, with reference to FIG. 21, in §4.2.3.5.2.
§4.2.3.5.1 Processes for Managing Outputs
§4.2.3.5.2 Exemplary Methods for Managing Outputs
generating a three-dimensional environment to be rendered on the video display device, the three-dimensional environment comprising an object manipulation and display field having surfaces including a bottom, a transparent front wall, a rear wall and side walls;
determining a two-dimensional location and a depth of each of the thumbnails in the three-dimensional environment, wherein, for each of the thumbnails:
the depth is a function of at least one parameter of the object associated with the thumbnail; and
the two-dimensional location and the depth is determined that prevents total occlusion of the thumbnail by one or more other of the thumbnails in the three-dimensional environment;
generating the thumbnails within the three-dimensional environment, at the determined two-dimensional locations and depths, to be rendered on the video display device;
accepting inputs from the user input device;
determining a selected viewing point, two-dimensional location, depth and direction based on the accepted inputs; and
generating, as visible, a portion of the three-dimensional environment and those thumbnails that are in front of the selected viewing point to be rendered on the video display device, wherein those thumbnails that are in back of the selected viewing point are not visible and cast corresponding shadows on the at least one of the surfaces.
4. The man-machine interface method of claim 1 further comprising:
determining a two-dimensional cursor location based on the accepted inputs; and
generating a cursor at the determined two-dimensional cursor location, to be rendered on the video display device.
5. The man-machine interface method of claim 4 further comprising:
if the two-dimensional location of the cursor is located on or over one of the thumbnails, defining a state of that thumbnail as active.
6. The man-machine interface method of claim 5 further comprising:
generating a pop-up information bar located over the active thumbnail, to be rendered on the video display device.
7. The man-machine interface method of claim 5 further comprising:
wherein the user input provides a selection input and an active or floated thumbnail exists, then generating a higher resolution visual representation of the object represented by and associated with the active or floated thumbnail, at a preferred viewing location at a foreground of the three dimensional environment, to be rendered on the video display device.
8. The man-machine interface method of claim 7, wherein the act of generating the higher resolution visual representation of the object represented by and associated with the active thumbnail includes:
9. The man-machine interface method of claim 8 further comprising:
if the user input provides a deselection input and if a selected thumbnail exists, then generating a video output for moving the high resolution visual representation of the object represented by and associated with the active thumbnail to the two-dimensional location of the selected thumbnail, to be rendered on the video display device.
if the user input provides a sink input and if a floated thumbnail exists, then setting the depth of the floated thumbnail to a previous value and defining a state of the floated thumbnail as active.
11. The man-machine interface method of claim 7, further comprising:
if the user input provides a selection input and if a floated thumbnail exists, then:
invoking an application related to the object represented by and associated with the floated thumbnail,
loading the object represented by and associated with the floated
thumbnail into the application, and
generating a video output of the application with the loaded object represented by and associated with the floated thumbnail at a preferred viewing location, to be rendered on the video display device.
12. The man-machine interface method of claim 5 further comprising:
if the user input provides a float input and if an active thumbnail exists, then setting the depth of the active thumbnail to a predetermined value and defining a state of the active thumbnail as floated.
13. The man-machine interface method of claim 5, further comprising:
if the user input provides a selection input and if an active thumbnail exists, then:
invoking an application related to the object represented by and associated with the active thumbnail,
loading the object represented by and associated with the active thumbnail into the application, and
generating a video output of the application with the loaded object represented by and associated with the active thumbnail at a preferred viewing location, to be rendered on the video display device.
14. The man-machine interface method of claim 5, further comprising:
if the user input provides a move input and if an active or floated thumbnail exists, then:
updating the two-dimensional location of the active or floated thumbnail based on the move input, wherein the move input includes a mouse drag.
15. The man-machine interface method of claim 1 wherein:
the three-dimensional environment defines a foreground and a background, and the act of generating thumbnails, within the three-dimensional environment, at the determined two-dimensional locations and depths, to be rendered on the video display device, includes:
using perspective view so that any thumbnails in the foreground defined by the three-dimensional environment appear larger than any thumbnails in the background defined by the three-dimensional surface.
17. The man-machine interface method of claim 1, further comprising:
employing a matching algorithm for determining related thumbnails of the thumbnails; and
in response to selection of one of the related thumbnails, generating a visual halo that encompasses the related thumbnails to be rendered on the video display device.
19. One or more volatile or nonvolatile memory devices storing computer-executable instructions that, when executed by one or more processors, configure the one or more processors to perform acts comprising:
generating a three-dimensional environment for rendering thumbnails on a video display device, the three-dimensional environment comprising surfaces that bound the three-dimensional environment;
determining a two-dimensional location and a depth of each of the thumbnails in the three-dimensional environment, wherein for each of the thumbnails:
the depth is a function of at least one parameter associated with the associated thumbnail; and
employing a matching algorithm for determining related thumbnails of the thumbnails;
in response to selection of one of the related thumbnails, generating a visual halo that encompasses the related thumbnails for rendering on the video display device;
determining a selected viewing point at a depth in the three-dimensional environment, a two-dimensional location of the selected viewing point and a viewing direction based on the accepted inputs; and
one or more processors and memory having stored therein computer executable instructions, and the computer executable instructions upon execution by the one or more processors configuring the apparatus to perform acts comprising:
the depth of the thumbnail is a function of at least one parameter associated with the thumbnail; and
the two-dimensional location and the depth of the thumbnail is determined that prevents total occlusion of the thumbnail by one or more other of the thumbnails in the three-dimensional environment;
US11/865,724 1999-06-18 2007-10-01 Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter Active 2023-04-21 US9092112B2 (en)
US09/335,640 US7278115B1 (en) 1999-06-18 1999-06-18 Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter
US11/865,724 US9092112B2 (en) 1999-06-18 2007-10-01 Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter
US09/335,640 Continuation US7278115B1 (en) 1999-06-18 1999-06-18 Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter
US20080072168A1 US20080072168A1 (en) 2008-03-20
US9092112B2 true US9092112B2 (en) 2015-07-28
ID=38535943
US09/335,640 Active 2021-05-26 US7278115B1 (en) 1999-06-18 1999-06-18 Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter
US11/865,724 Active 2023-04-21 US9092112B2 (en) 1999-06-18 2007-10-01 Methods, apparatus and data structures for providing a user interface to objects, the user interface exploiting spatial memory and visually indicating at least one object parameter
US (2) US7278115B1 (en)
1999-06-18 US US09/335,640 patent/US7278115B1/en active Active
2007-10-01 US US11/865,724 patent/US9092112B2/en active Active
US20080072168A1 (en) 2008-03-20
US7278115B1 (en) 2007-10-02
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CONWAY, MATTHEW J.;JACQUOT, STEPHEN A.;PROFFITT, DENNIS R.;AND OTHERS;REEL/FRAME:020369/0437;SIGNING DATES FROM 19990928 TO 19991013
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CONWAY, MATTHEW J.;JACQUOT, STEPHEN A.;PROFFITT, DENNIS R.;AND OTHERS;SIGNING DATES FROM 19990928 TO 19991013;REEL/FRAME:020369/0437