This disclosure relates to uploading user generated content and more specifically to systems and methods for allowing a device user to use the device's resources to upload information to a third party.
It is now common for devices, particularly mobile devices, to have device resources, such as cameras, recording equipment, and the like, built into the device. These resources are controlled by the device's operating system which is designed such that some of the resources (herein called the hidden resources) are always under the control of the device user. For example, it would not be practical if a remote party could, from time to time, turn the device's camera (a hidden resource) on remotely even when the device user and the remote party are in communication with each other. Thus, in situations where the device user is viewing a website of some third party it is not possible for such third party to gain access to the hidden resources of the device and thus it is not currently possible to easily upload information from the hidden resources to the third party.
One method for accomplishing uploads from a specific device's hidden resources is by first downloading an application (app) to the device (such as a banking app where checks can be deposited by taking a photograph of the check) and then allowing the user to snap the desired photograph of a check to be deposited. Such an arrangement requires the app to be downloaded in advance of the photograph being taken and also requires that a relationship preexist between the device user and the app supplier before the app supplier can gain access to the hidden resources.
The present application provides systems, devices and methods which allow an app which has access to hidden resources on a device to present third party media to the device user via that app, where requests included in the third party media may gain access to hidden resources without requiring further permission by the user. In one embodiment, a third party advertisement is presented to a user via an app that has been enabled by the user. The enabled app is pre-approved by the user and/or by any authorization organization, to access hidden resources, such as a camera, camcorder, an audio recorder, personal data, and the like. In this manner, third party requests that require access to such hidden data can control such access without requiring further action by the user.
In one embodiment, a request is made by an advertisement executing within an app for the device user to take photographs of him/herself and upload them to the third party. In another embodiment, a request may be to upload personal information pertaining to the user, for example, information allowing the user to follow an advertiser or other third party on a social network.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. The novel features which are believed to be characteristic of the invention, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention.
For a more complete understanding of the present invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
Conceptually, the user enters an app, such as app 13-2 thereby opening the app, as shown in the (B) depiction of device 10. The app may be any type of app. In this embodiment, app 13-2 is an app specializing in vehicle trends and some third party not necessarily related to the app supplier is presenting advertisement 111 showing vehicle 111-1. For an example illustration of the functionality of an embodiment, assume that the third party is running a contest in which user 120 can take a photograph or video of him/herself and upload the photograph to the third party. Possibly, the third party will run a new advertisement showing user 120, along with vehicle 121, based on the uploaded image received from device 10 via camera 11. Such an advertisement is shown in
In one embodiment, the image processing system will remove unwanted items from a photograph, or block a photograph, under certain situations. Thus, assume the advertisement asks for anybody owning a Jaguar to take a picture of the proud owner standing beside his automobile. Someone then takes a photograph of himself beside a truck and the system, if desired, will automatically reject the picture.
In one embodiment, the technology that allows the advertisement to control the hidden assets is two-fold. First it is the use of, for example, HTML (which is not typically used in advertisements) in combination with allowing the HTML to flow though an app (app 13-2 in our example) which app already is in privy with the device user such that the app has already received user permission to enable or otherwise use the desired hidden resource. It is noted that while the above embodiment utilizes HTML, embodiments may also use other languages such as Javascript, or Javascript combined with the HTML code, to implement inventive concepts outlined herein.
In one embodiment, one or more third parties, via third party server 31, has a relationship with app server 33 such that content from third party server 31 will flow over connection 330 and via network 32 and over connection 331 to app server 33 and then via app server 33 via network 32 and connection 332 to app 13-2 on device 10. It is noted that information may flow between third party server 31, app server 33 and device 10 in any manner, order or direction, which will be generally dictated by the app. For example, third party server may send data directly to device 10 under control of the app executing on the device. It is further noted that network 32 represents one or more networks that would be used in this embodiment, including without limitation, cellular, wireline, WiFi, 3G, etc. In the operational example discussed above, third party server 31 is an advertisement server and operates to send an appropriate advertisement for display on device 10 when the user at device 10 accesses app 13-2. In this embodiment, the user at device 10 does not seek the advertisement from the third party but it is presented as part of the operation of app 13-2 even though the app is not specifically designed to deliver just this one advertisement or any advertisement.
Note that the HTML code used to control the hidden resources of device 10 is code resident in app 13-2 and does not necessarily need to be inserted into the advertisement from server 31. In this manner, permission to use the hidden resource need be given only once (to app 13-2) and not every time a third party advertisement is downloaded to device 10. Also, in some situations, such as when utilizing Apple® devices, where apps must be certified or approved, the approval of app 13-2 serves to allow third parties (server 31 in this example) to use the already approved code of another party's (server 33 in this example) app to control device 10.
In one embodiment, a native mobile application on device 10 provides hardware access capabilities to the resources, including the hidden resources. This includes the ability to control the taking of photographs. The native application also has the ability to display an embedded web page and has the ability to enable that embedded web page to access the native photograph taking capability that it provides. So when an advertisement comes from server 31 (or from any other server authorized by server 33) the HTML page which can be downloaded and provided externally can thus take advantage of the native hardware on the phone, for example taking a picture which otherwise would not be available to standard HTML. Note that the advertisement from server 31 need not, in some embodiments, pass through server 33, but can be delivered directly to device 10 provided that the advertisement is delivered to app 13-2 such that the code (HTML code in this embodiment) can be used with the native mobile application to control the hidden resources on device 10. This then allows the web browser code of app 13-2 to act as the control of the mobile device as opposed to allowing the code in the web browser of the advertisement from server 31 to control the mobile device application which it could not generally accomplish.
Process 405 then controls the use of the hidden resource and when the resource has been used causes process 406 to send the results of the resource use (photograph, video, audio, etc.) to a third party, e.g. to third party server 31. In one embodiment, the photograph is sent with no action required by the user other than to snap the photograph using the built-in camera on the device. This communication can be made directly to server 31 or via one or more intermediary servers.
In operation, when app 13-2 is active (or when a specific third party advertisement is presented to the user via app 13-2) banner 501 is caused to be displayed, either under control of code from app 13-2 or under control of code from a third party advertisement. Banner 501 in this embodiment, represents a specific social network (such as Facebook®, Twitter®, etc.). If the user enables (usually by touching) banner 501, code controlled by app 13-2 accesses a database maintained by app 13-2 to retrieve the specific user login information (typically user name and password) and forwards that information to the appropriate social network under control of app 13-2. In the illustrated embodiment banner 501 represents a selection to follow material related to the contents of the app via a social network site. Note that the “following” and “shown by display 501” is not a following of app 13-2 in this embodiment, but rather of the third party that is currently being displayed via app 13-2. However, in other embodiments content of banner 501, e.g. the social network follow request, may be directly related to the content of app 13-2 and embodiments will process the social network access in a similar manner.
Use of this arrangement then is in substitution for requiring the user at device 10 to manually enable his/her login information for each specific social network which would normally cause the user to navigate away from the app 13-2 either to a web browser or a different app related to the relevant social network. The specific user login information can be located, for example, in memory 10-1 on device 10 and accessed (as a hidden resource) by app 13-2 and not by the third party directly, or the login information could be located in memory 33-1 in association with app 13-2 on server 33.
In some embodiments, access of social network server 51, such as after making a follow request, may be done by validating login information with social network server 51 via a social networking application programming interface (API), such as a web service. Login information may be accessed from storage and provided to the social networking API. Additionally, in some embodiments, the first request to the social network server will require the user to log in. Thereafter, subsequent requests may send and receive information to social network server 51 utilizing the previously provided login without navigating away from app 13-2.
If process 601 determines that a valid third party request has been received, then process 602 determines if the user has enabled the request, for example, by tapping display button 501 (
Note that the third party request could at times be a multiple request, such as for different social networks, or for a combination of different operations. For example, the user may wish to buy a product from company X that has advertised to the user via app 13-2. The user then could click on a BUY button (not shown) and could also click on a FOLLOW button, such that his/her purchase can be both facilitated and posted on the social network concurrently.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.