U.S. patent application number 14/455284 was filed with the patent office on 2015-01-29 for system and method for displaying unrequested information within a web browser.
The applicant listed for this patent is III Holdings 1, LLC. Invention is credited to Darren Morris.
Application Number | 20150033115 14/455284 |
Document ID | / |
Family ID | 37743973 |
Filed Date | 2015-01-29 |
United States Patent
Application |
20150033115 |
Kind Code |
A1 |
Morris; Darren |
January 29, 2015 |
SYSTEM AND METHOD FOR DISPLAYING UNREQUESTED INFORMATION WITHIN A
WEB BROWSER
Abstract
A system and method for generating popup content in response to
user's actions within an enabled web page is disclosed. Generation
of the popup occurs in response to a user triggered event which
invokes a script referencing a secondary web page to display within
the bounds of the enabled web page. The user triggered event
results from movement of a mouse pointer or a keyboard event which
may indicate a user's intention to exit the web page by closing the
web browser window or navigating to a different web site or web
page. The resulting popup is contained within the web page content
itself, thereby resulting in a less intrusive popup display and
avoiding the effects of popup suppression utilities.
Inventors: |
Morris; Darren; (West
Sussex, GB) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
III Holdings 1, LLC |
Wilmington |
DE |
US |
|
|
Family ID: |
37743973 |
Appl. No.: |
14/455284 |
Filed: |
August 8, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11161740 |
Aug 15, 2005 |
8806327 |
|
|
14455284 |
|
|
|
|
Current U.S.
Class: |
715/234 |
Current CPC
Class: |
G06F 16/958 20190101;
G06F 3/0481 20130101; G06F 16/957 20190101 |
Class at
Publication: |
715/234 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1-12. (canceled)
13. A method, comprising: detecting, by a computer-based system, an
event message from a hidden area in a first field of a web page,
wherein the hidden area has a horizontal dimension substantially
the same as a horizontal width of the web page, wherein the web
page has a vertical position between primary web page content and a
browser toolbar, and wherein the event message is indicative of an
action taken toward closing the web page or an action taken toward
navigating away from the web page; and causing, by the
computer-based system and in response to the detecting, popup
content to be displayed in a second field overlaying at least a
portion of the web page.
14. The method of claim 13, wherein the event message indicates
that a mouse pointer is interfacing with the hidden area.
15. The method of claim 13, wherein the event message is associated
with a keyboard action.
16. The method of claim 13, further comprising: prior to the
detecting, the computer-based system receiving a script from a web
server, wherein the script is executable by a browser to cause the
computer-based system to perform the detecting and the causing.
17. The method of claim 16, wherein the script is further
executable to cause the computer-based system to retrieve the popup
content from the web server prior to the detecting.
18. The method of claim 17, further comprising: the computer-based
system storing the retrieved popup content within a cache of the
browser.
19. The method of claim 13, wherein the popup content solicits
email information of a user viewing the web page.
20. A non-transitory computer readable medium having program
instructions stored thereon, wherein the program instructions are
executable by a server system to cause the server system to perform
operations, comprising: receiving, from a client device, a request
for a web page, wherein the web page includes a hidden area that
substantially spans a horizontal width of the web page, wherein the
hidden area has a vertical position between web page content and a
browser toolbar, and wherein the web page is renderable by a
browser of the client device to cause the client device to: detect
a user interface event indicative of a user interacting with the
hidden area; and in response to the user interface event, display
popup content that occludes at least a portion of the web page; and
providing the web page to the client device.
21. The computer readable medium of claim 20, wherein the user
interface event is associated with a mouse operated by the
user.
22. The computer readable medium of claim 21, wherein the user
interface event is a mouse-over event associated with the hidden
area.
23. The computer readable medium of claim 20, wherein the providing
includes providing the popup content in response to the
request.
24. The computer readable medium of claim 20, wherein the web page
is renderable to remove the display of popup content in response to
a user input.
25. The computer readable medium of claim 20, wherein the user
interface event is detectable by an executable script associated
with the web page.
26. The computer readable medium of claim 20, wherein the popup
content includes a form to input user identification
information.
27. A computer-based system, comprising: one or more processors;
and memory having program instructions stored therein, wherein the
program instructions are executable by the one or more processors
to cause the computer-based system to perform: storing a web page
that specifies a hidden area, wherein the hidden area spans a
horizontal width of the web page and has a vertical position below
a browser toolbar and above web page content, and wherein the web
page is renderable to cause displaying popup content over the web
page in response to determining that the user has interacted with
the hidden area; and serving the web page to a client in response
to a client request for the web page.
28. The computer-based system of claim 27, wherein the web page is
renderable to cause displaying the popup content in response to a
mouse pointer passing over the hidden area.
29. The computer-based system of claim 27, wherein serving the web
page to the client causes the client to invoke a script that
retrieves the popup content from the computer-based system.
30. The computer-based system of claim 29, wherein the script is
executable to retrieve the popup content prior to determining that
the user has interacted with the hidden area.
31. The computer-based system of claim 29, wherein the script is
executable to store the popup content in a browser cache of the
client.
32. The computer-based system of claim 27, wherein the popup
content solicits contact information from a viewer of the web page.
Description
FIELD OF INVENTION
[0001] The invention generally relates to the display of
un-requested information within a web browser, and more
particularly, to a system and method for displaying information
within a popup area within primary web page content based on a user
event.
BACKGROUND OF INVENTION
[0002] The internet has spawned a large number of new enterprises
and has provided an alternative media for existing businesses and
organizations. Directing prospective customers to a web site and
keeping them interested has become a unique advertising and
marketing niche. Because there are most often a number of
businesses competing for the same web traffic, methods have been
developed to attempt to persuade the prospective customers to
revisit the site once he or she has navigated away from the site or
closed the browser window. For example, many sites invite and/or
require prospective customers to fill out web forms to request
additional information or to make a purchase. In most cases, the
first required field is the prospective customer's email address.
Therefore, if the prospective customer navigates away from the site
or closes the browser window prior to completing the form, an email
inviting the prospect back can be generated and sent. However, this
is only effective if the prospect has at least started filling out
a form.
[0003] To attempt to persuade a prospective customer to return to a
site when the identity of the prospective customer is unknown,
popup windows have been deployed. Popup windows are activated by an
event that is generated by a browser application. Web browser
applications generate event messages to enable web site developers
to add sophistication to their web pages by triggering a script to
perform a function when a particular event is encountered. However,
while popup windows have proven to be effective from the merchant
perspective, they can be an annoyance from the prospective
customer's perspective. Therefore, developers have created blockers
which detect a popup before it is visible to the user and then
close the popup window. Because popup blockers are generally free
to the public, popup ads have become far less effective.
[0004] Therefore, a need exists for a system and method for
displaying information within a popup content area of a web page
without launching a new window, thereby avoiding the effects of a
popup suppression utility. Further, a need exists for a less
intrusive means to display information while preserving the visual
impact and attention-grabbing nature of popup windows.
SUMMARY OF INVENTION
[0005] The invention enables web sites to monitor user events and
trigger popup content having secondary web page content based on
user intentions. When a web page is transmitted to a browser, a
JavaScript file is transmitted with it. The JavaScript file
contains a reference to a secondary HTML page. The invention
employs a hidden area which remains statically positioned at or
near the top of a web page and extends horizontally, spanning the
width of the page within a browser. When a user directs his or her
mouse pointer over the hidden area of the web page, an event is
fired. The event is captured by a handler which is scripted into
the web page which invokes the JavaScript file. The JavaScript file
facilitates the generation of the popup by integrating content from
the secondary HTML file into the content of the web page, thereby
creating the popup.
[0006] More particularly, the computer-implemented method
facilitates a display of popup content within a web page by
incorporating a hidden area into a field of the web page, wherein
the hidden area facilitates the display of popup content and
wherein the field is located between primary web page content and a
browser toolbar; and, causing the popup content to be displayed
upon a mouse pointer interfacing with the hidden area.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] A more complete understanding of the invention may be
derived by referring to the detailed description and claims when
considered in connection with the Figures, wherein like reference
numbers refer to similar elements throughout the Figures, and:
[0008] FIG. 1 is a block diagram illustrating the major system
components for an exemplary system for displaying a popup display
area within a web page;
[0009] FIG. 2 is a flowchart illustrating an exemplary process for
generating and displaying a popup content within primary web page
content;
[0010] FIG. 3 is a screenshot of a web browser displaying an
exemplary web page with a hidden area employed to capture mouse
movements;
[0011] FIG. 4 is a screenshot of a web browser displaying a web
page with including exemplary popup content.
DETAILED DESCRIPTION
[0012] The detailed description of exemplary embodiments of the
invention herein makes reference to the accompanying drawings,
which show the exemplary embodiment by way of illustration and its
best mode. While these exemplary embodiments are described in
sufficient detail to enable those skilled in the art to practice
the invention, it should be understood that other embodiments may
be realized and that logical and mechanical changes may be made
without departing from the spirit and scope of the invention. Thus,
the detailed description herein is presented for purposes of
illustration only and not of limitation.
[0013] In general, the invention includes a system and method for
presenting information within popup content to dissuade users from
moving a mouse pointer towards the browser toolbar and attempting
to navigate away from a web site or closing a browser window. When
triggered by mouse movement over a hidden area of the primary web
page, the invention displays information from a secondary web page
within the body of a primary web page. With reference to FIG. 1,
the invention facilitates the display of popup information to a
user 100 viewing a web page at a web client 105. Web client 105 is
connected to a web server 115 through a network connection (e.g.,
Internet, Intranet, LAN, WAN).
[0014] In addition to the components discussed above, system 110
may further include one or more of the following: a host server or
other computing systems including a processor for processing
digital data; a memory coupled to the processor for storing digital
data; an input digitizer coupled to the processor for inputting
digital data; an application program stored in the memory and
accessible by the processor for directing processing of digital
data by the processor; a display device coupled to the processor
and memory for displaying information derived from digital data
processed by the processor; and a plurality of databases. Various
databases used herein may include: client data; merchant data;
financial institution data; and/or like data useful in the
operation of the invention.
[0015] As will be appreciated by one of ordinary skill in the art,
the invention may be embodied as a customization of an existing
system, an add-on product, upgraded software, a stand alone system
(e.g., kiosk), a distributed system, a method, a data processing
system, a device for data processing, and/or a computer program
product. Accordingly, the invention may take the form of an
entirely software embodiment, an entirely hardware embodiment, or
an embodiment combining aspects of both software and hardware.
Furthermore, the invention may take the form of a computer program
product on a computer-readable storage medium having
computer-readable program code means embodied in the storage
medium. Any suitable computer-readable storage medium may be
utilized, including hard disks, CD-ROM, optical storage devices,
magnetic storage devices, and/or the like.
[0016] User 100 may include any individual, business, entity,
government organization, software and/or hardware which interacts
with the invention by interacting with popup enabled web pages.
Such web pages may facilitate allowing pre-determined actions to
invoke a javaScript file 125 to insert content from a secondary web
page into the content of the enabled web page. User 100 may be, for
example, a prospective customer, an existing customer or any entity
that has interest in the products, services or information offered
within at least one popup enabled web page. User 100 may interface
with the web messaging system 110 via any communication protocol,
device or method discussed herein or known in the art. In one
embodiment, user 100 may interact with the invention via an
Internet browser at a web client 105.
[0017] Web client 105 may comprise any hardware and/or software
suitably configured to facilitate input, receipt and/or review of
information presented within a web page or any information
discussed herein. Web client 105 may include any device (e.g.,
personal computer), which communicates (in any manner discussed
herein) with the invention via any network discussed herein. Such
browser applications comprise Internet browsing software installed
within a computing unit or system to conduct online transactions
and communications. These computing units or systems may take the
form of a computer or set of computers, although other types of
computing units or systems may be used, including laptops,
notebooks, hand held computers, set-top boxes, workstations,
computer-servers, main frame computers, mini-computers, PC servers,
pervasive computers, network sets of computers, and/or the like.
Practitioners will appreciate that web client 105 may or may not be
in direct contact with the invention. For example, web client 105
may access the services of the invention through another server,
which may have a direct or indirect connection to web server
120.
[0018] As those skilled in the art will appreciate, web client 105
may include an operating system (e.g., Windows NT, 95/98/2000, 0S2,
UNIX, Linux, Solaris, MacOS, etc.) as well as various conventional
support software and drivers typically associated with computers.
The web client 105 may include any suitable personal computer,
network computer, workstation, minicomputer, mainframe or the like.
Web client 105 can be in a home or business environment with access
to a network. In an exemplary embodiment, access is through a
network or the Internet through a commercially available
web-browser software package.
[0019] Web client 105 may be independently, separately or
collectively suitably coupled to the network via data links which
includes, for example, a connection to an Internet Service Provider
(ISP) over the local loop as is typically used in connection with
standard modem communication, cable modem, Dish networks, ISDN,
Digital Subscriber Line (DSL), or various wireless communication
methods, see, e.g., Gilbert Held, Understanding Data Communications
(1996), which is hereby incorporated by reference. It is noted that
the network may be implemented as other types of networks, such as
an interactive television (ITV) network. Moreover, the system
contemplates the use, sale or distribution of any goods, services
or information over any network having similar functionality
described herein.
[0020] The invention contemplates uses in association with web
services, utility computing, pervasive and individualized
computing, security and identity solutions, autonomic computing,
commodity computing, mobility and wireless solutions, open source,
biometrics, grid computing and/or mesh computing.
[0021] Web server 115 may include any hardware and/or software
suitably configured to facilitate communications between web client
105 and one or more popup system 110 components. Further, web
server 115 may be configured to transmit data to web client 105
within markup language documents. Web server 115 may operate as a
single entity in a single geographic location or as separate
computing components located together or in separate geographic
locations. Requests originating from client browser 105 may pass
through a firewall before being received and processed at web
server 115. As used herein, "transmit" may include sending
electronic data from one system component to another over a network
connection. Additionally, as used herein, "data" may include
encompassing information such as commands, queries, files, data for
storage, and the like in digital or any other form.
[0022] Web server 115 discussed herein may provide a suitable web
site or other Internet-based graphical user interface which is
accessible by users. In one embodiment, the Microsoft Internet
Information Server (IIS), Microsoft Transaction Server (MTS), and
Microsoft SQL Server, are used in conjunction with the Microsoft
operating system, Microsoft NT web server software, a Microsoft SQL
Server database system, and a Microsoft Commerce Server.
Additionally, components such as Access or Microsoft SQL Server,
Oracle, Sybase, Informix MySQL, InterBase, etc., may be used to
provide an Active Data Object (ADO) compliant database management
system.
[0023] Any of the communications, inputs, storage, databases or
displays discussed herein may be facilitated through a web site
having web pages. The term "web page" as it is used herein is not
meant to limit the type of documents and applications that might be
used to interact with the user. For example, a typical web site
might include, in addition to standard HTML documents, various
forms, Java applets, JavaScript, active server pages (ASP), common
gateway interface scripts (CGI), extensible markup language (XML),
dynamic HTML, cascading style sheets (CSS), helper applications,
plug-ins, and the like. A server may include a web service that
receives a request from a web server, the request including a URL
(http://yahoo.com/stockquotes/ge) and an IP address (123.56.789).
The web server retrieves the appropriate web pages and sends the
data or applications for the web pages to the IP address. Web
services are applications that are capable of interacting with
other applications over a communications means, such as the
Internet. Web services are typically based on standards or
protocols such as XML, SOAP, WSDL and UDDI. Web services methods
are well known in the art, and are covered in many standard texts.
See, e.g., Alex Nghiem, IT Web Services: A Roadmap for the
Enterprise (2003), hereby incorporated by reference.
[0024] While the figures and descriptions thereof make frequent
reference to JavaScript, those skilled in the art will appreciate
that other scripting languages may be equally effective and
applicable to the invention. For example, the generation of the
popup may be carried out through invoking VBScript, PHP, PERL and
the like. Further, reference is made herein to HTML files. The
invention may be employed within any current or future web page
markup languages.
[0025] In one embodiment, the invention may include any number of
databases for storing customer information, product information,
information relating to web pages, content used in the generation
of the popup of the invention, and the like. These databases may
include any hardware and/or software suitably configured to
facilitate storing authentication and/or privilege information
relating to users 100. Database 145 stores data relating to web
page content. One skilled in the art will appreciate that the
invention may employ any number of databases in any number of
configurations. Further, any databases discussed herein may be any
type of database, such as relational, hierarchical, graphical,
object-oriented, and/or other database configurations. Common
database products that may be used to implement the databases
include DB2 by IBM (White Plains, N.Y.), various database products
available from Oracle Corporation (Redwood Shores, Calif.),
Microsoft Access or Microsoft SQL Server by Microsoft Corporation
(Redmond, Wash.), or any other suitable database product. Moreover,
the databases may be organized in any suitable manner, for example,
as data tables or lookup tables. Each record may be a single file,
a series of files, a linked series of data fields or any other data
structure. Association of certain data may be accomplished through
any desired data association technique such as those known or
practiced in the art. For example, the association may be
accomplished either manually or automatically. Automatic
association techniques may include, for example, a database search,
a database merge, GREP, AGREP, SQL, using a key field in the tables
to speed searches, sequential searches through all the tables and
files, sorting records in the file according to a known order to
simplify lookup, and/or the like. The association step may be
accomplished by a database merge function, for example, using a
"key field" in pre-selected databases or data sectors.
[0026] More particularly, a "key field" partitions the database
according to the high-level class of objects defined by the key
field. For example, certain types of data may be designated as a
key field in a plurality of related data tables and the data tables
may then be linked on the basis of the type of data in the key
field. The data corresponding to the key field in each of the
linked data tables is preferably the same or of the same type.
However, data tables having similar, though not identical, data in
the key fields may also be linked by using AGREP, for example. In
accordance with one aspect of the invention, any suitable data
storage technique may be utilized to store data without a standard
format. Data sets may be stored using any suitable technique,
including, for example, storing individual files using an ISO/IEC
7816-4 file structure; implementing a domain whereby a dedicated
file is selected that exposes one or more elementary files
containing one or more data sets; using data sets stored in
individual files using a hierarchical filing system; data sets
stored as records in a single file (including compression, SQL
accessible, hashed via one or more keys, numeric, alphabetical by
first tuple, etc.); Binary Large Object (BLOB); stored as ungrouped
data elements encoded using ISO/IEC 7816-6 data elements; stored as
ungrouped data elements encoded using ISO/IEC Abstract Syntax
Notation (ASN.1) as in ISO/IEC 8824 and 8825; and/or other
proprietary techniques that may include fractal compression
methods, image compression methods, etc.
[0027] In one exemplary embodiment, the ability to store a wide
variety of information in different formats is facilitated by
storing the information as a BLOB. Thus, any binary information can
be stored in a storage space associated with a data set. As
discussed above, the binary information may be stored on the
financial transaction instrument or external to but affiliated with
the financial transaction instrument. The BLOB method may store
data sets as ungrouped data elements formatted as a block of binary
via a fixed memory offset using either fixed storage allocation,
circular queue techniques, or best practices with respect to memory
management (e.g., paged memory, least recently used, etc.). By
using BLOB methods, the ability to store various data sets that
have different formats facilitates the storage of data associated
with the invention by multiple and unrelated owners of the data
sets. For example, a first data set which may be stored may be
provided by a first party, a second data set which may be stored
may be provided by an unrelated second party, and yet a third data
set which may be stored, may be provided by an third party
unrelated to the first and second party. Each of these three
exemplary data sets may contain different information that is
stored using different data storage formats and/or techniques.
Further, each data set may contain subsets of data that also may be
distinct from other subsets.
[0028] As stated above, in various embodiments of the invention,
the data can be stored without regard to a common format. However,
in one exemplary embodiment of the invention, the data set (e.g.,
BLOB) may be annotated in a standard manner when provided for
manipulating the data onto the financial transaction instrument.
The annotation may comprise a short header, trailer, or other
appropriate indicator related to each data set that is configured
to convey information useful in managing the various data sets. For
example, the annotation may be called a "condition header",
"header", "trailer", or "status", herein, and may comprise an
indication of the status of the data set or may include an
identifier correlated to a specific issuer or owner of the data. In
one example, the first three bytes of each data set BLOB may be
configured or configurable to indicate the status of that
particular data set; e.g., LOADED, INITIALIZED, READY, BLOCKED,
REMOVABLE, or DELETED. Subsequent bytes of data may be used to
indicate for example, the identity of the issuer, user,
transaction/membership account identifier or the like. Each of
these condition annotations are further discussed herein.
[0029] The data set annotation may also be used for other types of
status information as well as various other purposes. For example,
the data set annotation may include security information
establishing access levels. The access levels may, for example, be
configured to permit only certain individuals, levels of employees,
companies, or other entities to access data sets, or to permit
access to specific data sets based on the transaction, merchant,
issuer, user or the like. Furthermore, the security information may
restrict/permit only certain actions such as accessing, modifying,
and/or deleting data sets. In one example, the data set annotation
indicates that only the data set owner or the user are permitted to
delete a data set, various identified users may be permitted to
access the data set for reading, and others are altogether excluded
from accessing the data set. However, other access restriction
parameters may also be used allowing various entities to access a
data set with various permission levels as appropriate.
[0030] The data, including the header or trailer may be received by
a stand-alone interaction device configured to add, delete, modify,
or augment the data in accordance with the header or trailer. As
such, in one embodiment, the header or trailer is not stored on the
transaction device along with the associated issuer-owned data but
instead the appropriate action may be taken by providing to the
transaction instrument user at the stand-alone device, the
appropriate option for the action to be taken. The invention may
contemplate a data storage arrangement wherein the header or
trailer, or header or trailer history, of the data is stored on the
transaction instrument in relation to the appropriate data.
[0031] One skilled in the art will also appreciate that, for
security reasons, any databases, systems, devices, servers or other
components of the invention may consist of any combination thereof
at a single location or at multiple locations, wherein each
database or system includes any of various suitable security
features, such as firewalls, access codes, encryption, decryption,
compression, decompression, and/or the like.
[0032] The detailed description of exemplary embodiments of the
invention herein makes reference to the accompanying drawings,
which show the exemplary embodiment by way of illustration and its
best mode. While these exemplary embodiments are described in
sufficient detail to enable those skilled in the art to practice
the invention, it should be understood that other embodiments may
be realized and that logical and mechanical changes may be made
without departing from the spirit and scope of the invention. Thus,
the detailed description herein is presented for purposes of
illustration only and not of limitation. For example, the steps
recited in any of the method or process descriptions may be
executed in any order and are not limited to the order
presented.
[0033] For the sake of brevity, conventional data networking,
application development and other functional aspects of the systems
(and components of the individual operating components of the
systems) may not be described in detail herein. Furthermore, the
connecting lines shown in the various figures contained herein are
intended to represent exemplary functional relationships and/or
physical couplings between the various elements. It should be noted
that many alternative or additional functional relationships or
physical connections may be present in a practical system.
[0034] The invention may be described herein in terms of functional
block components, screen shots, optional selections and various
processing steps. It should be appreciated that such functional
blocks may be realized by any number of hardware and/or software
components configured to perform the specified functions. For
example, the invention may employ various integrated circuit
components, e.g., memory elements, processing elements, logic
elements, look-up tables, and the like, which may carry out a
variety of functions under the control of one or more
microprocessors or other control devices. Similarly, the software
elements of the invention may be implemented with any programming
or scripting language such as C, C++, Java, COBOL, assembler, PERL,
Visual Basic, SQL Stored Procedures, extensible markup language
(XML), with the various algorithms being implemented with any
combination of data structures, objects, processes, routines or
other programming elements. Further, it should be noted that the
invention may employ any number of conventional techniques for data
transmission, signaling, data processing, network control, and the
like. Still further, the invention could be used to detect or
prevent security issues with a client-side scripting language, such
as JavaScript, VBScript or the like. For a basic introduction of
cryptography and network security, see any of the following
references: (1) "Applied Cryptography: Protocols, Algorithms, And
Source Code In C," by Bruce Schneier, published by John Wiley &
Sons (second edition, 1995); (2) "Java Cryptography" by Jonathan
Knudson, published by O'Reilly & Associates (1998); (3)
"Cryptography & Network Security: Principles & Practice" by
William Stallings, published by Prentice Hall; all of which are
hereby incorporated by reference.
[0035] These software elements may be loaded onto a general purpose
computer, special purpose computer, or other programmable data
processing apparatus to produce a machine, such that the
instructions that execute on the computer or other programmable
data processing apparatus which creates means for implementing the
functions specified in the flowchart block or blocks. These
computer program instructions may also be stored in a
computer-readable memory that can direct a computer or other
programmable data processing apparatus to function in a particular
manner, such that the instructions stored in the computer-readable
memory produce an article of manufacture including instruction
means which implement the function specified in the flowchart block
or blocks. The computer program instructions may also be loaded
onto a computer or other programmable data processing apparatus to
cause a series of operational steps to be performed on the computer
or other programmable apparatus to produce a computer-implemented
process such that the instructions which execute on the computer or
other programmable apparatus provide steps for implementing the
functions specified in the flowchart block or blocks.
[0036] Accordingly, functional blocks of the block diagrams and
flowchart illustrations support combinations of means for
performing the specified functions, combinations of steps for
performing the specified functions, and program instruction means
for performing the specified functions. It will also be understood
that each functional block of the block diagrams and flowchart
illustrations, and combinations of functional blocks in the block
diagrams and flowchart illustrations, can be implemented by either
special purpose hardware-based computer systems which perform the
specified functions or steps, or suitable combinations of special
purpose hardware and computer instructions. Further, illustrations
of the process flows and the descriptions thereof may make
reference to user windows, web pages, web sites, web forms,
prompts, etc. Practitioners will appreciate that the illustrated
steps described herein may comprise in any number of configurations
including the use of windows, web pages, web forms, popup windows,
prompts and the like. It should be further appreciated that the
multiple steps as illustrated and described may be combined into
single web pages and/or windows but have been expanded for the sake
of simplicity. In other cases, steps illustrated and described as
single process steps may be separated into multiple web pages
and/or windows but have been combined for simplicity.
[0037] Referring now to FIGS. 2-4 the process flow and screenshots
depicted are merely embodiments of the invention and are not
intended to limit the scope of the invention as described herein.
For example, the steps recited in any of the method or process
descriptions may be executed in any order and are not limited to
the order presented. It will be appreciated that the following
description makes appropriate references not only to the steps and
user interface elements depicted in FIGS. 2-4, but also to the
various system components as described above with reference to FIG.
1.
[0038] Practitioners will also appreciate that there are a number
of methods for displaying data within a browser-based document.
Data may be represented as standard text or within a fixed list,
scrollable list, drop-down list, editable text field, fixed text
field, pop-up window, and the like. Likewise, there are a number of
methods available for modifying data in a web page such as, for
example, free text entry using a keyboard, selection of menu items,
check boxes, option boxes, and the like.
[0039] FIG. 2 is a flowchart illustrating an exemplary process for
generating and displaying a popup window within primary web page
content. In the discussion of the process of FIG. 2, occasional
reference will be made to the sample screenshots of FIGS. 3 and 4
to illustrate the physical attributes of the invention. Those
skilled in the art will appreciate that the sample web pages
illustrated and discussed herein are provided for explanation only
and are not intended to limit the scope of the invention.
[0040] In one embodiment, user 100 requests a web page at a browser
application (step 200) by first entering a universal resource
locator (URL) for the desired web site or by selecting a link
containing a URL. When web server 115 receives the request, it
retrieves the proper web page and transmits it to the client
browser 105 via an HTML stream (step 205). A browser application
300 compiles the HTML stream into a formatted web page 305 for
display at web client 105. At the same time, or shortly thereafter,
web server 115 also transmits a JavaScript file to the web client
(step 210). The JavaScript file contains the code used to generate
a popup window within the requested web page and is referenced
within the requested web pages HTML. When received at web client
105, the JavaScript is executed, thereby pre-loading the content
for a secondary web page into the memory cache of web client (step
215). The JavaScript file contains a reference to the appropriate
secondary web page, and practitioners will appreciate that the
invention may support any number of secondary web pages.
[0041] The popup enabled web page 305 contains a hidden section
310, that when loaded within a browser application 300, resides, in
one embodiment, near the top and extends to the outer edges of the
web page 305. The hidden section 310 may comprise any web component
capable of generating event messages. Event messages are triggered
in response to mouse and/or keyboard actions and handlers may be
scripted within the web page markup language to perform tasks in
response to event messages. For example, a graphic may be added to
a web page and a developer may write a corresponding handler which
is scripted to respond to a "mouseover" event by substituting a
first graphic with a second graphic. As a result, when a user moves
the mouse pointer over the first graphic, the "mouseover" event
fires and is captured by the handler which substitutes the first
graphic with the second graphic.
[0042] The hidden section 310 waits for user's 100 mouse movements
within the web page 305 to determine if the user 100 is moving the
pointer 315 toward the menu portion of the browser application
(step 220). Such movement may indicate that user 100 is preparing
to enter a new URL in the address bar or intends to close the
browser window housing the web page. If the mouse pointer passes
over the hidden area 310, a "mouseover" is event is fired (step
225). A handler within the web page 305 captures the event to
invoke the pre-loaded JavaScript which loads the content of the
secondary web page into the primary web page (step 230). As long as
user 100 does not move the mouse pointer 315 over the hidden area
(step 225), it remains active to continue monitoring user's 100
mouse movements (step 225).
[0043] Under the prior art, web pages are scripted to respond to
"pageunload" events which are triggered when a user closes the
browser window or navigates to another URL. The event trigger
invokes a script to launch another window in response. In one
embodiment of the invention, the popup is displayed within the web
page prior to an action that would trigger a "pageunload" event.
Therefore, the invention incorporates a method of anticipating a
user's intentions prior to action being taken. Referring to FIGS. 3
and 4, a web page 305 is illustrated with a hidden area 310 serving
a mouse pointer sensor. The web browsers 300 menus, control bar,
address field and close box are all positioned above the web page
305 viewing area. In this example, a user intending to close the
browser application will likely move the mouse pointer 315 from the
web page 305 viewing area toward the web browsers close box 320.
The mouse pointer passing over the hidden area 310 triggers a
"mouseover" event. A handler scripted into the web page 305
receives the event trigger and invokes JavaScript file 125 to
retrieve the pre-loaded secondary web page content from a web
client 105 memory cache. The script further integrates the
secondary web page content 410 into the content of the web page
405. In another embodiment, the invention employs a "mouseleave"
event handler in order to indicate that user 100 has moved the
mouse pointer beyond the web page viewing area. In yet another
embodiment, a mouse pointers interaction with the hidden area 310
may invoke the removal of the secondary web page content 410.
However, practitioners will appreciate that there are a number of
web browser events that may be captured by the invention in order
to trigger the integration of secondary web content within the
primary web page 405.
[0044] Because the secondary content used to create the popup is
stored within the web client 105 memory cache, the popup can be
loaded very quickly in order to catch the attention of the user 100
prior to closing the browser window 400 or any other event that
would direct the user away from the web page. According to the
example screenshot presented in FIG. 7, the popup may include a
field inviting user 100 to enter their email address 415 in order
to provide a follow-up email to the user.
[0045] While the steps outlined above represent a specific
embodiment of the invention, practitioners will appreciate that
there are any number of computing algorithms and user interfaces
that may be applied to create similar results. The steps are
presented for the sake of explanation only and are not intended to
limit the scope of the invention in any way.
[0046] Benefits, other advantages, and solutions to problems have
been described herein with regard to specific embodiments. However,
the benefits, advantages, solutions to problems, and any element(s)
that may cause any benefit, advantage, or solution to occur or
become more pronounced are not to be construed as critical,
required, or essential features or elements of any or all the
claims of the invention. It should be understood that the detailed
description and specific examples, indicating exemplary embodiments
of the invention, are given for purposes of illustration only and
not as limitations. Many changes and modifications within the scope
of the instant invention may be made without departing from the
spirit thereof, and the invention includes all such modifications.
Corresponding structures, materials, acts, and equivalents of all
elements in the claims below are intended to include any structure,
material, or acts for performing the functions in combination with
other claim elements as specifically claimed. The scope of the
invention should be determined by the appended claims and their
legal equivalents, rather than by the examples given above.
* * * * *
References