Two Apple patents (20100313156 and 20100313165) regarding an user interface for multiple regions have appeared at the US Patent & Trademark Office. They involve the Launchpad feature in the upcoming Mac OS X Lion -- and perhaps future tweaks to the Expose feature in Mac OS X.
Launchpad is designed to make it easier than ever to find and launch any app. Similar to the Home screen on iPad, you can see all the apps on your Mac displayed just by clicking the Launchpad icon in the dock. Apps can be organized in any order or grouped into folders, and you can swipe through multiple pages of apps to find the one you want.
User interfaces for multiple display regions are described. One embodiment provides an array of non-overlapping windows that are created from a set of overlapping windows, and a user can select one of the non-overlapping windows to obtain an enlarged view of that selected window while keeping the other windows in their non-overlapping state.
In one embodiment, the array of non-overlapping windows can include minimized windows or windows in other virtual desktops (e.g. windows in other "Spaces") or both. In one embodiment, only windows of a selected application are shown in non-overlapping mode while opened windows of other applications are not shown. The inventors on both patents are John Louch, Timothy W. Bumgarner, Eric S. Peyton and Christopher J. Hynes.
Here's Apple's background and summary of the invention: "Data processing systems, such as general purpose computers, often employ a graphical user interface which allows for the simultaneous presentation of multiple windows which can at least partially overlap each other on the screen of a display device. While the ability to have multiple windows open concurrently can provide a rich operating environment, thereby allowing a user to view and operate on windows from multiple applications, it can also create confusion and clutter in the graphical user interface.
"One embodiment of the present invention provides an improved version of Expose, which is a feature of the Macintosh operating system that allows a user to spread out windows created from a collection of windows which may overlap each other. It will be understood that a window is a display region; in one embodiment, the display region has a defined border or perimeter and can be moved independently of other display regions on a desktop region and can be minimized.
"Expose provides a live preview of the contents of each window in the array. In one embodiment, the array can be spread out in a gridlike manner on the screen of a display device. In one embodiment, a grid algorithm may be employed which maximizes window size of the various windows displayed in the array while keeping the windows on a grid; this algorithm may also attempt to minimize window movement from the current location of each window.
"In one embodiment, this improved version of Expose provides an enlarged preview of any one of the windows in the array of windows provided by Expose. The user can select any one of the windows by, for example, hovering a cursor over the window in the array and then pressing a key, in one embodiment, in order to cause this improved version of Expose to display an enlarged preview, which is larger than the version of the window shown in Expose if the window was reduced in size in order to fit within the grid or array provided by this improved version of Expose. In one embodiment, Expose attempts to show the window in its original size.
"In one embodiment, this improved version of Expose can display minimized windows in, for example, a minimized window section of the array. In an alternative embodiment, the minimized windows are displayed in the array without a minimized window section. In one embodiment, if Expose provides a minimized window section, a user can dynamically change the size of that section and thereby resize the minimized windows. In one embodiment, the moveable separator can be moved by user interaction (e.g. selection of a separator line and dragging of the line or otherwise moving of the line up or down (or left and right in an alternative embodiment)) in order to resize the two sections and thereby resize the windows within the two sections.
"In certain embodiments of the present invention, a name for each window is displayed adjacent to each window in Expose, whether or not the window is currently selected in Expose. Further, highlighting around the window or other indicator of a selection can be provided in the user interface to show the user which window in Expose is currently selected. In one embodiment, the icon in the dock for the application displaying the currently selected window can also be highlighted in the dock.
"In one embodiment of Expose described herein, the dock remains active and can accept user input while Expose displays the windows in the array or grid described herein. For example, the user may move a cursor or otherwise select icons along the dock while in Expose mode to bring up one or more menus for each icon for an application on the dock. In one embodiment, the user can select an icon on the dock while in the Expose mode to show only those windows (including minimized windows) of that application; in one embodiment, this method can work even for hidden windows when the user has previously selected the 'hide' command from an application menu for the application.
"In one embodiment, a user can invoke Expose by selecting an application's icon on the dock and by holding the selection (e.g. 'click' on the icon and hold down the mouse's button or tap and hold with a finger or stylus), and this results in the display of all currently open windows and minimized windows for the application even if the application was previously hidden by the user. In one embodiment, the selection can occur by positioning a cursor over the icon on the dock and pressing a key or button (e.g. a mouse's button) and holding the button down for a period of time in order to cause Expose to be invoked for that application, thereby hiding all other windows for other applications and displaying in Expose only those windows of the application selected from the interaction with the dock.
"At least certain embodiments of the present invention provide support for dragging and dropping of a file or other item (e.g. content within a file) onto an application's icon in the dock in order to invoke Expose, to thereby cause the display of all of the windows of that application currently open (and minimized windows) in order to allow the user to continue the drag to deposit the file or other item into a window selected from the array of windows in Expose for that application.
"For example, a plurality of windows from a plurality of applications may be displayed concurrently on the display device and the user may select a file from the desktop or a file from a user interface window of a file management system, such as the Finder, and then drag that selected file or otherwise move that selected file to an icon on the dock for a particular application, thereby causing all windows for other applications to be removed from the display and to cause Expose to present all windows for that application selected by the dragging operation to be displayed in the Expose mode. It will be understood that the drag and drop operation can occur by selecting the file or other item and then by selecting a command to indicate the file or other item to be associated with an icon or other representation of the application which can be selected by the user in a further operation.
"Other features and embodiments are described further below. It will be understood that the present invention may be implemented in a variety of data processing systems, such as general purpose computers, handheld computers, embedded systems, cellular telephones, and other consumer electronic devices. It will also be understood that the present invention may be implemented in software which is stored on a computer readable medium which will cause a data processing system to perform one or more of the methods described herein.
-- Dennis Sellers