IP Library Granted Patent US 9,342,208
Granted Patent B2
US 9,342,208 · App. 13/192,366 · Granted May 17, 2016

System and method for optimizing window display

Inventors: Timothy Howes (Los Altos, CA); Eric Vishria (San Carlos, CA)
Assignee: Yahoo! Inc.
G06F3/0481G06F2203/04803
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,342,208
App. No.
13/192,366
Granted
May 17, 2016
Kind
B2
Abstract

A system and method for efficiently displaying multiple windows is disclosed. The system displays two adjacent windows such that adjusting a first window also adjusts a second window adjacent to the first window. For example, the system determines whether to resize or move the first window in response to receiving a window adjustment input. Based on this determination, the system determines a new location for the second window and displays the second window in the new location.

Claims (55)

1. A computer implemented method for displaying a plurality of windows, the method comprising:

displaying a first window and a second window, the first window being displayed in a first location and having a first size, the second window being displayed in a second location and having a second size;

receiving a window adjustment input, the window adjustment input indicating a request to adjust at least one of the displayed first window or the second window;

after receiving the window adjustment input, determining by a processor a new second location in which to display the second window, wherein the window adjustment input does not specify or indicate the new second location or a new first location for the first window;

after receiving the window adjustment input, determining by a processor whether to resize the first window or change the first location;

resizing the first window or changing the first location of the first window according to a result of determining whether to resize the first window or change the first location;

displaying the second window in the new second location;

in response to receiving an indication of a selection of a toggle switch, returning windows to their previous sizes and locations, wherein returning windows to their previous sizes and locations includes displaying the first window at the first location such that the first window has the first size and displaying the second window at the second location such that the second window has the second size;

receiving a second window adjustment input dragging the second window within a threshold distance of the first window or dragging the first window within the threshold distance of the second window;

responsive to receiving the second window adjustment input, combining control of the first window and the second window, the combined control enabling handling of the first window and the second window as one object; and

separating controls of the first window and the second window in response to receiving a subsequent window adjustment input dragging the first window and the second window apart, the separated controls enabling handling of the first window and the second window as two separate objects.

2. The computer-implemented method of claim 1 , wherein prior to determining a new second location to display the second window, the second window at least partially blocks the first window and the new location of the second window does not hinder the display of the second window.

3. The computer-implemented method of claim 1 , further comprising:

after receiving the window adjustment input, the first window and the second window are displayed such that an edge of the first window touches an edge of the second window.

4. The computer-implemented method of claim 1 , further comprising:

after receiving the window adjustment input, the first window and the second window are displayed such that edges of the first window are separated from edges of the second window.

5. The computer-implemented method of claim 1 , wherein a size of the first window is unchanged responsive to determining whether to resize the first window.

6. The computer-implemented method of claim 1 , further comprising:

resizing at least one of the first window or the second window.

7. The computer-implemented method of claim 1 , further comprising:

responsive to receiving a request to display an additional window, determining whether a number of windows currently displayed are at a threshold; and

responsive to the number of currently displayed windows being at the threshold, removing at least one displayed window from a display and displaying the additional window.

8. A computer program product for displaying a plurality of windows, the computer program product comprising a non-transitory computer-readable storage medium containing computer program code for:

displaying a first window and a second window, the first window displayed in a first location and having a first size and the second window displayed in a second location and having a second size;

receiving a window adjustment input indicating a request to adjust at least one of the displayed first window or the second window;

after receiving the window adjustment input, determining by a processor a new second location in which to display the second window, wherein the window adjustment input does not specify or indicate the new second location or a new first location for the first window;

after receiving the window adjustment input, determining by a processor whether to resize the first window;

resizing the first window according to a result of determining whether to resize the first window;

displaying the second window in the new second location;

in response to receiving an indication of a selection of a toggle switch, returning windows to their previous sizes and locations, wherein returning windows to their previous sizes and locations includes displaying the first window at the first location such that the first window has the first size and displaying the second window at the second location such that the second window has the second size;

receiving a second window adjustment input dragging the second window or the first window such that the first window and the second window are within a threshold distance of one another;

responsive to receiving the second window adjustment input, combining the control of the first window and the second window, the combined control enabling handling of the first window and the second window as one object; and

separating controls of the first window and the second window in response to receiving a subsequent window adjustment input dragging the first window and the second window apart, the separated controls enabling handling of the first window and the second window as two separate objects.

9. The computer program product of claim 8 , wherein prior to determining a new second location to display the second window, the second window at least partially blocks the first window and the new location of the second window does not hinder the display of the second window.

10. The computer program product of claim 8 , wherein after receiving the window adjustment input, the first window and the second window are displayed such that an edge of the first window touches an edge of the second window.

11. The computer program product of claim 8 , wherein after receiving the window adjustment input, the first window and the second window are displayed such that edges of the first window are separated from edges of the second window.

12. The computer program product of claim 8 , wherein a size of the first window is unchanged responsive to determining whether to resize the first window.

13. The computer program product of claim 8 , further comprising computer program code for:

resizing at least one of the first window or the second window.

14. The computer program product of claim 8 , further comprising computer program code for:

responsive to receiving a request to display an additional window, determining whether a number of windows currently displayed are at a threshold; and

responsive to the number of currently displayed windows being at the threshold, removing at least one displayed window from a display and displaying the additional window.

15. An apparatus, comprising:

a processor; and

a memory, at least one of the processor or the memory being adapted for:

displaying a first window and a second window, the first window displayed in a first location and having a first size and the second window displayed in a second location and having a second size;

receiving a window adjustment input, the window adjustment input indicating a request to adjust at least one of the displayed first window or the second window;

after receiving the window adjustment input, determining a new second location in which to display the second window, wherein the window adjustment input does not specify or indicate the new second location or a new first location for the first window;

after receiving the window adjustment input, determining whether to resize the first window;

resizing the first window according to a result of determining whether to resize the first window;

displaying the second window in the new second location;

in response to receiving an indication of a selection of a toggle switch, returning windows to their previous sizes and locations, wherein returning windows to their previous sizes and locations includes displaying the first window at the first location such that the first window has the first size and displaying the second window at the second location such that the second window has the second size;

receiving a second window adjustment input dragging the second window or the first window such that the first window and the second window are within a threshold distance of one another;

responsive to receiving the second window adjustment input, combining the control of the first window and the second window, the combined control enabling handling of the first window and the second window as one object; and

separating controls of the first window and the second window in response to receiving a subsequent window adjustment input dragging the first window and the second window apart, the separated controls enabling handling of the first window and the second window as two separate objects.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
MERGER Recorded Oct 2, 2013
From: ROCKMELT, INC.
To: YAHOO! INC.
Reel/Frame 031328/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2011
From: HOWES, TIMOTHY; VISHRIA, ERIC
To: ROCKMELT, INC.
Reel/Frame 026793/0907 →
Continuity (2)
Provisional Application 61367936 · Jul 27, 2010
Related Publication 20120030616A1 · Feb 2, 2012