Project 1 Milestone 4

Completed Project - Impossible Objects

Approach

I chose the project idea with a type of library already in mind. I wanted to learn how to use a 3D graphics library, so I decided my project should be about viewing 3D models. I think this worked well in a learning environment, as I had a project goal in mind that aligned well with my own learning goals. However, this somewhat not reflective of how the creative design process would work in most cases (usually starting with an idea/topic and then finding libraries).

Process

I sketched out a general plan/flow for the site in Milestone 1. Because my goals were primarily based on learning about a 3D library, I then chose to focus on finding and understanding a library rather than demonstrating the flow of the website (to the detriment of Milestone 2). I’m glad I chose to prioritize the library, since getting the 3D model viewer working was more important to my project, and getting it done earlier gave me more time to work on the style and content of the site. Also, researching multiple backup options for libraries for Milestone 1 was helpful, as I felt more confident in picking Three.js after the model-viewer library turned out to not work for my project.

After Milestone 2.1, I chose to finalize the list of impossible objects, and model them in Blender.

Part of the process of making the M.C. Escher style impossible cube.
Making of the smoothed impossible cube.

I then finalized the site’s page structure and began adding the object descriptions. Lastly, I finished the home page’s design, added animations, and also added the screenshot feature for the model viewer so I could get images for the home page. The screenshot feature was an extra feature I hadn’t initially planned for the site, but I’m glad I added it as it both helped me make the home page and also added more user interaction. I’ll be on the lookout for potential dual purpose features like that in the future.

Time Allotment

The two longest tasks were getting the 3D model viewer working and writing/creating content for the site. I expected the model viewer to take some time to get working, so I focused on that first.

The content for the site took longer to make than I expected, mainly because I chose to exceed the MVP I proposed in Milestone 2 (one extra object page, an all objects page, and added multiple versions of the impossible cube instead of just one). I chose to exceed the MVP since by the time I was working on the models and descriptions I had already completed the model viewer and turned it into a module (orthoViewer.js), which greatly sped up the process of adding additional model viewers, allowing me to research more objects and experiment more in Blender. I was enjoying the process of researching and creating models and had the time to spare, but it did end up taking more time than necessary. In future projects I’ll try to find ways to similarly speed up the workflow, as well as avoid potential project scope creeps.