U.S. patent application number 13/249163 was filed with the patent office on 2012-01-26 for application purchasing.
This patent application is currently assigned to Apple Inc.. Invention is credited to Christopher Blumenberg, James Alexander Howard, William Bedford Turner, Richard Williamson.
Application Number | 20120022943 13/249163 |
Document ID | / |
Family ID | 44710740 |
Filed Date | 2012-01-26 |
United States Patent
Application |
20120022943 |
Kind Code |
A1 |
Howard; James Alexander ; et
al. |
January 26, 2012 |
APPLICATION PURCHASING
Abstract
The present technology provides a purchasing interface within an
application that allows users to purchase a product from another
source without leaving the application. The application offers a
product for purchase, and a user, desiring to purchase the product
can provide an input effective to cause a purchasing interface to
be displayed. While the purchasing interface, or information
presented therein, comes from the product source, which is
different than the application source, it is presented in such a
fashion that gives the impression to the user that they are
purchasing the product directly from the application.
Inventors: |
Howard; James Alexander;
(Mountain View, CA) ; Turner; William Bedford;
(Campbell, CA) ; Blumenberg; Christopher; (San
Francisco, CA) ; Williamson; Richard; (Los Gatos,
CA) |
Assignee: |
Apple Inc.
Cupertino
CA
|
Family ID: |
44710740 |
Appl. No.: |
13/249163 |
Filed: |
September 29, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12767412 |
Apr 26, 2010 |
|
|
|
13249163 |
|
|
|
|
61320666 |
Apr 2, 2010 |
|
|
|
Current U.S.
Class: |
705/14.51 ;
705/14.73 |
Current CPC
Class: |
G06F 3/0481 20130101;
G06F 2203/04804 20130101; G06Q 30/02 20130101; G06Q 30/0641
20130101; G06Q 30/06 20130101; G06Q 30/0277 20130101; G06Q 30/0253
20130101; G06Q 30/0251 20130101 |
Class at
Publication: |
705/14.51 ;
705/14.73 |
International
Class: |
G06Q 30/00 20060101
G06Q030/00 |
Claims
1. A method comprising: presenting an application offering a
product for purchase, the application being from a first entity,
the product for purchase being from a second entity; presenting a
purchase interface within the application offering the product for
purchase; receiving a purchase indication by the purchase
interface; and removing the purchase interface upon completing a
purchase transaction without navigating away from the
application.
2. The method of claim 1, further comprising: initially presenting
a portion of the interface offering the product for purchase and
upon receiving an input or selection in the portion of the
interface revealing the full application.
3. The method of claim 1, wherein the purchase interface is
presented after receiving an input into the application offering
the product for purchase indicating that the user desires to
purchase the product.
4. The method of claim 1, wherein the purchase interface is
translucent.
5. The method of claim 1, wherein the purchase interface is an
interface to the second entity.
6. The method of claim 1, wherein the application is an
advertisement.
7. The method of claim 1, wherein the application is from an
application server that targets applications to users.
8. The method of claim 1, wherein the purchase interface is for
purchasing a product directly from an online store.
9. A product comprising: a non-transitory machine-readable medium;
and machine-executable instructions stored on the machine-readable
medium for presenting a portion of an application offering a
product for purchase, the application being from a first entity;
receiving an input in the portion of the application; presenting
the full application in response to receiving the input; receiving
a selection in the portion of the application indicating that a
user desires to purchase the product; presenting a purchase
interface overlaid the application, the purchase interface being
from a second entity; and completing a sales transaction without
navigating away from the application.
10. The product of claim 9, wherein the purchase interface is
translucent.
11. The product of claim 9, wherein the purchase interface is
partially transparent.
12. The product of claim 9, wherein the application is an
advertisement.
13. The product of claim 9, wherein the application is from an
application server that targets applications to users.
14. A system for presenting a purchase interface comprising: a
processor configured to present an application offering a product
for purchase, the application being from a first entity; a
communications interface configured to communicate with an online
store, the online store being an entity offering the product for
purchase; the processor further configured to present a purchase
interface overlaid the application, the purchase interface
including information received from the online store via the
communications interface; and an input device for receiving inputs
effective to cause the communications interface to communicate with
the online store to complete a purchase of the product without
navigating away from the application.
15. The system of claim 14, wherein the processor is two or more
processors.
16. The system of claim 14, wherein the purchase interface is
translucent.
17. The system of claim 14, wherein the purchase interface is
partially transparent.
18. The system of claim 14, wherein the application is an
advertisement.
19. The system of claim 14, wherein the application is from an
application server that targets applications to users.
20. The system of claim 14, wherein the purchase interface is for
purchasing a product directly from an online store.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 12/767,412, filed on Apr. 16, 2010, which
claims the benefit of U.S. Provisional Patent Application No.
61/320,666, entitled "IN APPLICATION PURCHASING", filed on Apr. 2,
2010; both of which are hereby expressly incorporated herein by
reference in their entireties.
FIELD
[0002] The following relates to presenting a purchase interface and
more specifically relates to presenting a purchase interface within
an application.
BACKGROUND
[0003] Converting sales from an application offering a product for
purchase or from an advertisement can be difficult task. Consumers
can be extremely fickle and accordingly many different things can
cause a consumer to walk away from a potential purchase. Each step
in the purchasing process presents a new opportunity for the
consumer to decide not to purchase a product.
[0004] When purchasing products offered for sale or advertised in a
computer application, a user is required to select the product for
purchase and then to navigate to the online store offering a
product for sale where the user can purchase the product. Such
navigation often takes a user away from the interface or
application which presented the product in a favorable light and
introduces additional opportunities for the user to not purchase
the product, which is undesirable.
SUMMARY
[0005] Accordingly, the present technology provides a purchasing
interface within an application that allows users to purchase a
product from another source without leaving the application. The
application offers a product for purchase, and a user, desiring to
purchase the product can provide an input effective to cause a
purchasing interface to be displayed. While the purchasing
interface, or information presented therein, comes from the product
source, which is different than the application source, it is
presented in such a fashion that gives the impression to the user
that they are purchasing the product directly from the
application.
[0006] The present technology presents a targeted application,
which is an application having content targeted to the user. The
targeted application can advertise a product for purchase within
the application, or the application can be an interactive
advertisement itself. If the user is enticed to purchase the
product by the targeted application, the targeted application can
call for a purchasing interface from the online store offering the
product for purchase.
[0007] The purchasing interface can be displayed as a transparent
or translucent overlay allowing the targeted application to be
viewed through the purchasing interface. The combined purchasing
interface and targeted application give the user the impression
that both interfaces are from the same source and further give the
impression that the user is still interacting with the targeted
application. Importantly, the user never navigates away from the
targeted application.
[0008] Upon completion of the transaction, the user is returned to
the targeted application or to another application, referred to
herein as the primary application. In some embodiments of the
technology, the targeted application can be an HTML application,
such as an HTML5 application, video, game, puzzle, advertisement,
image or any other suitable application.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 illustrates an exemplary display presenting a
targeted application within a primary application;
[0010] FIG. 2 is a flowchart illustrating a method embodiment for
receiving a targeted application based on targeting data;
[0011] FIG. 3 is a flowchart illustrating a method embodiment for
downloading the targeted application and initial views thereof;
[0012] FIG. 4 illustrates multiple views of the targeted
application corresponding to portrait and landscape display
orientations;
[0013] FIG. 5 illustrates a banner image for the targeted
application that is a portion of the full screen view of the
targeted application and a transition from the banner to the full
screen view;
[0014] FIG. 6 illustrates a point-of-sale embodiment without
navigating away from the targeted application;
[0015] FIG. 7 is a flowchart illustrating a method embodiment for
completing the sale of a product without navigating away from the
targeted application; and
[0016] FIG. 8 is a schematic illustration of an exemplary system
embodiment.
DESCRIPTION
[0017] The technology described herein relates to presenting a
targeted application within a primary application whereby the
targeted application can be identified using a background process
to access sensitive data that must be treated with due care
appropriate to its sensitive nature.
[0018] The background process works as a daemon to respond to
requests for a targeted application from the primary application.
The daemon can have access to sensitive information that should not
be shared with third-party applications and using the sensitive
data, it can determine which targeted application should be
returned to the primary application.
[0019] Such sensitive data can be application-targeting data, which
can be used to deliver content that is targeted to a user of a
device. The application-targeting data can include information
about the device or about the user. For example,
application-targeting data can include information identifying: the
type of the device, applications loaded or running on the device,
preferences, frequently viewed websites, frequently used
applications, global positioning system data (GPS data), the
operating system, etc. Due to the sensitive nature of much of this
data, it is important that this data not be shared with third-party
developers who could misuse the data or whose applications might be
more vulnerable to hacking than an operating system. It is
important to note, that while the operating system has access to
this data, most operating system developers take great care to
divorce these characteristics from the user itself to keep the
individual user as anonymous as possible. It is a preferred aspect
of the present technology that the identity of the user remains
anonymous while still accessing enough data to provide properly
targeted material.
[0020] FIG. 1 illustrates an exemplary device 102 displaying a
primary application 104 and a targeted application 106 in a view
108 within the primary application 104. As illustrated, the device
102 is a handheld computing device, for example, a smart phone,
e.g., an IPHONE, by Apple Inc. of Cupertino, Calif. However, the
device 102 can be any computing device such as a personal computer,
laptop, or personal media-playing device; even a household
appliance having a processor and a display can be used with the
present technology.
[0021] The primary application 104 can be any application that
reserves a view 108 or a window or a frame to display a second
application 106. In some embodiments, the view has a standard
dimension that is consistent across all potential primary
applications. In some embodiments, the view 108 occupies about ten
percent of the available screen area. Of course, the targeted
application can occupy any desired portion of the primary
application. However, the area of the targeted application should
not be so large as to obscure or detract from the primary
application, yet the targeted application should be large enough to
view and interact with. Accordingly, the targeted application could
be between one and sixty percent of the available screen area.
[0022] The targeted application 106 can be any application having
content that is created with an audience in mind and can be
targeted to that audience. For example, the application can be a
game for children; a web application targeted at sports fans; or an
advertisement for home improvement products targeted at home
owners. In some preferred embodiments, the targeted application 106
can have some relationship to the primary application 104, such as
a similarity in the target demographic for the audiences of both
applications or in the nature of the content of the applications,
etc.
[0023] FIG. 2 illustrates an exemplary method embodiment for
providing the targeted application for presentation within the
primary application. When the primary application launches, it
requests a targeted application for display in the view reserved
for the targeted application and the request is received by a
background process (202), a daemon.
[0024] The daemon has access to and collects various information to
be used in determining which targeted application to provide to the
primary application. This information, called targeting data, is
collected from the application and the operating system.
[0025] The daemon receives some targeting data directly from the
primary application (204). For example the primary application
requests a targeted application that can fit reserved views of
specified dimensions and/or number of views. The primary
application can also request applications that meet other
specifications, e.g., specifications such as content type (sports
applications, retail applications, educational applications, etc.),
target demographic information, etc. In some embodiments these
specifications can be sent by the primary application as part of
the request for a targeted application while in some embodiments
these specifications can be sent in a separate communication.
[0026] Additionally, the daemon polls the operating system for
additional targeting data (206). Since the daemon is a background
process that is part of the operating system, it has access to a
variety of targeting data that can be used to determine the optimum
content to display to a user. This data can include user
preferences, such as configuration preferences; it can also include
data identifying specific applications installed or running on the
device, or more general information about the applications
identifying applications by broad category; it can include
information identifying the primary application requesting the
targeted application; it can include past internet search terms,
topics extracted from electronic communications; it can include
network information such as network state, roaming information,
type of connection such as 3-G, 2-G, wi-fi, connection speeds,
etc., and carrier information; it can include general user
information such as country of residence, home zip code, phone
number area code, language preferences, keyboard configuration, and
parental restrictions; it can include device information such as
screen dimensions, screen resolution, hardware capabilities, a
device ID, etc.; it can include data extracted from a social
network profile, for example what groups or applications the user
is a member of, etc., or from an online store profile; and it can
include other targeting data. The daemon can also have access to
various hardware components of the device and can access targeting
data such as GPS locations. In short, since the daemon is part of
the operating system, it is deemed trusted enough to learn
targeting data, some of which can be considered sensitive
information, for the limited use of determining the optimum
targeted content. While some examples of targeting data are listed
above, they should not be considered limiting, but rather exemplary
for the purposes of providing a fuller explanation of the present
technology.
[0027] User protection and privacy is a primary concern, and one of
the many benefits of the present technology is the protection of
the user's sensitive information while gaining the benefit of using
the data to determine the optimum content to display to a specific
user. Among other protections provided by the present technology,
the daemon can be trusted to not share any identifying information.
The user's identity is separate from the targeting data used in
selecting the targeted applications and not shared, thus keeping
the user associated with the targeting data anonymous.
[0028] As introduced above, the daemon can learn of the primary
application's identity from the operating system. While the primary
application can send this information directly to the daemon in its
request for a targeted application, in some environments, it is
more desirable for the daemon to positively identify the
application from the operating system itself. For example, in a
system wherein all applications on the device originated from an
associated store, the daemon can positively identify the
application because the application comes from the store and is
therefore highly likely to be correctly identified. Some stores
cryptographically sign each application and include a unique key to
identify the application. Every message sent by one application to
another application on the device must identify itself with this
key. In such systems each application can know with confidence that
the calling application is as it appears, which makes the device
more secure. Additionally, because the store is the source of the
application, the store will often have more detailed information
regarding the application and this data is not subject to
manipulation by the software developer. Correctly identifying the
application enables the application server to provide better
targeted applications, to avoid presenting another ad for this same
application to the user, and to track payments to the developer of
the application.
[0029] The targeting data can be sent to an application server
(208) to determine which targeted application should be presented
to the user. The daemon can communicate with the application server
using any suitable protocol, but in some embodiments, the daemon
and the application server communicate via https. The application
server can process the received targeting data using algorithms
engineered for the purpose of selecting the targeted application.
Importantly, the application server never learns the identity of
the user, although it will use information about the user in
determining the content to deliver to the user.
[0030] Once the application server determines which content to
deliver to the user, it can send the content to the device and the
daemon thereon. The daemon receives metadata describing the
targeted application (210) and forwards the metadata to the primary
application. The primary application then downloads the targeted
application specified by the metadata and by storing the targeted
application in a cache specific to the primary application. The
primary application can then present a targeted application stored
in its cache in the view field within the primary application
(212).
[0031] Operating in this manner, the primary application can always
present a targeted application that is already stored in its cache
without calling the daemon. As illustrated in FIG. 2, when the
primary application is launched (201) it can immediately display
one of the targeted applications stored in its cache (214). If
there are multiple targeted applications stored in the cache, the
targeted application can present them in a round-robin fashion.
[0032] However, it is not desirable to allow the primary
application to only retrieve a targeted application once and then
always display it from the cache. Targeted applications can have
limited life spans, or restrictions on the number of times the
application can be presented. Such restrictions may be tied to the
life of the targeted application or to only one session of the
primary application. When the primary application requires a new
targeted application it will request the targeted application from
the daemon (204) as described above.
[0033] In some embodiments the application server can determine
that multiple targeted applications should be sent to the device.
In such embodiments, the first targeted application that is
downloaded will be the first targeted application presented in the
primary application.
[0034] In summary, the daemon functions as a proxy for the
application server. The daemon receives requests for targeted
applications and forwards targeted applications to the primary
application. However, because the daemon is a process of the
operating system it is also ideally suited to mine data that is
needed by the application server to select the best targeted
content for presentation in the primary application.
[0035] In addition to the proxy-like functions already described,
in some embodiments the daemon can have additional proxy-like
attributes. In such embodiments, targeted applications can be
stored in a device-wide cache. The daemon can be configured to have
limited logic, usually reserved for the application server, to
select a targeted application from the pool of targeted
applications stored in the device-wide cache. The targeted
applications in a device-wide cache would include all applications
downloaded from the application server over a certain period
irrespective of which primary application for which the targeted
applications were originally intended.
[0036] FIG. 3 illustrates a process for downloading the full
content of the targeted application that balances the competing
interests of immediately displaying content so that the reserved
view is not left blank with presenting a fully operational and
interactive application. Initially, a static view of the targeted
application is downloaded (302) and displayed (304).
[0037] In some embodiments, the targeted application can have more
than one basic application configuration. Multiple basic
configurations can be used, for example, in situations where the
primary application can be presented in multiple presentation
formats, e.g., landscape or portrait views corresponding to the
availability of landscape and portrait orientations of the device
display. In such embodiments, one or both of the basic application
configurations can be initially downloaded (302).
[0038] After the initial application configuration has been
downloaded it is displayed within the primary application (304).
Initially, the targeted application displays as a static banner,
the rest of the application content has been optimistically
pre-fetched (306) the targeted application is available for full
interaction.
[0039] While only a small portion of the targeted application is
displayed, it can be interactive and full of rich content. The
additional content can be pre-fetched so that the targeted
application can present a functional user interface immediately
upon being selected and then download additional resources as the
user requests them by interacting with the application.
[0040] This method of downloading the targeted application
overcomes some of the drawbacks related to serving the targeted
application from a remote server. By initially downloading the
initial application configurations, content is quickly made
available for display on the device. This minimizes the possibility
that the targeted-application view will be left blank while the
full content is downloaded. The full content of the application is
further downloaded and cached so that future interaction with the
application will not be delayed by additional downloading
operations. The application is optimistically downloaded so that
all of the content is available immediately.
[0041] As mentioned above, multiple application configurations can
be downloaded if the device has multiple possible presentation
formats, such as portrait and landscape. In such aspects, it is
anticipated that a view in portrait will not be as desirable in
landscape. In some embodiments, it is desired that the
targeted-application view and corresponding targeted-application
configuration occupy only about ten percent of the display. As
illustrated in FIG. 4, the targeted-application view in the
portrait view (402) is fatter but thinner than the
targeted-application view in the landscape view (404). Both views
take up only about ten percent of the available screen area.
[0042] When the device is in a first orientation, for example a
portrait orientation, and then rotates to a second orientation, for
example a landscape orientation, the targeted-application view can
resize along with the rest of the primary application, and the
targeted-application configuration for that orientation can be
displayed. When the device is rotated into a different orientation,
the primary application will react to the change in orientation by
rotating its view and resizing itself according to the new
orientation. Along with this process, the primary application can
can present an alternate configuration for the targeted application
that corresponds to the current orientation of the device which was
downloaded along with the targeted application. In other words, a
primary application that can be displayed in both landscape and
portrait orientations will download a targeted application that can
fit both orientations. When the device is rotated, the targeted
application changes shape and animates to show content appropriate
to the new aspect ratio. The content is still the same targeted
application; it just has a slightly different representation for
the new aspect ratio.
[0043] Except while the targeted application is being downloaded,
the targeted application can be interactive. As illustrated in FIG.
5, the targeted application (504) can be selected using a pointing
device (506). In the illustrated embodiment, the device has a touch
screen input and thus a finger touch is illustrated, although any
other selection mechanism is acceptable. Upon selection, the
targeted application expands (504') to reveal its full view. In
some embodiments, such as the embodiment illustrated in FIG. 5, the
targeted application can be shown in a reduced view or a full view.
At the left of FIG. 5, the targeted application is shown in a
reduced view (504), while at the far right the full view (504'') is
illustrated. Upon selecting the reduced view (504), the targeted
application morphs into its full view. The morphing is illustrated
in the middle of FIG. 5 with 504' illustrating the transition
between the reduced view (504) and the full view (504''). In other
words, targeted applications can include banner images such that
the targeted application shown in the primary application is a
slice of a larger image that is seamlessly revealed when selected.
This full screen targeted application provides the full interactive
content of the targeted application.
[0044] In some aspects of the technology, the targeted application
either advertises products for purchase or links to an online store
to purchase products. In such aspects of the technology, it is
undesirable to have the user navigate away from the application
because such additional steps reduce the likelihood that a sale
will be converted. Accordingly, the present technology provides for
allowing a user to purchase products outside of the targeted
application, while maintaining the appearance that the user is
still operating within the targeted application.
[0045] FIG. 6 illustrates an exemplary user interface for allowing
a user to purchase a product outside of the targeted application
while the user experience maintains the appearance of being within
the targeted application. As illustrated, the targeted application
(602) is advertising ITEM X (a hypothetical item for purchase),
which the user has selected to purchase. A purchase interface (604)
is further shown overlaid the targeted application. In some
embodiments, the purchase interface (604) is translucent or has
transparent portions so that the targeted application (602) remains
at least partially visible through the purchase interface. While
the purchase interface (604) looks like it is part of the targeted
application (602), it is really an extension of an online store. As
an example, ITEM X could be a media item such as a movie or music,
which is available for purchase from an online store, such as
ITUNES, by Apple Inc., of Cupertino, Calif. In such an example, the
targeted application could be a game or video or advertisement
relating to the media item. The media item is not sold by the
targeted application; it is sold by the online media store.
Accordingly, the purchase interface is an extension of the online
store and can be used to allow the user to purchase the media item
from the store. To the user, it as though they bought the media
item from the targeted application.
[0046] FIG. 7 illustrates an exemplary method for providing a point
of purchase that appears to be within the targeted application. The
targeted application is displayed on the device and it advertises a
product for sale (702). If a user wishes to purchase the item, the
user can select the product for purchase using an input device and
the input is detected by the system (704). Responsive to the
received user input, the system can request data needed to provide
a purchase interface (706). In some embodiments, the data needed to
provide the purchase interface includes data representing the
entire purchase interface, while in some embodiments it includes
data representing information used to fill out fields in a template
purchase interface.
[0047] Whether a template purchase interface is used with data from
the store, or a purchase interface sent by the store is used, the
purchase interface is displayed overlaid the targeted application
(708). As addressed above, in some embodiments, the purchase
interface is displayed as a substantially translucent or
transparent interface so that at least portions of the targeted
application can be seen through the purchase interface.
[0048] Receiving user inputs effective to complete the purchase
completes the purchase (710). Responsive to those inputs, the
system can communicate the confirmed purchase with the online
store. The purchase interface can be removed and the user is
returned to the targeted application or the primary application
(712).
[0049] The targeted application can be a program, applet, image,
object with hyperlinks, html application, video, flash object, etc.
It can be for any purpose including, gaming, video, web
interaction, advertising, document preparation, presenting,
etc.
[0050] In some embodiments, the targeted application is an HTML5
web application for the purpose of advertising. In such
embodiments, the primary application can call the operating system
requesting an advertisement to be displayed in the view reserved
for that purpose in the primary application. The operating system
can use a daemon to collect advertisement targeting information
that can be sent to an advertising server which can select and
serve an advertisement that is best suited for display to the
specific user in that primary application.
[0051] The device can download initial banner views of the
advertisement suitable for display in any display orientation,
which the primary application is expected to run. For example, the
primary application might be expected to run in a portrait and a
landscape orientation and, accordingly, the device will download
the advertisement banners to be initially displayed.
[0052] The banners for portrait and landscape orientation can be
standard sizes, which, in some embodiments, should not take up more
than ten percent of the display area. When the orientation of the
device changes from portrait to landscape or landscape to portrait,
the banner corresponding to the orientation will be loaded and
displayed.
[0053] The device can thereafter download the HTML5 version of the
advertisement that contains interactive features to enrich the
user's experience with the advertisement. Additionally, the device
can preload a web archive of additional content associated with the
ad so that the advertisement can present its full functional
advertisement content without waiting for the additional content to
be downloaded. However, it may be necessary or desired to download
some content upon request.
[0054] In some embodiments, the banner, which is initially
displayed, is actually only a small portion of the full
targeted-advertisement application. When a user selects the banner,
the full advertisement can be displayed. In such embodiments, an
animation can show the banner portion of the targeted-advertisement
application grow into the full advertisement, or the animation can
show the primary application being pulled back to reveal the full
ad. Other animations are possible. It is also possible that the
banner is just a link to the full targeted-advertisement
application, which can be loaded upon selection of the banner.
[0055] The full targeted-advertisement application can have a
variety of interactive functions. The advertisement can present a
game, information, or any other desired content. The advertisement
can also provide a point of purchase for one or more advertised
items. While it will most commonly be the case that the
advertisement is providing a link to an online store that is the
entity actually selling the advertised items, to the user, it looks
as if the advertisement is the entity selling the item because the
user will not have to leave the advertisement to complete the
purchase.
[0056] When a user desires to purchase an advertised product, the
user can select the product from the advertisement. The
advertisement can request information to complete a purchase
interface, or can request a purchase interface directly from the
store. The purchase interface can be displayed directly in, or
above, the advertisement program and thus the purchase is completed
without navigating away from the advertisement program.
[0057] The present technology also protects the operating system
and the primary application from unstable and malicious targeted
applications by running the targeted application as a separate
process. In some embodiments, the targeted application is run in a
virtual machine type environment or given access to limited
resources. In some embodiments, the targeted application is run in
a sandbox so that it cannot effect the primary application or
operating system. Running the targeted application in a sandboxed
environment allows the targeted application to crash or freeze and
be quit without effecting the primary application. It also prevents
the targeted application from including malicious content or
extracting data from the primary application.
[0058] FIG. 8 illustrates a computer system 800 used in executing
the described method. Computer system 800 is an example of computer
hardware, software, and firmware that can be used to implement
disclosures above. System 800 includes a processor 820,
representative of any number of physically and/or logically
distinct resources capable of executing software, firmware, and
hardware configured to perform identified computations. Processor
820 communicates with a chipset 822 that can control input to and
output from processor 820. In this example, chipset 822 outputs
information to display 840 and can read and write information to
non-volatile storage 860, which can include magnetic media and
solid-state media, for example. Chipset 822 also can read data from
and write data to RAM 870. A bridge 835 for interfacing with a
variety of user interface components can be provided for
interfacing with chipset 822. Such user interface components can
include a keyboard 836, a microphone 837, touch detection and
processing circuitry 838, a pointing device, such as a mouse 839,
and so on. In general, inputs to system 800 can come from any of a
variety of sources, machine-generated and/or human-generated.
[0059] Chipset 822 also can interface with one or more data network
interfaces 825 that can have different physical interfaces 817.
Such data network interfaces can include interfaces for wired and
wireless local area networks, for broadband wireless networks, as
well as personal area networks. Some applications of the methods
for collecting data in the location-popularity index and ranking
and returning location search results disclosed herein can include
receiving data over physical interface 817 or be generated by the
machine itself by processor 820 analyzing data stored in memory 860
or 870. Further, the machine can receive inputs from a user via
devices 836, 837, 838, 839 and execute appropriate functions, such
as browsing functions, by interpreting these inputs using processor
820.
[0060] Methods according to the above-described examples can be
implemented using computer-executable instructions that are stored
or otherwise available from computer-readable media. Such
instructions comprise, for example, instructions and data which
cause or otherwise configure a general purpose computer, special
purpose computer, or special-purpose processing device to perform a
certain function or group of functions. Portions of computer
resources used can be accessible over a network. The computer
executable instructions may be, for example, binaries,
intermediate-format instructions such as assembly language,
firmware, or source code, including transitory signals carrying the
instructions. Examples of computer-readable media that may be used
to store instructions, information used, and/or information created
during methods according to described examples include magnetic or
optical disks, flash memory, USB devices provided with non-volatile
memory, networked storage devices, and so on.
[0061] Devices implementing methods according to these disclosures
can comprise hardware, firmware, and/or software, and can take any
of a variety of form factors. Typical examples of such form factors
include laptops, smart phones, small form factor personal
computers, personal digital assistants, and so on. Functionality
described herein also can be embodied in peripherals or add-in
cards. Such functionality also can be implemented on a circuit
board among different chips or different processes executing in a
single device, by way of further example.
[0062] The instructions, media for conveying such instructions,
computing resources for executing them, and other structures for
supporting such computing resources are means for providing the
functions described in these disclosures.
[0063] Although a variety of examples and other information was
used to explain aspects within the scope of the appended claims, no
limitation of the claims should be implied based on particular
features or arrangements in such examples, as one of ordinary skill
would be able to use these examples to derive a wide variety of
implementations. Further, and although some subject matter may have
been described in language specific to examples of structural
features and/or method steps, it is to be understood that the
subject matter defined in the appended claims is not necessarily
limited to these described features or acts. For example, such
functionality can be distributed differently or performed in
components other than those identified herein. Rather, the
described features and steps are disclosed as examples of
components of systems and methods within the scope of the appended
claims.
* * * * *