A method comprising: while presenting a current trickplay image during a fast forward or rewind operation, determining a next trickplay image to download based upon a fast forward or rewind rate, and downloading the next trickplay image, and presenting the next trickplay image during the fast forward or rewind operation, wherein determining the next trickplay image to download comprises selecting the next trickplay image from among a set of trickplay images, the set of trickplay images comprising a plurality of different quality representations of a trickplay image, wherein the selection of the next trickplay image is based upon trickplay image quality, and wherein the method further comprises: determining the trickplay image quality for the next trickplay image based upon historical timing data such that the next trickplay image downloads within a defined amount of time sufficient for presentation based on a presentation rate of displaying trickplay images; maintaining the historical timing data as a running average; updating the historical timing data based on a time taken with respect to downloading the trickplay image; and detecting a play operation user request, and in response, selecting and obtaining a final trickplay image and presenting the final trickplay image until video streaming resumes, wherein the selected final trickplay image and a video starting point are adjusted based upon the fast forward or rewind rate and a user reaction time. while presenting a current trickplay image during a fast forward or rewind operation, determining a next trickplay image to download based upon a fast forward or rewind rate, and downloading the next trickplay image, and presenting the next trickplay image during the fast forward or rewind operation, wherein determining the next trickplay image to download comprises selecting the next trickplay image from among a set of trickplay images, the set of trickplay images comprising a plurality of different quality representations of a trickplay image, wherein the selection of the next trickplay image is based upon trickplay image quality, and wherein the method further comprises: determining the trickplay image quality for the next trickplay image based upon historical timing data such that the next trickplay image downloads within a defined amount of time sufficient for presentation based on a presentation rate of displaying trickplay images; maintaining the historical timing data as a running average; updating the historical timing data based on a time taken with respect to downloading the trickplay image; and detecting a play operation user request, and in response, selecting and obtaining a final trickplay image and presenting the final trickplay image until video streaming resumes, wherein the selected final trickplay image and a video starting point are adjusted based upon the fast forward or rewind rate and a user reaction time. determining the trickplay image quality for the next trickplay image based upon historical timing data such that the next trickplay image downloads within a defined amount of time sufficient for presentation based on a presentation rate of displaying trickplay images; maintaining the historical timing data as a running average; updating the historical timing data based on a time taken with respect to downloading the trickplay image; and detecting a play operation user request, and in response, selecting and obtaining a final trickplay image and presenting the final trickplay image until video streaming resumes, wherein the selected final trickplay image and a video starting point are adjusted based upon the fast forward or rewind rate and a user reaction time.