Thursday 17 September 2009

17.09.09 Project Team Meeting



Notes from today's project team meeting...

Puja has been working on the terrain modelling and all the proposed squares are now being finalised and put into place. This is expected to be completed in the next couple of weeks. Panagiotis has been developing the specification for modelling the blocks that will represent the individual spaces within the university buildings. The team will be working with Masters Students to develop this representation of space over the next few months. The launch of uCampus 0.5 has been a landmark for the team and Darren has been at work debugging the new platform, improving performance and usability. Howard has been working on the evaluation reports from practicing architects and students that have been trailing the platform.

The next step in the project is to plan the major development packages up to the New Year. This will involve the last major innovations in the platform and significantly raise the level of useful application that is available. This process involves expanding the taxonomy of spaces and then being able to filter searches and visualisation of different aspects of the building models, from types of spaces through to structural elements of the building.

Friday 11 September 2009

uCampus version 0.5 is released


We have now released version 0.5 of uCampus. This is a major update for the platform which now supports the visualisation of the taxonomy of spaces. This has been an important requirement in the project plan from the outset and so it is wonderful to finally see it realised after so much developmental effort. We hope that this feature will prove to be of significant practical value to our exising user base.

From a development perspective, support for this feature required careful consideration during the analysis and design phases. As is typical of web-applications, integration required work both on the client side and server sides. For the client this meant designing and implementing a simple and consistent user interface component to fit into our client application in a seamless manner without over complicating or cluttering the existing interface. During development, care was taken to ensure that this component integrated well with the platform as a whole and there were no hidden side effects or regression artefacts caused by its addition. Our client is based upon a document-view architecture where there can be multiple views of the same data which all have to be synchronized so that they function in unison.

More development was required to support the taxonomy of spaces on the server side. Our entire platform has been developed under Java, with Enterprise Java being deployed on the server. We approach our web-development following the standard three-tier design pattern for web-applications with presentation, service and data tiers. Consequently, every new feature that we introduce necessitates additions and amendments to each of these tiers. The carefully considered choice of Java at the beginning of the project anticipated this and has allowed us to streamline the development process which does help to simplify the process somewhat. We can benefit from code and object reuse between tiers without the complication of having to concern ourselves with interoperability issues that may have arisen otherwise.

Supporting the new taxonomy meant additions to our xml schema and these also had to be supported in the respective components of the data tier. This required some modification and extension to our existing SAX and DOM parser engines and extension to the objects that they instanced. Once this had been achieved amendments to the service tier could be applied. To service the taxonomy models required upgrading the existing model server. This module manages and controls the serialisation of our models to the client. Care had to be taken to ensure any changes that were made in this area of the code didn't break our existing functionality and some regression testing was undertaken to ensure that this was indeed the case. This was slightly complicated by our server already being live with existing users. Mid-way through the process we also migrated our platform to a new server which meant rotating the server IPs in the client to check it still worked. Finally, support was added in the presentation tier for the client interface and testing of models could proceed.

We now have an important part of the project complete which we hope will open up new development paths for us in the future. We are now able to consider further extensions of our model server module to include a planned X3D manipulation engine which will allow us to perform boolean operations upon our existing model database. This will allow us to enhance the resolution and provide greater control of the models requested by our users. Having provided a sound basis for future expansion, we are looking forward to the next phase of the project.

External Contributors and X3D Specification

The introduction of external contributors seems to have been a success so far. We recently comissioned six more buildings to students, including the prominent Geography and Planning building. There are now 7 external contributors who have been involved in uCampus, and at least two more have shown interest in collaborating with us in the future.

The contributors have to follow a (rather extensive) specification to produce the models. This aims to guide them step-by-step through the modelling process, starting with Autodesk AutoCAD files and ending with the X3D ones, with Autodesk 3ds Max and VRML being the intermediate formats. The specification has a number of details of a technical nature that are irrelevant to this post, but emphasis is placed on the homogeny of the models, and their proper formatting so they will be as efficient as possible.

There are considerable advantages in using external contributors -the volume of the building on the platform being the most prominent. By creating a detailed spec, we can take advantage of various people's different modelling skills, creating models that can be plugged in directly on the platform, and controlled by the system. The fact that most of the contributors are students means that they can be employed at the University payment rates, theoretically achieving some economy over market prices. However, this did not apply in the first few models (and especially in the case of the Arts Tower), so a new "bidding system" was launched from this month, allowing contributors to bid for each comission, and it being allocated to the lowest bidder.

Obviously there have been some difficulties as well, as it is to be expected when so many new people join a project. The most important one seems to be the difficulty of some contributors to conform to the requirements of the platform. This is more pronounced in the case of people with extensive modelling experience who tend to follow a particular work pattern they are familiar with. We are dealing with this by stressing the importance of the specification and explaining the differences of this project with a generic modelling job in commerical architecture. Practically all contributors faced difficulties with the X3D format, which was to be expected somewhat as it has more in common with computer graphics than CAD systems -overall it is a similar situation with what we faced with the students during the Interactive Urban Visualisation module. Drawing from our experience with the students, we gave to contributors short tutorials in X3D and, as expected, the results were significantly improved.

There remains an issue with people unfamiliar with AutoCAD who build everything in Max using meshes. Although the X3D can be fine-tuned to conform to the platform standards, we still have to deal with extremely big file sizes (typically 6-10 times as much) with the respective cost in the running of the platform -though the differences are not so pronounced in a single building, as uCampus expands in scope it can lead to serious performance issues. This is not easily addressed, as Max modellers would understandably find it tedious to learn AutoCAD, especially for a small comission. Final decisions have not been made yet -the two options seem to be either better screening of the contributors or just accepting lower standards and the respective performance costs.

Overall though, the introduction of external contributors has been a very useful step, more importantly so because it proves the potential of uCampus to extend to many directions and include more people with a very small amount of preparation. The next big step is the introduction of a specification for the taxonomical models. This should allow the project team to open the taxonomical modelling process to external contributors as well. Given the experience so far, this should be very exciting!