The present disclosure generally relates to presentation of information and more particularly to presenting a collection of multimedia information to a user on an electronic device.
Social media is a special type of media for social interaction. The use of web-based and mobile technologies turns social media into a highly accessible and a scalable interactive dialogue. Each information source from social media providers is typically rendered to a viewer in a single separate presentation environment. The presentation environment is typically a web browser, or dedicated application or applet. Many users want to aggregate information from various social media providers into one presentation environment. Tools exist for presenting information from a plurality of social media providers into one interface; however, these interfaces present the various data from the various social media sources in separate windows and separate regions of the same presentation. . Moreover, presenting images from sources with a variety of sizes and formats, such as standard, and panoramic format is difficult.
The accompanying figures where like reference numerals refer to identical or functionally similar elements throughout the separate views, and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate various embodiments and to explain various principles and advantages all in accordance with the present disclosure, in which:
As required, detailed embodiments are disclosed herein. However, it is to be understood that the disclosed embodiments are merely examples and that the systems and methods described below can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the disclosed subject matter in virtually any appropriately detailed structure and function. Further, the terms and phrases used herein are not intended to be limiting, but rather, to provide an understandable description.
The terms “a” or “an”, as used herein, are defined as one or more than one. The term plurality, as used herein, is defined as two or more than two. The term another, as used herein, is defined as at least a second or more. The terms “including” and “having” as used herein, are defined as comprising (i.e. open language). The term “coupled” as used herein, is defined as “connected” although not necessarily directly, and not necessarily mechanically.
The term “electronic device” is intended to broadly cover many different types of devices that can wirelessly or through wires receive signals, and in most cases can transmit signals, and may also operate in a wireless or wireless communication system. For example, and not for any limitation, a wireless communication device can include any one or a combination of the following: a computer, a tablet, a laptop, a two-way radio, a cellular telephone, a mobile phone, a smartphone, a wireless messaging device, a set-top box, a media player, a personal digital assistant, and other similar devices.
The term “film strip” is used to refer to two or more images each in an adjacent frame to be presented sequentially typically in a horizontal or vertical orientation. The area or size of each adjacent frame does not need to be uniform and may vary.
The term “image content” refers to an information source with one or more pictures. The information source can be a single still photo, a movie, or combination thereof.
The term “information source” as used herein means multimedia information including any combination of text, graphics, pictures, music, and movies. The information source may include some image content. For example, with music, the metadata, such as cover art, song title, and artist may be provided. The informational feed originates from a variety of sources, including social networking sites, such as, LINKED-IN®, FACEBOOK®, TWITTER®, MYSPACE®, online media sites, such as, PICASSA®, FLICKR®, YOUTUBE®, and on line storage sites, such as, LIVEDRIVE® and IBACKUP®, and local drives and private local networks. The image content or private information source is typically unique from each site, but in some cases may be shared between sites. For example, a picture on FACEBOOK® media site, may also be on LINKED-IN® media site.
The term “overlay” is used to mean the process of superimposing text or graphic elements on top of an image or other graphic element.
The term “overlap” is used to mean placing one image on top of another image resulting in the top image blocking out portions of the image or images underneath from being viewed.
The term “skyline” refers to a format of a series of images that are not uniform in area and, therefore, resemble a skyline because of the varying heights and widths when the images are presented in a film strip arrangement, a stacked arrangement or overlapping arrangement. The skyline format is especially noticeable when the bottom edges of each of the series of images are aligned along a given horizontal line.
Described below are systems and methods using a presentation manager to present image content from a variety of informational sources. Moreover, the systems and method described below enable the presentation of a variety of image sizes and formats, such as standard and panoramic format.
The source identifier 106, identifies the origin of the multimedia. For example, if the information source is an address, such as a Uniform Resource Locator (URL), the URL is used as an identifier. Likewise, if the source is local computer drive, the computer drive is identified. Each information source that has been indentified is assigned a unique identifier, such as a number to be used in a table as described below. A source indicator 108 associated with the information source may be assigned to each unique identifier. This indicator can be a logo associated with the owner of the URL. The logo can be found using a reverse Domain Name System (DNS) lookup through, for example, whois.net and the trademark database for a country, such as www.uspto.gov in the United States. In another example, the graphic or logo can be determined from the website using HyperText Markup Language (HTML) keyword directive searching e.g., “logo”, or through search engines such as GOOGLE®, YAHOO® and BING®. As an illustrative example, if the owner of a website is GOOGLE, the search string “image of google logo” will return an image of the GOOGLE® logo. Or, in another example, if the PICASA web site is being used, the search string “image of Picasa logo” returns a proper logo. Likewise, for local drives of private local area networks, the operating system (OS) “properties of a drive” will return the drive letter and path. A reference to this source indicator 108 is stored in this table for each image source.
The preview generator 110 may access the source indicator 108 associated with the source and further refine it. For example, the preview generator 110 may further adapt the source indicator 108 to, for example, reduce the size, render only an outline of the source indicator 108, increase its transparency when overlaid on an image so the background image is visible, or a combination thereof. These example adaptations are made to minimize the amount of the background image being blocked by the source indicator 108. Other adaptations and combinations of adaptations are also possible.
A set of images 130 in a film strip format on display 102 is shown. Image content denoted “IS1”, “IS2”, “IS3”, “IS4”, “IS5”, “IS6”, “IS7” correspond directly to an image from one of a variety of information sources “IS1” 160, “IS2” 162, and “ISN” 164 being accessed by electronic device 100 though the internet or other global communications network 150. Image content from each image source, such as a social media source, is indicated with a source indicator 111, 112, 113, 114, 115, 116, and 117. The film strip format with source indicator 108 provides a unified interface with all image content from a variety of image sources, displayed to the user. Further, as described below, image content in this film strip format with source indicator 108 is scrollable by the user.
In one example, the preview manager 104 uses a table 200, as shown in
The source indicator 108 is retrieved by the preview manager 104. The source indicator 108 is associated by the preview manager 104 with the corresponding information source.
Referring to
In this example, “IMAGE 4” is shown enlarged to denote the current scroll position. As a user scrolls left or right, each image that is the “current” image is automatically enlarged or highlighted. The use of circular buffer 352 allows the images to be continuously scrolled in a first direction 330, e.g., left, or in a second direction 332, e.g., right. The arrow 360 denotes that when a user scrolls through the images using a pointing device or keyboard, the images wrap, rather than stop at the end of the boundary. Stated differently, when the end of the circular buffer 352 is reached, the next entry wraps back to the opposite end, as denoted by arrow 360, to ensure a smooth constant scrolling experience without any boundaries to stop the scrolling. A visual notification, audio notification, or a combination thereof, may be used to inform a user that an entry has wrapped and the content is now repeating.
One type of circular buffer is a linked-list. The principal benefit of a linked list over an array is that the list elements can easily be added or removed without reallocation or reorganization of the entire structure because the data items need not be stored contiguously in memory. Linked lists allow insertion and removal of elements at any point in the list, and can do so with a constant number of operations if the link previous to the link being added or removed is maintained during list traversal.
It is important to note that seven images in a horizontal filmstrip format is an example only and other number of images in either a horizontal or vertical filmstrip format are within the true scope and spirit of this example.
Turning now to
Unlike the set of images shown in
Referring now to
The above process provides a varying skyline format. The varying comes from the randomness of selecting the total area size for the next image and scale the image to match the target area. If the next picture is the same dimensions (likely the case for most cameras) then the random selection form the pool of target areas will ensure that the varying areas result in varying heights.
Additional randomness comes from the fact that the pictures themselves will have varying aspect ratios: Some will be portrait, some landscape, 4 to 3, 16 to 9, etc. With a base randomness generated by the pool, and addition randomness from the images being transformed, it is unlikely that the user will be able to detect a repeating pattern in the skyline.
The clamping of the aspect ratio to a predefined maximum between height and width may be done by cropping the image to fit this ratio. This predefined maximum is changeable by the user. This optional cropping is especially important with panoramic images.
The illustrated electronic device 902 is an example electronic device that includes two-way wireless communications functions. Such electronic devices incorporate communication subsystem elements such as a wireless transmitter 906, a wireless receiver 908, and associated components such as one or more antenna elements 910 and 912. A digital signal processor (DSP) 914 performs processing to extract data from received wireless signals and to generate signals to be transmitted. The particular design of the communication subsystem is dependent upon the communication network and associated wireless communications protocols with which the device is intended to operate.
The electronic device 902 includes a microprocessor 916 (that controls the overall operation of the electronic device 902). The microprocessor 916 interacts with the above described communications subsystem elements and also interacts with other device subsystems such as non-volatile memory 918 and random access memory (RAM) 920. The non-volatile memory 918 and RAM 920 in one example contain program memory and data memory, respectively. The microprocessor 916 also interacts with the preview manager 104 and its components, an auxiliary input/output (I/O) device 922, a USB Port 924, a display 926, a keyboard 928, a speaker 932, a microphone 934, a short-range communications subsystem 936, a power subsystem 938, and any other device subsystems.
Although in this description, the electronic device is a two-way wireless communications device, in other examples, such as a set-top box, other I/O connectors are included as part of the auxiliary I/O 922. These other I/O connectors, not shown, include one or more coaxial television cable interfaces, high-definition multimedia interface (HDMI), and optical audio connectors.
A battery 940 is connected to a power subsystem 938 to provide power to the circuits of the electronic device 902. The power subsystem 938 includes power distribution circuitry for providing power to the electronic device 902 and also contains battery charging circuitry to manage recharging the battery 940. The power subsystem 938 includes a battery monitoring circuit that is operable to provide a status of one or more battery status indicators, such as remaining capacity, temperature, voltage, electrical current consumption, and the like, to various components of the electronic device 902. An external power supply 946 is able to be connected to an external power connection 948.
The USB port 924 further provides data communication between the electronic device 902 and one or more external devices. Data communication through USB port 924 enables a user to set preferences through the external device or through a software application and extends the capabilities of the device by enabling information or software exchange through direct connections between the electronic device 902 and external data sources rather than via a wireless data communication network.
Operating system software used by the microprocessor 916 is stored in non-volatile memory 918. Further examples are able to use a battery backed-up RAM or other non-volatile storage data elements to store operating systems, other executable programs, or both. The operating system software, device application software, or parts thereof, are able to be temporarily loaded into volatile data storage such as RAM 920. Data received via wireless communication signals or through wired communications are also able to be stored to RAM 920. As an example, a computer executable program configured to perform the preview manager 104, described above, is included in a software module stored in non-volatile memory 918.
The microprocessor 916, in addition to its operating system functions, is able to execute software applications on the electronic device 902. A predetermined set of applications that control basic device operations, including at least data and voice communication applications, is able to be installed on the electronic device 902 during manufacture. Examples of applications that are able to be loaded onto the device may be a personal information manager (PIM) application having the ability to organize and manage data items relating to the device user, such as, but not limited to, e-mail, calendar events, voice mails, appointments, and task items. Further applications include applications that have input cells that receive data from a user.
Further applications may also be loaded onto the electronic device 902 through, for example, the wireless network 904, an auxiliary I/O device 922, USB port 924, short-range communications subsystem 936, or any combination of these interfaces. Such applications are then able to be installed by a user in the RAM 920 or a non-volatile store for execution by the microprocessor 916.
In a data communication mode, a received signal such as a text message or web page download is processed by the communication subsystem, including wireless receiver 908 and wireless transmitter 906, and communicated data is provided the microprocessor 916, which is able to further process the received data for output to the display 926, or alternatively, to an auxiliary I/O device 922 or the USB port 924. A user of the electronic device 902 may also compose data items, such as e-mail messages, using the keyboard 928, which is able to include a complete alphanumeric keyboard or a telephone-type keypad, in conjunction with the display 926 and possibly an auxiliary I/O device 922. Such composed items are then able to be transmitted over a communication network through the communication subsystem.
For voice communications, overall operation of the electronic device 902 is substantially similar, except that received signals are generally provided to a speaker 932 and signals for transmission are generally produced by a microphone 934. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on the electronic device 902. Although voice or audio signal output is generally accomplished primarily through the speaker 932, the display 926 may also be used to provide an indication of the identity of a calling party, the duration of a voice call, or other voice call related information, for example.
Depending on conditions or statuses of the electronic device 902, one or more particular functions associated with a subsystem circuit may be disabled, or an entire subsystem circuit may be disabled. For example, if the battery temperature is low, then voice functions may be disabled, but data communications, such as e-mail, may still be enabled over the communication subsystem.
A short-range communications subsystem 936 is a further optional component which may provide for communication between the electronic device 902 and different systems or devices, which need not necessarily be similar devices. For example, the short-range communications subsystem 936 may include an infrared device and associated circuits and components or a Radio Frequency based communication module such as one supporting Bluetooth® communications, to provide for communication with similarly-enabled systems and devices.
A media reader 942 is able to be connected to an auxiliary I/O device 922 to allow, for example, loading computer readable program code of a computer program product into the electronic device 902 for storage into non-volatile memory 918. In one example, computer readable program code includes instructions for performing the pressure detecting user input device operating process 900, described above. One example of a media reader 942 is an optical drive such as a CD/DVD drive, which may be used to store data to and read data from a computer readable medium or storage product such as computer readable storage media 944. Examples of suitable computer readable storage media include optical storage media such as a CD or DVD, magnetic media, or any other suitable data storage device. Media reader 942 is alternatively able to be connected to the electronic device 902 through the USB port 924 or computer readable program code is alternatively able to be provided to the electronic device 902 through the wireless network 904.
The present subject matter can be realized in hardware, software, or a combination of hardware and software. A system can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system—or other apparatus adapted for carrying out the methods described herein—is suitable. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present subject matter can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or, notation; and b) reproduction in a different material form.
Each computer system may include, inter alia, one or more computers and at least a computer readable medium allowing a computer to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium. The computer readable medium may include computer readable storage medium embodying non-volatile memory, such as read-only memory (ROM), flash memory, disk drive memory, CD-ROM, and other permanent storage. Additionally, a computer medium may include volatile storage such as RAM, buffers, cache memory, and network circuits.
Although specific embodiments of the subject matter have been disclosed, those having ordinary skill in the art will understand that changes can be made to the specific embodiments without departing from the spirit and scope of the disclosed subject matter. The scope of the disclosure is not to be restricted, therefore, to the specific embodiments, and it is intended that the appended claims cover any and all such applications, modifications, and embodiments within the scope of the present disclosure.