U.S. patent application number 14/873084 was filed with the patent office on 2016-01-28 for system, method, and computer program for enabling a user to synchronize, manage, and share folders across a plurality of client devices and a synchronization server.
The applicant listed for this patent is Dropbox, Inc.. Invention is credited to Athena ANAGNOSTOPOULOS, Andrew GARCIA, Samir Bhupatrai MEHTA, Elle Mathias MONGE, Alice Viola PINTUS, Fuad RASHID, Jason Edward SHORT, James David WONG, Laura Susan Fried YECIES.
Application Number | 20160028796 14/873084 |
Document ID | / |
Family ID | 55166781 |
Filed Date | 2016-01-28 |
United States Patent
Application |
20160028796 |
Kind Code |
A1 |
GARCIA; Andrew ; et
al. |
January 28, 2016 |
SYSTEM, METHOD, AND COMPUTER PROGRAM FOR ENABLING A USER TO
SYNCHRONIZE, MANAGE, AND SHARE FOLDERS ACROSS A PLURALITY OF CLIENT
DEVICES AND A SYNCHRONIZATION SERVER
Abstract
A system, method, and computer program are provided for enabling
a user to synchronize, manage, and share files and folders across a
plurality of client devices and a synchronization server. In a user
interface, a first view displays all folders, which a user has
synchronized to the synchronization server and a drop-target zone
to which the user is able to drag a folder from the local device to
synchronize the folder with the synchronization server. A second
view displays all files and folders, which the user has shared with
other users. A third view displays a list of user contacts, where
each contact is a drop-target zone on which a user is able to drag
a folder to share the folder with the contact. A fourth view is
provided in which a user is able to see activity related to a
folder displayed in the first view.
Inventors: |
GARCIA; Andrew; (San
Francisco, CA) ; MEHTA; Samir Bhupatrai; (Menlo Park,
CA) ; ANAGNOSTOPOULOS; Athena; (San Mateo, CA)
; RASHID; Fuad; (Foster City, CA) ; YECIES; Laura
Susan Fried; (Woodside, CA) ; PINTUS; Alice
Viola; (San Francisco, CA) ; SHORT; Jason Edward;
(San Francisco, CA) ; MONGE; Elle Mathias; (San
Francisco, CA) ; WONG; James David; (San Jose,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Dropbox, Inc. |
San Francisco |
CA |
US |
|
|
Family ID: |
55166781 |
Appl. No.: |
14/873084 |
Filed: |
October 1, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13571564 |
Aug 10, 2012 |
|
|
|
14873084 |
|
|
|
|
Current U.S.
Class: |
715/738 |
Current CPC
Class: |
H04L 67/1095 20130101;
G06F 3/0486 20130101; H04L 67/06 20130101; G06F 16/9562 20190101;
G06F 3/0482 20130101 |
International
Class: |
H04L 29/08 20060101
H04L029/08; G06F 3/0484 20060101 G06F003/0484; G06F 3/0486 20060101
G06F003/0486 |
Claims
1-23. (canceled)
24. A method for synchronizing folders, the method comprising:
displaying, in a synchronized view on a user device, a plurality of
folder indicators, each folder indicator representing a folder
synchronized with a user account on a synchronization server,
wherein the folder indicators are displayed in the synchronized
view regardless of whether contents related to each of the folder
indicators resides on user device or other user devices associated
with the user account, wherein the synchronized view comprises: (i)
a device independent mode that enables a user to view the folder
indicators regardless of which of the user devices each of the
folder indicators resides on, and (ii) a device specific mode that
enables the user to view the folder indicators organized according
to the user device each of the folder indicators resides on;
displaying a first drop-target zone configured to receive input
that initiates an upload of a copy of at least one new folder to
the synchronization server; and displaying at least one new folder
indicator related to a corresponding one of the at least one new
folder in the synchronized view.
25. The method of claim 24, wherein the input comprises dragging an
object to the first drop-target zone.
26. The method of claim 24, further comprising: receiving a command
at one of the displayed folder indicators; and displaying
information associated with the one of the folder indicators.
27. The method of claim 26, wherein the information comprises at
least one device to which the one folder indicator is
synchronized.
28. The method of claim 24, further comprising displaying a user
interface object associated with one of the displayed folder
indicators, wherein receiving input at the user interface object
starts synchronization of contents associated with the one folder
indicator.
29. The method of claim 28, wherein synchronization comprises
downloading a copy of the contents associated with the one folder
indicator to the user device.
30. The method of claim 29, further comprising displaying an
indicator that the contents associated with the one folder
indicator are synchronized.
31. A computer program product stored on a non-transitory
computer-readable medium and including instructions for causing a
computer processor to carry out steps comprising: displaying, in a
synchronized view on a user device, a plurality of folder
indicators, each folder indicator representing a folder
synchronized with a user account on a synchronization server,
wherein the folder indicators are displayed in the synchronized
view regardless of whether contents related to each of the folder
indicators resides on the user device or other user devices
associated with the user account, wherein the synchronized view
comprises: (i) a device independent mode that enables a user to
view the folder indicators regardless of which of the user devices
each of the folder indicators resides on, and (ii) a device
specific mode that enables the user to view the folder indicators
organized according to the user device each of the folder
indicators resides on; displaying a first drop-target zone
configured to receive input that initiates an upload of a copy of
at least one new folder to the synchronization server; and
displaying at least one new folder indicator related to a
corresponding one of the at least one new folder in the
synchronized view.
32. The computer program product of claim 31, wherein the input
comprises dragging an object to the first drop-target zone.
33. The computer program product of claim 31, further comprising
instructions for causing the processor to carry out steps
comprising: receiving a command at one of the displayed folder
indicators; and displaying information associated with the one of
the folder indicators.
34. The computer program product of claim 33, wherein the
information comprises at least one device to which the one folder
indicator is synchronized.
35. The computer program product of claim 31, further comprising
instructions for causing the processor to carry out the steps of:
displaying a user interface object associated with one of the
displayed folder indicators; and receiving input at the user
interface object starts synchronization of contents associated with
the one folder indicator.
36. The computer program product of claim 35, wherein
synchronization comprises downloading a copy of the contents
associated with the one folder indicator to the user device.
37. The computer program product of claim 36, further comprising
instructions for causing the processor to carry out the step of
displaying an indicator that the contents associated with the one
folder indicator are synchronized.
38. A user interface configured to: displaying, in a synchronized
view on a user device, a plurality of folder indicators, each
folder indicator representing a folder synchronized with a user
account on a synchronization server, wherein the folder indicators
are displayed in the synchronized view regardless of whether
contents related to each of the folder indicators resides on the
user device or other user devices associated with the user account,
wherein the synchronized view comprises: (i) a device independent
mode that enables a user to view the folder indicators regardless
of which of the user devices each of the folder indicators resides
on, and (ii) a device specific mode that enables the user to view
the folder indicators organized according to the user device each
of the folder indicators resides on; displaying a first drop-target
zone configured to receive input that initiates an upload of a copy
of at least one new folder to the synchronization server; and
displaying at least one new folder indicator related to a
corresponding one of the at least one new folder in the
synchronized view.
39. The user interface of claim 38, wherein the input comprises
dragging an object to the first drop-target zone.
40. The user interface of claim 38, further comprising: receiving a
command at one of the displayed folder indicators; and displaying
information associated with the one of the folder indicators.
41. The user interface of claim 40, wherein the information
comprises at least one device to which the one folder indicator is
synchronized.
42. The user interface of claim 38, further comprising displaying a
user interface object associated with one of the displayed folder
indicators, wherein receiving input at the user interface object
starts synchronization of contents associated with the one folder
indicator.
43. The user interface of claim 42, wherein synchronization
comprises downloading a copy of the contents associated with the
one folder indicator to the user device.
44. The user interface of claim 43, further comprising displaying
an indicator that the contents associated with the folder indicator
are synchronized.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] This invention relates generally to a synchronization system
and, more particularly, to a system and method for enabling a user
to synchronize, manage, and share folders across a plurality of
client devices and a synchronization server.
[0003] 2. Description of the Background Art
[0004] Many users have multiple computing devices, such as home
computer, a work computer, and a mobile phone. Synchronization
systems enable users to synchronize files on one device to another
device. Some synchronization systems utilize a simple
synchronization process, where a user adds any files he wishes to
synchronize to a single folder, and the folder is synchronized to
all of the user's devices. Other synchronization systems provide
more enhanced capability and enable users to specify which
folders/files will be synchronized to which devices.
[0005] The synchronization systems with the enhanced functionality
have the advantage of enabling greater control and file management
by the user. However, setting up and managing synchronization in
these settings can also be more complex, especially for those new
to the technology. Therefore, there is a need for an intuitive
system and method for enabling a user to easily synchronize,
manage, and share folders across a plurality of client devices in a
synchronization system that provides enhanced synchronization
functionality.
SUMMARY OF THE INVENTION
[0006] The present invention is directed to a system, method, and
computer program for enabling a user to synchronize, manage, and
share files and folders across a plurality of client devices and a
synchronization server.
[0007] The method includes providing a first view in a user
interface on a local device that displays all folders, across a
plurality of the user's client devices (local and remote), that a
user has synchronized to the synchronization server. The folders
are displayed in the first view regardless of whether the folder
resides on the local device or a remote device. The first view has
(i) a default mode that is device independent such that, in the
default mode, folders are not organized by device and (ii) a
feature that enables a user to view folders by device.
[0008] A first drop-target zone is provided in the user interface
to which a user is able to drag a folder from the local device to
synchronize the folder between the local device and the
synchronization server. In response to a user dragging a folder to
the first drop target zone, a copy of the dragged folder is
uploaded to the synchronization server and the dragged folder is
added to the first view.
[0009] In response to a specified user command with respect to a
folder in the first view, further information is displayed related
to the folder, including the device(s) to which the folder is
synchronized.
[0010] A user is enabled, via the user interface, to synchronize a
remotely located folder to the local device. In response to a user
electing to synchronize a remotely located folder to the local
device, a copy of the remotely located folder is downloaded to the
local device and the user interface is updated to indicate that the
remotely located folder is now synchronized to the local
device.
[0011] A second view is provided in the user interface that
displays all folders, across a plurality of the user's client
devices, that the user has shared with other users. A third view is
provided in the user interface that displays a list of user
contacts. Each listed contact is a drop-target zone on which a user
is able to drag a folder to share the folder with the contact. A
second drop-target zone is provided in the user interface on which
a user is able to drag a folder to generate a dialog box that
provides a user with options for sharing the folder with another
person.
[0012] A fourth view is provided in the user interface in which a
user is able to see activity related to a folder displayed in the
first view. For folders that are shared with other users, the user
is able to see activity of the other users with respect to the
folders.
[0013] In certain embodiments, the method enables a user to
synchronize, manage, and share objects across a plurality of client
devices and a synchronization server. These objects may include
files, media objects, collections, etc. Collections may include
items, stored across the plurality of client devices, which share
one or more specified attributes. The attributes may be specified
automatically by the synchronization system or by the user.
Examples of attributes that may be used to specify a collection
include a location associated with an object, a version of an
object, a timestamp associated with an object, file type of an
object, device on which object resides, and a permission class
associated with a shared object.
[0014] In one embodiment, the method further includes providing a
search tool in the user interface that enables a user to search for
files in any folder displayed in the user interface. A feature may
also be provided in the user interface that enables a user to
generate a web link to any folder, or file therein, displayed in
the user interface. A user may be able to access, via the user
interface, a virtual drive on the local device, where, via the
virtual drive, a user is able to access items (e.g., files) in any
object (e.g., folders), including objects located only on a remote
device. A user may also be enabled to edit synchronization settings
for a remote folder via the user interface.
[0015] In one embodiment, in response to a specified user command
with respect to a folder in the second view, the names of people
with whom the user has shared the folder are displayed. The second
view may also display all folders that other users have shared with
the user. A user may also be enabled, via the user interface, to
share a folder on a remote device with another user.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIGS. 1a-1c are a flowchart that illustrates a method for
enabling a user to synchronize, manage, and share folders across a
plurality of client devices and a synchronization server.
[0017] FIG. 2 is a block diagram of a synchronization system
according to one embodiment of the invention.
[0018] FIGS. 3-14 are screenshots of an exemplary user interface in
a synchronization system according to one embodiment of the
invention.
[0019] FIGS. 15-19 are screenshots of an exemplary process of
synchronizing a folder in a synchronization system according to one
embodiment of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] The present invention provides a system, method, and
computer program for enabling a user to synchronize, manage, and
share folders across a plurality of client devices and a
synchronization server.
[0021] FIGS. 1a-1c show the preferred method performed on a local
client device for enabling a user to synchronize, manage, and share
folders across a plurality of client devices and a synchronization
server. A person skilled in the art would understand that the steps
of FIGS. 1a-1c may be performed in parallel and may be performed in
a different order within the scope of the present invention. A
client device may include a desktop computer, a laptop, a work
computer, or a mobile device. In the preferred embodiment, there
are three views, the content view, the sharing view, and the
activity view, but a person skilled in the art would understand
that there may be more or less views within the scope of the
present invention.
[0022] In the content view, a first user interface view is provided
on a local device that displays all objects, across a plurality of
the user's client devices, which a user has synchronized to the
synchronization server, including both local and remote objects
(Step 110). This view is device independent such that objects are
not organized by device, but the first view has filtering, sorting
and grouping features that enable a user to view only those objects
synchronized to a particular device. For example, a filtering
feature may display only a subset of the synchronized folders. A
sorting or grouping feature may display all folders, but organize
and label them in groups by device. An object may be a folder or a
file (e.g., a WORD document, EXCEL spreadsheet, POWERPOINT
presentation, etc.), a media object (e.g., a photograph, video,
etc.), or other types of files. A second user interface view is
also provided that displays all objects, across a plurality of the
user's client devices, which the user has shared with other users
and all objects that other users in the synchronization system have
shared with the user (Step 120).
[0023] In the sharing view, a third user interface view is provided
that displays a list of user contacts (Step 130). Each listed
contact is a drop-target zone on which the user is able to drag an
object to share the object with the contact. In one embodiment,
when a user drags an object to a contact in the user interface, a
dialog box or other screen is generated that provides the user with
options for sharing the object with the contact. For example, the
dialog box may provide a user with communication options (e.g.,
email share invitation, use a social networking website, etc.) and
permission options. A second drop-target zone also is provided in
the user interface on which the user is able to drag an object to
generate a dialog box that provides the user with options for
sharing the object with another person (Step 140).
[0024] In the activity view, a fourth user interface view is
provided in which a user is able to see activity related to an
object displayed in the first view, including activity of other
users (if applicable) (Step 150). For example, each time an object
or an item within an object is modified, a notice is posted in the
activity view.
[0025] The content view presents a number of different functions to
the user. For example, the content view enables the user to
synchronize an object with the synchronization system. A first
drop-target zone is provided to which a user is able to drag an
object to synchronize the object to the synchronization system
(Step 160). The first drop-target zone may be a section of a screen
within the user interface or the whole screen (e.g., the whole user
interface may be a drop target zone). If the user drags an object
to the first drop-target zone, a copy of the dragged object
(including its contents) is uploaded to the synchronization server
and the dragged object is added to the first user interface view
(Step 170).
[0026] The content view also enables the user to view additional
information regarding objects. For example, in response to a
specified command with respect to an object in the first view
(e.g., clicking on the object, "mousing" over an object, swiping
the object, etc.), an information panel with more information
related to the object, including the device(s) to which the object
is synchronized is displayed (Step 175).
[0027] The content view also enables the user to synchronize an
object on a remote device to the local device. For example, a
feature, affordance, or tool in the user interface that enables a
user to synchronize an object on a remote device to the local
device is provided (Step 180). In one embodiment, this takes the
form of an on/off toggle switch where the user can control
synchronization between a remote device and a local device. In
another embodiment, the user can control the synchronization
settings for any object for any device. If the user elects to
synchronize the remote object to the local device, a copy of the
remotely located object is downloaded to the local device and the
information panel is modified for the object to indicate that the
object is now synchronized to the local device (Step 185).
[0028] The sharing view also presents a number of different
functions to the user. For example, if the user drags an object to
the second drop-target zone, a dialog box that provides a user with
options for sharing the object with another person is provided.
[0029] The user interface may have additional features and
functionality. In one embodiment, a search tool is provided in the
user interface that enables a user to search for objects or items
in any object displayed in the user interface. The search tool may
search by file name or by other attributes (e.g., file type,
permission class, location designation, timestamp, version, user or
synchronization system defined attribute, etc.).
[0030] In another embodiment, a user is able to generate a web link
in the user interface to any object displayed in the user
interface. In a further embodiment, a user is able to access, via
the user interface, a virtual drive on the local device, where, via
the virtual drive, a user is able to access items in any object,
including objects located only on a remote device. The virtual
drive is discussed in greater detail in U.S. patent application
Ser. No. 13/571,512, filed on Aug. 10, 2012, which is incorporated
by reference herein in its entirety.
[0031] In some embodiments, in response to a specified command with
respect to any object in the second view (e.g., clicking on an
object or swiping the object), the names of people with whom the
user has shared the object is displayed. All objects that other
users have shared with the user may also be displayed in the second
view. In certain embodiments, a user is able to share an object on
a remote device with another user via the user interface on the
local device. The user may also be able to edit synchronization
settings for a remote object via the user interface on the local
device.
[0032] As previously discussed, an object may be a folder or a
file, a media object, calendar, contact, or email object, etc. The
object may also be a collection. Collections comprise items, across
a plurality of client devices, which share one or more specified
attributes. An attribute is a property that the user can assign to
any object or collection (e.g., client name). An attribute has an
attribute value (i.e., the value that a user might assign to an
attribute) and an attribute type (i.e., the data type of the
attribute value). One example of a collection may be the user's
recent photographs from Hawaii that are stored across the user's
camera, mobile device, laptop, and home computer. In this example
"Hawaii" is one possible value of a "location" attribute.
Attributes may be specified automatically by the synchronization
system or specified by the user. In one embodiment, the attributes
a user may use to create a collection include, but are not limited
to, a location associated with an object, an arbitrary user-defined
"tag" associated with an object, a version of an object, a
timestamp associated with an object, file type of an object, device
on which object resides, and a permission class associated with a
shared object.
[0033] FIG. 2 illustrates an exemplary synchronization system 200
according to one embodiment. As a person skilled in the art would
understand, the synchronization system 200 may be constructed in
any number of ways within the scope of the present invention. The
methods of FIGS. 1a-1c may be implemented in other systems, and the
invention is not limited to system 200.
[0034] Synchronization system 200 includes a synchronization server
220 and a plurality of client devices such as, for example, a home
computer 230, a work computer 240, and a mobile device 250. A
person skilled in the art would understand that the synchronization
system 200 may have any number of client devices, including one or
more desktops, laptops, and mobile devices connected to it. These
client devices 230, 240, 250 may all belong to the same user or may
belong to different users who have shared access to objects with
one another. Client devices communicate with the synchronization
server 220 via the Internet or other network 210. Synchronization
server 220 is representative of the server-side of a
synchronization system and, in a large synchronization system, is
likely a plurality of synchronization servers networked together.
When a user synchronizes an object to the synchronization server,
the synchronization server stores a copy of the object.
[0035] In one embodiment, each of the client devices in the
synchronization system runs a client sync application that
generates the user interface described with respect to FIGS. 1a-1c.
In one embodiment, the client sync application monitors multiple
data sources (e.g., file systems, data associated with the
synchronization system, data associated with objects being
monitored by the synchronization system, etc.) on the local client
devices for changes to synchronized objects and notifies server 220
of changes. When a client drags a folder to the first drop-target
zone referenced in FIG. 1, the applicable client sync application
notifies the synchronization server 220 and uploads a copy of the
folder to the synchronization server 220. The client sync
applications also register for notices of changes to relevant
objects with the synchronization server. When the synchronization
server receives notice of a change from a client device, it
modifies its data related to the object and sends a notice of the
change to all other client devices that have appropriately
registered for changes to the object. Examples of synchronization
systems are disclosed in (i) U.S. Pat. No. 7,885,925, titled
"Method and Apparatus for File Sharing and Synchronization System,"
and (ii) U.S. Pat. No. 8,019,900, titled "Opportunistic Peer to
Peer Synchronization in a Synchronization System." The contents of
both of these patents are incorporated herein by reference as if
fully disclosed herein.
[0036] The methods described with respect to FIGS. 1a-1c are
embodied in software and performed by a computer system executing
the software. A person skilled in the art would understand that a
computer system has a memory or other physical, computer-readable
storage medium for storing software instructions and one or more
processors for executing the software instructions.
[0037] FIGS. 3-14 illustrate screenshots of an exemplary user
interface according to the present invention. A person skilled in
the art would understand that the present invention may be embodied
on other user interfaces having more or less functionality within
the scope of the present invention or using objects other than
folders. As such, FIGS. 3-14 are intended to be illustrative and
not limiting in any way.
[0038] FIG. 3 illustrates an exemplary user interface 300 for a
client sync application that runs on an electronic computer
desktop, such as the MACINTOSH, WINDOWS or LINUX platforms. A
person skilled in the art would understand that the user interface
300 also may be embodied in a web browser application or a mobile
phone/tablet application. The user interface has a content view
305, a sharing view 310, an activity view 315, and a search button
320. The content button 305 has three tabs, a My Cloud tab 325, a
Shared folders tab 330, and a Web link tab 335. A person skilled in
the art would understand that the user interface may have more or
less views and tabs within the scope of the present invention.
[0039] The My Cloud tab 325 provides a list of folders, across all
the user's devices running a client sync application (e.g., home
computer 230, work computer 240, and mobile device 250), that have
been synchronized to or stored on the synchronization server 220.
The list is not limited to folders that reside on the local device
on which the user is viewing the list. The list also includes any
folders on remote user devices that have been synchronized to the
synchronization server. The list of folders 340 is content-centric
rather than device-dependent, but the user interface may have a
filter button (not shown, e.g., a drop-down menu) that would allow
the user to filter out and view the folders on a particular device
(e.g., home computer 230). The folders may be presented as a list,
as thumbnails, etc. Also on the My Cloud tab 325 is a drop-target
zone 345, to which a user can drag a folder to synchronize the
folder between the local client device and the synchronization
server (and, if desired, other client devices). In certain
embodiments, a user may drag a remotely-located folder from the
list of folders 340 on the user interface 300 to the device's
desktop (e.g., home computer 230) to synchronize the folder to the
local device. The drop-target zone 345 may be a section of the user
interface or the entire user interface. The user may also add
folders by clicking an icon 350 and browsing through the device's
file system for the particular folder. The user interface may also
have an indicator 355 that shows the percentage of allocated
storage on the synchronization server 220 currently in use.
[0040] FIG. 4 illustrates the user dragging folder 405 to
drop-target zone 345 on home computer 230. FIG. 5 illustrates
folder 405 being uploaded to the synchronization server 220 and
added to the list of folders 340. As denoted by the icon 505, the
folder 405 is being synchronized with the synchronization server
220. It may also be pushed to any number of client devices (e.g.,
work computer 240 and/or mobile device 250) that have registered
with the synchronization sever for notices of the change. Icon 510
allows the user to cancel the uploading and synchronization
process.
[0041] FIG. 6 illustrates the information panel 605 that the user
may view after the user performs a specified command (e.g., clicks
on a particular folder in the list of folders 340). The information
panel 605 shows the size of the folder 610, a toggle button 615,
which allows to turn on an off synchronization of the folder to the
local device, a field 620 that allows user control of the sharing
functionality, and a field 625 that shows which of the user's
devices are synchronized with the folder.
[0042] In certain embodiments, a user may elect to synchronize a
remotely located folder (e.g., on work computer 240) to the local
device (e.g., home computer 230). In the example user interface, a
user could do this by turning toggle switch 615 to ON for a
remotely-located folder. In which case, a copy of the remotely
located folder is downloaded to the local device and the
information panel 605 is updated to indicate that the remotely
located folder is now synchronized to the local device. A person
skilled in the art would understand that more or less functionality
may be present on the information panel 605 within the scope of the
present invention. The information panel 605 may also be broken up
into a basic section 630 and an advance section 635, which is
initially hidden, but may be selected and expanded by the user. The
advanced section 635 may include functionality such as controlling
the synchronization of subfolders and deletion of the folder from
the synchronization system.
[0043] FIG. 7 illustrates the Shared folders tab 330. In the first
section 705, the user views which folders the user has shared with
other users. In the second section 710, the user views which
folders other users have shared with him or her. FIG. 8 illustrates
the information panel 805 that the user views when the user clicks
on one of the folders that the user has shared with other users.
The information panel 805 shows the size of the shared folder 810,
whether the folder is synchronized with the local device 815, who
has received a sharing invitation to the folder 820, including the
sharing permission class of the other users (e.g., read-only
member, etc.), and what other devices maintain synchronization with
the folder 825. The information panel 805 also includes controls
830 that allow the user to share the folder with additional members
or change the permission class of shared members. The user may also
edit synchronization settings for a remote folder (e.g., on work
computer 240) or share a folder on a remote device with another
user.
[0044] FIG. 9 illustrates the Web link tab 335. The Web link tab
335 includes a list of folders or files that have been shared as a
link with other users. In this example, a list of files is shown,
which is sorted by the date the link was enabled 905. The list may
be sorted using other criteria as well. Each file has an icon 910,
which indicates the number of times the file has been downloaded,
and an icon 915, which places the link onto the clipboard to be
copied into an email, text, or other transmittal. One benefit of
sending links to folders or files to other users is it allows other
users to access the folders or files without requiring the other
user to create an account in the synchronization system.
[0045] In certain embodiments, the activity view 315 (not shown)
shows a feed of all the activity or history that has taken place in
the account related to any folders displayed in the My Cloud tab
325, including the activity of other users, if any, with whom the
folder is shared. In certain embodiments, the search button 320
enables the user to search for files in any folder displayed in the
user interface, including remote files.
[0046] FIG. 10 illustrates one way in which a user may access items
in objects displayed in the client sync application. In this
particular example, the items are files and the objects are
folders, but as discussed in more detail in U.S. patent application
Ser. No. 13/571,512, filed on Aug. 10, 2012, which is incorporated
by reference herein, items may not necessarily reside across a file
or folder system, but also across an alternate organizational
scheme. As seen in FIG. 10, any file in folders 1005 in the
synchronization system may be accessed through a virtual drive
1010, including folders located only on a remote device (e.g., work
computer 240) or folders located only on the synchronization server
220. A virtual drive is a file representation view of non-file
system data. That means that the folders 1005 may be viewed as if
they resided on the hard drive of the local device (e.g., home
computer 230) and the user may open, add, edit, delete, and move
files within these folders, including files that reside on a remote
device. Changes made via the virtual drive are automatically
synchronized with the synchronization server and applicable client
devices. In one embodiment, a user double clicks on a folder in the
user interface of the client sync application, and the virtual
drive is displayed. Not only are all of the user's folders that
have been synchronized to or stored on server 220 accessible
through the virtual drive, but also all of the folders 1015 shared
with the user by other users.
[0047] FIGS. 11-12 illustrate the functionality of the sharing view
310. FIG. 11 has a list of contacts 1105, each of which is a
drop-target zone, and a separate dedicated drop-target zone 1110.
The list of contacts 1105 may be compiled from the user's MICROSOFT
OUTLOOK contacts, mobile device contacts, or any other contacts. In
one embodiment, when a user drags a folder to a particular contact,
the folder or a link to the folder 1115 is automatically sent (via
email, text, or other means) to the contact. In the preferred
embodiment, when the user drags a folder 1115 to a particular
contact in the contact list, a dialog box is automatically
displayed that provides a user with options for sharing the folder
with the contact. An example of such a dialog box is shown in FIG.
12. In the illustrated example, sharing the folder 1115 may be by
web link 1205, by email 1210, or by social networking 1215. The
user contact information is automatically populated into the
"Recipients" field. When the user clicks on the send link button
1220, a link to folder 1115 is sent to the contact. When the
contact clicks on the link to folder 1115, the contents of the
folder are shared with the contact. The user can control the
sharing level 1225 of the folder being sent to the contact (e.g.,
add and edit access or read-only access). The user may also create
groups of contacts and share folders with a designated
group(s).
[0048] In an alternate embodiment, if the user desires to share the
folder 1115 with a contact not on the contact list 1105, the user
drags the folder 1115 to the separate dedicated drop-target zone
1110, and a dialog box is generated that provides the user with
share options. The user may then type in the contact's information
(e.g., email address) in to the applicable field in the dialog box,
and a link will be sent to the contact via web link 1205, email
1210, or by social networking 1215.
[0049] FIGS. 13-14 illustrate the corresponding web interface 1305
for the synchronization system. Similar to the user interface for
the desktop client, the web interface 1305 has a content view 1310,
a sharing view 1315, an activity view 1320, and a search field
1325. Within the content view 1310 the web interface 1305 has a My
Cloud tab 1330, a Shared Folders tab 1335, and a Shared via Web
link tab 1340. In the My Cloud tab 1330 are a list of folders 1345
from any of the synchronized client devices and a filter drop-down
menu 1350 for filtering the list by client device. As seen in FIG.
14, when the user clicks on a particular folder 1405 and selects a
particular folder or file 1410, a set of actions is populated in an
action toolbar 1415 above. In certain embodiments, the action
toolbar 1415 is tailored to the selected folder or file. In certain
embodiments, additional content 1420 may be displayed on the web
interface 1305 that is tailored to enhance the user's experience.
For example, instructional information or help content may be
provided.
[0050] FIGS. 15-19 illustrate the process on synchronization system
200 of synchronizing a folder on a first computer to the
synchronization server 220 and being able to access the folder
through both the first computer and a second computer. FIG. 15
shows a user interface 1500 on the desktop of a first computer
(e.g., a MACINTOSH-based desktop computer). FIG. 16 shows a user
interface 1600 on the desktop of a second computer (e.g., a
WINDOW-based laptop computer), which has one or more folders
synchronized to the first computer. As seen in FIGS. 17-18, when
the user of the first computer drags a folder labeled "June Meeting
Notes" 1705 to the drop-target zone 1710 of the user interface
1500, the folder 1705 is uploaded to the synchronization server 220
and added to the list of folders 1805 of the user interface 1500 of
the first computer. The folder 1705 is also added to the user
interface 1600 of the second computer.
[0051] In certain embodiments, for example on a mobile client
device, a dedicated view for managing photographs may be easily
accessible on the user interface. In the preferred embodiment, the
photographs in the photograph view are device independent and allow
the user to access and share any photograph from any synchronized
device. In certain embodiments, for example on the mobile client
device, the contacts on the device have thumbnail pictures
associated with each contact name. The thumbnail pictures may be
gathered from the contact's profile on social networking sites such
as TWITTER or FACEBOOK. The contacts list may also be a compilation
of the synchronization system contacts and the user's mobile device
contacts.
[0052] As will be understood by those familiar with the art, the
invention may be embodied in other specific forms without departing
from the spirit or essential characteristics thereof. Accordingly,
the above disclosure of the present invention is intended to be
illustrative and not limiting of the invention.
* * * * *