Zero to One: Creating a functional user-facing research prototype

Naman Maheshwari
Weave Lab
Published in
5 min readJun 7, 2019

Wikipedia defines a prototype as “an early sample, model, or release of a product built to test a concept or process or to act as a thing to be replicated or learned from.

Prototyping allows you to physically use the product and work out whether it functions as expected. As a researcher, it is a way to validate your idea and answers some crucial questions like, “Does it work in reality?” or “Is it even feasible to implement?

In the field of human-computer interaction, when a methodology is to be tested, a functional prototype is required for appropriate quantitative and qualitative analysis.

Qualitative research includes gathering verbal data from participants. The gathered information is then analysed to create a subjective or impressionistic trend. Quantitative research, on the other hand, includes measurable data which can be used to back the facts of qualitative research.

The prototype I built was a learning application on a mobile device which included components of speech synthesis. In the initial months of the project, I raised a question to my fellow researchers:

“Why’re we building this app so finely?”

It was a sincere question that I had on my mind. Upon conducting pilot studies on users, I realised that an app should be able to give a good experience regardless of its use-case since actual people are going to use it and their experience affects the results of the study.

Upon completion, I realised a few key points that need to be addressed before starting the development process. My findings were narrowed down to six general topics. They were:

1. The user interface

Lo-fi (or low fidelity) are paper prototypes which give a rough idea about the placement of visual elements. In the initial stages of a project, lo-fi can be refined iteratively to achieve how the system is used rather than focusing on what the prototype looks like.

Due to this, it is imperative to make changes after the lo-fi mockups are created — mainly, to focus on how the prototype looks. Accurate reconstruction of lo-fi can be technically challenging due to several obstacles involved, including (but not limited to) availability of technical frameworks, laws regarding data privacy and time constraints.

Drawing on paper is easier as compared to implementing the same thing accurately pixel-wise.

This is the reason hi-fi (or high fidelity) mockups are created — to give details about the placement of visual elements and their hierarchy. For a mobile app, for instance, the placement of buttons, views and other UI elements require proper planning.

2. What libraries to use

Having a basic idea of which libraries you’re going to use for the project is a good way to shape the structure of the prototype. Since the functionality of my prototype included an aspect of speech transcription with timeframes, it was necessary for me to look at the options I could move forward with: Apple Speech, IBM Watson, Google Cloud Platform, etc.

Apart from selecting a service, we needed to figure out how to fund the transcription service since each API call has a nominal fee attached to it. Luckily, many big companies provide credits to researchers and we were lucky enough to be awarded credits worth $5000 by Google Cloud Platform to conduct our research.

3. Structuring and passing of data

The structure of a typical JSON file

Knowing what data is required for quantitative analysis before the app takes shape helps in building and storing this data during the app runtime.

The prototype in our research used the concept of gamification, hence data like the total number of tries, result of each try, etc. was important and needed to be logged for further analysis.

Data passing is another important topic in any research prototype, considering it is the way how a system communicates. This includes using proper data structures and networking protocols for efficient and lossless transmission of data.

4. Backend architecture

Most prototypes require a server for computation. Using correct data structures and algorithms which are optimised are necessary since the additional time of computation can affect the user’s experience, thereby affecting the results of the qualitative analysis.

A good approach to building algorithms is to write it down on paper or a whiteboard first and then check for inconsistencies. Upon refining the algorithm on the whiteboard, a greedy approach can be used to code it down to nail the functionality first. Once the algorithm is functional, optimising it using apt data structures, recursive functions and reducing the number of loops is the next step.

5. Testing and Pilot study

Comic: Pilot Study and iterations

As a rule of thumb, the baseline of expectations from the participants should be extremely low — the average user would not know how to use your system.

Being the developer, I could easily use the app without any hiccups. Being in this utopia, I forgot the fact that not all users are the same and not everyone can guide themselves through a prototype. Relevant information and easy choices are a couple of ways that can help users guide through the prototype.

Just because you, as the developer of the prototype know how to use it doesn’t necessarily mean that your users will also know how to operate it.

Testing the prototype for breakages in continuity and working on cases which might not be common are good ways to truly make a prototype completely foolproof.

Pilot studies are pivotal in the development of a prototype. Since actual users come in and use the prototype, flaws that developers might forego are experienced by the users — which can then be worked upon. Once your pilot study runs without any snag, that is the point where the purpose of your prototype is almost complete! Next in line? User studies!

6. Evaluation

After completing the user studies, all the recorded data was compiled into a single JSON file and multiple Python scripts were run breadth-wise and depth-wise. Sifting through the data made it easier to realise trends. Further, factors like their age group, ethnicity, professional background etc. were considered.

Naman Maheshwari has been a researcher at Weave Lab, IIIT-Delhi since January 2019

--

--