Interacting with digital content using multiple applications

One or more embodiments facilitate a user experience in which a user can conveniently switch between different applications on a mobile device for capturing and interacting with digital content. For example, a content navigation system can identify an application installed on a mobile device having content capturing functionality. In addition, the content navigation system can detect that a graphical user interface associated with the identified content capturing application is displayed via a touch screen on the mobile device. Further, based on detecting that the graphical user interface associated with the content capturing application is displayed, the content navigation system can overlay a graphical element associated with a content management application over the graphical user interface. The graphical element can facilitate convenient switching between different applications on the mobile device.

BACKGROUND

1. Technical Field

One or more embodiments of the present disclosure relate generally to systems and methods for managing digital content. More specifically, one or more embodiments of the present disclosure relate to systems and methods of providing a graphical user interface that allows a user to capture and interact with digital content.

2. Background and Relevant Art

Computing devices (e.g., computers, tablets, smart phones) provide numerous ways for people to capture, create, share, view, and otherwise interact with numerous types of digital content. For example, computing devices allow users to interact with digital photos by capturing, sharing, and viewing digital photos. To facilitate user interaction with digital content, conventional systems may provide user interfaces that present digital content to a user in a variety of presentation styles and formats. Regardless of presentation style and format, however, conventional systems have several disadvantages and drawbacks.

For example, many conventional computing devices include various applications that provide different functionality with regard to digital content. For example, many conventional devices have a camera application for capturing photos (e.g., a camera application), while also having one or more separate applications for interacting with the captured photos. For instance, sharing, editing, viewing, and otherwise experiencing photos often involves frequent switching between multiple different applications to perform a particular function with respect to the captured photos. Therefore, due to the nature of conventional systems, interacting with the photos often requires frequent switching between applications. Constantly having to switch between different applications to interact with photos can be inefficient, complicated, and thus is frustrating to a user.

In particular, many conventional computing devices include an application for capturing photos and a separate application for managing the captured photos. For example, many computing devices include a camera application that captures and stores photos on the computing device, and a photo application that allows the user to view the captured photo. Often, users like to view photos right after capturing a photo (e.g., to make sure the photo is satisfactory), and then continue to take additional photos with the camera. In many conventional systems, however, the process of switching between the camera application and the viewing application is tedious, thus diminishing the user experience of capturing photos and experiencing the captured photos.

In an attempt to avoid switching between a camera application and a viewing application, often users capture several photos using the camera application with the purpose of capturing the best photo possible. For example, a user may capture five photos of the same scene with the intent of reviewing all five photos, only keeping the best photo, and deleting the lesser photos. In many conventional systems, however, due to the content viewing application being separate from the camera application, there is no intuitive process for the user to review the captured photos, and therefore, the user often fails to review and delete the lesser liked photos. Thus, over time, redundant or duplicative photos can needlessly consume a substantial portion of the storage of a computing device.

Moreover, upon a user accessing an application to view recently captured photos, many conventional systems do not account for a user's interest in the recently captured photos. For instance, upon accessing an application to view recently captured photos, the application may provide a first photo in a collection of photos that is not part of the recently collected photos. Thus, a user must search through the collection of photos to locate the recently captured photos. Additionally, a user may have captured several photos that the user now wants to review. Conventional systems, however, fail to recognize the group of recently captured photos, thus forcing a user to manually navigate within a larger collection of photos to locate each of the recently captured photos.

Accordingly, there are a number of considerations to be made in presenting digital content.

SUMMARY

Embodiments of the present disclosure provide benefits and/or solve one or more of the foregoing or other problems in the art by providing systems and methods for a user to capture and interact with digital content. In accordance with one or more embodiments, the present disclosure includes systems and methods for facilitating a user experience in which a user can intuitively and efficiently switch between a content capturing application and a content management application. For example, according to principles described herein, the systems and methods identify an application installed on a mobile device that has a content capturing functionality (e.g., a content capturing application). In one or more embodiments, the systems and methods can detect that a graphical user interface associated with the content capturing application is currently displayed on a touch screen of the mobile device. Further, based on detecting that the graphical user interface is displayed, the systems and methods include overlaying a graphical element associated with a content management application over the graphical user interface.

Additionally, one or more embodiments provide systems and methods that allow a user to seamlessly and efficiently experience digital content with different applications on a mobile device. In particular, one or more embodiments include detecting when a content capturing application is active, and in response, providing an interactive graphical element overlay that corresponds to a content managing application. The user can then directly access a content managing application from directly within the content capturing application by selecting or otherwise interacting with the graphical element. As such, a user can easily switch from a content capturing application to a content management application, thus increasing the quality of a user's experience.

Further, one or more embodiments can provide systems and methods that facilitate effective management of digital content items upon capturing the digital content items with a content capturing application by allowing a user to easily discard redundant or unwanted digital content. For example, one or more embodiments include systems and methods that allow a user to capture digital content with a content capturing application, and then directly access a content management application to review the captured content. In addition, upon accessing the content management application, the systems and methods can present the recently captured content to the user in a way to allow the user to easily review the recently captured content, and then determine which of the recently captured content items to discard. As such, a user can conveniently discard unwanted digital content, thus reducing storage consumption from unwanted or redundant digital content.

In addition, one or more embodiments provide systems and methods identify captured digital content during a particular time period, and then present the captured digital content for the particular time period to the user for review. For instance, in one or more embodiments, a user can capture digital content using a content capturing application, and then directly access a content management application by interacting with a graphical element provided within the content capturing application. Upon accessing the content management application, the content management application can have the captured digital content preselected, thus allowing the user to view captured digital content with minimal user input, thereby increasing the ease and efficiency of capturing, viewing, and managing digital content using a mobile device.

DETAILED DESCRIPTION

The present disclosure provides one or more embodiments of a content navigation system that improves a user experience related to a user capturing and interacting with digital content items (e.g., digital photos). In particular, the principles disclosed herein allow a user to efficiently, intuitively, and enjoyably capture, manage, experience, and otherwise interact with digital content items using a mobile device. In one or more example embodiments, a content navigation system can identify an application installed on the computing device that has a content capturing functionality (e.g., a camera application). Further, the content navigation system can monitor for, and detect, the display of a graphical user interface associated with a content capturing application on a display (e.g., touch screen) of a computing device. In response to detecting the display of the graphical user interface associated with the content capturing application, the content navigation system can overlay a graphical element associated with a content management application over the graphical user interface. A user can interact with the overlaid graphical element to easily access the content management application to view, delete, or otherwise manage the captured content.

