Consentful Interface

Although I've never actively thought of creating 'consentful' interfaces, I've designed a highly detailed one, simply by traversing the internet and using different kinds of technology. The need for a consentful interface is at it's highest when you, the user, feel a breach of privacy and the imbalanced power equation adversely affecting your experience. The wilful ignorance and the invasion of privacy is quite effective at helping me form an opinion on consentful interfaces.

My Experimental Camera, the Questioning Camera requires the use of the device camera, as well as the download of a machine learning model. The camera doesn't work without either of these components, but it is still possible to deliver a representative user experience if the viewer does not wish to use either component.

Questioning Camera (+Consentful Interface) See the code →

I created a flowchart to help explain the user journey across the camera.

user flowchart User Journey Flowchart

Initially I had planned for the camera to have multiple buttons and lots of readouts to keep the viewer informed about the functioning of the camera. However, I realised that a lot of these interfaces were superfluous, and it impeded the user's understanding of the camera and it's operation.

camera diagram Camera Diagram

Reflection

I simplified the interface, removed any excessive information and buttons. I had to remind myself that the goal is to make a good experience, and not just a consentful one. As Colin Chapman would say, "Simplify, then add lightness." In my intent of creating an experience which would ensure a safe and consentful interaction, I couldn't lose sight of the overall user experience. I reduced the number of clicks needed, and adapted the information displayed according to the user's choices.

sketches
sketches
sketches Initial Sketches

With the new interface, I wanted to make the user comfortable with the thought of using their camera, and using machine learning models. Unauthorised webcam usage and nefarious machine learning models have earned these features a bad reputation, and I wanted to create an interface which would keep the user in control of all the components, and only activate them when explicitly asked to. The intent is to make the user feel safe, by presenting all the information and being transparent about the usage of resources.

It was important to not only present all the information, but also help the user access the experience if they didn't wish to use the camera, or the machine learning model. Even if the viewer didn't wish to use the camera, they could upload an image and use the machine learning model to see how the Questioning Camera works. If the user didn't wish to see enable access to the camera, or consent to the download and use of the machine learning model, they could view a small example image to see what the experience looks like. At any point of time, the viewer has the ability to click on the large 'X' button on the top right to return to the main screen from where they could choose another option. So perhaps the user having seen the example image could feel comfortable with allowing camera access, and switch to that mode from the main screen.

What stood out immediately, while creating the reworked interface, was the amount of effort it took to give the user options. It's far more complex, with a lot more moving parts to take care of. Giving the user a choice to move around the interface also leads to the possibility of more errors and bugs. In hindsight, with 3 more weeks of coding practice, I would have preferred to completely rewrite the original Experimental Camera from the ground up. But I wanted to stick to the same code to see how much more challenging it would be to retrofit the additional functions. If I did rewrite the entire code, I would make it a lot more modular, and expandable as well.