IP Library Granted Patent US 7,370,284
Granted Patent B2
US 7,370,284 · App. 10/717,221 · Granted May 6, 2008

User interface for displaying multiple applications

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 7,370,284
App. No.
10/717,221
Granted
May 6, 2008
Kind
B2
Abstract

Multiple applications are displayed. A request to change a display of a first application is received. A determination is made regarding how displays for one or more other applications should change in response to changing the display of the first application in order to avoid conflict with the display of the first application. The display of the first application is changed. The one or more displays for the one or more other applications are automatically changed in response to changing the display of the first application in order to avoid conflict with the display of the first application.

Claims (179)

1. A method for managing applications, comprising:

displaying a set of software program applications within a web browser, said set of software program applications includes at least a first software program application and a second software program application; changing a display of said first software program application; and

automatically changing a display of said second software program application in response to said changing of said display of said first software program application, said first software program application and said second software program application are displayed in a display are that is fixed in size during said steps of changing a display of said first software program application and automatically changing a display of said second software program application.

2. A method according to claim 1 , wherein:

said step of changing said display of said first software program application includes changing a size of said display of said first software program application; and

said step of changing said display of said second software program application includes changing a position or size of said display of said second software program application.

3. A method according to claim 1 , wherein:

said step of changing said display of said first software program application includes changing a position of said display of said first software program application; and

said step of changing said display of said second software program application includes changing a position or size of said display of said second software program application.

4. A method according to claim 1 , wherein:

said software program applications each are displayed in a display area that is fixed in size.

5. A method according to claim 1 , wherein:

said software program applications include a third software program application; and

said first software program application and said second software program application are displayed within said third software program application.

6. A method according to claim 1 , wherein:

said step of changing a display of said first software program application is performed in response to a user dragging a portion of an object.

7. A method according to claim 1 , wherein said step of automatically changing said display of said second software program application comprises:

determining an effect of changing said display of said first software program application on said second software program application;

determining whether said effect is allowed; and

changing said display of said second software program application if said effect is allowed.

8. A method according to claim 1 , wherein said step of changing a display of said first software program application comprises:

determining whether said changing of said display is allowed.

9. A method according to claim 1 , further comprising:

creating user interface items for said set of software program applications;

creating a layout object for a parent software program application;

providing each user interface item with a pointer to call one or more functions if corresponding software program applications change;

providing displays for said user interface items; and

running said corresponding software program applications.

10. A method according to claim 1 , wherein said step of automatically changing said display of said second software program application comprises:

determining that a vertical positioning of said display of said first software program application has changed; and

adjusting vertical positioning of siblings to said first software program application in a vertical relationship with said first software program application.

11. A method according to claim 1 , wherein said step of automatically changing said display of said second software program application comprises:

determining that a horizontal positioning of said display of said first software program application has changed; and

adjusting horizontal positioning of siblings to said first software program application in a horizontal relationship with said first software program application.

12. A method according to claim 1 , wherein said step of automatically changing said display of said second software program application comprises:

determining that a width of said display of said first software program application has changed;

changing a column width of a first display column that includes said display of said first software program application; and

changing widths of displays in said first display column based on said column width of said first display column.

13. A method according to claim 1 , wherein said step of automatically changing said display of said second software program application comprises:

determining that a width of said display of said first software program application has changed;

changing a column width of a first display column that includes said display of said first software program application;

changing widths of displays in said first display column based on said column width of said first display column;

changing a column width of a second display column that neighbors said first display column; and

changing widths of displays in said second display column based on said column width of said second display column.

14. A method according to claim 1 , wherein said step of automatically changing said display of said second software program application comprises:

determining that a vertical size of said display of said first software program application has changed;

dividing remaining area among siblings; and

adjusting sizes of siblings based on said step of dividing.

15. A method according to claim 1 , wherein:

said first software program application is a member of a group, members of said group have a predefined relationship within said group;

said step of automatically changing said display of said second software program application is performed to maintain said predefined relationship.

16. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

receiving a selection of said first software program application;