Additionally, one or more embodiments of a content navigation system can provide functionality for conveniently interacting with digital content items across different applications on the computing device. In particular, the content navigation system can include one or more features to facilitate switching between applications on the computing device for capturing, managing, and otherwise interacting with digital content items. For example, a content navigation system can detect that a graphical user interface associated with the camera application is displayed via a touch screen of the mobile device. Further, in response to detecting that the graphical user interface is displayed, the content navigation system can overlay a graphical element associated with a content management application over the graphical user interface of the camera application. In some embodiments, the content navigation system can detect a user interaction (e.g., user selection) with the graphical element, and in response, switch directly from the camera application to the content management application. As such, a user can easily change between the camera application and the content management application to provide an efficient and intuitive user experience for capturing and managing digital content on a computing device.

Additionally, one or more embodiments of the content navigation system can facilitate effective management of digital content items. In particular, a content navigation system can include one or more features to facilitate managing recently captured digital content. For example, a mobile device can capture photos via a camera application. In particular, a user may capture multiple photos using a camera functionality of the computing device in hopes of capturing at least one high quality photo. Upon capturing the multiple photos, the content navigation system may enable a user to directly access the multiple captured photos in a content management application, and thereafter, select the best photo(s) and/or discard the unwanted photos.

Additionally, one or more embodiments of a content navigation system can identify a group of digital content items that the user captured during a particular time period, and provide direct access to the group of digital content items from directly within a content capturing application. For example, a content navigation system can provide a graphical element within a camera application that a user accesses to capture a group of photos. The user can then interact with the graphical element, and in response, the content navigation system can provide the group of photos within a content management application with the group of photos already selected. Therefore, with the group of photos already selected, the user can quickly and easily view the selected photos without having to navigate through other photos that were not captured during the particular time period. Additional features, characteristics, advantages, processes, and methods will be explained further below with reference to the figures.

As used herein, “digital content” refers to any digital data. The terms “digital content item,” “content item,” and “digital item” can include a data file. Examples of digital content items include, but are not limited to, digital photos, digital video files, digital audio files, document files of all types, streaming content, contact lists, and/or folders that include one or more digital content items. The term “digital content item,” “content item,” and “digital item” may refer interchangeably to the digital content items themselves and to representations of digital content items (e.g., thumbnail images representing the digital content items). In addition, a “collection” or “gallery” of digital content items can include a single type of content item or multiple different types of content items. In addition, a collection of digital content items can include as few as one content item, but in many instances, a collection of digital content items can include large numbers of content items. Although various example embodiments discussed below relate to photos, one will appreciate that the principles described herein may be applied to other types of digital content items.

Additionally, a “content management” application can refer to an application having functionality related to managing one or more digital content items. Generally, for example, a content management application can organize digital content to allow a user to interact or otherwise experience digital content. For instance, a content management application can organize and/or present digital content items to allow a user to view, edit, delete, share, send, navigate and/or otherwise manage digital content items within a collection of digital content. In one or more embodiments, a content management application can be part of, or communicate with, an online content management system.

Moreover, a “content capturing” application can refer to an application that has the functionality of capturing digital content using one or more hardware features of a computing device on which the content capturing application is installed. Examples of content capturing applications include digital camera applications, audio recording applications, video camera applications, and/or any other type of application capable of capturing digital content. Although various example embodiments of a content navigation system are discussed below with respect to a camera application, one will appreciate that the principles discussed with respect to a camera application can also be applied to other types of content capturing applications.

FIG. 1illustrates an example embodiment of a content navigation system100(or simply “system100”) in accordance with one or more principles described herein. As shown, system100may include, but is not limited to, user interface provider102, user input detector104, application manager106, graphical element manager108, and database manager110. Each of components102-110of system100may be in communication with one another using any suitable communication technologies. It will be recognized that although components102-110are shown to be separate inFIG. 1, any of components102-110may be combined into fewer components, such as into a single component, or divided into more components as may serve a particular embodiment.

In addition, components102-110may be located on, or implemented by, one or more computing devices, for example, a handheld device, mobile device, tablet, laptop computer, or desktop computer, or other computing devices as described below in relation toFIG. 7. In addition, one or more portions of system100(e.g., database manager110) can be located on one or more server devices that form online content management system, such as an online content management system described below in reference toFIG. 8.

Each of components102-110can comprise software, hardware, or both. For example each of components102-110can comprise one or more instructions stored on a computer-readable storage medium and one or more processors of one or more computing devices to execute instructions. When executed by the one or more processors, the computer-executable instructions cause a computing device to perform the methods described herein. Alternatively, components102-110can comprise hardware, such as a special-purpose processing device to perform certain functions or group of functions.

As mentioned above, and as shown inFIG. 1, system100can include user interface provider102. User interface provider102can provide a graphical user interface that allows a user to capture, navigate, browse, view, share, manage, and/or otherwise experience digital content using system100. For example, user interface provider102can provide a graphical user interface associated with a content capturing application that facilitates capturing digital content using a computing device. Likewise, user interface provider102can provide a graphical user interface associated with a content management application that facilitates managing or otherwise interacting with captured digital content items.

In one or more embodiments, for example, user interface provider102can present various graphical elements via a display device of a computing device (e.g., touch screen, monitor, or other display device). For example, user interface provider102can cause a computing device to present one or more graphical objects that represent digital content. For instance, in one or more embodiments, user interface provider102can present reduced-size versions of digital content, such as thumbnails or icons of digital photos. In some embodiments, user interface provider102can present reduced-size versions of digital content in a grid format within a graphical user interface, as described below in relation toFIGS. 3-4. Alternatively, user interface provider102may facilitate presentation of other types of digital content (e.g., audio, videos, webpages, documents), depending on the particular application of system100.

In addition, user interface provider102can cause a computing device to present one or more interactive elements that enable capturing, browsing, navigating, and interacting with digital content items within a graphical user interface. In particular, user interface provider102can cause a computing device to provide one or more interactive elements that correspond to a content capturing application to enable the capture of digital content items. Similarly, user interface provider102can provide one or more interactive elements that correspond to a content management application to enable the management of captured digital content items. In addition, in one or more embodiments, user interface provider102can cause the computing device to provide one or more graphical elements that facilitates switching between different applications on a computing device.

