“Clamshell” computers are portable computers having a compact closed configuration for transport and having an open configuration wherein a display swings our for viewing and for use of the computer. Clamshell computers typically comprise a base having a front, a rear, an upper side and a bottom, human interface devices (i.e., keyboard, touch pad, mouse, etc.) mounted on the upper side of the base and adjacent to the front of the base, a display housing with a display, the display housing being pivotally mounted on the base from a rear end of the display housing on a horizontal pivot axis, such that in a closed position the display housing covers the keyboard and in an open position the display housing is pivoted back to expose the keyboard, with the display mounted in the housing such that it is in convenient view to an operator in front of the keyboard, and an arrangement which holds the display housing and display at an open position rearwardly inclined with respect to the base and convenient for view. Typically, the display is close to the keyboard and to the user in the open position of the computer, and the display housing encloses and protects the keyboard in the closed position of the computer.
Clamshell computers, such as hinged laptop computers, often if not always present the disadvantage that reading can be a difficult, cumbersome and altogether unsatisfying exercise. For one thing, the screen is physically separated from the user by the keyboard, thus increasing the reading distance at hand. Further, as clamshell computers normally have screens that have a longer horizontal dimension than that rectilinear dimension perpendicular thereto, documents either appear in landscape mode or in a highly truncated portrait mode. Since users generally are accustomed to reading books or other paper documents in portrait mode, the experience of reading in landscape or truncated portrait mode can often be uncomfortable and straining. Finally, merely rotating the image on the screen will not only make it problematic to read, but will present problems for navigating the document being read.
Arrangements are disclosed for readily switching in between a reading (portrait) operating mode and a “normal” (landscape) mode. Such changes could be brought about via essentially any suitable arrangement, such as via an accelerometer which acts automatically, or a hotkey which is activated manually.
Additionally contemplated herein is the use of mouse keys for alternative purposes specific to the reading/portrait mode, such as utilizing left and right mouse buttons for page up and page down controls for reading (in portrait mode). A mouse pad can also be employed for alternative purposes in reading/portrait mode, such as the use of horizontal mouse pad scrolling for vertical document scrolling in reading/portrait mode.
Yet further contemplated herein is the employment of brightness and/or contrast optimization for use in the reading/portrait mode.
In summary, one embodiment provides an apparatus comprising: a clamshell computer; the clamshell computer comprising: a main memory; one or more processors; a first body portion and a second body portion, the first body portion being hingedly connected to the second body portion; and a computer screen disposed on the first body portion; the clamshell computer further comprising a computer readable storage medium having computer executable program code embodied therewith and executable by the one or more processors, the computer executable program code comprising: computer executable program code configured to display a document on the computer screen; and computer executable program code configured to reorient a document displayed on the computer screen responsive to a one-step trigger, the reorienting comprising reorienting an upper visual edge of the document from a first position to a second position, the first position corresponding to a first angle of the upper visual edge of the document with respect to a reference axis of the computer screen and the second position corresponding to a second angle of the upper visual edge of the document with respect to a reference axis of the computer screen, the first and second angles being different from one another.
Another embodiment provides an apparatus comprising: one or more processors; and a computer readable storage medium having computer executable program code embodied therewith and executable by the one or more processors, the computer executable program code comprising: computer executable program code configured to display a document on a computer screen; and computer executable program code configured to reorient a document displayed on a computer screen responsive to a one-step trigger, the reorienting comprising reorienting an upper visual edge of the document from a first position to a second position, the first position corresponding to a first angle of the upper visual edge of the document with respect to a reference axis of the computer screen and the second position corresponding to a second angle of the upper visual edge of the document with respect to a reference axis of the computer screen, the first and second angles being different from one another; the reference axis being parallel to a hinge axis of a clamshell computer.
A further embodiment provides a method comprising: displaying a document on a computer screen; and responsive to a one-step trigger, reorienting an upper visual edge of the document from a first position to a second position, the first position corresponding to a first angle of the upper visual edge of the document with respect to a reference axis of the computer screen and the second position corresponding to a second angle of the upper visual edge of the document with respect to a reference axis of the computer screen, the first and second angles being different from one another; the reference axis being parallel to a hinge axis of a clamshell computer.
An additional embodiment provides a computer program product comprising: a computer readable storage medium embodying executable program code comprising: computer executable program code configured to display a document on a computer screen; and computer executable program code configured to reorient a document displayed on the computer screen responsive to a one-step trigger, the reorienting comprising reorienting an upper visual edge of the document from a first position to a second position, the first position corresponding to a first angle of the upper visual edge of the document with respect to a reference axis of the computer screen and the second position corresponding to a second angle of the upper visual edge of the document with respect to a reference axis of the computer screen, the first and second angles being different from one another; the reference axis being parallel to a hinge axis of a clamshell computer.
For a better understanding of exemplary embodiments, together with other and further features thereof, reference is made to the following description, taken in conjunction with the accompanying drawings, and the scope of the claimed embodiments will be pointed out in the appended claims.
It will be readily understood that the components of the embodiments, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations in addition to the described exemplary embodiments. Thus, the following more detailed description of the embodiments, as represented in the figures, is not intended to limit the scope of the claims, but is merely representative of exemplary embodiments.
Reference throughout this specification to “one embodiment” or “an embodiment” (or the like) means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” or the like in various places throughout this specification are not necessarily all referring to the same embodiment.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding thereof. One skilled in the relevant art will recognize, however, that the various embodiments can be practiced without one or more of the specific details, or with other methods, components, materials, et cetera. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects thereof.
The description now turns to the figures. The illustrated embodiments are best understood by reference to the figures. The following description is intended only by way of example and simply illustrates certain selected exemplary embodiments.
It should be noted that the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, apparatuses, methods and computer program products according to various embodiments. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Referring now to
As shown in
PCI local bus 50 supports the attachment of a number of devices, including adapters and bridges. Among these devices is network adapter 66, which interfaces computer system 100 to LAN, and graphics adapter 68, which interfaces computer system 100 to display 69. Communication on PCI local bus 50 is governed by local PCI controller 52, which is in turn coupled to non-volatile random access memory (NVRAM) 56 via memory bus 54. Local PCI controller 52 can be coupled to additional buses and devices via a second host bridge 60.
Computer system 100 further includes Industry Standard Architecture (ISA) bus 62, which is coupled to PCI local bus 50 by ISA bridge 64. Coupled to ISA bus 62 is an input/output (I/O) controller 70, which controls communication between computer system 100 and attached peripheral devices such as a as a keyboard, mouse, serial and parallel ports, et cetera. A disk controller 72 connects a disk drive with PCI local bus 50. The USB Bus and USB Controller (not shown) are part of the Local PCI controller (52).
As shown, a clamshell computer may typically include an upper portion 202, which includes screen 204, and a lower portion 206. Upper and lower portions 202/206 are typically hingedly connected with one another via suitable hinges 208 or other analogously functioning mechanism(s) for affording relative pivotal displacement of the upper and lower portions 202/206 with respect to one another. Typically, as is well-known, lower portion 206 will include a keyboard and other user controls.
As is typically the case in clamshell computers, the screen 204 will have a longer dimension in parallel to the hinge axis z than in parallel to the axis y that is orthogonal to z (and in parallel with a main plane of screen 204). Accordingly, a typical document 210a, if not displayed in landscape mode (that is, where, similarly to the screen 204, the dimension of the document parallel to axis z is greater than the dimension parallel to y), will typically undergo an accommodation that might not provide optimal viewing for a user. Particularly, for a document 210a shown in portrait view (that is, where the dimension of a page of the document parallel to y is greater than the dimension parallel to z), the document 210a will typically need to be visually truncated as shown, at least to provide some reasonable level of readability. In other words, in order to maintain a text size and/or font appearance sufficient for promoting readability, a document 210a can rarely be shown an entire page at a time in portrait view in a typical clamshell computer context, especially accounting for the distance D, along a dimension orthogonal to the hinge axis z with respect to the lower portion 206, that a user's eyes need to traverse in order to see whatever is on the screen 204.
It should be noted that in
As a first possible mechanism for transitioning between the orientation of
Whereas accelerometer 412 provides a type of automatic trigger mechanism to prompt viewing-related actions to be further appreciated below, manual trigger arrangements are also contemplated Particularly, a “hotkey” 420, or key dedicated for the purpose, may be provided on keyboard 418 which, when activated, could trigger viewing-related actions as to be described here below. Another trigger could be in the form of a single function key 422a as found in row of function keys 422 on keyboard 418. Other manual triggers could take the form of a simple combination of keys on keyboard 418, such as a CTRL+ALT combination with another key, or the ALT key combined with another key, a gesture on the screen (which could be in the form of a touch screen) or mousepad 412. In a variant embodiment, an optional parameter could be employed wherein the screen is adjusted only when one or more pre-selected, or customer selected, applications are running, such as e-reader applications.
Generally, a viewing-related action as referred to above could be a transition of a document from an orientation where the longitudinal dimension (or longer dimension of a page) of the document in portrait mode is parallel to an axis which is orthogonal to hinge axis z (e.g., similarly to the orientation of document 210a in
Computer 401 may include a mousepad 414 (i.e., a touchpad that can simulate or manifest mouse-type movements, that is, direct a cursor or other element on a screen to move responsive to touch movements across pad 414) and left and right “mouse” buttons 416a, 416b, respectively. These can function, in a standard operating condition of computer 414, in known conventional manner.
However, in accordance with certain embodiments, the function of mousepad (or touchpad) 414 and/or buttons 416a, 416b essentially can be transformed in response to the automatic or manual triggers discussed above. Particularly, once accelerometer 412 or a manual trigger mechanism (e.g., 420 or 422) detects or manifests a document viewing transition associated with a change from an primarily horizontal orientation to an primarily vertical orientation of computer 401, mouse or mousepad driver(s) 415 may preferably be prompted to alter the function of mousepad 414 and/or buttons 416a, 416b so as to work more logically or appropriately in relation to a document in full portrait mode (e.g., similar to document 210b in
However, in accordance with certain embodiments, upon a triggering action as discussed above (e.g., via accelerometer 412 or keys 420/422a or via other media), mouse/mousepad driver(s) 415 will be prompted to re-map the functioning of mousepad 414 and/or mouse buttons 416a, 416b so that they will now perform more suitably in relation to any re-oriented document (e.g., a portrait document 210b as in
In contrast, it will be appreciated that without any re-mapping as broadly contemplated herein and as discussed above, elements such as mouse buttons 416a, 416b and mousepad 414 will continue to operate, in an primarily vertical orientation of computer 401 (as in
Indicated at 426 is a brightness/contrast control of computer 401 which, optionally in conjunction with a light sensor 424 (which essentially may be disposed anywhere on the computer 401, shown here in the indicated location merely by way of illustrative and non-restrictive example), can be employed advantageously. Particularly, upon accelerometer detecting that computer 402 has transformed from an primarily horizontal to an primarily vertical orientation, it may preferably direct brightness/contrast control 426 to change the brightness or contrast on the computer screen to be more consistent with a closer reading of a document. Thus, for instance, the screen could come to appear less bright, or to adopt a less pronounced contrast, than it would have with the computer 401 in an primarily horizontal orientation.
Light sensor 424 assesses ambient light conditions and tailors a light/contrast “protocol” accordingly. For instance, light sensor 424 could convey to brightness/contrast control an ambient condition that is used as a “starting point” for determining the degree to which, e.g., dimming or a change in contrast takes place on the screen as the computer 401 transforms from an primarily horizontal to an primarily vertical orientation. In a variant embodiment, a camera on computer 401 (e.g. built-in or mounted-on) could be used as an ambient light sensor.
Preferably, when computer 401 transforms from an primarily vertical to an primarily horizontal orientation, the above-described phenomena may take place in reverse. Thus, the screen could become brighter, or adopt a more pronounced contrast, than it would have with the computer 401 in an primarily vertical orientation. Light sensor 424 could still act to assess ambient conditions and provide a “starting point” to guide brightness/contrast control 426, as just discussed.
If an accelerometer 412 is not used then, of course, a manual arrangement such as keys 420/422a could be employed to trigger the brightness/contrast control 426 to change the brightness or contrast of the screen.
It is contemplated to control other aspects of screen appearance as the computer 401 transforms from a primarily horizontal to a primarily vertical orientation, or vice versa (whether triggered by an accelerometer 412 or a manual arrangement such as a key 420/422a). For instance, as computer 401 transforms from an primarily horizontal to an primarily vertical orientation, the font size/appearance/color and/or background features could be changed to be more conducive to closer reading, or even to adopt an appearance preselected by the user (e.g., a customizable “reading appearance”). Thus, e.g., a font could be changed and/or the font size reduced and/or a differently colored document background manifested. Analogous changes could be made in reverse (as the computer 401 transforms from a primarily vertical to an primarily horizontal orientation). Actions other than changes in screen appearance could also take place as computer 401 transforms from a primarily horizontal to a primarily vertical orientation, vice versa. For instance, computer 401 could go into a low-power mode which could involve any or all of: a low power processor mode, disabling of optical media devices, activation of hard drive idle timers etc.
Generally, it should be understood and appreciated that, to the extent not specifically pointed out hereinabove, all actions that take place or result in transforming from an primarily horizontal to an primarily vertical orientation of a clamshell or laptop computer may act analogously in reverse. Thus, if a screen and/or document takes on a first given appearance or set of characteristics when the computer is in an primarily horizontal orientation, and then takes on a second given appearance or set of characteristics when the computer is in an primarily vertical orientation, then the screen and/or document may return to the first given appearance or set of characteristics when the computer returns from an primarily vertical to an primarily horizontal orientation
It should be understood and appreciated that the terms “primarily horizontal” and “primarily vertical”, as broadly employed herein, may be taken to be indicative of a range of orientations of a computer when, respectively, the computer generally tends towards a horizontal orientation or vertical orientation (as can be defined by the relationship of the hinge axis or z-axis to true horizontal or true vertical, respectively). The respective ranges of orientations corresponding to “primarily horizontal” or “primarily vertical” may be predefined in accordance with an algorithm that, for instance, assigns a given range of angles (e.g., of the hinge axis or z-axis with respect to true horizontal or true vertical) to either “primarily horizontal” or “primarily vertical”. For instance, such an algorithm may treat any orientation of the hinge axis or z-axis that is about 45 degrees or less with respect to true horizontal as “primarily horizontal”, while treating any orientation of the hinge axis or z-axis that is about 45 degrees or more with respect to true horizontal as “primarily vertical”. In an alternative embodiment, the transition could be triggered in either direction as the z-axis gets even closer to true vertical or true horizontal, e.g., within 30 or so degrees of either.
To the extent that “primarily vertical” orientations are discussed herein, it should be understood and appreciated that two different “primarily vertical” orientations are contemplated. A first such orientation is evident from
To the extent that “automatic” and “manual” triggering arrangements have been discussed heretofore, e.g., in the context of an accelerometer or keyboard keys, respectively, it is further contemplated that both such triggering arrangements may be present in a computer, and that one could even override the other. For instance, even in the presence of an automatic triggering arrangement in the form of an accelerometer, it is contemplated to override this function merely by employing, e.g., a hotkey or function key manually. Such an overriding action could act to disable the automatic triggering arrangement for a set time or until a given set of conditions is met (e.g., the computer transforms from one orientation to another).
To the extent that arrangements for controlling brightness and/or contrast have been discussed hereinabove, essentially any protocol can be applied to determine the specific levels of brightness or contrast that can be employed as the computer is in one orientation or another. For instance, empirical calculations may be predetermined to then preset the computer (e.g., at the factory) to use one level of brightness or contrast or the other at for one orientation of the computer or the other. On the other hand, the user could preset or change such levels through a suitable user interface. Again, any brightness or contrast level can be modified in view of ambient conditions as determined, e.g., by a light sensor.
It should be noted that features described herein may be embodied as a system, method or computer program product. Accordingly, the features may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, those features may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations may be written in any combination of one or more programming languages, including an object oriented programming language such as Java®, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer (device), 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).
Features are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
This disclosure has been presented for purposes of illustration and description but is not intended to be exhaustive or limiting. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments were chosen and described in order to explain principles and practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
Although illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that embodiments are not limited to those particular descriptions, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the disclosure.