Friday 18 June 2010

VeRa - Software Complete (almost)

The 17th of June marked a minor milestone, as that is the date on which full-time development on VeRa ceased. A few small features still need to be tweaked, and the software given a makeover, but in terms of functionality it is now complete.

VeRa works in a wizard-style interface, where the user is taken through the following steps:
  • Selection of the source of the data.
    • This can be one of a captured raw drive image, a folder (and, optionally, subfolders), or a previously exported VeRa file.
  • In the case of a raw drive image, the user is given for each filesystem found the option of which plugin they wish to use for processing.
    • Although in its initial development only a single FAT processor has been developed, this could easily include processors for NTFS, ext2, ext3, etc, and other options such as the ability to include deleted files (which the current processor filters out).
  • For drive images and folders, the user can then select which plugins they wish to process the data through for further processing.
    • In the sample development, a single JPEG processor is included. This reads details of every JPEG it finds, retrieves (via a callback to the file system processor) its header information, and processes its EXIF header data to retrieve information including camera make and model, and GPS coordinates of where the photograph was taken.
    • This facility isn't available for previously exported VeRa files, as there is no way to guarantee availability of the original source file(s).
  • The user can then select a visualisation tool to view the data in. This is implemented as a visual .NET control rather than a standard class, as the control can include the facility to narrow down the data into more manageable chunks.
  • Once the user is happy with the data, the file can then be exported. The export format is a best-of-breed combination of the file formats already investigated, cherry-picking the best features from each.
For the visualisation, one very important resource has been the Ordnance Survey's OpenData initiative. This initiative, which didn't exist when development started but became available at a crucial time, means the sample visualisation tool can include detailed Ordnance Survey maps within its interface.

The project write-up has now begun, and over time I hope to update this blog with further information and sample code (as I document it) on the parsing of partition tables, FAT filesystems and EXIF data.

No comments:

Post a Comment