In addition to providing features that enhance interacting with digital content using different applications, user interface provider102can further provide a graphical user interface including one or more graphical objects related to an activation function within the graphical user interface. In particular, user interface provider102can provide within a graphical user interface (e.g., associated with an application) one or more objects or function symbols that can activate a function on the computing device. As used herein, a “function” can include any action performed by a computing device. For example, a function can include executing software, activating hardware, accessing content, or a combination thereof. For instance, user interface provider102can provide a camera element within a graphical user interface of a camera application that indicates to a user that providing one or more interactions with the camera element will activate a camera on the mobile device. Therefore, a user can interact with various graphical objects within a graphical user interface to activate various functions.

As further illustrated inFIG. 1, system100can include user input detector104. In one or more embodiments, user input detector104can detect, identify, and/or receive, a user interaction and translate a user interaction into a user input (e.g., a user command or request). As referred to herein, a “user interaction” means a single interaction, or combination of interactions, received from a user by way of one or more input devices. In some embodiments, user input detector104can translate a combination of user interactions as a single user input and/or translate a single user interaction into multiple user inputs.

For example, user input detector104can detect a user interaction from a keyboard, mouse, touch screen, or any other input device. In the event a user input device is a touch screen, user input detector104can detect one or more touch gestures (e.g., swipe gestures, tap gestures, pinch gestures, or reverse pinch gestures) that a user provides to the touch screen. In one or more embodiments, the user can provide one or more touch gestures in relation to and/or directed at one or more graphical objects, items, or elements of a graphical user interface on a touch screen. User input detector104may additionally, or alternatively, receive data representative of a user interaction. For example, user input detector104can receive one or more user configurable parameters from a user, one or more user commands from the user, and/or any other suitable user input.

System100can use user input and/or data received from user input detector104to manage, control and/or facilitate the use of a graphical user interface. In general, in response to user input detector104detecting one or more user interactions, system100can allow a user to use a computing device to capture, view, search, edit, share, and/or otherwise experience digital content. For example, in response to user input detector104detecting one or more touch gestures, system100can allow a user to capture digital content using a content capturing application. In addition, upon detecting one or more touch gestures with respect to a graphical element, the system100can switch from a content capturing application to a content management application, thus allowing a user to interact with captured content.

FIG. 1further illustrates that system100can include application manager106. In one or more embodiments, application manager106can identify various applications installed on a computing device having various functionalities. In particular, application manager106can identify an application installed on a computing device that has a predefined functionality. For example, application manager106can identify one or more applications installed on a computing device that have content capturing functionality. For instance, application manager106can identify one or more applications having photo capturing, video capturing, and/or audio capturing functionality. In some embodiments, application manager106can identify any application having access to a camera on a computing device. In one or more embodiments, the application manager106can identify a list of applications that have access to a camera function on a computing device.

Generally speaking, application manager106can identify the various functions and characteristics of applications installed on a computing device by identifying one or more access permissions associated with a particular application. For example, a camera application can include one or more permissions that indicate the camera application has permission to access a camera function of a computing device. Thus, upon identifying an access permission associated with a camera function, application manager106can identify the corresponding application as a content capturing application.

In some embodiments, application manager106can monitor the operation of different applications installed on a computing device. In particular, application manager106can monitor for an active application on a computing device, or in other words, an application operating in the foreground of an operating system. For example, an application operating in the foreground of an operating system of can refer to an application associated with a display of a graphical user interface on a display device of a computing device.

In addition to monitoring for an active application operating in the foreground, application manager106can monitor one or more applications operating in the background of an operating system on the computing device. In some embodiments, an application operating in the background of the operating system can refer to any application operating on a computing device that is not operating in the foreground. As an example, a background application can refer to any application operating on a computing device while the display device presents a graphical user interface not associated with the background application (e.g., a graphical user interface for the foreground application). For example, a content management application operating in the background can detect captured content (e.g., from a camera application operating in the foreground), save captured content, organize captured content, or otherwise manage digital content items while the content management application is operating in the background.

In one or more embodiments, application manager106can monitor the foreground status to determine whether a content capturing application is active. For example, in one or more embodiments, application manager106can monitor, at the operating system level, an indication of which application is currently operating in the foreground. For instance, an operating system can include a system indicator that indicates the status of the foreground, such as which application, if any, is currently operating in the foreground on the computing device.

In addition to monitoring the foreground status, in one or more embodiments, application manager106can detect that a graphical user interface associated with a particular application is displayed via a display (e.g., touchscreen) of a computing device. For example, as mentioned above, application manager106can identify a camera application (or any application having content capturing functionality). Additionally, application manager106can detect that a graphical user interface associated with the camera application is displayed via a touchscreen of the mobile device. For example, application manager106can detect that a camera application is running in the foreground of an operating system on the mobile device.

Application manager106can detect that a graphical user interface associated with a particular application is displayed on a display of the mobile device in a variety of ways. For example, application manager106can detect that the graphical user interface associated with the application is displayed by identifying that the associated application is operating in the foreground of the operation system. For instance, application manager106can communicate with user interface provider102and receive an indication that a graphical user interface associated with an identified application is displayed on the display device of the computing device. Additionally or alternatively, application manager106can analyze a display of a computing device periodically (e.g., one or more times per second) and determine that the graphical user interface displayed on the display device of the computing device corresponds to the identified application.

Additionally or alternatively, in one or more embodiments, application manager106can detect that a graphical user interface associated with a particular application is displayed by detecting one or more functions performed by the computing device in connection with the identified application. For example, application manager106can detect that a graphical user interface associated with a camera application is displayed on the display device by detecting usage of a camera function on the computing device. Thus, in response to detecting the usage of the camera function, application manager106can determine that the camera application is currently active on the computing device.

FIG. 1further illustrates that system100can include graphical element manager108. In one or more embodiments graphical element manager108can provide a graphical element that corresponds with a particular application on the computing device. For example, graphical element manager108can provide a graphical element to user interface provider102to present the graphical element to a user in certain circumstances, and thus allow a user to access the particular application on the computing device by interacting with the graphical element, as will be explained further below. In one or more embodiments, graphical element manager108can communicate with the user interface provider102and provide an overlay of a graphical element over a graphical user interface associated with another application.

