A file hosting service allows users to share computer files and folders with others across a network using file synchronization. File synchronization is the process that updates the computer files at two or more locations to ensure they are consistent.
In the drawings:
Use of the same reference numbers in different figures indicates similar or identical elements.
The user experience for sharing files between users, such as coworkers, leaves much to be desired. The user experience generally involves dragging and dropping computer files into a share folder. This is a very digital experience that ostracizes the users from fully taking advantage of file sharing.
In examples of the present disclosure, a virtual shared office bulletin board provides a dynamic user experience that blurs the line between the digital world and reality. The virtual shared office bulletin board has the appearance of a physical bulletin board and represents a designated area on a server assigned to a group of users. A user can drag and “pin” a computer file, such as a word processing documents, a presentation, a song, or a video, onto the virtual shared office bulletin board. Other users can pick up the computer file (e.g., open up the computer file in an application) or borrow it (e.g., remove it from the virtual shared office bulletin board) from the virtual shared office bulletin board.
Exemplary file icons 308, 310, 312, 314, 316, 318, 320, and 322 are provided for illustrative purposes. File icon 308 is an audio file (e.g., a song) and has an image of a compact disc (CD). File icon 308 may have the title of the song or the name of the file written on the CD. File icons 312 and 322 are word processing files and each has an image of a sheet of notebook paper. File icons 312 and 322 may each have an excerpt of the text from the corresponding word processing file reproduced on the sheet of notebook paper. File icon 316 is a video file (e.g., a movie) and has an image of a video cassette. File icon 316 may have the title of the video written on videocassette. File icons 318 and 320 are image files (e.g., photos) and each has an image of a Polaroid picture. File icons 318 and 320 may each have a thumbnail of the corresponding image file reproduced on the image portion of the Polaroid picture and the file name at the bottom border of the Polaroid picture.
The user may add a generic note to the virtual shared office bulletin board or to a specific note pinned to a computer file. To add a general note to the virtual shared office bulletin board, the user selects a menu or right clicks background image 306 and selects the option to create a note from the menu. To add a specific note to a computer file, the user selects a menu or right clicks the file icon of the computer file and selects the option to create a note from the menu. In response, a window is generated for the user to author the note. File icons 310 and 314 are notes and each has an image of a post-it note. File icons 310 and 314 each may have an excerpt of the text from the corresponding note reproduced on the icon image. File icon 314 is specific to the computer file of file icon 312 so it is shown pinned to file icon 312.
The user double clicks or otherwise selects a file icon to pick up (i.e., open) the computer file in an application. When bulletin board application 304 is opened, the user can also perform drag-and-pin operation to copy or move a computer file to the virtual shared office bulletin board. When a computer file is pinned to the virtual shared office bulletin board, a new file icon is created to represent the computer file on user interface 302. In one example, bulletin board application 304 deletes any computer file that has been pinned to the virtual bulletin board for longer than an allowed post time.
In one example, client computers 502-1, 502-2 . . . 502-n run bulletin board applications 304-1, 304-2 . . . 304-n (hereafter referred to as “bulletin board applications 304” collectively or “bulletin board application 304” for a generic individual bulletin board application), and server computer 504 includes a share folder 510 assigned to the users of client computers 502 for storing shared computer files. When a user at a computer 502 pins a computer file to the virtual shared office bulletin board, the corresponding bulletin board application 304 sends the computer file or a copy of the computer file to share folder 510. When the other bulletin board applications 304 detect the new computer file in share folder 510, they update their user interfaces to add a new file icon. Vice versa, when a user borrows a computer file from the virtual shared office bulletin board, the corresponding bulletin board application 304 removes the computer file from share folder 510. When the other bulletin board applications 304 detect the removal of the computer file from share folder 510, they update their user interfaces to remove the corresponding file icon.
In another example, each client computers 502-1, 502-2 . . . 502-n also include local share folders 512-1, 512-2 . . . 512-n, respectively, and server computer 504 includes a bulletin board server application 514. Local share folders 512 are synchronized with share folder 510 on server computer 504 so they are consistent. Having a local copy allows each user to access local copies of the computer files when server computer 504 or network 506 is offline. Instead of each bulletin board application 304 periodically checking for changes to share folder 510, bulletin board server application 514 can push updates (i.e., new computer files) to bulletin board applications 304 on computers 502.
In block 602, the processor presents application icon 102 of bulletin board application 304 on desktop 104 of computer 502. Block 602 is followed by block 604.
In block 604, the processor determines if a computer file has been dragged-and-dropped onto application icon 102. If so, block 604 is followed by block 606. Otherwise block 604 is followed by block 608.
In block 606, the processor adds the computer file to share folder 510. The processor may also add the computer file to local share folder 512. Block 606 is followed by block 608.
In block 608, the processor determines if application icon 102 has been double-clicked or otherwise selected. If so, block 608 is followed by block 610. Otherwise block 608 is followed by block 604.
In block 610, the processor presents user interface 302 of bulletin board application 304 in a program window. Block 610 is followed by block 612.
In block 612, the processor determines if a computer file has been dragged-and-dropped onto user interface 302 or dragged-and-dropped from user interface 302. If so, block 612 is followed by block 614. Otherwise block 612 is followed by block 622.
In block 614, the processor adds or removes the computer file from share folder 510 depending on the action in block 612. The processor may also add or remove the computer file from local share folder 512. Block 614 is followed by block 616.
In block 616, the processor updates user interface 302 to reflect the change to share folder 510. Block 616 is followed by block 618.
In block 618, the processor determines if share folder 510 has changed (i.e., if any computer file has been added or removed). The processor may monitor share folder 510 to detect any changes or bulletin board server application 514 may inform the processor of any changes. If share folder 510 has changed, block 618 is followed by block 620. Otherwise block 618 is followed by block 622.
In block 620, the processor updates user interface 302 to reflect the change to share folder 510. The processor may also update local share folder 512 to reflect the change to share folder 510. Block 620 is followed by block 622.
In block 622, the processor determines if bulletin board application 304 has been minimized by the user. If so, block 620 is followed by block 602. Otherwise block 620 is followed by block 612.
In block 702, the processor determines if a computer file has been borrowed (e.g. removed) from share folder 510 for greater than an allowed checkout period. If so, block 702 is followed by block 704. Otherwise block 702 loops back to itself.
In block 704, the processor moves the computer file back to share folder 510. Block 704 is followed by block 706.
In block 706, the processor updates user interface 304 to reflect the change to share folder 510. Block 706 is followed by block 702.
In block 802, the processor determines if any computer file has been pinned to the virtual bulletin board (e.g., added to share folder 510) for greater than an allowed post time. If so, block 802 is followed by block 804. Otherwise block 802 loops back to itself
In block 804, the processor deletes the computer file from share folder 510. Alternatively, the processor moves the computer file back to its source location. Block 804 is followed by block 806.
In block 806, the processor updates user interface 304 to reflect the change to share folder 510. Block 806 is followed by block 802.
In block 902, the processor determines if a user has requested to add a comment to the virtual shared office bulletin board or a computer file pinned to the virtual shared office bulletin board. If so, block 902 is followed by block 904. Otherwise block 902 loops back to itself
In block 904, the processor provides a user interface element (e.g., a window) for receiving comment. Block 904 is followed by block 906.
In block 906, the processor saves the comment in a text file in share folder 510. If the comment is specific to a pinned computer file, the text file identifies the name of the computer file. Block 906 is followed by block 908.
In block 908, the processor updates user interface 304 to reflect the change to share folder 510. Block 908 is followed by block 902.
Various other adaptations and combinations of features of the examples disclosed are within the scope of the invention. Numerous examples are encompassed by the following claims.