enlarging said display of said first software program application and placing said display of said first software program application in a featured location; and

resizing and positioning displays of siblings of said first software program application, including said second software program application, to fit within an existing space based on a predefined relationship.

17. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

determining that said display of said first software program application will overlap with one or more siblings;

determining that displays of said one or more siblings can be resized; and

automatically resizing said displays of said one or more siblings to maintain minimum separation.

18. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

determining that said display of said first software program application will overlap with one or more siblings;

determining that not all displays of said one or more siblings can be resized; and

limiting said resizing of said display of said first software program application so that displays of all overlapping siblings can be resized.

19. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

determining that said display of said first software program application will overlap with one or more siblings;

determining that not all displays of said one or more siblings can be fully resized;

partially resizing displays that cannot be fully resized; and

resizing neighbors to displays that cannot be fully resized.

20. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

removing said display of said first software program application; and

adjusting remaining displays of siblings to said first software program application based on a proportional size.

21. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

determining whether said display of said first software program application fits in an existing free space;

determining whether potentially overlapping neighbors for said first software program application can be moved; and

determining whether potentially overlapping neighbors for said first software program application can be resized.

22. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

determining whether said display of said first software program application fits in an existing free space;

determining whether potentially overlapping neighbors for said first software program application can be moved;

automatically moving said potentially overlapping neighbors, including said display for said second software program application; and

adding said display for said first software program application.

23. A method according to claim 1 , wherein said steps of changing a display of said first software program application and automatically changing said display of said second software program application comprise:

determining whether said display of said first software program application fits in an existing free space;

determining whether potentially overlapping neighbors for said first software program application can be resized;

resizing said potentially overlapping neighbors, including said display for said second software program application; and

adding said display for said first software program application.

24. A method according to claim 1 , wherein:

said step of automatically changing said display of said second software program application includes preventing said display of said first software program application from overlapping with said display of said second software program application.

25. A method according to claim 1 , wherein:

said step of automatically changing said display of said second software program application includes determining that said display of said second software program application is below a predetermined size threshold and changing said display of said second software program application into an icon.

26. A method according to claim 1 , further comprising the steps:

requesting content from a server via a network, said content includes said set of software program applications;

accessing said content in response to said step of requesting by retrieving a mark-up language description of said content and compiling said mark-up language description to produce executable code used to perform said step of displaying, said accessing is performed by said server; and

receiving said content from said server, said step of displaying is performed subsequent to said step of receiving said content.

27. A method according to claim 1 , wherein:

said step of automatically changing a display of said second software program application includes automatically changing how interactive webpage content for said second software program application is displayed.

28. A method according to claim 1 , wherein:

said automatically changing a display of said second software program application includes automatically changing a size or resolution of an image displayed within said second software program application in response to said changing of said display of said first software program application.

29. A method according to claim 1 , wherein:

said automatically changing a display of said second software program application includes automatically changing how text is displayed within said second software program application in response to said changing of said display of said first software program application.

30. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:

displaying a set of interactive applications in a web browser, said set of interactive applications includes at least a first interactive application and a second interactive application; changing a size or position of said first interactive application; and automatically changing a size or position of said second interactive application in response to said changing of said size or position of said first interactive application so that display of said first interactive application does not conflict with display of said second interactive application, display of said first interactive application conflicts with display of said second interactive application if said first interactive application overlaps with display of said second interactive application.

31. One or more processor readable storage devices according to claim 30 , wherein said step of automatically changing a size or position of said second interactive application comprises:

determining that a width of said first interactive application has changed;

changing a column width of a first display column that includes said first interactive application; and

changing widths of another interactive application in said first display column based on said column width of said first display column.

32. One or more processor readable storage devices according to claim 30 , wherein:

said first interactive application and said second interactive application are displayed in a display area that is fixed in size.

33. One or more processor readable storage devices according to claim 30 , wherein said step of automatically changing a size or position of said second interactive application comprises:

determining that a width of said first interactive application has changed;

changing a column width of a first display column that includes said first interactive application;