In some embodiments, graphical element manager108can provide a graphical element in response to detecting that the graphical user interface associated with an identified application is displayed on a display device of a computing device. For example, based on detecting that a graphical user interface associated with a content capturing application is displayed, graphical element manager108can overlay the graphical element over the graphical user interface of the camera application. In particular, application manager106can monitor foreground activity of an operating system to indicate that a content capturing application is active on a display device. Upon detecting the content capturing application is active on the display device, application manager106can notify graphical element manager108. In response to receiving the notification, graphical element manager108can communicate with user interface provider102to cause the computing device to present the graphical element as an overlay over the graphical user interface of the camera application.

In some embodiments, graphical element manager108can provide the graphical element over lay immediately upon detecting the active display of the graphical user interface associated with the camera application. Alternatively, graphical element manager108can consider one or more additional factors to determine when to provide the graphical element overlay. For example, where the graphical user interface is associated with a camera application and the graphical element is associated with a content management application, graphical element manager108overlay the graphical element over the graphical user interface of the camera application based on usage of the camera functionality of the computing device. In some embodiments, for example, graphical element manager108can overlay the graphical element over the graphical user interface only after detecting the cameral application has captured at least one photo.

In addition to causing user interface provider102to present a graphical element overlay, graphical element manager108can also determine the location of the graphical element overlay with respect to an active graphical user interface. The placement or location of the graphical element can depend on various factors. For example, graphical element manager108can provide the graphical element at a particular location on a display of a computing device based on the type, brand, or model of the computing device. Additionally, graphical element manager108may consider an operating system platform of the computing device in determining placement of the graphical element.

Additionally, in some embodiments, graphical element manager108can provide the graphical element at a particular location of a graphical user interface based on the characteristics of the graphical user interface. For example, in one or more embodiments, graphical element manager108can analyze an active graphical user interface to determine a location of one or more graphical objects within the graphical user interface. Based on determining the locations of the one or more graphical objects, graphical element manager108can calculate or otherwise determine a location within the graphical user interface that least interferes with the active graphical user interface. Regardless of the particular technique for determining the location of a graphical element overlay, graphical element manager108can provide the graphical element at a particular location in order to limit disruption of a presentation of the graphical user interface or display of the computing device.

In some embodiments, graphical element manager108can provide a display of the graphical element in accordance with a user input. In particular, graphical element manager108can communicate with user input detector104and detect a user input for moving a location of the graphical element. As such a user can modify the location of the graphical element from a central position, default position, or other position of the graphical element within the display of the mobile device. For example, a user can move the graphical element using a swipe gesture or other touch gesture using a touchscreen of a mobile device.

In addition to interacting with the graphical element to move a location of the graphical element within the display of the mobile device, a user can interact with the graphical element to access an application associated with the graphical element. In particular, a user can select the graphical element (e.g., user input detector104detecting a user interaction with respect to the graphical element). Upon detecting a user selection with the graphical element, graphical element manager108can facilitate changing between the content capturing application and a content management application. For example, graphical element manager can cause the computing device to provide a display of a graphical user interface associated with the content management application in response to detecting a user selection of the graphical element. Additional details with regard to switching between applications and providing different graphical user interfaces are described below in connection withFIGS. 2-4.

Additionally, as shown inFIG. 1, system100can further include database manager110. In some embodiments, database manager110may maintain digital content data112representative of digital content and associated information. For example, digital content data112can include digital content files, metadata associated with digital content, reduced-sized version of digital content (e.g., thumbnails), and/or other similar types of data that system100may use in connection with presenting digital content by way of a user interface.

As will be described in more detail below, each of components102-110of system100can be used alone and/or in combination to provide a user interface that allows a user to capture, navigate, and manage digital content in accordance with embodiments described herein. In particular,FIGS. 2-4and the description that follows include various example embodiments of the principles of system100described above.

FIG. 2Aillustrates an example mobile device200including touchscreen202and graphical user interface204.FIG. 2Aalso illustrates an example graphical user interface204associated with a content capturing application, or as shown inFIG. 2A, a camera application (or simply “camera interface204”). For example, camera interface204provides a view finder display and various controls associated with a camera application. For example, as shown inFIG. 2A, camera interface204can include camera view206and camera controls208associated with camera210on mobile device200. WhileFIG. 2Aillustrates one embodiment of camera interface204associated with a camera application, it is appreciated that one or more embodiments may include different types of applications having other functionalities associated with mobile device200.

As mentioned above, camera interface204can include camera view206. As illustrated inFIG. 2A, camera view206can include a live representation of a view from camera210on mobile device200. For example, camera view206can provide a real-time depiction of a view through a lens of camera210on mobile device200.

In addition to camera view206, camera interface204can further include one or more camera controls208associated with the camera application. In particular, camera controls208can include one or more graphical objects or elements that enable a user to activate the camera function of mobile device200. For example, camera controls208can include a camera icon to initiate capturing digital content (e.g., photo, video) using camera210on mobile device200. Additionally, camera controls208can include additional graphical objects that modify functionality of camera210. For example, camera controls208can further include a mode icon, flash icon, video icon, or other selectable icon to modify usage of camera210in capturing digital content. In some embodiments, a user can activate or modify one or more functions of camera210via interactions with camera interface204. Additionally or alternatively, a user can capture digital content using camera210or change various settings of camera210using physical buttons on mobile device200.

Similar toFIG. 2A,FIG. 2Bshows an example camera interface204associated with a camera application. In addition,FIG. 2Billustrates graphical element212associated with a content management application overlaid camera interface204. In particular, as illustrated inFIG. 2B, system100can detect that the camera application is active, and in response, system100can cause mobile device200to provide graphical element212displayed over camera interface204. As illustrated inFIG. 2B, some embodiments of graphical element212can include a circular icon including a symbol or graphic associated with a content management application. Alternatively, graphical element212can include an icon having different shapes, sizes, or symbols.

System100can consider various factors in determining a size, appearance, and/or location of graphical element212within camera interface204. For example, as illustrated inFIG. 2B, graphical element212can include a circular icon including a symbol associated with a content management application positioned toward a center-right portion of camera interface204. In some embodiments, system100can determine a location for the display of graphical element212in order to limit disruption or avoid interfering with functionality of the camera application. For example, system100can select a location for graphical element212to avoid overlaying graphical element over one or more camera controls208.

