Thursday, 31 January 2008

Project Milestones 8: Software inter-relationship

My original idea to use Quicktime (which is scriptable and supports multiple video channels) and create the interaction with it in Director with Lingo had to be abandoned early on, when I discovered that QT have dropped many features related to interaction and to integration into Director, and that it is actually impossible to control the playback of individual video tracks with Lingo.
I have considered using other 3rd party tool, but found that all the tools that might have been relevant are no longer available. I was left with a choice between using Director, with its unsatisfactory alpha-channel support, or Flash with it's problematic FLV playback control. I had eventually decided to use Flash and to embed the FLVs in the Flash timeline. I've found out that Flash, especially (but not exclusively) because of the embedded videos, could not cope with the great number of calculations required, and the playback was sluggish and buggy.

A lot more on this subject

Project Milestones 7: Debugging and modification

Debugging our Flash demo was a complicated matter, since many of the bugs I encountered weren't a result of problems in the actual script, but of Flash's difficulties in executing it. Some scripts that were executed without a problem when tested in a different file caused problems when executed in our own file (even though they controlled objects unrelated to the rest of the script). Some of the bugs were inconsistent, occurring only at times.

Project Milestone 6: Technical prototyping and testing

I've used Photoshop Extended's new video capabilities for concept prototyping and for my initial examination of working with wired, multi-layered QT imported into Director. At that point, as I was testing whether the tools could be used at all, the actual details weren't important to me and an image overlaid with animated vector shapes allowed me to quickly create videos, while still leaving me the many choices for compressing it. I also used the same videos to look into working with separate, masked QT movies imported into Director. I tested the matter further after our shooting session with small, highly compressed videos (which allowed me to test whether the tools suited our own videos and at the same time make sure that we didn't require any additional shooting, all this while working with small-sized videos to save time). I also used them to test working with Flash and FLVs until Taz & Jophie finished editing and masking the videos. I then replaced them with the final videos.
A detailed breakdown of this process can be found here.

Project Milestones 5: Scripting efficiency and product optimisation

Flash has proven the wrong tool for the job. It could not cope with the number of calculations and the long embedded videos.
Our project never got around to the coding optimisation stage. I've tried to keep my code structured, organised and commented all along, but optimising a code that Flash can't really cope with is a bit like giving aspirin to a dead man...

A more detailed description of this category can be found here.

Project Milestones 4: Compression techniques

Using masked videos with alpha channels limited our options for compression.
high quality FLV (On2 VP6) gave us reasonable results (the quality of the original footage wasn't very good to begin with, because we shot at night without proper lighting equipment and with an old Sony mini-DV camcorder, which gave quite good results for its sort), and allowed us to use alpha channels. When we then decided to embed the videos in the Flash time-line, there wasn't really any other option we could have chosen.
In retrospect, I should have perhaps compromised the quality of the videos further, as it might have helped with the Flash overload issues. It probably wouldn't have solved them, but I wish I had the time to at least test the benefits of it.

We planned to re-compress the intro video which we exported to FLV after an initial, rather brutal, compression (a temporary one made by our editor). Video compression was my role, but I'd been too busy with coding until the very end and re-compressing the video seemed to me a low-priority task.

Project Milestones 3+9: Asset management and group production techniques

We used a blog for both communication and asset management purposes. We posted everything, from our initial text and story order breakdown, through our storyboards and the different design elements and screen shots to streaming videos of both our testing sessions and our test results and conclusions documents. Using a blog allowed all group members to comment on the documents and files and discuss any issues that have risen. We also kept all the original materials on the server as a backup and in order to allow all group members access to them.
I think this method proved very useful in all development stages. I do wish however that Blogger had an option to export the blog for archiving and backup purposes. (PDF comes to mind as a possible solution). I've suggested it to the blogger team.
Possible improvements:
I think we shouldn't have replaced the original materials (for example, the design screen shots) when further iterations were made, as the older versions would have been useful for our usability report. We should have added the new files and kept the older ones as reference.
The fact that most team members could not access the server from home was a bit of a problem as well.

Project Milestones 2: Production planning and scheduling

Generally speaking, because of this project's time limitations, we didn't have a lot to play with when planning our schedule in the first place. A potentially major problem we thankfully managed to avoid was having to postpone or repeat our shooting session. Luckily, we scheduled it for one of the very few rain-free days of the project, and things went more or less according to plan. We'd allocated another time-slot in our plan for a second session, but thankfully we could use the time for post production and coding work.
Production time estimation is not one of my stronger qualities. I'm afraid this issue came into play in the later stages of the project. As I was sure Director and QT could do the job, I hadn't anticipated having to conduct such an extensive research, and therefore we hadn't allocated enough time for it. Nonetheless, even when it became apparent that finding alternative tools was going to take some time and effort, I had left the deadline for finding a solution too late, and the incomplete state of the final demo we tested is partly due to that.