CORE studio is very pleased to announce the release of Spectacles, a hackable BIM viewer for the web. Spectacles allows authors in the AEC industry to view their 3D design work on the web for free, and is designed to be hacked, extended and modified. We’ve been working on the project on and off for the past year, and are quite excited for more hackers in the industry to get their hands on it!
Spectacles currently consists of a hackable HTML5 web viewer that runs natively in modern browsers (no plugin required), and a pair of exporters for popular authoring applications in the AEC industry—Grasshopper and Revit. BIM data can be exported from these desktop applications, and viewed on the web using Spectacles.
Rumblings of this project began around 2013. We were involved in some structural and forensics projects in the New York office, and the need for a web-based 3D viewer kept arising. A couple of potential solutions existed at the time and we gave them a try, but none allowed for the sort of flexibility we were looking for. We wanted to provide project-specific 3D user experiences, and needed the UI of the viewer to be able to change—in some cases quite drastically—based on a project’s specific needs. Nothing like that existed, and the idea of building our own platform felt like a daunting task.
A handful of us attended the first AEC hackathon in November of 2013, and walked away armed with the fact that we had a lot to learn about programming on the web. We began experimenting with a couple of open source projects while we were there, including THREE.js, and although the idea of building our own viewer still felt overwhelming, we were starting to feel like it was at least possible.
The next experiment we tried was Platypus, which mashed up the web’s ability to shuffle a bunch of data around in real time with a parametric 3D modeller—Grasshopper for Rhino. It works like a chatroom for parametric geometry, and was a hugely important developmental step for our group. We could do 3D on the web! It is a very specific research project with a very narrow scope, but it got us up and running.
The next big step was vA3C, which emerged at the beginning of last summer at our first AEC Hackathon in New York. Benjamin Howes first outlined the idea here, and he, Jonatan Schumacher, Jeremy Tammik, Theo Armour, Matt Mason, Josh Wentz and a handful of other dedicated hackers built out the first prototypes over the course of about 27 hours. It was a truly awesome experience—we built out the viewer we wanted overnight! It wasn’t perfect by a long shot, but it worked, and it was open source. Spectacles is a fork of the vA3C project, and would not have been possible without this amazing team.
Over the course of the next year, we used vA3C in practice on a few projects to do exactly what we set out to do in the first place—project-specific UX. Practical necessity drove code development, and along with help from the other vA3C team members, we were able to expand the feature set of the viewer and improve the stability of the exporters. We developed a custom daylighting analysis results viewer, a project-specific FIM (Forensic Information Model) viewer, and a prototype TTX model query engine. We also started maintaining our own forks of the vA3C projects, including a complete rewrite of the viewer.
Earlier this year, CORE studio agreed to formally support the project’s development—one of our first company-funded open source projects—and Spectacles was born. Since then, we’ve been refining the codebase and sprucing up the work a bit in preparation for this public release. The project has been used to support a number of other research initiatives at Thornton Tomasetti, including VRX, our Photogrammetry research, and Design Explorer, and we are super excited to see more ideas that utilize Spectacles popping up within Thornton Tomasetti’s various practices.
So what’s next? We’ve certainly got some more plans for Spectacles, and we are looking for collaborators to help us build some of this stuff out. First off, we’d like to build out more exporters! And in order to do so in an organized and efficient manner, we’d like to develop a shared Spectacles.Net library to standardize how AEC geometry is serialized into Spectacles.json files. The Web Viewer certainly needs some more love too—at some point we’d like to leave dat.gui in the dust, for example, and we’d like to make embedding viewers easier and more flexible. We are also developing a hosted web application for in-house project support—something like a Google Drive for Spectacles models: comments, 4D history, live uploads from Desktop Apps—and are considering our options in terms of opening this up to outside users. Finally, we are hoping to see a number of projects in the AEC industry that want to utilize Spectacles as a platform to build on. If you are interested in contributing to the project, or are interested in a project-specific 3D UX for one of your jobs, please do get in touch!