In displaying graphical element212, system100can determine a location and provide a display of graphical element212at the determined location based on one or more physical characteristics of mobile device200. In particular, system100can determine a location of graphical element212within camera interface204based on a type, brand, or model of mobile device200. Additionally, system100can consider size and/or dimensions of touch screen202in determining size, location, and general appearance of graphical element212displayed over camera interface204. Alternatively, in some embodiments, system100may display graphical element212at a location within camera interface204independent from one or more characteristics of mobile device200.

In addition to considering characteristics of mobile device200, system100can determine a location and provide a display of graphical element212at the determined location based on the camera application or other application(s) operating in the foreground of the operating system of mobile device200. For example, where the camera application includes a display of one or more objects or function symbols, system100can avoid displaying graphical element212over camera interface204in a way that conflicts with or interferes with the objects or function symbols displayed via camera interface204. In some embodiments, system100can determine a location for graphical element212individually for each application. Alternatively, system100can determine one or more locations within camera interface204that generally avoids conflict with objects or function symbols displayed in connection with different applications.

In addition to displaying graphical element212based on an application operating on mobile device200, system100can consider the orientation of mobile device200in determining the location of graphical element212and providing the graphical element212at the determined location within camera interface204. For example, where a graphical user interface changes with rotation of mobile device, graphical element212can also change with rotation of mobile device. Alternatively, in some embodiments, a location of graphical element212can be fixed and avoid rotating based on rotation of mobile device200and/or a changing orientation of camera interface204.

FIG. 2Cillustrates another example of camera interface204associated with the camera application. As illustrated inFIG. 2C, system100can provide a display of graphical element212over camera interface204based on a user interaction with graphical element212. Additionally, as illustrated inFIG. 2C, a user can interact with graphical element212via touchscreen202of mobile device200. For example, a user can interact with graphical element212using a swipe gesture, drag gesture, tap gesture, or other gesture that facilitates a user interaction with graphical element212.

In some embodiments, system100can facilitate a user moving graphical element212within camera interface204based on a user input. For example, a user can use a drag or swipe gesture via touch screen202of mobile device200and move graphical element212to a more convenient location within camera interface204. In some embodiments, user can move graphical element212at any location within camera interface204. Alternatively, system100may include one or more locations within camera interface204to which graphical element212“snaps” in response to detecting a swipe gesture on graphical element212.

In addition to detecting a user interaction to move graphical element212, system100can further detect a selection of graphical element212. For example, system100can detect a tap gesture or other user interaction with graphical element212via touchscreen202and perform one or more functions based on the user selection of graphical element212. For example, in some embodiments, system100can open a content management application associated with graphical element212in response to detecting a user selection of graphical element212. In particular, system100can provide a display of a graphical user interface associated with the content management application in response to detecting the user selection of graphical element212. In one example, for instance, in response to detecting a user selection of graphical element212, system100can facilitate providing a display of graphical user interface304described below in connection withFIGS. 3A-3D.

FIG. 3Aillustrates an example mobile device300including touchscreen302and graphical user interface304. In particular,FIG. 3Aillustrates an example graphical user interface304associated with a content management application (or simply “gallery interface304”). For example, as illustrated inFIG. 3A, system100can provide gallery interface304that includes a display of digital content and various controls within gallery interface304of mobile device300. As shown inFIG. 3A, gallery interface304can include a presentation of a gallery of digital content. WhileFIG. 3Aillustrates one embodiment of gallery interface304associated with a content management application, it is appreciated that one or more embodiments may include different types of applications having other functionalities with respect to digital content captured using a camera on mobile device300. Further, whileFIGS. 3A-3Drelate to gallery interface304including a gallery of photos, it is appreciated that gallery interface304can relate to other types of digital content.

Additionally, as illustrated inFIG. 3A, gallery interface304can include a presentation of digital content in accordance with the content management application. For example, gallery interface304can include main header306. Main header306can provide one or more objects or function symbols that enable a user to perform one or more functions with respect to the digital content. For example, as illustrated inFIG. 3A, main header306can include an object for deleting photos, sharing photos, and/or accessing a menu to perform one or more additional functions with respect to the photos displayed via the gallery interface. Additionally, in some embodiments, main header306can provide an indication of digital content that is selected. For example, as illustrated inFIG. 3A, main header306indicates that three photos are selected.

In addition to main header306, gallery interface304associated with the content management application can include scroll element308. As illustrated inFIG. 3A, scroll element308can allow a user to scroll through a gallery of digital content. Additionally, scroll element308can provide an indication of a date associated with currently displayed digital content within a gallery of digital content. For example, scroll element308can indicate a day, month, year, or other date information associated with digital content presented within gallery interface304.

Additionally, gallery interface304associated with the content management application can include one or more groups310a-bof digital content. For example, as illustrated inFIG. 3A, gallery interface304can provide a display of first group310aand second group310bof digital content. Additionally, as shown inFIG. 3A, each group310a-bcan include a group header312and one or more photos314. Group header312can include information associated with photos314. For example, group header312can include a location, date, and/or number of photos314within a group.

Additionally, each group header312and photo314can include an indication of a photo selection. In particular, group header312can include group selector316and each photo can include a respective photo selector318. Group selector316and photo selector318can provide an indication of each group310and/or each photo314selected by a user and/or content management application. For example, a user can select one or more photos314individually by selecting photo selector318via touchscreen302. Additionally, a user can select each photo314within group310of photos314by selecting group selector316via touchscreen302. For example, a user can select one or more photos314or groups310of photos314by performing a touch gesture on group selector316and/or one or more photo selectors318.

In addition to recognizing a user selection of one or more photos314, content management application can select one or more photos314without receiving a user selection. For example, in some embodiments, system100can facilitate selection of one or more photos314in response to a camera application capturing the one or more photos314. For example, selected photos314can correspond to each photo314recently captured using the camera application. As such, in some embodiments, the content management application can automatically select each photo314captured using the camera application.

