In this paper, we describe a method, Smart File Objects (SFOs), for optimizing access of remote files across wide-area and wireless networks. The SFO is application-specific middleware designed to address the network bottleneck caused by high latency, low bandwidth networks. The SFO adaptively caches and prefetches data concurrently with application execution. We have applied the SFO concept to an MPEG player accessing remote Internet files. The SFO estimates the playback time using a set of derived cost models for the different components of the MPEG play process, and the communication overhead by timing the retrieval of remote video frames. This information allows the SFO to determine the amount of overlap between download and playback. The results indicate that playtime can be accurately estimated and both overall viewing time and viewing latency can be substantially reduced using this approach.