1. A method for clustering digital media files by a computing device, comprising: sorting, by the computing device, a plurality of digital media files, said digital media files each including time metadata and location metadata associated therewith, said digital media files being sorted into chronological order based on the time metadata; determining, by the computing device, a time difference between consecutive digital media files in the chronological order based on the time metadata; determining, by the computing device, a location difference between consecutive digital media files in the chronological order based on the location metadata; grouping, by the computin device, the sorted digital media files into event clusters based on the determined time difference and the determined location difference, wherein each event cluster contains one or more digital media files in chronological order; associating, by the computing device, each of the digital media files with an event identifier associated with its corresponding event cluster; storing, by the computing device, the digital media files and associated event identifiers in a library of digital media files, wherein the digital media files are stored in folders based on their associated event identifiers, and wherein the digital media files of the library are browsable by a user based on the event identifiers; wherein at least one of following conditions is true (1)the time difference between two consecutive digital media files within each event cluster is less than a time threshold and (2) the location difference between two consecutive digital media files within each event cluster is less than a location threshold; and wherein the chronological order of the digital media files is maintained across the event clusters such that subsequent event clusters do not contain digital media files earlier in time than the digital media files of previous event clusters.