File store as a 3D environment dissertation
This report is about the design life of a project that set out to be a light-weight and highly customisable 3D model of an existing file store. The report details the background information required to make the project, gather meta data and keep the project customisable.
The report sets out the main objectives of the project at the beginning followed by how the project was designed to meet these objectives. At the end of the report, the project is tested and evaluated and conclusions drawn about how the project aimed to achieve the goals and how successful it was at doing so. The final section of the report gives details on how the project can be furthered and how things could have been changed or done differently in the project.
The main aim of this project is to create a functional 3D environment that models a selected area of a file store running on Microsoft Windows. Inside the 3D environment will be various walls, which could be split into various rooms, which will display a sub-set of the modelled files. The files will be plastered onto the walls much like a painting is hung on a real life wall. The displayed files will be determined by the queries the user has selected and the available meta data for a particular file.
Once an environment has been created, the user will be able to navigate around it, much like they were navigating around a house. Upon finding the file they wanted, they will have the option of launching the file, just as double-clicking the file in Windows Explorer would, or, depending on the type of file, having the project take care of it. An example of this would be to play an MP3 file inside the 3D environment with the volume being proportional to the distance the user is away from the file in the 3D environment.
As the project will depend on specific features of a particular operating system, the proposed solution will in no-way need to attempt to be cross-platform compatible. Although this could be seen as a bad thing, it will allow the project to be more tightly integrated with the operating system of choice and become a better program.
Milestone 1: Light-weight
As the project is intended to be running all the time the system is switched on, it will be essential to keep the project as light-weight as possible. To do this, there will be no storage system for storing meta data about the various files in the model. Instead, the meta data will be extracted from the files directly if, and when, needed. The project will also utilise various features of the Windows operating system that provide inbuilt methods for various tasks, such as monitoring for changes in the modelled file store.
1.1.2. Milestone 2: Efficiency
Keeping with the light-weight theme, the project should also be efficient. The main feature that will ensure maximum efficiency is to only do the computation that is required. As the project involves 3D work, each time the screen needs to be updated requires possibly expensive calculations and so the screen should only be redrawn when absolutely necessary.
1.1.3. Milestone 3: Configurable
With the project not aimed at any particular type of user, e.g. gamers, a main feature will be that the project will be highly configurable. This will mean allowing the user to specify not only their own ways of organising the files, but also allow the user to decide on the entire layout of the 3D environment. Going back to the efficiency goal, the user will be able to turn off parts of the meta data gathering process to cut down on unneeded data collection and improve efficiency.