We speak to Sylvain Zimmer again about Instamuseum, a way of exhibiting an Instagram in a virtual museum setting. Today, Sylvain peels back the metaphorical walls and tells us how the Instamuseum API is set up. In API Spotlights, we invite creators to discuss their development process and encourage others to build on or build their own creations.
Thanks for taking the time to speak with us today! Start off by telling us about your background!
I’m Sylvain Zimmer, an early investor in Sketchfab and currently CTO at Pricing Assistant. I’ve been a Python programmer for a long time but I don’t have a specific background in 3D. I’m actually pretty terrible at Blender! :-)
Can you give an overview of the whole process, from Instagram to Sketchfab?
The first thing we do is actually to connect to Sketchfab via OAuth2. If the user doesn’t have a Sketchfab account yet, he can create one on the fly. This is entirely managed by Sketchfab and allows us to upload the model in the right user account later.
(Quick note for Python developers: I contributed a Sketchfab module for the popular python-social-auth library, which makes integrating Sketchfab Login into your projects extremely easy!)
Next, we connect to Instagram via the public profiles of users and download the photos. Then, depending on the layout that was chosen (Cube, Louvre, Art gallery, etc.), we open a template model in Blender, and we insert the photos inside.
This is actually really easy with Blender’s Python API, we just have to swap a couple textures, then export the model and we’re done!
Once we have the file in .blend format, we use the Sketchfab API to upload the model, wait for its processing to be finished, and then adjust a couple 3D options for optimal rendering.
How much time did it take you to get the first prototype up and running? What were your main obstacles?
The first prototype was done over a weekend. The first layout I did was the Cube, then the Wall. The first layout I thought about was actually a Sphere (with hundreds of images hovering in the air!) but it hasn’t been done yet.
The main obstacle was getting Blender to run on our hosting platform Heroku, but I eventually got it to run. I think what took the most time before the release of Instamuseum was ironing out all the quirks (there are still a few of them left! :) ) and polishing the website with the invaluable help of Guillermo from Sketchfab.
Do you have any future plans for this project? Can people contribute new models, for example?
We’d love to have contributions! All the code is open source on GitHub so if someone wants to do that Sphere layout or create new rooms, we’d be happy to integrate that into the app!
People could also add new image sources like Facebook or Flickr, the sky is the limit :-)