WebGL for architecture, an internship at KA-RA

In this post, I'll talk about my recent internship at KA-RA, a small startup that dedicates its time at developing real-time 3D software for architectural projects.
My mission there was to develop a real-time 3D web platform to enable architects and students to share, edit and visualize their 3D projects directly in their browser, using the WebGL technology.
The report (French)
Click here to download the full report of my internship (in French) [PDF].
The company: KA-RA
KA-RA is a small company located in Alsace, France. It's activity consists of both production and software development.

KA-RA is the editor of Twinmotion, a real-time editing and visualizing desktop software for 3D architecture.
The project
Starting in August 2011 and for 6 months, the goal of my internship was to study the feasibility of a real-time 3D web platform using the latest web technologies such as WebGL, JavaScript, HTML5, CSS3, PHP5 and Python, before developing a working prototype.
This platform was to be designed for students and architects alike, in order to help them share, edit and visualize their 3D projects from anywhere, directly into their browser.
My work
We were two programmers working on this project for 6 months.

My first mission was to implement the web architecture using technologies like Apache, PHP5, Python and SQL. For that I brought Orion, my PHP5 framework, with me.
Once the server part of the platform was complete, my next mission was to help my coworker develop the 3D engine written in WebGL using the SpiderGL framework. I was mainly responsible for the writing of rendering shaders, and features additions like picking, scenegraph generation and real-time material edition.

Finally, my latest mission was to create a saving process for the resulting online 3D editor that would meet the different performance and size requirements of the web technology.
ETA of the project
At the end of the 6 months, we had a working prototype that was ready for further field testing. As of now the platform should be tested internally in some restricted fields, to improve what's needed, before finally being released to the public in a few months.