Many users of smart phones and tablet computers have cellular network data plans which limit the amount of data that can be uploaded or downloaded within a given time period. For this given time period users typically pay a fixed fee (e.g., monthly fee). When users upload or download data beyond their limit, the fees for each additional megabyte transmitted can be quite expensive. This is particularly true in many countries outside the United States. For this reason, users are often careful about the information they upload to social network websites, such as photographs and videos. Nevertheless, many users are interested in sharing photographs, audio files and video files that they believe their social media friends would be interested in. This creates a natural tension between the desire to share media with social media “friends” and the desire to save money by economizing the use of mobile data communications services.
The various embodiments include methods for uploading files to a social media website, including receiving a user selection of files for upload in the user's computing device, reformatting the selected files in the user's computing device to reduce the amount of bandwidth required for the upload, uploading the reformatted files from the user's computing device to the social media website server, receiving in the user's computing device an indication from the social media website server of the popularity of certain identified files, and uploading from the user's computing device to the social media website server the identified files in full or larger format.
Further embodiment methods may include tracking user interactions, such as access requests, for files uploaded by an originating user to a social media website, determining when the user interactions exceed a popularity threshold, transmitting a request to the originating user's computing device for upload of files which exceed the popularity threshold in a greater resolution format, receiving the upload of the identified files in full or larger format from the originating user's computing device, and posting the received greater resolution format files in the user's social media website.
Various embodiments include mobile computing devices and servers including processors configured to perform operations of the embodiment methods disclosed herein. Various embodiments also include mobile computing devices and servers including means for performing functions of the embodiment methods disclosed herein. Various embodiments also include non-transitory processor- and server-readable storage media having stored thereon processor-executable instructions configured to cause a processor to perform operations of the embodiment methods disclosed herein.
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the invention, and together with the general description given above and the detailed description given below, serve to explain the features of the various embodiments.
The various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claims.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
As used herein, the terms “computing device” and “mobile computing device” refer to a variety of computer devices, including but not limited to smartphones, cellular telephones, personal television devices, personal data assistants (PDAs), palm-top computers, digital cameras configured with wireless communication capabilities, including memory sticks with wireless modems, wireless electronic mail receivers (e.g., the Blackberry® and Treo® devices), multimedia Internet enabled cellular telephones (e.g., the Blackberry Storm®), Global Positioning System (GPS) receivers, wireless gaming controllers, receivers within vehicles (e.g., automobiles), interactive game devices, notebooks, smartbooks, netbooks, tablets (e.g., Apple®, iPad®, Samsung®, Galaxy®), mobile television devices, wireless modem dongles, computers (e.g., laptop computers) coupled to a wireless modem, computers coupled to a dongle, or other portable programmable computing devices.
As used herein, the terms “social media website” and “social networking website” refer to a variety of an online services, platforms and websites that enable users to upload and exchange media content over a network, such as the internet and/or a mobile network, within a community of users of the online service, platform or website. The media content may include pictures, video, audio and games. Examples of social media websites include, for example, Facebook®, Twitter®, MySpace®, Youtube®, Flickr®, Photobucket®, Dailymotion®, etc.
In overview, the various embodiments enable reduced use of mobile data communication services by uploading to social media websites reformatted media files which have reduced resolution (e.g., downsized) or represent a sample of types of files, and enabling the user's “friends” and social media contacts to identify the uploaded media files which are of most interest so that only the popular images or files are uploaded in full or enhanced fidelity. In a manner of speaking, various embodiments enable the “crowd” to select the most popular images for full or enhanced fidelity upload, so that a user's mobile data megabytes are used primarily to transmit popular images, and not wasted on images of little interest to friends and associates.
Various embodiments may be implemented on mobile computing devices, and particular smart phones and digital cameras configured with wireless communication capabilities. Embodiments may also be partially implemented on servers associated with social media websites, for example, Facebook®. Implemented within a mobile computing device, embodiments of the invention may be in the form of an application or functionality associated with a communication and/or photography application. Implemented within a server, embodiments of the invention may involve additional functionality associated with the uploading and posting of a user's audio, video and image content in a user's social media page or website.
Some embodiments may be implemented within a mobile computing device which is configured with functionality to compresses files or reduces the quality of images, video and/or audio files so that they can be transmitted using the user's mobile communication data plan in a reduced resolution (i.e., compact) format. In the example of digital image files, the photographs may be downsized and compressed into thumbnail images which can be transmitted in very few kilobytes of information. These downsized images (or other files) may then be uploaded to the user's social media website using conventional wireless communication methods (e.g., 3G or 4G data communication services). Since the images (or other files) have been downsized or compressed, the amount of data that is transmitted is relatively small compared to the full fidelity files. Consequently, the amount of data units of a user's data plan required to accomplish the uploaded/downloaded is dramatically reduced. This conserves data plan usage units available in the user's data plan for other uses, while enabling the user to upload a large number of images (or other files) to his or her social media website. These files are then posted on the user's social media website in the ordinary manner.
Since the images (or other files) have been downsized or compressed, the quality or information available within those images and files is a small fraction of the original full fidelity file. Thus, when a friend or associate of the user clicks on a file on the user's social media website, the low-quality image (or other file) will be accessed. This provides the viewer with a thumbnail or low-quality version of the image or file, which may be enough to enable the viewer to decide whether the photograph or file is of interest and worth viewing in full (or nearly full) resolution. If the viewer is interested in the file, the viewer may make a selection or otherwise provide an input which allows the social media website to provide the file. The website hosting server may be configured to determine the relative popularity of the user's posted files or request for the full resolution image file. The viewer may have an interaction with the photograph or file of interest, such as by interacting with the social media server to comment on the file, rate the file (e.g., indicating the viewer “likes” the file), tag the file, link to the file, or forward the file to other user(s).
The social media server may count the number of requests for, accesses of or other interactions with particular files to determine whether there is sufficient interest in the full resolution image or file to justify the bandwidth consumption to upload a higher resolution version. If so, the social media server may send a message to the originating (i.e., downloading) computing device requesting an upload of a higher resolution version of the particular file. This determination by the social media server may involve comparing the number of accesses, requests or interactions to a threshold value which may be set by users in setting up their social media website. In other embodiments, the social media server may assess the number and quality of interactions users have with a particular media file, and if the interactions meet a predetermined threshold of “popularity,” the social media server may request an upload of a higher resolution version of the file. In response to receiving such a request, the user's computing device may upload a higher resolution version or even the full resolution version of the requested image or other file. The uploading of this image or file may be accomplished using the normal wireless data communication process. Finally, the social media server is configured to substitute the higher resolution file or image for the original low resolution image/file in the user's page. Thus, the uploaded second higher resolution version is not a new image or file, but may be a higher resolution replacement for the original. In various embodiments, the social media server may retain the lower-resolution version of the file, and may make the lower-resolution version available to download to a user's computing device. For example, embodiments may include enabling the computing devices of users to opt to download lower-resolution versions of files when higher-resolution versions of the files are available. This embodiment may enable users to save wireless charges by electing to download the smaller size version of the file.
The various embodiments enable users to upload digital media in a manner that reduces the amount of megabytes used in the initial upload so that a full selection of images may be provided, while users' data plans can be utilized more efficiently to upload higher-resolution versions of images or other files that are of real interest to friends and associates. The embodiments enable users to share with their friends a large number of photographs (or other files) economically, with only those photographs (or other files) that are popular receiving a full resolution transmission treatment.
User mobile computing devices 106-1, 106-2, and 106-3 (collectively “mobile computing device 106”) include a processor and memory, and may send and receive data through a wireless data link 114. The mobile computing devices 106 may be configured with application software associated with one or more social media websites, the application software being stored in memory and executable by the processor. The mobile computing devices 106 may further have stored in memory one or more media content files, such as picture files, video files, audio files, etc. The mobile computing devices 106 may include hardware and/or software that enable the mobile computing devices 106 to create and store media content files. For example, the mobile computing devices 106 may include a digital camera for taking and storing picture and/or video files. The mobile computing devices 106 may use application software to upload media files to the social media website, where the media files may be viewable to other users of the social media website.
In many cases, the mobile computing device 106 may be limited in terms of how much data it can send or receive over wireless network 102. For example, the operator of the wireless network 102 may impose bandwidth limitations on users of the network. The user of a mobile computing device 106 may have a wireless network data plan which limits the amount of data that can be uploaded or downloaded on the network 102 within a given time period for a given fee (e.g., monthly fee). When a user exceeds these limits the network operator may impose overage fees that can be quite expensive. In some cases, the user of the mobile computing device 106 may have a prepaid plan, and the use of the plan to upload files to a social media website may unduly deplete reserves meant for other uses, such as phone calls, creating a frustrating experience. In one embodiment, the mobile computing device 106 may include software that tracks the amount of data used within a given time period (e.g., monthly) to help the user keep track of the data used and avoid excessive data use fees.
The social media website server 104 may receive the media files uploaded from user's device 106-1, and store the files, for example in a database or directory. The server 104 may receive requests sent over network(s) 102, 112 from other user's devices (e.g., mobile computing devices 106-2, 106-3) to view one or more media files uploaded by a user's mobile computing device 106-1. If the other user is authorized (e.g., the other user is a “friend” of the uploading user), the server 104 may download the requested media files to the other user' devices 106-2, 106-3 via the network 102, 112. The operator of the social media website may have a tension between the desire to enable its users to share high-resolution media content with one another, and the costs associated with storing and transmitting large amounts of high-resolution media content.
In block 204, the computing device may reformat the selected files into a reduced size and/or reduced resolution format, and in block 206, the computing device may upload the reformatted files to the social media website. The files may be reformatted using any known technique, such as by resizing or compression algorithms as are known in the art. The reformatting may be done by application software which runs on the mobile computing device 106. In some embodiments, the social media website may include a downloadable executable file (e.g., HTML code, JavaScript®, etc.) which runs on mobile computing device 106 and automatically reformats each media file before it is transmitted over wireless network 102 to social media server 104. The reformatted files require less bandwidth (e.g., megabytes) to transmit over the wireless network 102 than would the full-size/full-resolution versions of the same files. This enables users to upload more files without exceeding their data plan limits. The reformatted files may be, for example, cropped relative to the original files and/or support a lower resolution display (e.g., VGA 640×480 display, rather than a higher resolution display, such as WVGA or FWVGA). The reformatted media files may be a different type of file than the original files. For example, where the original file is a video file, the reformatted file may be one or more still images and/or audio portion(s) from the original file. Similarly, where the original file is a three-dimensional (3D) or holographic media file, the reformatted file may be a two-dimensional file. Where the original file is a text file, such as an article, publication or blog entry, the reformatted file may be, for example, a “headline” or title of the file, a portion of the file (e.g., the first paragraph), and/or a brief summary of the content of the file, which may be automatically generated using artificial intelligence software running on the user's computing device 106-1. The reformatted, lower-resolution files may include unique file metadata to facilitate the social media server 104 to later request upload of a higher-resolution version of the file based on user requests for or interactions with the file on a social media website.
In block 208, the social media server 104 posts the files to the user's media website. The social media server 104 may publish the files as thumbnail images, for example. In block 210, the server 104 receives requests from other users of the social media website to access the uploaded files. For example, user of a computing device 106-2, who is within the originating user's community on the social network (e.g., a “friend”), may visit a webpage of the originating user, and click on one or more selected media files (e.g., photos, videos, etc.). In response, the server 104 may transmit the reformatted, reduced-resolution versions of the selected files to the requesting computing device 106-2.
As part of block 210 the social media server 104 may keep a count of the number of access requests received for each media file uploaded to the server 104. In this way, the server 104 may track the “popularity” of each file. In block 212, the server 104 may compare the number of requests for a particular file to a threshold value. The threshold value may be determined by the social media server or set by the user. As an example, the threshold may be set to five requests. In an embodiment, the threshold value may be set by the user when the user uploads the files. While the number of received file access requests remains less than the threshold value (i.e., determination block 212=“No”), the server 104 may continue to receive requests for the file, and transmit the lower-resolution version.
When the number of requests equals or exceeds the threshold value (i.e., determination block 212=“Yes”), then in block 214 the server 104 sends a request to the user's mobile computing device 106-1 for a greater resolution version of the file. In various embodiments, the social media server 104 may contact the originating user's computing device 106-1 via one or more of SMS message, e-mail, HTML, or by a request communicated the next time the user's device 106-1 logs into the social media server.
In various embodiments, the mobile computing device 106 may have an application program for the social media website that runs in the background of the mobile computing device. The application program may be the program used to upload media files to the social media website, for example. This application may enable background communication over a network 102 between the mobile computing device 106-1 and the social media server 104, such as socket communication, TCP/IP communication, cellular data communications, etc. In various embodiments, the server 104 may use the background communication link with the mobile computing device 106-1 to request that the device upload a higher resolution version of a media file. Alternatively, the social media server 104 may contact the mobile computing device 106-1 over the network 102 as if the device 106-1 were a web server. For example, the social media server 104 may contact the mobile computing device 106-1 via a common protocol-running web server on the device 106-1. An authentication process may allow the social media server 104 to contact a URL to request a particular file on device 106-1. In other embodiments, the social media website may be integrated with an operating system running on mobile computing device 106-1. For example, the operating system may include a function enabling automatic uploading of media files generated by mobile computing device 106-1 (e.g., from a camera) to the social media website. In an embodiment, the social media server 104 may request a higher-resolution file from a computing device 106 by waking up that function on the device.
In another embodiment, the social media server 104 may contact the user's mobile computing device 106-1 via a voice call. The voice call may be automated, and employ voice recognition software so that a user may accept an invitation to upload a higher resolution image via voice commands or button presses.
In block 216, the mobile computing device 106-1 may respond to the request from the social media server by uploading a higher-resolution version of the file. The higher-resolution version of the file may be the original, full-format version of the file, or it may be a version of the file that is higher-resolution than the version first uploaded, but still reduced in size and/or resolution as compared to the full-format file. For example, where the original file is a 2 megapixel photograph, the originally uploaded version may be a low-resolution VGA (640×480) image, and the higher-resolution version uploaded in response to the request from the social media server 104 may be a 1 megapixel version of the photograph.
In block 218, the social media server 104 may receive the larger format, higher-resolution version of the requested file, and replace the original file with the received larger format version. In some embodiments, the social media server 104 is not posting a new file, but may replace one version of the file with a larger format, higher-resolution version of the same content (picture, video, etc.). The social media server 104 may replace the old file with the newly-uploaded file in its directory, or may add a pointer to the new file, for example. In various embodiments, any data associated with the content (e.g., a number of views, tags, comments, “likes” received from viewers of the file, etc.) may be retained by server 104 and associated with the larger format version of the file.
In some embodiments, the social media server may retain the lower-resolution version of the file, and may make the lower-resolution version available to download to a user's computing device. For example, embodiments may include enabling the computing devices of users to opt to download lower-resolution versions of files when higher-resolution versions of the files are available.
In embodiments, the social media server 104 may optionally notify computing devices of users of the social media website that a higher-resolution version of a particular file is available in optional block 219. For example, the server 104 may send a message or notification to computing devices which have previously accessed or downloaded the lower-resolution version of the file.
If the upload does meet the predetermined criteria for full size and/or full resolution upload (i.e., determination block 318=“Yes”), in block 320 the higher-resolution files may be uploaded to the social media website.
However, where the upload does not meet the criteria (i.e., determination block 318=“No”), in block 322 the files may be reformatted into reduced size and/or reduced resolution format, and in block 324 the reformatted files may be uploaded to the social media website. In block 326, the original files may be stored on the mobile computing device for possible later upload. In embodiments, the mobile computing device 106 may select a suitable format (e.g., size and/or resolution) for the uploaded files based on an available amount of data use for the upload.
If the processor determines that the upload is likely to cause the user to exceed the data limit (i.e., determination block 332=“Yes”), in block 334 the mobile computing device 106 may notify the user that uploading the selected files may exceed the data limit and result in overage fees. This notification may be in the form of a visual, audio and/or haptic prompt to the user, and may be, for instance, a pop-up appearing on the screen or an icon on the social media application. The notice may include information about the size of the files being uploaded, the data remaining in the user's data, and/or the costs associated with exceeding the data plan limit.
At determination block 338, the computing device processor may present the user with an option to reformat the files, and may receive the user's selection input. If the processor receives an input indicated the user decided not to reformat the files (i.e., determination block 338=“No”), in block 336 the original higher-resolution files may be uploaded to the social media website. If the processor receives an input indicated the user decided to reformat the files (i.e., determination block 338=“Yes”), in block 340 the files may be reformatted into reduced size and/or reduced resolution format, and in block 342 the reformatted files may be uploaded to the social media website. In block 344, the original files may be stored on the mobile computing device for possible later upload.
In block 404, the received lower-resolution files may be posted to the social media website. In one embodiment, the files may be hosted on a social media server 104, and posted to a website that is associated with one or more users of the social media network, such as a user's Facebook® page. The website may be visited by other users of the social media network, and the server 104 may restrict access to others within the user's approved community (e.g., “friends”). In other embodiments, the user's website may be generally available to the public.
In block 406, the server 104 may monitor interactions with each file. Visitors to the user's website may have various interactions with the media files posted on the website. An interaction with the media file may include clicking-on or requesting to view a particular file, such as a picture or video. An interaction may also include posting a rating of the file (e.g., indicating the viewer “likes” the file), posting a tag of the file, posting a comment regarding the file, linking to the file to the viewer's own page, forwarding the file to other users, etc. In general, the number and types of interactions with a particular media file may indicate the “popularity” of the file within a community of users.
At determination block 408, the server 104 may determine whether interactions with a particular file exceed a popularity threshold. In general, the server 104 may assess the number and/or types of interactions with a file to determine whether the file exceeds a popularity threshold. In one embodiment, the server 104 may simply count the number of views of a file, with the popularity threshold is met when the file has been viewed a predetermined number of times. In other embodiments, the server 104 may factor in other types of interactions, such as the number of tags, comments and/or reviews (e.g., “likes”) received by the file to assess the popularity of the file. The popularity threshold may be a cumulative combination of different types of interactions with the file. The popularity threshold may be server-defined. In other embodiments, the popularity threshold may be defined by the user (e.g., as a control setting on the user's social media website or during upload of the files to the server 104). When the popularity threshold has not been met (i.e., determination bock 408=“No”), the server 104 may continue to monitor the user interactions.
In embodiments, the popularity threshold may be based in part on the popularity of previous files uploaded by the user. For example, users with a history of more frequent likes or interest hits for their media files may, depending on an image quality to bandwidth ratio algorithm, have their media files automatically uploaded at a higher or full resolution.
Once the popularity threshold is met (i.e., determination block 408=“Yes”), then the server 104 may send a request to the user's mobile computing device 106 for a higher-resolution version of the file. The request to the user's mobile computing device can be made in a variety of ways, as discussed above in connection with
At determination block 412, the server 104 may determine whether the user's computing device has uploaded a higher-resolution version of the file. If the user's computing device does not upload a higher-resolution version (i.e., determination block 412=“No”), the server 104 may maintain the lower resolution file on the social media website (block 416). If the user's computing device does upload a higher-resolution version of the file (i.e., determination block 412=“Yes”), the server 104 may replace the existing file with the higher-resolution version of the file in block 414. In embodiments, the social media server 104 may optionally notify computing devices of users of the social media website that a higher-resolution version of a particular file is available in optional block 417.
In a first embodiment method 500 illustrated in
If the processor determines that the upload is likely to cause the user to exceed the data limit (i.e., determination block 504=“Yes”), then in block 506 the mobile computing device 106 may notify the user that uploading the selected files may exceed the data limit and result in overage fees. This notification may be in the form of a visual, audio and/or haptic prompt to the user, and may be, for instance, a pop-up appearing on the screen or an icon on the social media application. The notice may include information about the size of the files being uploaded, the data remaining in the user's data, and/or the costs associated with exceeding the data plan limits.
At determination block 508, the device processor may present a prompt providing the user with a choice regarding reformatting the files and receive a user input in response. If the received user input indicates that the user does want to upload higher resolution versions of one or more files (i.e., determination block 508=“Yes”), in block 510 higher-resolution versions of one or more files may be uploaded over network 102 to social media server 104. If the received user input indicates that the user does not want to upload the higher-resolution versions of the requested files (i.e., determination block 508=“No”), in block 502 the mobile computing device 106 may await the receipt of further upload requests.
When the processor determines that there is insufficient data usage remaining in the user's data plan (i.e., determination block 526=“No”), in determination block 528, the processor may determine whether there is another network connection available for uploading higher-resolution versions of the requested files. In an embodiment, the other network connection may be a Wi-Fi connection to a communication network, such as the Internet 112. Other connections may include, for example, a Bluetooth®, IEEE 1394, Ethernet or USB connection to a network with access to the Internet. The other network connection may include an off-peak data period (e.g., late night or weekend) in the primary wireless network with cheaper data transfer rates. An advantage of this type of connection is that it may not be subject to the same data transfer limitations as a cellular wireless network 102 (e.g., 3G or 4G network). A potential drawback of this type of connection is that may only be available intermittently, such as when the mobile computing device 106 is located within a Wi-Fi “hotspot.” If the processor determines that it does have access to another network connection (i.e., determination block 528=“Yes”), such as when the mobile computing device is in a Wi-Fi “hotspot,” then the processor may establish a connection with the other network if it has not already done so, in block 531. The processor may then use this established other network connection to upload higher-resolution versions of the files in block 532. When the processor determines that no other connection is available (i.e., determination block 528=“No”), the processor may wait until such a connection becomes available by monitoring for the availability of a network connection in block 530.
In one embodiment, the device processor may upload higher-resolution versions of files based on various combinations of rules. For example, the device processor may be set to upload requested high-resolution versions of files only when the file meets a particular popularity threshold, such as described above in connection with
In method 700 in block 702, a mobile computing device 106-2 may download a lower-resolution version of a media file with embedded executable program from a social media server 104. In block 704, the executable program may run on the receiving computing device 106-2 once the file is downloaded. In an embodiment, the executable program may include much of the functionality previously described in connection with the social media server 104. For example, the executable program may include a counter that tracks the number of times the particular media file is downloaded or viewed, and may also track user interactions with the media file (e.g., tags, comments, “likes,” etc.). In block 706, the executable program may cause the computing device 106-2 to determine user interactions with the media file, including prior interactions from other users as well as any current interactions by user of the mobile computing device.
In determination block 708, the computing device executing the executable program may determine whether the total user interactions exceed a popularity threshold, such as described above in connection with
In other embodiments, in response to a request from a computing device 106-2, the originating computing device 106 may upload the higher-resolution version of the file to social media server 104, and the server 104 may download the higher-resolution version to all other computing devices requesting the file, including the requesting computing device 106-2.
In some embodiments, the request for a higher-resolution version of the file (block 712) may be sent by the computing device 106-2 to the social media server 104. The social media server 104 may transmit a request to the originating mobile computing device 106 to upload the higher-resolution version of the file, and once uploaded, the server 104 may download the higher-resolution version to other mobile computing devices, including the requesting computing device 106-2.
If the user interactions do not exceed the popularity threshold (e.g., determination block 708=“No”), the executable program may cause the computing device receiving the file to update the user interactions with the file in block 710. For example, the executable program may cause the computing device receiving the file to increment a counter or other tracking function to record each interaction with the file. This count may be maintained on a central database, such as the social media server, which may be accessed via normal Internet interactions between the computing device and the server. In this way a cumulative record of the file's popularity threshold may be maintained. In such embodiments, the executable program may cause the computing device receiving the file to transmit updated user interactions to the social media server 104, so that when a subsequent user downloads the media file, the executable program running on that user's mobile computing device will have an accurate and up-to-date indication of user interactions with the file.
In block 902 of method 900, the mobile computing device processor may receive selections of media files (e.g., photographs, video files, etc.) to be uploaded to a social media website in the form of a sequence of user inputs on a user interface. For example, the user may have recently been on a vacation, and the received user inputs may select a set of files (e.g., pictures, videos, etc.) pertaining to the vacation for upload to the user's social media website.
In block 904, the user's mobile computing device processor may select a representative subset of files to upload to the social media website, and in block 906, the processor may upload the representative files as described above. The selection may be made by the processor executing application software. A variety of algorithms may be used for selecting representative files, such as selecting a limited number of photos that includes faces (e.g., using a facial recognition algorithm), a limited number that include rectilinear features as might be seen in architectural photographs, and images including fractal features as would be the case in landscape photographs. The representative files may also be selected based on timestamps and/or global positioning satellite (GPS) coordinate data associated with the files. In the case of audio and/or video files, a representative subset may include portions or partial clips of the full file. In some embodiments, the representative files may be selected based on a predefined pattern (e.g., every fifth file from a set), and may be selected using a random or pseudo-random selection process. In some embodiments, the number and/or size of the representative files may be based at least in part on an amount of available bandwidth or data usage available or remaining in the user's data plan.
In block 908, the social media server 104 may post the representative subset of files to the user's social media website, and in block 910, the server 104 may receive access requests for the uploaded files and monitors user interactions with each file. In determination block 912, the server 104 may determine whether the user interactions with a particular representative file exceeds a popularity threshold. As discussed above, the popularity threshold may be a particular number of views or access requests for a file, and may also be based on other user interactions, such as tags, comments, “likes,” etc. received by a file. The popularity threshold may be user- or server-defined. While the interactions with a file do not exceed the defined popularity threshold (i.e., determination block 912=“No”), the server 104 may continue to receive access requests and monitor interactions in block 910.
When the server determines that interactions with a file exceeds the popularity threshold (i.e., determination block 912=“Yes”), in block 914, the social media server 104 may send a request to the user's mobile computing device 106 for additional media files similar to the popular file. In response to this request message, in block 916, the user's mobile computing device processor may identify other files among those selected by the user which have similar characteristics, and upload them to the social network server 918. The server may receive those additional files and may add the files to the user's website in block 918. In this manner, popular types of images may be uploaded based upon crowd preferences.
The identification and selection of files similar to popular file(s) posted on a user's social media website, as shown in block 916 of
In various embodiments, the number and/or size of the files uploaded by processor in block 916 may be based in part on an amount of available bandwidth or data usage in the user's data plan. In some instances, such as when the user is at or near a data plan limit, no other files may be uploaded.
In embodiments, the social media server 104 may optionally notify computing devices of users of the social media website that additional files similar to previously-uploaded files are available in optional block 919.
In various embodiments, the user's computing device 106-2 may be configured to include functionality that prompts the user to request additional files. For example, the computing device may display a prompt asking the user whether he or she would like to see more files that are similar to the representative file(s) being displayed. In various embodiments, the user's computing device 106-2 may be configured to display one or more file request options in response to an interaction with a particular file, such as the user clicking on a “more like this” button over a picture or album. The one or more file request options, which may be presented by computing device 106-2 as pop-up menu options in a user interface, may include different categories of files, such as “more from this day,” more from this week,” “farthest from this time on the same day,” etc. The user's computing device 106-2 may receive selection input from the user corresponding to the file request options, and send the request for additional files based on the received selection input.
In other embodiments, the request for additional files may be automatically sent based on the user's interactions with one or more representative files (e.g., leaving a comment, clicking “like,” etc.).
In block 940, the mobile computing device 106 of the originating user may receive the request for additional files. In some embodiments, the request may be relayed by the social media server 104. In block 942, the originating mobile computing device processor may select and transmit additional files to the requesting mobile computing device 106-2. The additional files may be selected based on file request options from the requesting device 106-2. In some embodiments, the additional files may be uploaded to social media server 104, which may then download the files to other mobile computing devices, including the requesting mobile computing device 106-2.
The request sent or relayed (i.e., via the social media server 104 hosting the originating user's website) to the originating user's computing device 106-1 in block 948 may identify the files of interest (e.g., a file name or ID) and include sufficient information regarding the visitor's user interaction to enable it to select similar files for uploading and/or sending to the requesting visitor's computer 106-2. For example, if the visitor clicked on a particular face within a photograph, an excerpt of the face may be relayed in the request for more files. As another example, coordinates of the visitor's interaction with a file, such as X and Y coordinates or pixel coordinates within a photograph, or page and line numbers in a text document, may be relayed in the request. In block 949 the originating user's computing device 106-1 may use the relayed information to determine the portion of the identified image that is of interest to the visitor. If the identified file is a photograph, the processing software, such as facial recognition software/algorithms, to identify additional files having similar subject matter (e.g., photographs of a particular person or persons). In an embodiment, the computing device 106-1 may also or alternatively use metadata (e.g., tags) associated with the identified file(s) to select files having similar subject matter.
In other embodiments, in block 949 the server 104 may be configured to identify files having similar subject matter that have been uploaded from computing devices of other users, such as a third user's computing device 106-3. The server 104 may use recognition software and/or metadata to identify such additional files. In some embodiments, as part of operations in block 949 the server 104 may be configured to send a request to one or more other computing devices 106-3 requesting upload of additional files having similar subject matter. For example, when the server 104 receives requests for additional photographs of a particular person, the server may relay the request to other computing devices that are likely to have such additional photographs, such as device(s) used by the person in the photograph and/or computing devices used by that person's friends and family and social media contacts.
When files having similar subject matter have been selected by the originating user's device 106-1, the server 104 and/or by another computing device (e.g., device 106-3), the selected files may be sent to the requesting device 106-2 via any suitable communication path, including uploading to the originating user's social media page or website in block 949. In block 950, the selected files may be received by the visitor's computing device 106-2 either directly from the sender (computing device or server) or by accessing an updated social media site, such as the originating user's social media page or website.
In some embodiments, the advertising function may be activated when one or more media files uploaded by the user exceed a popularity threshold. For example, when the number of views or interactions with a particular file reaches a defined popularity threshold, such as previously-described in this application, the social media server 104 or an advertiser may request that the user upload higher-resolution versions of the popular files and/or additional files that are similar to the popular files, with the costs of the upload being shared with or borne by advertisers who may display advertising content in connection with the uploaded media files.
In method 1001 in block 1112, the user's computing device 106-1 may authorize a computing device of the selected content editor to access media files stored on the user's device 106-1. The computing device 106-1 may allow the content editor's device to access the media files over a network, such as a cellular wireless network 102 and/or the Internet 112, and may enable communication between the computing devices using socket communication, TCP/IP communication, cellular data communications, etc. In some embodiments, the user's computing device 106-1 may send social media files to the content editor's computing device using a suitable communication path (e.g., SMS, e-mail, etc.). The files may be sent directly to the content editor's computing device or may be relayed by a server 104. In order to minimize bandwidth, the originating user's computing device 106-1 may send reduced resolution versions of the media files to the editor's computing device, such as described above.
In some embodiments, the originating user's computing device 106-1 may receive a user input selection of particular media files stored on the computing device 106-1 which the user does not want uploaded, even though the user has given a content editor permission to access the user's computing device and upload media files to a social media website. The originating user's computing device 106-1 may include functionality to block the content editor from accessing and/or uploading these particular files.
The content editor may review the user's media files on his/her computing device, and select a plurality of files for upload. In block 1114, the user's computing device 106-1 may receive a selection of files from the content editor's computing device. In embodiments, the selection of files may include a portion of a file. For example, if the media file is an audio or video file, the content editor may be able to edit the file down to a select portion of the file. In block 1116, the user's computing device 106-1 may upload the selected files (or file portions) to the social media site.
In block 1118, user interactions with the selected files may be monitored by the social media server 104 and/or the originating user's computing device 106-1. The monitored user interactions may be used to determine how effectively the content editor selected files based on the determined popularity of the files, and thus how well the content editor selected files of interest to the “crowd.” The monitored interactions may be used to rate the content editor's performance, and may be reflected in the editor's content editor records on the social media website. For example, the content editor may receive “points” for each interaction (e.g., click, comment, “like,” etc.) with a media file selected by the content editor. In embodiments, “points” may be earned, for example, based on total interactions for selected files, percentage of selected files receiving an interaction, number of interactions per file selected, etc. The users of the social media site may be able to select the “best” content editors based on the number of points earned. In block 1120, the content editor may receive a reward based on the popularity of the selected files. The reward may be provided by the social media server 104 and/or the originating user's device 106-1. In one embodiment, the reward may be “points” earned for the popularity of selected files, as described above. In other embodiments, the reward may include monetary or other valuable compensation (e.g., coupons or vouchers), particularly in embodiments in which advertisers are permitted to place ads on content posted by users.
Various embodiments may be implemented in a variety of mobile computing devices, an example of which is a smart phone 1200 illustrated in
The mobile computing device processor 1201 may be any programmable microprocessor, microcomputer or multiple processor chip or chips that may be configured by software instructions (applications) to perform a variety of functions, including the functions of the various embodiments described herein.
Typically, software applications may be stored in the internal memory 1202 before they are accessed and loaded into the processor 1201. In some mobile computing devices, additional memory chips (e.g., a Secure Data (SD) card) may be plugged into the mobile computing device and coupled to the processor 1201. The internal memory 1202 may be a volatile or nonvolatile memory, such as flash memory, or a mixture of both. For the purposes of this description, a general reference to memory refers to all memory accessible by the processor 1201, including internal memory 1202, removable memory plugged into the mobile computing device, and memory within the processor 1201.
Various embodiments may also be implemented on any of a variety of commercially available server devices, such as the server 1300 illustrated in
The embodiments described above may also be implemented within a variety of personal computing devices, such as a laptop computer 1410 as illustrated in
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the operations or steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the order of blocks in the foregoing embodiments may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the operations or steps; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The embodiment methods described herein may be implemented in a computing device by configuring a processor of the computing device with processor-executable instructions to perform the operations of the method. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
In one or more exemplary embodiments, the operations and functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The operations of a method or algorithm disclosed herein may be embodied in a processor-executable software module which may be stored on a non-transitory computer-readable medium or processor-readable medium. Non-transitory computer-readable and processor-readable media may be any available storage media that may be accessed by a computer or processor. By way of example, and not limitation, such non-transitory computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to carry or store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.
The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.