US7475352B2 - Layout and management of browser panes - Google Patents
Layout and management of browser panes Download PDFInfo
- Publication number
- US7475352B2 US7475352B2 US11/260,211 US26021105A US7475352B2 US 7475352 B2 US7475352 B2 US 7475352B2 US 26021105 A US26021105 A US 26021105A US 7475352 B2 US7475352 B2 US 7475352B2
- Authority
- US
- United States
- Prior art keywords
- browser
- panes
- component
- space
- pane
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
Definitions
- a form filling application may need to show the user's address book and can allow the user to choose an address.
- browser components can display a custom dialog box that can allow user input, and browser components can show the user an alert by using a message box that displays information and allows no user input.
- the two example techniques above are unsatisfactory because they both can require showing a popup window that obscures the content of the page the user is currently browsing. These popup dialogs can also be unsatisfactory because the user may have to close the dialog before the user can continue using the browser.
- the invention is directed towards a system and method for reserving space within a browser for a requesting component.
- the method can include subclassing a browser and receiving at least one request for space within the browser. Additionally, the method can include creating one or more windows within the browser corresponding to the requested space.
- the invention can be configured to return a handle for each of the one or more created windows.
- FIG. 1A illustrates an embodiment of a browser before a controlling application creates a browser pane for any requesting components.
- FIG. 1B illustrates an embodiment of a browser including a plurality of browser panes created by a controlling application for a plurality of components.
- FIG. 2 illustrates an embodiment of a block diagram showing a method for creating space within a browser for a requesting component.
- FIG. 3 illustrates an embodiment of a block diagram showing a method for maintaining space for created browser panes when switching between two types of browser views.
- the invention presents a solution for displaying information for browser components by creating a controlling application that can allow browser components to request space inside the browser itself.
- the component can ask the controlling application to reserve space above, below, to the left and/or to the right of an embedded browser window. Additionally, the component can request space in a region that is both above and to the left, above and to the right, below and to the left, and/or below and to the right of the embedded browser window.
- the controlling application can reserve the space by adjusting the embedded browser window to accommodate the space requested by the component.
- the controlling application can also notify the components when the user has adjusted the browser so that the component can layout its user interface.
- the invention discloses a method and system for allocating space within a browser for a component.
- a controlling application can be used to allocate the space for a component within the browser.
- Such a controlling application can be, for example, a Microsoft Network Explorer Panes (MSNEP) application.
- MSNEP can be a dynamic link library (DLL) that can use the Component Object Model (COM) to communicate with other components and DLLs.
- DLL dynamic link library
- COM Component Object Model
- components that can request space within a browser can include, for example, a popup blocker component that can request space to inform a user that a popup has been blocked, a tabbed browsing component that can request space to insert a tab band, and a form fill component that can request space to present the user with options from the user's address book, credit card information, or any other user profile information. It should be understood, however, that the invention should not be limited to the above examples, and a component can be any other type of component that can request space within a browser.
- the space requested by a component can include browser panes for displaying information.
- the browser panes themselves can be comprised of one or more windows.
- the browser panes can be positioned in a region above, below, to the left, and/or to the right of a main browsing section. Additionally, the browser panes can be located in a region that is both above and to the left, above and to the right, below and to the left, and/or below and to the right of the main browsing section.
- the main browsing section can include a web browsing section, an email section, a word processing section, a document creation section, or any other viewable section for displaying any type of multimedia information.
- the invention can be configured to allow each component to have its own browser pane occupying its own reserved space. There can be as many browser panes within a client area of the browser as requested by a plurality of components. The browser panes can be displayed simultaneously with each other in a manner that does not obscure any viewable areas of the main browsing section.
- a client may be or include a desktop or laptop computer, a network-enabled cellular telephone, wireless email client, or other client, machine or device to perform various tasks including Web browsing, search, electronic mail (email) and other tasks, applications and functions.
- the client may also be or can include a server including, for instance, a workstation running the Microsoft Windows®, MacOSTM, Unix, Linux, Xenix, IBM AIXTM, Hewlett-Packard UXTM, Novell NetwareTM, Sun Microsystems SolarisTM, OS/2TM, BeOSTM, Mach, Apache, OpenStepTM or other operating system or platform.
- the client may additionally be any portable media device such as digital still camera devices, digital video cameras, media players such as personal music players and personal video players, and any other portable media devices.
- the client can include a communication interface.
- the communication interface may be an interface that can allow the client to be directly connected to any other client or device or allows the client to be connected to a client or device over a network.
- the network can include, for example, a local area network (LAN), a wide area network (WAN), or the Internet.
- the client can be connected to another client or device via a wireless interface.
- FIG. 1A illustrates an embodiment of a browser before a controlling application creates a browser pane for any requesting components.
- the browser 102 can have a main browsing section 104 that can encompass the entire client area of the browser.
- the main browsing section can include a web browsing section, an email section, a word processing section, a document creation section, or any other viewable section for displaying any type of multimedia information.
- FIG. 1B illustrates an embodiment of a browser 106 including a plurality of browser panes 110 , 112 , 114 , 116 , and 118 created by a controlling application for a plurality of components.
- the main browsing section 108 can be the same as the main browsing section 104 , but the main browsing section 108 has been adjusted due to the addition of the browser panes created by the controlling application. Adjusting can include moving and resizing the main browsing section 108 . As shown in FIG. 1B , the browser panes can be positioned in any region above, below, to the left and/or to the right of the main browsing section 108 in a manner that does not obstruct any viewable areas of the main browsing section 108 .
- the browser panes can be located in a region that is both above and to the left, above and to the right, below and to the left, and/or below and to the right of the main browsing section in a manner that does not obstruct any viewable areas of the main browsing section 108 .
- a plurality of browser panes can be positioned in the same region.
- FIG. 2 illustrates an embodiment of a block diagram showing a method for creating space within a browser for a requesting component.
- the requested space can be created in the form of a browser pane.
- the browser pane can comprise one or more windows.
- Components can instantiate the controlling application via COM, and can receive a pointer to a communication interface from the controlling application.
- the communication interface can be a mechanism that includes a set of functions that can enable the component and the controlling application to communicate with each other.
- the communication interface can be, for example, an IIEPane interface.
- the component can request space within the browser from the controlling application, and the controlling application can receive the request at step 202 .
- the request can include a number of input variables from the component that are needed by the controlling application in order for the controlling application to reserve space for the component.
- the input variables can be received in a request through use of one or more application program interfaces (APIs).
- One input variable can be a pointer to an instance of the browser that the component can previously receive from the browser.
- the controlling application can use the pointer to the browser in order to subclass the browser at step 204 .
- Subclassing the browser can include the controlling application latching onto the browser in order to intercept messages that are sent to and from the browser. Once messages have been intercepted by the controlling application, the controlling application can modify those messages in order for the it to dictate what it wants the browser to know or do.
- Another input variable that can be included in the request can be information that can describe the region in which the component would like to have its browser pane located.
- the component can request to have its browser pane to be above, below, to the right, or to the left of the main browsing section. Additionally, the component can request to have its browser pane to be in a region that is both above and to the left, above and to the right, below and to the left, and/or below and to the right of the main browsing section.
- Yet another input variable included in the request can be information that describes the size of the browser pane that the component wants. This information can include a number of pixels that corresponds to the size of the browser pane that the component would like to have. In an embodiment, the component may only need to provide one coordinate of pixels.
- the controlling application may only need to know one coordinate of pixels that relate to how high the component wants the pane to be because the width of the browser pane can be determined on how wide the main browsing section already is.
- the component can specify the length and width of the requested browser pane can be specified.
- Another input variable can be information that can describe the position of the requested browser pane relative to other browser panes that are currently in the same region that the component wishes to have its browser pane, and the information can describe the position of the requested browser pane relative to other browser panes that may be subsequently created in the same region. For example, if a component wishes to have its browser pane created in a region above the main browsing section, the component can request for its browser pane to be at the top of any browser pane created in that region. In an embodiment, if two or more components request to be in the same location of a region, the controlling application can honor the request of the component who made the request first.
- Yet another input variable included in the request can be a callback interface that can allow the component to receive events from the controlling application.
- An event can be any type of information that the component may be interested in knowing from the controlling application. For example, the component may want to know if the main browsing section has been adjusted, or the component may want to know if the user has clicked in the main browsing section using a mouse cursor. But again, the events can correspond to any type of information that a component may want to know from the controlling application and should not be limited to the above examples.
- the controlling application can create a browser pane that corresponds to the request at step 206 .
- the controlling application can then adjust the main browsing section accordingly to the number of pixels being used by the newly created browser pane at step 208 .
- the controlling application can compute the number of pixels being used by all browser panes and can adjust the main browsing section according to the total number of pixels being used.
- the controlling application can return a window handle and a pane identifier (pane ID) back to the component at step 210 .
- the window handle and the pane ID can be returned using the same one or more APIs that were used to transmit the input variables to the controlling application, or at least one different API can be used to return the window handle and pane ID.
- the pane ID can be an arbitrary number assigned by the controlling component to the created browser pane.
- the window handle can allow the component to customize and manipulate the created browser pane.
- the controlling application can maintain the space that was created for the component and for any other component that subsequently requests space for a browser pane.
- the controlling application can make sure that all components that have browser panes located within the browser are connected to the main browsing section by informing the components of any changes made to the main browsing section. Since the controlling application can subclass the browser, the controlling application can listen for any messages being sent to the main browsing section directing the main browsing section to change its size, and the controlling application can listen for any messages sent from the main browsing section as a request to change its size. The controlling application can then modify these messages in order for the controlling application to dictate what it wants the browser to know or do.
- the controlling application can manage a plurality of browser panes that it created within a browser for a plurality of components.
- the controlling application intercepts a message being sent to the main browsing section requesting that the main browsing window change its size
- the controlling application can modify that message to control the size of the main browsing section based on an evaluation of the pixels being used by all browser panes. Therefore, the controlling application can always maintain the space that it has reserved for any created browser panes regardless if the main browsing section attempts to change its size.
- FIG. 3 illustrates an embodiment of a block diagram showing a method for maintaining space for a created browser pane when switching between two types of browser views.
- one type of view can be a web view and another type of view can be a file system view.
- a web view can be, for example, a “Shell DocObject View” that can be presented when a user inputs a URL (http://URL) into an address field of a browser.
- a file system view cab be, for example, a “ShellDLL_DefView” that can be presented when a user inputs “C: ⁇ ” into an address field of a browser.
- the browser can destroy the current window of the main browsing section before switching to the new view and supplementing a new window of the main browsing section.
- This can be problematic as the browser does not directly inform a controlling application of the change in view which may make it difficult for a controlling application to maintain the space it created for requesting components. Since the controlling application is not informed of the change, and because the components are connected to the main browsing section through the controlling application, the components may also not be informed of the change and therefore would not know that they may need to modify their user interfaces to their respective browser panes due to the change in windows.
- the invention can be utilized so that the controlling application maintains the size of browser panes and the size of the window corresponding to the main browsing section when switching from one type of view to another.
- the controlling application can subclass the browser in order to listen and intercept messages regarding a view change within the browser.
- the controlling component can initially subclass the browser by receiving a pointer to an instance of the browser from a component.
- the controlling application can begin to search for the new window at step 306 .
- the controlling application can search for the new window by looking for a window that has the same center coordinate as the window of the main browsing section that was destroyed.
- the controlling application can reroute the connections from the components that currently have browser panes within the browser to the new window at step 308 . Once the connections have been rerouted, in step 310 , the controlling application can maintain the space allocated for the browser panes for each component and for any browser pane subsequently created in the same manner as outlined in step 212 above ( FIG. 2 ).
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/260,211 US7475352B2 (en) | 2005-10-28 | 2005-10-28 | Layout and management of browser panes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/260,211 US7475352B2 (en) | 2005-10-28 | 2005-10-28 | Layout and management of browser panes |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070101298A1 US20070101298A1 (en) | 2007-05-03 |
US7475352B2 true US7475352B2 (en) | 2009-01-06 |
Family
ID=37998098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/260,211 Expired - Fee Related US7475352B2 (en) | 2005-10-28 | 2005-10-28 | Layout and management of browser panes |
Country Status (1)
Country | Link |
---|---|
US (1) | US7475352B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8499065B2 (en) | 2010-09-30 | 2013-07-30 | The Nielsen Company (Us), Llc | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US9826359B2 (en) | 2015-05-01 | 2017-11-21 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US11188941B2 (en) | 2016-06-21 | 2021-11-30 | The Nielsen Company (Us), Llc | Methods and apparatus to collect and process browsing history |
US12003799B2 (en) | 2013-04-24 | 2024-06-04 | The Nielsen Company (Us), Llc | Methods and apparatus to correlate census measurement data with panel data |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842097B2 (en) * | 2007-01-30 | 2017-12-12 | Oracle International Corporation | Browser extension for web form fill |
US20080301562A1 (en) * | 2007-04-27 | 2008-12-04 | Josef Berger | Systems and Methods for Accelerating Access to Web Resources by Linking Browsers |
US8234262B2 (en) * | 2007-10-24 | 2012-07-31 | The Invention Science Fund I, Llc | Method of selecting a second content based on a user's reaction to a first content of at least two instances of displayed content |
US8229911B2 (en) * | 2008-05-13 | 2012-07-24 | Enpulz, Llc | Network search engine utilizing client browser activity information |
US8713473B2 (en) * | 2011-04-26 | 2014-04-29 | Google Inc. | Mobile browser context switching |
US9443331B2 (en) * | 2013-06-06 | 2016-09-13 | Microsoft Technology Licensing, Llc | Input object for routing input for visual elements |
US11036386B2 (en) * | 2015-01-06 | 2021-06-15 | Lenovo (Singapore) Pte. Ltd. | Application switching on mobile devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020186249A1 (en) * | 1999-10-28 | 2002-12-12 | Qi Lu | Method and system of facilitating automatic login to a web site using an internet browser |
US20060122904A1 (en) * | 1999-10-28 | 2006-06-08 | Shafron Thomas J | Method and system of facilitating on-line shopping using a dynamically controlled browser interface |
-
2005
- 2005-10-28 US US11/260,211 patent/US7475352B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020186249A1 (en) * | 1999-10-28 | 2002-12-12 | Qi Lu | Method and system of facilitating automatic login to a web site using an internet browser |
US20060122904A1 (en) * | 1999-10-28 | 2006-06-08 | Shafron Thomas J | Method and system of facilitating on-line shopping using a dynamically controlled browser interface |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8499065B2 (en) | 2010-09-30 | 2013-07-30 | The Nielsen Company (Us), Llc | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US9332056B2 (en) | 2010-09-30 | 2016-05-03 | The Nielsen Company (Us), Llc | Methods and apparatus to distinguish between parent and child webpage accesses and/or browser tabs in focus |
US12003799B2 (en) | 2013-04-24 | 2024-06-04 | The Nielsen Company (Us), Llc | Methods and apparatus to correlate census measurement data with panel data |
US12063402B2 (en) | 2013-04-24 | 2024-08-13 | The Nielsen Company (Us), Llc | Methods and apparatus to correlate census measurement data with panel data |
US9826359B2 (en) | 2015-05-01 | 2017-11-21 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US10057718B2 (en) | 2015-05-01 | 2018-08-21 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US10412547B2 (en) | 2015-05-01 | 2019-09-10 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US10681497B2 (en) | 2015-05-01 | 2020-06-09 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US11197125B2 (en) | 2015-05-01 | 2021-12-07 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US12069534B2 (en) | 2015-05-01 | 2024-08-20 | The Nielsen Company (Us), Llc | Methods and apparatus to associate geographic locations with user devices |
US11188941B2 (en) | 2016-06-21 | 2021-11-30 | The Nielsen Company (Us), Llc | Methods and apparatus to collect and process browsing history |
US12093978B2 (en) | 2016-06-21 | 2024-09-17 | The Nielsen Company (Us), Llc | Methods and apparatus to collect and process browsing history |
Also Published As
Publication number | Publication date |
---|---|
US20070101298A1 (en) | 2007-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7475352B2 (en) | Layout and management of browser panes | |
US11151303B2 (en) | Integration of content in non-browser applications | |
US8627195B1 (en) | Remote browsing and searching | |
US8135616B2 (en) | Browsing and quality of service features | |
US8484574B2 (en) | Rule-based multi-pane toolbar display | |
US9348939B2 (en) | Web site sectioning for mobile web browser usability | |
US20140351721A1 (en) | Modification of windows across multiple displays | |
US20110153658A1 (en) | Integrating user interfaces from one application into another | |
US20120297324A1 (en) | Navigation Control Availability | |
US9336321B1 (en) | Remote browsing and searching | |
US10310699B1 (en) | Dynamic modification of browser and content presentation | |
WO2023165197A1 (en) | Method and apparatus for adjusting interface layout, device and storage medium | |
US20190080017A1 (en) | Method, system, and device that invokes a web engine | |
US20080222268A1 (en) | Web server, method of controlling operation thereof, and control program | |
US9092405B1 (en) | Remote browsing and searching | |
US20230214958A1 (en) | Focus of shared content | |
US9690859B2 (en) | Transmitting information based on reading speed | |
US9674305B2 (en) | Method and system for synchronizing software module hosts | |
KR20130070599A (en) | So-called hd-web method for high-definition and all-screen compatible internet contents | |
US20080297521A1 (en) | System and method for providing skins for a web page | |
US20130290827A1 (en) | Integrated search engine homepages | |
US9794369B2 (en) | Active web page consolidator | |
CN112005217A (en) | Independent thread API call to service a request | |
EP3367243A1 (en) | Information processing device, information processing system, and information processing method | |
WO2022062664A1 (en) | Embedding asynchronous content in text |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YOLLECK, STEPHEN M.;REEL/FRAME:016924/0089 Effective date: 20051026 |
|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR FROM STEPHEN M. YOLLECK TO STEPHEN M. YOLLECK AND DAVID S. KORN PREVIOUSLY RECORDED ON REEL 016924 FRAME 0089;ASSIGNORS:YOLLECK, STEPHEN M.;KORN, DAVID S.;REEL/FRAME:021866/0393 Effective date: 20051026 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034543/0001 Effective date: 20141014 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20210106 |