For example, as illustrated inFIG. 3A, second group310bof photos314can represent three photos taken recently using the camera application. For instance, as indicated in group header312corresponding to second group310b, second group310bcan include three photos314taken using the camera application. Thus, upon detecting a user selection of graphical element212described above in connection withFIGS. 2B-2C, the content management application can provide a display within gallery interface304including an indication of an automatic selection of each of the recently captured photos314. In this way, upon capturing one or more photos314, a user can immediately navigate to the recently taken photos314within the content management application and view, share, delete, hide, edit, or perform one or more functions on the selected photos314. In some embodiments, system100can facilitate automatic selection of each captured photo314in response to detecting that the camera application has captured photo314. Alternatively, system100can facilitate selection of each captured photo314in response to detecting a user selection of graphical element212associated with the content management application.

Similar toFIG. 3A,FIG. 3Billustrates an example mobile device300including touchscreen302and preview interface304within a content management application. For instance, as illustrated inFIG. 3B, system100can provide preview interface304that provides a display of one or more selected photos320. In some embodiments, selected photos320can correspond to each selected photo314from gallery interface304illustrated inFIG. 3A. For example, selected photos320can correspond to second group310bof photos314.

In some embodiments, system100can facilitate the presentation of preview interface304ofFIG. 3Bin response to detecting a touch gesture or other user interaction with respect to one or more photos314or groups310a-bfrom gallery interface304illustrated inFIG. 3A. For example, upon selecting group selector316, a user can perform a touch gesture to select one of the selected photos314. In response to the touch gesture, system100can provide gallery interface304ofFIG. 3Bthat includes a presentation of selected photos320corresponding to photos314selected using group selector316and/or photo selectors318from gallery interface304. Alternatively, in some embodiments, system100can facilitate the presentation of preview interface304ofFIG. 3Bin response to detecting a user selection of graphical element212described above in connection withFIGS. 2A-2C.

Additionally, as shown inFIG. 3B, preview interface304can include enlarged photo322. In particular, the preview interface can provide enlarged photo322corresponding to one of selected photos320. In some embodiments, enlarged photo322can correspond to whichever selected photo320is highlighted and/or selected by a user. For example, a user can highlight one of selected photos320by interacting with one of selected photos320using a touch gesture on touchscreen302. Additionally, a user can change the display of enlarged photo322by scrolling through one or more selected photos320using a swiping gesture or other user interaction.

In some embodiments, a user can select or deselect photos within preview interface304. In some embodiments, a user can select photos within preview interface304by performing a user interaction with enlarged photo322or one of selected photos320. For example, in some embodiments, a user can select, save, or otherwise highlight a photo by swiping enlarged photo322or one or selected photos320in an upward direction on preview interface304. Additionally, a user can deselect, hide, or delete a photo by swiping enlarged photo322or one of selected photos320in a downward direction on preview interface304.

Alternatively, other touch gestures may indicate a user selection, deselection, or other action with respect to enlarged photo322or one of selected photos320. For example, rather than performing a swipe or drag function, a user can select or deselect a photo by using a touch, tap, double-tap, or other gesture with enlarged photo322or one of selected photos320. It is noted that selecting and/or deselecting a photo may provide a similar functionality as selecting and/or deselecting photos314in gallery interface304described above in connection withFIG. 3A. (e.g., by selecting group selector316and/or photo selector318).

Additionally, as illustrated inFIG. 3B, preview interface304can include a header including one or more objects or function symbols. For example, preview interface304can include deselect icon324. In some embodiments, a user can hide a display of selected photos320by interacting with deselect icon324. Alternatively, a user can deselect a highlighted or featured photo from selected photos320by interacting (e.g., via a touch gesture) with deselect icon324.

In addition to deselect icon324, header of gallery interface304can include share icon326for sharing or providing access to one or more additional users or devices to one or more selected photos320. WhileFIG. 3Billustrates deselect icon324and share icon326, other embodiments may include other objects or function symbols associated with functionality of the content management application.

As described above, content management application can automatically select one or more photos captured using the camera application. Further, as described above, system100can facilitate providing a first view of gallery interface304in response to a selection of graphical element212associated with the content management system. In some embodiments, rather than providing the first view of gallery interface304illustrated inFIG. 3A, system100can facilitate a presentation of the preview view of preview interface304illustrated inFIG. 3Band include each recently captured photo in selected photos320. In this way, upon capturing one or more photos314, a user can immediately view enlarged photo322and one or more recently captured photos320, and thereby directly save or share the best of selected photos320. Alternatively, the user can immediately navigate to selected photos320and discard or delete duplicative or the low quality selected photos320.

In one example of providing preview interface304ofFIG. 3B, system100may detect a user selection of graphical element212described above in connection withFIGS. 2A-2C. In response to detecting the user selection, system100can facilitate a presentation of preview interface304ofFIG. 3B. In particular, system100can provide a presentation of gallery interface304including automatically selected photos320based on photos recently captured using the camera application. A user may quickly scan the recently captured photos and save or discard the photos by interacting with enlarged photo322or selected photos320. For example, a user my save a photo by swiping upward on enlarged photo322. Conversely, a user may delete or hide a photo by swiping downward on enlarged photo322. As such, a user may conveniently interact with one or more recently captured photos within preview interface304in response to selecting graphical element212within graphical user interface204described above.

Similar toFIG. 3A,FIG. 3Cillustrates an example mobile device300including touchscreen302and gallery interface304. In particular,FIG. 3Cillustrates gallery interface304associated with the content management application similar to gallery interface304described above in connection withFIG. 3A. It is noted that gallery interface304illustrated inFIG. 3Ccan have similar features and functionality as gallery interface304illustrated inFIG. 3A.

Additionally, as illustrated inFIG. 3C, gallery interface304can provide an indication that one or more photos314are selected. For example,FIG. 3Cshows two selected photos314aof second group310band a third non-selected photo314b. As shown, gallery interface304can provide an indication of selection or by highlighting or otherwise emphasizing photo selector318associated with each of photos314athat are selected. Additionally, as shown in main header306, gallery interface304can provide an indication of selected photos314aand/or non-selected photos314b, including an indication of each photo that is selected or non-selected.

In addition to selecting or deselecting photos314, system100can facilitate performing one or more functions with respect to selected photos314a. In particular, main header306can include one or objects or function symbols that enable a user to perform functions with respect to selected photos314a. In some embodiments, for example, a user can select menu icon326using a touch gesture or other interaction with touchscreen302. In response to detecting the touch gesture, the content management application can provide drop down menu328of one or more functions to perform with respect to selected photos314a. For example, drop down menu328can include hide or delete functions. In response to detecting a touch gesture on the hide or delete functions, system100can remove each of selected photos314afrom gallery interface304or delete selected photos314afrom mobile device300.

