Archive and Web Application, In Active Development, 2014-present
Unity 3D & the Soweto Virtual Environment
Soweto ’76 3D – The Next Steps (from 02.25.13, www.soweto76archive.org)
The development cycle of Soweto ‘76 3D — the 3D recreation and simulation component of the overall Soweto ‘76 Archive — was an ambitious technological goal when we first took it up in 2007. Although we had sufficient tools to create a sample 3D model of Soweto, the goal at the time was ultimately to let our users explore it in real-time — without feeling limited by their operating system or web browser, and without having to download and install a desktop program just to access what was ultimately a web-based archive.
So, we launched an extensive survey of the technology available to us at the time for delivering 3D environments to users through a web browser. We quickly found that, while certain proprietary solutions were available that attempted these features, all of them were greatly limited in their features, and in their ability to utilize files that were produced in our modeling software of choice (Google SketchUp and particularly the open-source Blender). Moreover, these solutions invariably supported only Windows environments, leaving virtually no possibility of multi-platform support, least of all support for mobile applications.
These obstacles led to an an intermediate solution: to create a proof-of-concept demo illustrating the environment we aimed to create. Using Google SketchUp’s own animation support to create “flythroughs,” we rendered both models and transition videos to create an “on-the-rails” 3D interactive environment that we could deliver through (the widely available and well-supported) Flash.
We were immediately satisfied with the result, but more so with the ability it gave us to demonstrate and describe our intended feature set to our audience and potential project partners. But of course this approach was ultimately limited in its extensibility, and required a great deal of hands-on work to add new content. For this reason, the set of locations and transition effects represented in the demo was kept small, and efforts were instead focused on tackling the technical development work that was immediately solvable by the infrastructural technologies we used “behind the scenes.”
Given the extensive work the project required in other areas of its technical infrastructure–particularly the monumental task of assembling and implementing the database of locations, assets, and relationships between and amongst them–the decision was made to focus on these technology development while waiting for the development efforts of various WebGL projects (or whatever else might come along as alternatives) to catch up to the standard web browser.
today… we find ourselves in a much more viable technological position, with numerous solutions in place for realistic development in a browser-based 3D space
Happily, today (some six years later) we find ourselves in a much more viable technological position, with numerous solutions in place for realistic development in a browser-based 3D space. Forward-thinking browsers such as Google Chrome and Mozilla Firefox today include support for WebGL environments as part of their standard public releases. And alternative 3D game engines have entered into the scene as commercial alternatives.
Our current platform of choice, Unity, is an increasingly popular 3D game engine being used in everything from video games to 3D applications, interfaces, and simulations. It boasts an incredibly streamlined development process that interfaces seamlessly with our other tools (such as the Blender modeling suite), and has a vast network of developers contributing both code and resources to its community, making many tasks that may have once been nearly impossible almost effortless. And, in stark contrast to the rather hopeless dream of a multi-platform and mobile 3D environment years ago, Unity projects are publishable by a single click to browser plugins, multi-platform desktop applications, or, remarkably, even to mobile platforms such as iOS, Android, and Flash.
It has been extremely satisfying to see these technologies fall into place in lock-step with the development of the Soweto ‘76 project
It has been extremely satisfying to see these technologies fall into place in lock-step with the development of the Soweto ‘76 project, and with the range of related projects that have begun to develop around it. With so much of the academic aspect of the project now better developed and more fully realized, the possibilities for utilizing these technologies seems only more exciting, and has opened the doors to other valuable technical inquiries, such as the affordances of geographic information systems (GIS) data in Soweto ‘76’s sibling project, the Soweto Historic GIS Project.
And, finally, the stronger and more mature state of today’s tools (and the industry creating them) makes the idea of building a “future-proof” technical infrastructure greatly more possible than what we may have been able to achieve with a deep investment in the incipient tools available years ago. In other words, our use of stronger tools will help us build stronger tools, achieving a design paradigm that is both more capable and more sustainable.
In the end, the original proof-of-concept has served us well in communicating the Soweto ‘76 3D project’s goals and infrastructure capabilities — things like the linking of image, video, audio, and text assets to a location, or in linking those locations to one another geographically. It has also become the visual model by which we can design and even improve the interface and interactions in our Unity implementation. Ultimately this approach has served us remarkably well. Today our development strategy will allow us to simultaneously release a tool to all modern web browsers and mobile devices from a single project development build, and from a workflow that allows our development team to share their tasks and products with each other as easily as with potential collaborators from other institutions.
There is still much to do, but we are proud of the work we have accomplished behind the scenes in the interim, and in the wider range of goals and possibilities we have developed along the way. Reaching these technical milestones today gives us the opportunity to finally marry this scholarly work to the kind of promising technical backend we could only idly hope for those years ago at the beginning stages of this project’s development. What was formerly an imposing hurdle has instead becoming an exciting window of opportunity.