changing widths of one or more other interactive applications in said first display column based on said column width of said first display column;

changing a column width of a second display column that neighbors said first display column; and

changing widths of one or more interactive applications in said second display column based on said column width of said second display column.

34. One or more processor readable storage devices according to claim 30 , wherein said steps of changing a size or position of said first interactive application and automatically changing a size or position of said second interactive application comprise:

determining that said first interactive application will overlap with one or more siblings;

determining that displays of said one or more siblings can be resized; and

automatically resizing said one or more siblings to maintain minimum separation.

35. One or more processor readable storage devices according to claim 30 , wherein:

display of said first interactive application conflicts with display of said second interactive application if display of said first interactive application overlaps with display of said second interactive application in a manner that is not allowed.

36. A method for managing software program applications, comprising:

receiving a request to change a display of a first software program application displayed in a display area;

determining how one or more displays for one or more other software program applications should change in response to changing said display of said first software program application in order to avoid conflict with said display of said first software program application;

changing said display of said first software program application; and

automatically changing said one or more displays for said one or more other software program applications that should change in response to changing said display of said first software program application in order to avoid conflict with said display of said first software program application including automatically changing how interactive webpage content for said one or more other software program applications is displayed.

37. A method according to claim 36 , wherein:

said step of receiving a request includes a user dragging a portion of a window.

38. A method according to claim 36 , wherein:

said conflict to be avoided includes avoiding said display of said first software program application overlapping with said one or more displays for said one or more other software program applications that should change.

39. A method according to claim 36 , wherein:

said conflict to be avoided includes avoiding said display of said first software program application overlapping, in a manner that is not allowed, with said one or more displays for said one or more other software program applications that should change.

40. A method according to claim 36 , wherein:

said step of determining includes determining how to adjust said one or more displays for said one or more other software program applications to avoid said display of said first software program application overlapping with said one or more displays for said one or more other software program applications.

41. A method according to claim 36 , further comprising:

determining whether said change to said display of said first software program application is allowed; and

denying said change to said display of said first software program application if said change to said display of said first software program application is not allowed.

42. A method according to claim 36 , wherein:

said one or more other software program applications includes a second software program application; and

said step of changing said one or more displays for said one or more other software program applications includes determining how to change a display of said second software program application to avoid overlapping with said display of said first software program application, determining that said change to said display of said second software program application is not allowed and denying said change to said display of said first software program application.

43. A method according to claim 36 , wherein:

said one or more other software program applications includes a second software program application; and

said step of changing said one or more displays for said one or more other software program applications includes determining how to change a display of said second software program application to avoid overlapping with said display of said first software program application, determining that said change to said display of said second software program application causes said display of said second software program application to become too small and changing said display of said second software program application to an icon in response to determining that said change to said display of said second software program application causes said display of said second software program application to become too small.

44. A method according to claim 36 , wherein:

said one or more other software program applications includes a second software program application;

said first software program application and said second software program application are run within a parent software program application;

said first software program application reports said requested change to said display of said first software program application to said software program parent application; and

said parent software program application performs said step of determining.

45. A method according to claim 36 , wherein:

said display area is a web browser.

46. A method according to claim 36 , wherein said automatically changing how interactive webpage content for said one or more other software program applications is displayed comprises:

automatically changing a size or resolution of an image displayed within said one or more other software program applications.

47. A method according to claim 36 , wherein said automatically changing how interactive webpage content for said one or more other software program applications is displayed comprises:

automatically changing how text is displayed within said one or more other software program applications.

48. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:

receiving a request to change a display of a first software program application;

determining how one or more displays for one or more other software program applications should change in response to changing said display of said first software program application in order to avoid conflict with said display of said first software program application;

changing said display of said first software program application; and

automatically changing said one or more displays for said one or more other software program applications that should change in response to changing said display of said first software program application in order to avoid conflict with said display of said first software program application including automatically changing how interactive webpage content for said one or more other software program applications is displayed.

49. One or more processor readable storage devices according to claim 48 , wherein:

