Today, many applications implement gesture-based interaction models for displaying and/or interacting with content. In one example, an image viewing application on a tablet device may allow users to navigate images using finger swipe gestures (e.g., horizontal swipes for horizontal scrolling, vertical swipes for vertical scrolling, etc.). In another example, a map application on a mobile device may allow users to explore a map using finger swipe gestures. Because many devices may comprise relatively small displays (e.g., a tablet device may comprise a 7″ screen), navigating large amounts of content (e.g., content larger than a current display size) may be unintuitive and/or difficult for a user. A user's experience may be further diminished when content is not organized appropriately for gesture-based interactions.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Among other things, one or more systems and/or techniques for mapping content to a carousel interface are provided herein. A carousel interface may be utilized to display various types of content (e.g., map directions, images, text, search results, videos, news articles, web pages, and/or a plethora of other types of content). The carousel interface may comprise one or more carousels (e.g., the carousels may be organized vertically adjacent to one another, such that a user may vertically scroll the carousel interface to view different carousels using vertical input gestures). A carousel may be configured to comprise one or more pieces of content (e.g., the pieces of content may be organized horizontally adjacent to one another in a scrollable configuration within the carousel, such that a user may horizontally scroll between pieces of content using horizontal input gestures). It may be appreciated that the carousel interface and/or the one or more carousels may be implemented in various configurations (e.g., horizontal, vertical, etc.). The carousel interface may allow a user to navigate and/or interact with content populated within the one or more carousels. In one example of navigating a carousel, a user may scroll between content within a particular carousel without scrolling through content of other carousels (e.g., a user may scroll between finance articles within a finance carousel without scrolling through an entertainment carousel, a world news carousel, and/or other carousel within the carousel interface).
It may be advantageous to structure the content that is populated within the carousel interface (e.g., content structured based upon a domain, one or more categories, entities, and/or topics). Displaying the structured content within the carousel interface may allow a user to intuitively navigate and/or interact with such content populated within the carousel interface. In one example of mapping content to a carousel interface, a domain may be identified (e.g., a news domain, a map directions domain, a weather domain, a search results domain, etc.). For example, a user selection of a news domain within a news application may be received. One or more categories associated with the domain may be identified (e.g., an entertainment news category, a sports news category, a world news category, a finance news category, etc.). The one or more categories may be predefined and/or may be calculated on the fly (e.g., a classification and/or trending technique may be executed upon the domain to identify the one or more categories).
For respective categories, a set of contents relating to a category may be retrieved. For example, a set contents for a sports news category may comprise sports news articles retrieved from a search engine and/or sports news images retrieved from an image database. In one example, content associated with a topic (e.g., images of an upcoming College Football Bowl Game) and/or an entity (e.g., a team schedule and/or score results for a National Football Team) associated with the category may be retrieved for inclusion within the set of contents. In this way, the set of contents may comprise content structured according to a domain (e.g., news), one or more categories (e.g., sports news, entertainment news, finance news, etc.), entities (e.g., Dan's Bike Company, Actress Emily, National Football Team, and/or other proper nouns), and/or topics (e.g., a user defined interest in a new video game, an upcoming College Football Bowl Game, etc.). Structuring the set of contents for inclusion within the carousel interface may allow a user to intuitively navigate and/or interact with such content.
The category may be mapped to a carousel within the carousel interface associated with the domain. For example, the sports news category may be mapped to a sports carousel within a news carousel interface. The carousel may be populated with content within the set of contents. For example, the sports news carousel may be populated with sports news stories, spots news images, sports schedules, sports results, and/or other content associated with the sports news category, entities, and/or topics. In this way, one or more carousels may be mapped with categories and/or populated with content associated with such categories in a structured manner (e.g., a finance news carousel may be populated with finance news articles, stock quotes for an entity Dan's Bike Company, and/or with bailout information for a topic The Big Bailout).
To the accomplishment of the foregoing and related ends, the following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects may be employed. Other aspects, advantages, and novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the annexed drawings.
The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are generally used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, structures and devices are illustrated in block diagram form in order to facilitate describing the claimed subject matter.
Applications convey information in a variety of formats. In one example, an operating system may represent applications as interactive tiles. In another example, a weather application may display weather information as weather tiles corresponding to days of the week. In another example, a web search engine may return search results as in a list format. Unfortunately, many devices (e.g., smart phones, tablet devices, laptops, etc.), may comprise relatively small screens, which may inhibit the ability to adequately convey information to a user using conventional formats. Because many of these devices may support gesture-based interactions (e.g., finger swipes on a touch screen), new techniques for structuring, displaying, and/or navigating content may be advantageous.
Accordingly, one or more systems and/or techniques for mapping content to a carousel interface are provided herein. In particular, content may be structured according to a domain (e.g., retail shopping store results within a map domain), one or more categories associated with the domain (e.g., clothing stores, restaurants, exercise stores, video game stores, local shopping trends, coupons, etc.), entities (e.g., Dan's Bike Company, Emily's Coffee Shop, and/or other proper nouns), and/or topics (e.g., Christmas Shopping Season, Extreme Couponing, etc.). The content may be mapped to one or more carousels within the carousel interface. In one example, holiday hours and specials for the entity Dan's Bike Company, locations of exercise stores, sports equipment buying articles, and/or other content associated with an exercise store category, topic, and/or entity may be mapped to an exercise store carousel within a shopping domain carousel interface. In another example, locations of video game stores, upcoming video game releases, video game commercials for the Christmas Shopping Season, and/or other content associated with a video game store category, topic, and/or entity may be mapped to a video game carousel within the shopping domain carousel interface. In this way, a user may intuitively navigate, locate, and/or interact with content mapped to the shopping domain carousel interface (e.g., a user may navigate between various carousels using vertical input, the user may navigate between content within a carousel using horizontal input, etc.). It may be appreciated that the carousel interface may be implemented for a variety of interfaces (e.g., an operating system, a website interface, an application, search engine results, etc.) and/or form factors (e.g., a tablet device, a desktop device, a touch screen device, a mobile device, a smart phone, etc.).
One embodiment of mapping content to a carousel interface comprising one or more carousels is illustrated by an exemplary method 100 in
It may be advantageous to structure content (e.g., into a domain, one or more categories, topics, entities, etc.) for population into the carousel interface. Accordingly, one or more categories associated with a domain may be identified, at 104. For example, the carousel interface may be associated with the domain (e.g., news carousel interface for a news domain). One or more categories (e.g., world news, finance news, sports news, etc.) associated with the news domain may be identified (e.g., a category may be predefined and/or a category may be identified based upon executing a classification technique upon the domain).
At 106, for respective categories, a set of contents relating to a category may be retrieved, at 108. For example, sports articles, sports images, sports videos, and/or other content may be retrieved for the sports news category (e.g., content may be retrieved from any one or more of a search engine, a microblog, a social network, a database, a bloc, etc.). It may be appreciated that content may be identified for inclusion within the set of contents based upon a variety of criteria (e.g., such that the set of contents may be structured based upon such criteria). In one example, a topic associated with the category may be identified, and content associated with the topic may be retrieved for inclusion within the set of contents (e.g., articles and/or images associated with a Super Bowl topic may be retrieved). The topic may correspond to a user defined interest (e.g., a user may select a topic of Super Bowl), an algorithmically defined topic (e.g., a classification and/or trending technique may identify 2012 Olympics as a topic based upon content crawled from the internet), and/or an editorially defined topic (e.g., an editor may program a topic of football concussions). In another example, an entity associated with the category may be identified, and content associated with the entity may be retrieved for inclusion within the set of contents (e.g., a team schedule and/or score results for a National Football Team may be retrieved). The entity may correspond to an algorithmically defined topic (e.g., a classification and/or trending technique may identify a National Football Team as a professional football team based upon identifying the National Football Team as a keyword and/or proper noun) and/or an editorially defined topic (e.g., an editor may program an entity of Dan's Bakery Shop).
At 110, the category may be mapped to a carousel within the carousel interface associated with the domain. For example, the sports news category may be mapped to a sports carousel within the carousel interface. In this way, the carousel interface may comprise one or more carousels corresponding to the one or more categories. At 112, the carousel may be populated with content within the set of contents. In one example of populating a horizontally configured scrollable sports carousel, a first sports article may be populated in a first position within the sports carousel, a second sports article may be populated in a second position horizontally adjacent to the first position within the sports news carousel, a sports image may be populated in a third position horizontally adjacent to the second position within the sports news carousel, etc. In one example, content may be ordered for inclusion within the carousel based upon time, user preference, similarity, relevance, etc. (e.g., sports articles may be populated within the sports news carousel based upon publication date, relevance to the sports news category, etc.). Because similar content may be retrieved from multiple sources, first content from a first source may be aggregated with second content from a second source to create aggregated content, which may be populated within (e.g., one or more positions within) the carousel.
Navigation and/or user interactions with content populated within the carousel interface may be facilitated. In one example where carousels are configured vertically adjacent within the carousel interface and content is configured horizontally adjacent within respective carousels, the carousel interface may vertically rotate from a first carousel to a second carouse responsive to vertical input (e.g., a vertical finger swipe). In this way, a user may scroll between various carousels within the carouse interface. A carousel within the carousel interface may be horizontally scrolled between first content and second content responsive to horizontal input (e.g., a horizontal finger sweep). In one example, the carousel may be horizontally scrolled, while other carousels may not be scrolled (e.g., one out of three carousels may be scrolled). In this way, a user may scroll between content of a carousel without affected content displayed within other carousels. In another example, one or more carousels may be scrolled based upon horizontal input (e.g., two visible out of three total carousels may be scrolled, three out of three carousels may be scrolled, etc.).
In another example of facilitating user interactions, content within a carousel may be associated with a source of the content (e.g., a sports article may be linked to a web page comprising the sports article). Responsive to a selection input of the content through the carousel interface, the user may be navigated to the source of the content (e.g., taken to a web page through a browser). In another example of facilitating user interactions, the one or more carousels may be reordered within the carousel interface responsive to a reorder input (e.g., a first carousel may be vertically ordered relative to a second carousel based upon a drag/drop operation). In this way, structured content may be populated, navigated, and/or interacted with through the carousel interface. At 114, the method ends.
The system 200 may comprise a mapping component 206 configured to retrieve a set of contents 204 associated with one or more categories, entities, and/or topics from one or more content sources 202. In particular, the mapping component 206 may be configured to identify one or more categories associated with the domain (e.g., a sports category, a finance category, a health category, and/or other categories may be associated with the news domain). In one example, one or more topics (e.g., Super Bowl, 2012 Olympics, etc.) and/or one or more entities (e.g., Dan's Cake Shop, National Football Team, and/or other proper nouns) for the category may be identified. In one example, an entity and/or topic may be identified based upon a classification and/or trending analysis of available content (e.g., content retrieved from a web crawler) that identifies keywords and/or other information. In another example, an entity and/or topic may be editorially defined and/or user specified.
For respective categories, the mapping component 206 may be configured to retrieve a set of contents (e.g., the set of contents 204) associated with a category (e.g., and/or associated with entities and/or topics related to the category). The mapping component 206 may map the category to a carousel within the carousel interface 216 (e.g., the sports category may be mapped to the sports carousel 220). The mapping component 206 may populate 210 the carousel with content within the set of contents 204. For example, a Super Bowl winning play image, a sports injury article, and/or other content not illustrated may be mapped to the sports carousel 220. In one example, the content may be ordered for inclusion within the carousel based upon time, user preference, similarity, and/or relevance. In this way, one or more carousels may be mapped to categories (or vice versa) and/or may be populated with content associated with such categories, entities, and/or topics.
The system 200 may comprise a navigation component 208. The navigation component 208 may be configured to facilitate navigation and/or user interaction 212 within the carousel interface 216. In one example, the carousel interface 216 may be displayed within the touch screen device 218. Because the carousel interface 216 may comprise more content than the touch screen device 218 can display at one time, the navigation component 208 may be configured to vertically scroll (e.g., update 214) between carousels based upon vertical input (e.g., the navigation component 208 may scroll from the sports carousel 220 to the finance carousel 222 and/or the health carousel 224 based upon a vertical finger swipe on the touch screen device 218). The navigation component 208 may be configured to horizontally scroll (e.g., update 214) between content within a carousel based upon horizontal input (e.g., the navigation component 208 may scroll from a Super Bowl image to a football injury article within the sports carousel 220 based upon a horizontal finger swipe on the touch screen device 218). In one example, scrolling of a first carousel may not scroll a second carousel (e.g., horizontal scrolling of the sports carousel 220 may not horizontally scroll the finance carousel 222). In this way, a user may be able to navigate and/or interact with structured content (e.g., content structured based upon the domain, one or more categories, entities, and/or topics) populated within the carousel interface 216.
The mapping application may allow a user to search for locations by selecting a locations domain 606 and inputting a search query (e.g., a “local pizza, coffee, books” search query). Accordingly, one or more categories associated with the locations domain 606 and/or the “local pizza, coffee, books” search query may be identified (e.g., a pizza shop category, a coffee shop category, a book store category, etc.). Content associated with the one or more categories may be retrieved. One or more carousels within the carousel interface 602 may be mapped to the one or more categories, and may be populated with corresponding content. For example, a coffee shop carousel 608 may be mapped to the coffee shop category and/or populated with content associated with the coffee shop category. A pizza shop carousel 610 may be mapped to the pizza shop category and/or populated with content associated with the pizza shop category. A book store carousel 612 may be mapped to the book store category and/or populated with content associated with the book store category. In this way, the carousel interface 602 may be populated with structured content. Carousels of the carousel interface could similarly be populated with directions for a mapping application. For example, the first carousel could be populated with turn by turn/point by point directions of a first route from a starting location to a destination location, the second carousel could be populated with turn by turn/point by point directions of a second route from a starting location to a destination location, the third carousel could be populated with information about points of interest (e.g., rest stops, stores, coffee shops, etc.) along one or more of the routes, and so on. That is, the instant application, including the scope of the appended claims, contemplates more than, and thus is not intended to be limited to, the examples provided herein.
Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to implement one or more of the techniques presented herein. An exemplary computer-readable medium that may be devised in these ways is illustrated in
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
As used in this application, the terms “component,” “module,” “system”, “interface”, and the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Although not required, embodiments are described in the general context of “computer readable instructions” being executed by one or more computing devices. Computer readable instructions may be distributed via computer readable media (discussed below). Computer readable instructions may be implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically, the functionality of the computer readable instructions may be combined or distributed as desired in various environments.
In other embodiments, device 812 may include additional features and/or functionality. For example, device 812 may also include additional storage (e.g., removable and/or non-removable) including, but not limited to, magnetic storage, optical storage, and the like. Such additional storage is illustrated in
The term “computer readable media” as used herein includes computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data. Memory 818 and storage 820 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by device 812. Any such computer storage media may be part of device 812.
Device 812 may also include communication connection(s) 826 that allows device 812 to communicate with other devices. Communication connection(s) 826 may include, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver, an infrared port, a USB connection, or other interfaces for connecting computing device 812 to other computing devices. Communication connection(s) 826 may include a wired connection or a wireless connection. Communication connection(s) 826 may transmit and/or receive communication media.
The term “computer readable media” may include communication media. Communication media typically embodies computer readable instructions or other data in a “modulated data signal” such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” may include a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
Device 812 may include input device(s) 824 such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, and/or any other input device. Output device(s) 822 such as one or more displays, speakers, printers, and/or any other output device may also be included in device 812. Input device(s) 824 and output device(s) 822 may be connected to device 812 via a wired connection, wireless connection, or any combination thereof. In one embodiment, an input device or an output device from another computing device may be used as input device(s) 824 or output device(s) 822 for computing device 812.
Components of computing device 812 may be connected by various interconnects, such as a bus. Such interconnects may include a Peripheral Component Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), firewire (IEEE 1394), an optical bus structure, and the like. In another embodiment, components of computing device 812 may be interconnected by a network. For example, memory 818 may be comprised of multiple physical memory units located in different physical locations interconnected by a network.
Those skilled in the art will realize that storage devices utilized to store computer readable instructions may be distributed across a network. For example, a computing device 830 accessible via a network 828 may store computer readable instructions to implement one or more embodiments provided herein. Computing device 812 may access computing device 830 and download a part or all of the computer readable instructions for execution. Alternatively, computing device 812 may download pieces of the computer readable instructions, as needed, or some instructions may be executed at computing device 812 and some at computing device 830.
Various operations of embodiments are provided herein. In one embodiment, one or more of the operations described may constitute computer readable instructions stored on one or more computer readable media, which if executed by a computing device, will cause the computing device to perform the operations described. The order in which some or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated by one skilled in the art having the benefit of this description. Further, it will be understood that not all operations are necessarily present in each embodiment provided herein.
Moreover, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims may generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Also, at least one of A and B and/or the like generally means A or B or both A and B.
Also, although the disclosure has been shown and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications and alterations and is limited only by the scope of the following claims. In particular regard to the various functions performed by the above described components (e.g., elements, resources, etc.), the terms used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary implementations of the disclosure. In addition, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”