Thursday, 5 November 2009

Visual Elements

One of the key features of any software project is usability. And for a project where visualisation is key, being able to convey the information in the best manner possible is essential.

The initial build of my final project will have a visualisation component, but the aim is to modularise as much as possible. With that in mind, the following elements will be individual, and indeed replaceable, components:
  • File system processors
    • The software will come with processors for certain filesystems built in, but it should be possible to add others in. The end user will be able to select one component to handle NTFS processing, and another for ext3 processing. In the event of a file system existing that the software cannot handle, a component for that filesystem can also be written and added in.
  • File processors
    • The ability to handle processing of every single filetype is a major task. Therefore this will also rely upon plug-ins to add new functionality; all filesystem data will be passed to each processor and it will be up to that processor to gather relevant data. For example, an image processor may collect data relating to all JPG, GIF and PNG files, whilst an Internet Explorer processor can collect browsing history, cookies and registry settings.
  • Visual Display
    • Although a standard timeline will be included, there should be no reason why another display component could not be added at a later stage; it would simply have to accept retrieved data from the file processors, use visual elements and UI components to narrow down the data to what happens to be relevant, and then output the file data again.
In theory, therefore, the system could be used for more than just timelines; it could show breakdowns of images by file or displayed size, and allow the user to export those of given dimensions (or even taken on a certain camera). I would recommend browsing through books such as Edward Tufte's 'Visual Display of Quantative Information' for inspiration.

No comments:

Post a comment