Similar toFIGS. 3A and 3C,FIG. 3Dillustrates an example mobile device300including touchscreen302and gallery interface304. In particular,FIG. 3Dillustrates gallery interface304ofFIG. 3Cafter hiding or deleting selected photos314from gallery interface304. For example, upon detecting a user selection of the hide or delete option from drop down menu328, the content management application can provide gallery interface304without selected photos314afrom gallery interface304described inFIG. 3C. As such, upon detecting a user selection to hide or delete selected photos314a, gallery interface304can include a presentation of remaining photo314bthat was not selected. Additionally, as shown inFIG. 3D, main header306can indicate that no photos are selected.

FIG. 4illustrates an example mobile device400including touchscreen402and graphical user interface404. In particular,FIG. 4illustrates an example graphical user interface404associated with a content management application (or simply “gallery interface404”) in accordance with one or more embodiments described herein. For example, system100can provide gallery interface404that includes a presentation of digital content. As illustrated inFIG. 4, gallery interface404can include main header406, scroll element408, groups410a-bof digital content including group header412, photos414, photo selectors416, and group selectors418. Each of mobile device400, touchscreen402, gallery interface404, main header406, scroll element408, groups410a-b, group headers412, photos414, photo selectors416, and group selectors418can have similar features and functionality as similar elements described above in connection withFIGS. 3A-3D.

Additionally, gallery interface404may further include graphical element420associated with the camera application. In some embodiments, graphical element420associated with the camera application can have a similar size, shape, and location within gallery interface404as graphical element212associated with the content management application as described above. In some embodiments, graphical element420can include a camera icon or symbol to indicate to a user that graphical element420is associated with the camera application.

Similar to features and functionality of graphical element212associated with the content management application, graphical element420associated with the camera application can facilitate a switch between the content management application and the camera application. In particular, in response to detecting a user interaction with graphical element420, system100can switch gallery interface404with a display of a camera interface. For example, in response to a user selection of graphical element, system100can cause the camera application to operate in the foreground of an operating system operating on mobile device400while moving operation of the content management application to the background of the operating system operating on mobile device400.

FIG. 5illustrates a flowchart of an example method500of navigating digital content in accordance with principles described herein. WhileFIG. 5illustrates example steps according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the steps shown inFIG. 5. One or more steps shown inFIG. 5may be performed by any of the components illustrated in system100illustrated inFIG. 1. Further, one or more steps of method500can be performed using a mobile device or online content management system, or a combination of both.

For example, method500includes step502, which may include determining that a content capturing application is installed on a mobile device. In particular, step502can include determining, using at least one processor, that a content capturing application is installed on a mobile device. The content capturing application can include a digital camera application or other application having access to functionality of a camera on the mobile device.

In addition, method500includes step504, which may include monitoring display activity corresponding to a touch screen of the mobile device. For instance, step504can include monitoring, using the at least one processor, display activity corresponding to a touch screen of the mobile device. For example, monitoring display activity can include monitoring the foreground activity of a mobile device to determine that a particular application is currently active on displayed on a display device of the mobile device.

In addition, method500includes step506, which may include detecting that the touch screen of the mobile device is displaying a graphical user interface of a content capturing application. In particular, step506can include detecting, based on the monitored display activity, that the touch screen of the mobile device is displaying a graphical user interface of the content capturing application. For example, step506can include detecting a camera view is presented on the display device of the mobile device.

In addition, method500includes step508, which may include overlaying a graphical element associated with a content management application (e.g., a video and photo management application) over the display of the graphical user interface of the content capturing application. In particular, step508can include in response to detecting that the touch screen is displaying the graphical user interface of the content capturing application, overlaying a graphical element associated with a content management application over the display of the graphical user interface of the content capturing application. Overlaying the graphical element may be in response detecting that the touch screen is displaying the graphical user interface of the content capturing application. Additionally, the graphical element can overlay only a portion of the graphical user interface of the content capturing application.

Additionally, method500may include identifying one or more characteristics of the graphical user interface of the content capturing application. Method500may further include determining, based on the one or more characteristics, a location void of user interaction elements within the graphical user interface of the content capturing application. Method500may further include positioning the overlay of the graphical element at the location void of interaction elements.

In addition, method500can include detecting (e.g., via the touch screen) a user interaction with respect to the graphical element associated with the content management application. Method500can further include changing from the touchscreen displaying the graphical user interface of the content capturing application to the touchscreen displaying a graphical user interface of the content management application. Changing from the content capturing application to the content management application may be in response to detecting the user interaction with respect to the graphical element.

In addition, method500can include detecting that or more digital content items have been captured using the content capturing application while simultaneously displaying the overlay of the graphical element associated with the content management application. Method500can also include detecting a user interaction with the graphical element and, in response to the user interaction, presenting a graphical user interface of the content management application. Further, method500can include selecting (e.g., without further user interaction) each of the one or more captured digital content items. Method500can further include providing a display of the selected one or more digital content items within the graphical user interface of the content management application. Method500can also include enabling a user to delete or save at least one of the selected digital content items.

In some embodiments, the content capturing application can include a digital camera application having access to camera functionality on the mobile device. Additionally, in some embodiments, method500can include determining that the camera functionality has been used by the content capturing application and overlaying the graphical element based on determining that the camera functionality has been used by the content capturing application.

Additionally, in some embodiments, overlaying the graphical element can include considering one or more characteristics of an application or mobile device. For example, method500can include determining one or more characteristics of a graphical user interface associated with a content capturing application and positioning the graphical element within the graphical user interface based on the one or more characteristics of the graphical user interface. Additionally or alternatively, method500can include determining one or more characteristics of the touch screen of the mobile device and positioning the graphical element within the graphical user interface displayed on the touchscreen based on the one or more characteristics of the touch screen. In some embodiments, method500can include modifying a location of the graphical element within the graphical user interface in response to detecting a user interaction (e.g., swipe or drag gesture) with the graphical element.

FIG. 6illustrates a flowchart of an example method600of navigating digital content in accordance with principles described herein. WhileFIG. 6illustrates example steps according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the steps shown inFIG. 6. One or more steps shown inFIG. 6may be performed by any of the components illustrated in system100illustrated inFIG. 1. Further, one or more steps of method600can be performed using a mobile device or online content management system, or a combination of both.

