Cloud computing services provide software, data access and storage services to various users over the Internet. As these services continue to gain popularity, users of various computing devices (e.g., smartphones, tablet computers, laptop computers and the like) may wish to save and/or share documents and data using these cloud computing services. Current user interfaces are ill-equipped to address the various possibilities a user may have when saving documents using cloud computing services.
It is with respect to these and other general considerations that embodiments have been made. Also, although relatively specific problems have been discussed, it should be understood that the embodiments should not be limited to solving the specific problems identified in the background.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detail Description section. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Embodiments of the present disclosure provide a user interface that enables a user to more readily identify and use one or more storage services (e.g., cloud computing storage services or local storage services) to save, open and/or retrieve documents and other data. The method includes receiving user credentials from a user that identify (i) a particular user and (ii) various storage services, available either locally on the computing device or externally, such as, for example, cloud computing storage services. In response to a request to save a document, a list of available storage services is provided to the user. In certain embodiments, the list of storage services includes at least one external storage service. Once the list of storage services is determined, the list of storage services is presented to user via a user interface. The user may select a storage service from the list, including a location within the selected service, at which to save the document. The document is then saved, at the specified location, using the selected storage service.
Embodiments may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product or computer readable media. The computer program product may be computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
Non-limiting and non-exhaustive embodiments are described with reference to the following figures.
Various embodiments are described more fully below with reference to the accompanying drawings, which form a part hereof, and which show specific exemplary embodiments. However, embodiments may be implemented in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the embodiments to those skilled in the art. Embodiments may be practiced as methods, systems or devices. Accordingly, embodiments may take the form of a hardware implementation, an entirely software implementation or an implementation combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
As shown in
As shown in
In certain embodiments, the operating system of the computing device 120 may require a user 110 to provide user credentials 115 to log in to the operating system. The user credentials 115 may include a user name and password, or other input, that is associated with and identifies the particular user 110. For example, the user credentials 115 may include a WINDOWS LIVE ID, an email username and password, an organization ID, an operating system log on ID etc. In another embodiment, the operating system may not require user credentials 115. However, the user 110 may be required to provide user credentials 115 to one or more applications in order to either (i) utilize one of the applications 130, (ii) utilize one or more features of the applications 130, or (iii) utilize the external storage service 160 to save documents generated from one of the applications 130. In an embodiment, the user 110 may use single sign-on credentials which enable the user 110 to access (i) the operating system, (ii) the applications 130, and (iii) the external storage service 160. Because the credentials are single sign-on credentials, the user 110 may be required to enter the credentials 115 at a single point in time. Thereafter, the user 110 has access to all authorized applications 130 and features, including one or more external storage services 160. Alternatively, different user credentials 115 may be required for (i) the operating system, (ii) one or more of the applications 130, and (iii) the external storage service 160.
In certain embodiments, the external storage service 160 may be a cloud computing storage service, a file hosting service, or other such service offered by a third party. Examples of such services include SKYDRIVE, SHAREPOINT and MySite by Microsoft Corporation of Redmond, Washington, DROPBOX by Officeware Corporation, and the like. Although specific examples have been given, it is contemplated that other external storage services may be used with embodiments disclosed herein.
The external storage service 160 enables a user to save a document in a particular location in response to save request 145. When the save request 145 is received, the user interface provides the user 110 with one or more locations to which the user may save the document. For example, the user interface may display one or more folders within the external storage service 160 that a user may access in order to save documents therein. Additionally, the user 110 may create a new location, such as a new folder within the selected storage service. As shown in
The user interface may also display to the user 110 a list of (i) most recently used documents, (ii) most recently used folders or locations within the selected storage service, or (iii) popular folders or locations. In certain embodiments, the most recently used lists may be stored locally. In another embodiment, the most recently used lists may be stored remotely. In an embodiment, each list may be ordered based on (i) a time stamp associated with the document or folder, or (ii) a number of times the document or folder has been accessed by the user 110. In the event that one of the lists associated with a particular storage service is empty (e.g., the user 110 has not previously used the external storage service 160 or does not have any documents 155 saved on the external storage service 160), the list may be prepopulated with one or more default folders or locations, such as, for example, a “My Documents” folder.
According to one or more embodiments, one or more lists may be associated with a particular external storage service 160. Thus, if a user 110 is utilizing multiple external storage services, each external storage service 160 maintains a separate list, such as a most recently used list. Additionally, each external storage service 160 is associated with a particular user's user credentials 115. Therefore, when a user submits his user credentials 115, each external storage service 160 that is associated with the user's user credentials 115, along with its associated list, is available to the user. This holds true whether the user logs in to a desktop computer at home or at work, a smartphone, tablet computer etc.
For example, if the user 110 logs in to his desktop computer and accesses an external storage service 160 using his user credentials 115, this same external storage service 160, and its associated lists if any, may be accessed by the user 110 when the user 110 logs in to a second device (e.g., tablet computer, laptop etc.). Such features are further provided in U.S. patent application Ser. No. ______ (MS# 333802.01) entitled “Selectively Roaming Lists” that was filed on Nov. 2, 2011, the disclosure of which is incorporated by reference in its entirety.
In another embodiment, the list of external storage services that are available to the user may be different based on a server that is accessed by the user. For example if a user logs in to a first server, the user may have access to a first set of external storage services and if a user logs in to a second server, the user may have access to a second set of external storage services.
In certain embodiments, the applications 130 and the external storage service 160 need not be provided by the same entity. For example, the word processing application may be provided by a first entity while the external storage service 160 is provided by a second entity. In such cases, the user interface, which may be associated with a particular application 130, may provide an option whereby the external storage service 160 is associated with one or more of (i) the application 130 in use, or (ii) the user credentials 115 submitted by the user 110. Thus, when the user 110 subsequently uses the application 130, the external storage service 160 is available for use.
The computing device 120 may also include a local storage service 140 which enables the user 110 to save documents 155 locally on a hard drive or other storage device that is physically attached to the computing device 120. As with the external storage service 160, when a save request 145 is received and the local storage service 140 is being utilized, the local storage service 140 enables the user to choose a particular folder or location (e.g., desktop) in which to save the document. The local storage service 140 may also provide one or more lists of most recently used documents and locations such as described above. Additionally, and as shown in
Regardless of whether the local storage service 140 or the external storage service 160 is used to save a document 155, when a save request 145 is received, a determination is made as to where the document that is to be saved was most recently (i) saved to, or (ii) accessed from. The determined location, whether on the external storage service 160 or the local storage service 140, is set as a default save location. When a subsequent save request is received, the document 155 is saved at the default location. In another embodiment, the default save location may be a location, either locally or externally, that the user 110 utilizes a majority of the time (e.g., a “My Documents” folder).
As discussed above, a user 110 may be required to submit user credentials 115 when accessing either (i) the operating system, or (ii) applications 130 of the computing device 120. However, there are instances when the user is not required to enter such credentials. If a user has not entered user credentials 115 and subsequently submits a save request 145 when using one of the applications 130, the user may be prompted, via a user interface, to provide user credentials 115. If user credentials 115 are presented, and if the user 110 has access to one or more external storage service 160 using the credentials 115, those external storage services 160, along with the lists associated therewith, are provided to the user 110 via a user interface. It is also contemplated that lists of most recently used documents saved in local storage services 140 may be provided to the user 110, via the user interface, upon receipt of user credentials 115 if such lists were not previously available.
It is contemplated that a user 110 may not have access to, or have signed up for, an external storage service 160. In such cases, when a save request 145 is received, the user 110 may be prompted, via add logic in the user interface, to set up an account with one or more external storage services 160. For example, if the user 110 would like to associate one or more external storage services 160 with his user credentials 115, the user 110 may activate add logic functionality (e.g., an add location button on the user interface or the like) and select one or more external storage services 160 that are available for use. Once the user 110 has provided his user credentials 115 to the external storage service 160, the external storage service 160 may associated with and accessed by the user 110 each time the user 110 submits his user credentials 115 to the computing device 120 or applications 130.
In certain embodiments, an administrator of the system 100 may determine which external storage services 160 a user 110 may or may not use. For example, the administrator may restrict access to one or more external services 160 based on the user credentials 115.
Method 200 begins at operation 210 where user credentials are received, e.g., by an operating system of the computing device 120 or by one or more applications 130. In certain embodiments, the user may not be required to submit user credentials prior to accessing the operating system or one or more of the applications. However, if the user wishes to have access to one or more external storages services, the user may be required to submit user credentials prior to gaining access to the service and/or recently used lists associated with a particular service. As discussed with respect to
Flow continues to operation 220 in which a document save request is received e.g., by the computing device. In response to the document save request, a list of available storage services (e.g., local storage services and external storage services) is determined 230 and provided to the user 240. In certain embodiments, the list of available storage services includes one or more external storage services that are available to, or accessible by, the user. As discussed, the available storage services, and recently used lists associated with each service, may be provided to the user when the computing device receives the user's user credentials. In an embodiment, the list of available storage services and the list of recently used documents are maintained locally on the computing device. In another embodiment, the list of available storage services and the list of most recently used documents are maintained remotely. In still yet another embodiment, one list (e.g., the available local storage services and associated recently used lists) may be maintained locally while a second list (e.g., the available external storages services and associated recently used lists) are maintained remotely. Therefore, the user may have access to each list of available servers regardless of the user's location. In certain embodiments, the list of available services and the list of most recently used documents and/or folders associated with each service are provided to the user in a user interface. Exemplary embodiments of such user interfaces is provided in
Referring to
As shown, the available storage services, either local storage services 310 or external storage services 350, along with locations or folders 320 for each service, are prominently displayed on the user interface 300. This enables a user to more easily track which documents are being saved by which service, and further, which locations in the selected service is storing the document. For example, in
In certain embodiments, each local storage service and external storage service that is utilized by the user maintains a separate list of most recently used documents, folders, and/or locations. Therefore, as a user selectively navigates between one storage services (e.g., local storage service 310 and “SkyDrive” 420 (FIG. 4)), the list of most recently used documents, locations and/or folders is updated accordingly.
In situations where the user's most recently used list is empty (e.g., as a result of a user not having previously accessed a particular service), the user interface may automatically populate the most recently used list with various default locations, such as, for example, a “My Documents” folder. In certain embodiments, both the local storage service and the remote storage service may utilize such functionality. The user interface 300 may also include browsing functionality 330 that enables a user to search for other locations (e.g., additional folders) on the selected service that are not displayed.
The user interface 300 may also enable a user to utilize an add a location feature 340. The add location feature enables the user to add one or more services (either local services or remote services) to the user interface 300. Referring to
When attempting to add a new service via the user interface 300, the user need only provide user credentials associated with the new service, assuming the user has had previous interaction with the selected new service. Once the credentials for the selected service have been verified, the new service is associated with the user's user credentials. Thereafter, each time the user submits his user credentials, the new storage service is available for use. If however, the user does not have access to the new service (e.g., the user does not have a pre-existing account with the service), the user interface 300B may prompt the user to set up an account with the new storage service. Once the account has been verified, the user's user credentials may be associated with the new service. Thereafter, each time the user submits his user credentials, the new storage service is available for use.
Referring back to
Referring to
As shown in
In response to the selection, the user interface 400 displays recent “SkyDrive” folders. The user may select one of the displayed folders, or alternatively, choose a different folder using a browse feature 435. Once the desired location has been selected, the user may save the document in the desired location of the selected service. So as to avoid user confusion, all available storage services, including the selected service (e.g., “Kaitlin's SkyDrive” 420) and the recent locations 430 associated with the selected storage service, are shown prominently on the user interface 400.
In certain embodiments, the list of recent locations 430, as well as one or more recently accessed documents from each location, is a global list that may be accessed and updated across all computers and devices regardless of which computer or device the user was logged in to when a document or location was accessed. Thus, if a user accesses a first location using a first machine and accesses a second location on a second machine, both locations will be displayed to a user during a subsequent log in.
Referring to
As shown in the user interface 500, this particular user has a number of locations 510 available in which to save the document. In this example, the default location has been set to “Kaitlin's MySite” 520. As also shown, “Kaitlin's MySite” 520 has a “Documents” folder 530 associated therewith. Therefore, the user may (i) save the document in the “Documents” folder 530 (or a sub-folder associated with the “Documents” folder 530), (ii) browse for a new folder within “Kaitlin's MySite” 520, or (iii) select another service from the list of available services 510.
As shown in
The user interface 600 may also prominently display a list of most recently used folders or locations 640 from each available storage service. The user interface 600 may also prominently display a file path for each location. For example, user interface 600 shows a recent “SkyDrive” folder entitled “Documents” 645, which is located in “Kaitlin's SkyDrive>Documents.” Additionally, the list of recently used folders or locations 640 also shows a recent local folder entitled “Documents” 650 which has been saved locally on the computing device. As shown, the user interface 600 clearly displays the file path associated with the locally stored “Documents” 650 folder (e.g., “Computer>Libraries>Documents”).
As briefly discussed, when displaying the list 610 of most recently used documents 620, the user interface 600 also displays a file path 630 of where the recently used document 620 is stored. For example, “Uncle Bob's Birthday Slideshow” is saved in “SkyDrive>School Project>Writing Class” and “Portfolio Presentation” has a file path of “My Computer>My Documents>Resume Work.” Identification of the file path may enable a user to more readily identify which services the user has access to and further enables the user to identify where the document is being stored. Such identification may be helpful in the event that one or more documents, folders, or locations have identical names or identifiers.
In certain embodiments, the user interface 600 also includes a scroll bar 635 that may be used to show either (i) additional most recently used documents, or (ii) additional recently used folders that are associated with various storage services 640.
The user interface 600 may also include one or more pins 660. In certain embodiments, a pin 660 enables a user selected document or folder to be placed at or near the top of a most recently used list 610. As shown in
Although specific functionality has been given with respect to the user interface 600 of
In its most basic configuration, system 700 typically includes at least one processing unit 702 and memory 704. Depending on the exact configuration and type of computing device, memory 704 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination. This most basic configuration is illustrated in
The term computer readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. System memory 704, removable storage, and non-removable storage 708 are all computer storage media examples (e.g. memory storage). Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) 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 information and which can be accessed by computer system 700. Any such computer storage media may be part of computer system 700. Computer system 700 may also have input device(s) 714 such as a keyboard, a mouse, a pen, a sound input device, a touch input device, etc. In another embodiment, the computer system 700 may be coupled to a camera (not shown) that may be operative to record a user and capture motions and/or gestures made by a user. Consistent with other embodiments described herein, the camera may comprise any motion detection device capable of detecting the movement of the user. For example, the camera may comprise a Microsoft® Kinect® motion capture device comprising a plurality of cameras and a plurality of microphones. Output device(s) 716 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used.
The term computer readable media as used herein may also include communication media. Communication media may be embodied by computer readable instructions, data structures, program modules, 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 describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
Embodiments disclosed may be practiced via a system-on-a-chip (SOC) where each or many of the components illustrated in
Reference has been made throughout this specification to “one embodiment” or “an embodiment,” meaning that a particular described feature, structure, or characteristic is included in at least one embodiment. Thus, usage of such phrases may refer to more than just one embodiment. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
One skilled in the relevant art may recognize, however, that the embodiments may be practiced without one or more of the specific details, or with other methods, resources, materials, etc. In other instances, well known structures, resources, or operations have not been shown or described in detail merely to avoid obscuring aspects of the embodiments.
While example embodiments and applications have been illustrated and described, it is to be understood that the embodiments are not limited to the precise configuration and resources described above. Various modifications, changes, and variations apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems disclosed herein without departing from the scope of the claimed embodiments.
This application is related to U.S. patent application Ser. No. ______ (MS# 333802.01) entitled “Selectively Roaming Lists”, that was filed on Nov. 2, 2011, the disclosure of which is incorporated by reference in its entirety.