said step of determining includes determining how to adjust said one or more displays for said one or more other software program applications to avoid said display of said first software program application overlapping with said one or more displays for said one or more other software program applications.

50. One or more processor readable storage devices according to claim 48 , wherein said method further comprises:

determining whether said change to said display of said first software program application is allowed; and

denying said change to said display of said first software program application if said change to said display of said first software program application is not allowed.

51. One or more processor readable storage devices according to claim 48 , wherein:

said one or more other software program applications includes a second software program application; and

said step of changing said one or more displays for said one or more other software program applications includes determining how to change a display of said second software program application to avoid overlapping with said display of said first software program application, determining that said change to said display of said second software program application is not allowed and denying said change to said display of said first software program application.

52. An apparatus that can run software program applications, comprising:

means for receiving a request to change a display of a first software program application;

means for determining how one or more displays for one or more other software program applications should change in response to changing said display of said first software program application in order to avoid conflict with said display of said first software program application;

means for changing said display of said first software program application; and

means for changing said one or more displays for said one or more other software program applications that should change in response to changing said display of said software program first application in order to avoid conflict with said display of said first software program application including means for changing how interactive webpage content for said one or more other software program applications is displayed.

53. An apparatus that can run software program applications, composing:

an input device;

a display device;

a storage device, said storage device stores code for said software program applications; and

a processing device in communication with said input device, said display device and said storage device, said processing device accesses said code in order to display said software program applications within a web browser on said display device, said processing device receives a request to change a display of a first software program application, said processing device automatically changes a display of a second soft-ware program application in response to said request to change said display of said first software program application so that said first software program application does not conflict with said second software program application, said first software program application does not conflict with said second software program application if display of said first software program application does not overlap with display of said second software program application.

54. An apparatus according to claim 53 , wherein:

said processing device determines whether said change to said display of said first software program application is allowed and does not change said display of said first software program application if said change to said display of said first software program application is not allowed.

55. An apparatus according to claim 53 , wherein:

said processing device determines whether said change to said display of said second software program application is allowed and does not change said display of said first software program application if said change to said display of said second software program application is not allowed.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2013
From: LASZLO SYSTEMS, INC.
To: INTEL CORPORATION
Reel/Frame 029748/0430 →
SECURITY INTEREST, LIEN AND CHARGE Recorded Dec 16, 2011
From: MMV FINANCE, INC.
To: WI HARPER FUND VI LTD.
Reel/Frame 027397/0715 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2011
From: WI HARPER FUND VI LTD.
To: LASZLO SYSEMS, INC.
Reel/Frame 027401/0319 →
SECURITY INTEREST, LIEN AND CHARGE Recorded Dec 28, 2009
From: LASZLO SYSTEMS, INC.
To: MMV FINANCE INC.
Reel/Frame 023708/0119 →
RELEASE OF SECURITY INTEREST Recorded Dec 9, 2009
From: SOFINNOVA VENTURE PRINCIPALS V, LP; SOFINNOVA VENTURE PARTNERS V, LP; SOFINNOVA VENTURE AFFILIATES V, LP; GENERAL CATALYST GROUP II, L.P.; GC ENTREPRENEURS FUND II, L.P.; MITSUI & CO. VENTURE PARTNERS II, L.P.
To: LASZLO SYSTEMS, INC.
Reel/Frame 023627/0001 →
SECURITY AGREEMENT Recorded Mar 10, 2006
From: LASZLO SYSTEMS, INC.
To: GENERAL CATALYST GROUP II, L.P.; GC ENTREPRENEURS FUND II, L.P.; MITSUI & CO. VENTURE PARTNERS II, L.P.; SOFINNOVA VENTURE PARTNERS V, LP; SOFINNOVA VENTURE AFFILIATES V, LP; SOFINNOVA VENTURE PRINCIPALS V, LP
Reel/Frame 017286/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2004
From: ANDREA, PETER; SIMISTER, J. BRET; TEMKIN, DAVID T.
To: LASZLO SYSTEMS, INC.
Reel/Frame 015237/0336 →