For example, method600includes step602, which may include detecting that a touch screen of a mobile device is displaying a graphical user interface of a camera application. In particular, step602can include detecting, using one or more processors, that a touch screen of a mobile device is displaying a graphical user interface of a camera application. For example, the system100can determine a camera view is currently displayed on the touchscreen of the mobile device.

Additionally, method600includes step604, which may include providing an overlay of a graphical element over the graphical user interface of the camera application. In particular, step604can include based on detecting the display of the graphical user interface of the camera application, providing an overlay of a graphical element over the graphical user interface of the camera application, wherein the graphical element is associated with a content management application. Providing the overlay may be based on detecting the display of the graphical user interface associated with the camera application. Additionally, the graphical element may be associated with a content management application.

Method600further includes step606, which may include detecting that the graphical user interface of the camera application is no longer displayed on the touch screen of the mobile device. In particular, step606can include detecting, using the one or more processors, that the graphical user interface of the camera application is no longer displayed on the touch screen of the mobile device. For example, system100can detect a content management application is displayed on the touch screen of the mobile device. Alternatively, the system100can detect that the camera application is no longer operating in the foreground. In addition, method600includes step608, which may include removing the display of the graphical element from the touch screen.

Additionally, while not shown inFIG. 6, method600can further include detecting that one or more digital content items have been captured using the camera application while simultaneously displaying the overlay of the graphical element. Further, in response to detecting a user selection with respect to the graphical element, method600can include providing a display of a gallery interface associated with the content management application. Method600can also include preselecting each of the one or more captured digital content items within the gallery interface. Further, in response to detecting a user interaction with respect to one of the preselected digital content items, method600can include providing a preview of the preselected digital content items within a preview interface associated with the content management application. In response to detecting a predefined user interaction (e.g., a touch gesture) with the preview interface, method600can include enabling a user to delete or save at least one of the preselected digital content items.

FIG. 7illustrates a block diagram of exemplary computing device700that may be configured to perform one or more of the processes described above. One will appreciate that content navigation system100, mobile device200,300,400, and online content management system each may be implemented by one or more computing devices such as computing device700. As shown byFIG. 7, computing device700can comprise processor702, memory704, storage device706, I/O interface708, and communication interface710, which may be communicatively coupled by way of communication infrastructure712. While an exemplary computing device700is shown inFIG. 7, the components illustrated inFIG. 7are not intended to be limiting. Additional or alternative components may be used in other embodiments. Furthermore, in certain embodiments, computing device700can include fewer components than those shown inFIG. 7. Components of computing device700shown inFIG. 7will now be described in additional detail.

In particular embodiments, processor702includes hardware for executing instructions, such as those making up a computer program. As an example and not by way of limitation, to execute instructions, processor702may retrieve (or fetch) the instructions from an internal register, an internal cache, memory704, or storage device706and decode and execute them. In particular embodiments, processor702may include one or more internal caches for data, instructions, or addresses. As an example and not by way of limitation, processor702may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory704or storage706.

Memory704may be used for storing data, metadata, and programs for execution by the processor(s). Memory704may include one or more of volatile and non-volatile memories, such as Random Access Memory (“RAM”), Read Only Memory (“ROM”), a solid state disk (“SSD”), Flash, Phase Change Memory (“PCM”), or other types of data storage. Memory704may be internal or distributed memory.

Storage device706includes storage for storing data or instructions. As an example and not by way of limitation, storage device706can comprise a non-transitory storage medium described above. Storage device706may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these. Storage device706may include removable or non-removable (or fixed) media, where appropriate. Storage device706may be internal or external to computing device700. In particular embodiments, storage device706is non-volatile, solid-state memory. In other embodiments, Storage device706includes read-only memory (ROM). Where appropriate, this ROM may be mask programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these.

Communication interface710can include hardware, software, or both. In any event, communication interface710can provide one or more interfaces for communication (such as, for example, packet-based communication) between computing device700and one or more other computing devices or networks. As an example and not by way of limitation, communication interface710may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI.

FIG. 8is a schematic diagram illustrating an online content management system802that can implement one or more features of the present disclosure. Online content management system802may generate, store, manage, receive, and send digital content items. For example, online content management system802may send and receive content items to and from client devices806by way of network804. In particular, online content management system802can store and manage a collection of content items. Online content management system802can manage the sharing of content items between computing devices associated with a plurality of users. For instance, online content management system802can facilitate a user sharing a content item with another user of the online content management system.

In particular, online content management system802can manage synchronizing content items across multiple client devices806associated with one or more users. For example, user may edit a content item using client devices806. The online content management system802can cause client device806to send the edited content item to online content management system802. Online content management system802then synchronizes the edited content item on one or more additional computing devices.

In addition to synchronizing content items across multiple devices, one or more embodiments of the online content management system can provide an efficient storage option for users that have large collections (e.g., galleries) of content items. For example, the online content management system802can store a collection of content items, while the client device806only stores reduced-sized versions of the content items. A user can navigate and browse the reduced-sized versions (e.g., thumbnail images of photos) of the content items on client device806. In particular, one way in which a user can experience content items is to browse the reduced-sized versions of the content items on client device806. Online content management system802may store any number of reduced size versions (e.g., thumbnails) of digital content items and provide them to client device806at a suitable time (e.g., to allow client device806to emphasize one or more digital content items within a graphical user interface).

Client device806may be a desktop computer, a laptop computer, a tablet computer, a personal digital assistant (PDA), an in- or out-of-car navigation system, a handheld device, a smart phone or other cellular or mobile phone, or a mobile gaming device, other mobile device, or other suitable computing devices. Client device806may execute one or more client applications, such as a web browser (e.g., Microsoft Windows Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome, Opera, etc.) or a native or special-purpose client application (e.g., Facebook for iPhone or iPad, Facebook for Android, etc.), to access and view content over network804.

Network804may represent a network or collection of networks (such as the Internet, a corporate intranet, a virtual private network (VPN), a local area network (LAN), a wireless local area network (WLAN), a cellular network, a wide area network (WAN), a metropolitan area network (MAN), or a combination of two or more such networks) over which client devices806may access online content management system802.