To address those limitations we created SEREFE, an application for SEREndipitous File Exchange between users and devices. SEREFE works on any of a user's devices, but we concentrated our interface design efforts on cellular phones. Cellular phones are small enough and light enough that users are willing to carry them almost anywhere, and they have the advantage of pervasive network access. Cellular phones are thus most likely to be the devices that users are carrying when they want to share or receive a file. Despite these advantages, cellular phones currently provide only limited access to personal information; they are handicapped by their small storage capacities and limited support for accessing data on other devices. SEREFE overcomes those limitations to allow cellular phones to serve as access points to users' personal information no matter where it is stored.
 
 
 

The following scenario illustrates SEREFE's user experience:
Alice and Bob meet for lunch during her visit to a satellite corporate office. They discuss how their respective jobs are going and exchange details of recent projects. During their conversation, Bob expresses an interest in reading a market research report that Alice just recently finished writing. Alice pulls out her cellular phone, enters a brief description of the report, selects the correct file from the list of candidate search results, and sends it to Bob. Bob receives an SMS message on his cell phone notifying him that he has an incoming file; he uses his phone to verify that the file is from Alice and requests delivery to his office PC so that he can read it when he returns to work. Alice and Bob then resume their lunch.

To share a file using SEREFE, users must identify the recipient and the file they want to share. To specify the desired recipient, users may either select from a "buddy list" of other SEREFE users (similar to those provided by most instant messenger programs) or enter an email address. The latter option allows users to share files easily with non-SEREFE users. While SEREFE also provides a simple mechanism for sharing files with groups of users (by choosing multiple buddies or specifying multiple email addresses), it arguably still needs a mechanism that allows users to share files easily with a group of physically proximate users (eg to share materials with people attending a presentation).

SEREFE provides two methods of identifying the file to share. First, it keeps a list of recently sent files on the theory that users are likely to share files that they have already shared. Ideally, users simply choose the desired file from that list, allowing them to minimize use of cellular phones' rather cumbersome input mechanisms. When the desired file is not on the list, users enter a small number of terms (potentially including part of its name, its type, or the names of devices that might contain it) and initiate a search for it. SEREFE sends a message to the specified devices (or all of them, if users did not specify particular devices) containing the remaining terms and assembles the results into a list of candidates. Users then either choose the desired file or initiate a new search.

After identifying the recipient and locating the correct file, users instruct SEREFE to send the file. SEREFE sends the recipient notification of an incoming file either directly (if they are currently using SEREFE) or via an SMS message to their cellular phone (if they are not). The recipient can view details about the file (such as the sender's identity and the file name, type, and size) and choose whether or not to accept it. If he accepts it, he can specify both the delivery mechanism (SEREFE currently supports email, IM, and direct FTP between devices) and the email address or device to receive it. We allow recipients to make those choices because they know best how they plan to use the file and the limits on their devices (eg storage capacity) and delivery mechanisms (eg whether a file is too large for their email inbox).

 
| 01 | 02 | 03 |