Interactive Self Portrait
Our assignment was to create an interactive self portrait. This was extremely difficult for me to decide on what to do. Initially I had been working on a emoji mosaic tutorial that I had found online only, because it seemed really complicated and was very interested in the idea. I soon realized though that it wasn’t actually very interactive. The time required to actually render the video was impossible due to the time taken to calculate the colors and find a suitable emoji for the pixel location. This made me think about another solution.
I struggle to find a way to make what I wanted to make without heavily using libraries. We were challenged with making it using pure javascript if possible. I was then reminded of a contract I had made before, which was a simple PhotoBooth application that had a few requirements that were similar to this. I was required to create a Photo Booth that would take a picture with the push of a button and load the previous pictures next to it, similar to a camera roll. The picture would then push the image to a DropBox account and save to the desktop.
This in and of itself was extremely complicated because of the need for interaction between the browser and the computer for security reasons. I didn’t want to have to address all those issues once again so I took the parts I liked and removed the parts I didn’t. This left me with the idea of creating a Photo Booth that would take pictures but would maintain the previous pictures without replacing them. I could then add filters now because I was no longer limited by a restriction of buttons as I had been before. I also wanted to make it seem as though it was a wall that you could hang your memories on for the future. I created a mini cork board for my project to simulate the feel I was looking for.
The next thing I wanted to add was the feeling of pictures so with some styling and some randomizations to the orientation I was able to create a feeling of pictures.
I also added the ability to move the pictures around that way you could organize it.
I think a nice step would be to add the ability of having the user log-in and from there be able to add actual experiences with friends. A really nice addition would be to find a way to allow this to work with the iPhone facetime camera so you could save the memories on the go as well.
LIVE SYNCHRONOUS SITES
For my live site I chose to use what I view as the standard in synchronous sites which is Gmail. Google has for years been providing a synchronous experience with Gmail using it to constantly grab your mail the moment it exists without having you reload the page ever. It has up to the date information the entire time you use it. They even include Gchat/Google Hangouts which allows for chat and video conferencing service within the mail app. I believe the only initial delay you have between mail being received and you seeing it in the inbox is the parsing and sorting of the mail based on its topic or sender.
I love and hate google products, the use of machine learning has improved the experience but at the cost of privacy. Everything you say and do is constantly monitored by google through the use of every single product they make creating a single cohesive environment.
Code
Demo












