My experience of being a Remote Research Assistant in XR (AR/VR)
By: Rajat Kumar Gupta
Tags: Internship Experience, Research, VR, General, AR

Background

In January 2020, I came across a post on LinkedIn regarding a Research Assistant Role at IIIT Hyderabad that involved some work in VR. I shared my updated resume and portfolio link with the author of the post i.e Shivang Shekhar. I got shortlisted and was given a small assignment in order to get selected for the internship.

My assignment was reviewed by the peers at IIIT Hyderabad on the basis of several internal parameters(details were withdrawn). A week or so later I was informed that my work had successfully passed all the parameters and I can immediately join as a Research Assistant from the first week of March.

Yes, I was happy and excited, but all that got drained out when my parents asked me, “What about the Corona Pandemic, son?”. (Damn, why didn’t I think of that?).

Their concern was valid because at that point in time there were already 2 Corona cases reported in Hyderabad. So it was a risk to travel at that moment. There was a big chance that I might have to forego this opportunity. So I explained this to the faculties at IIIT Hyderabad and they said that I can work remotely.

As much as I wanted to go to the campus, interact with the professors personally, and experiment around with a VR Headset myself, I had no other option but to work remotely.

Why research in AR/VR?

I don’t really have a background in research, but I always loved reading Research Papers, especially the ones falling under the AR/VR category.

I like to keep up with all the latest news and tech updates related to this field as well as noting down ideas on what are some of the products or tools that can be developed using this technology that can lay the foundations for the future. Here is a thought that always kinda bothered me — that if we are living in a 3D space with 3D objects, materials, lighting then why are we developing the apps in a 2D space with all those “cool” animations, colors, and UI design?

Extending those same design principles in 3D can be revolutionary and with the comfort of having powerful gadgets in our hands, this does not seem very far fetched. Shouldn’t these gadgets serve as a natural extension for a human? Shouldn’t they be as intuitive as they are being shown in movies?

Luckily there is a whole range of AR glasses, and developing applications for AR Glasses might be the next big thing in the near future. I decided that I should have a good understanding of how we can develop AR/VR Experiences and prototypes that can open the path towards a solid foundation for the future. This Research Assistant job can improve me furthermore as the job was aligned towards my goals.

Development and Testing

I have worked on several projects(ranging from android app development to basic web development) remotely in the past 3 years as an undergraduate, but this research project was something that involved experimenting with hardware and I didn’t have a VR Headset.

Imagine developing an Android application and not having an Android Smartphone with you(sucks, right?).

Surprisingly, things went pretty good because I contributed majorly towards the software side and the testing was done by my senior i.e Shivang who had an Oculus Go device with him, at his home. We sat together(virtually, of course 🤷🏻‍♂️) on a day, communicated via Microsoft Teams, solved some development issues, implemented features from scratch, and then tested the application on the Oculus Go. After several hours of back and forth-bug fixing in Unity, communicating and testing — when the feature worked exactly as per the requirements, it felt great — not only because we implemented a feature from scratch and solved issues live in a day, but the fact that we did it remotely and while we were in a global pandemic, where everyone around you is in panic mode.

Working in Unity was just one piece of the cake. The next thing was ensuring code quality through code analysis. Things like code refactoring, reducing the code smells, bug fixes, decreasing vulnerabilities, and then writing Unit Tests for code coverage were new for me.

Neat right?

Frontend and Backend stuff

I generally stay away from web development because I am not very good at it. Since I was asked to design and develop just a one-page website using basic HTML and CSS, I took this opportunity to improve this skill furthermore by practicing on FreeCodeCamp(got certified!).

I am not a Python expert but I have worked with it in some past projects. So I just created an endpoint using the Flask framework and then deployed the whole thing on PythonAnywhere. The communication between the Unity client application and the Flask backend was working fine.

All it did was spit out some data coming from Unity on a web page. It was just basic networking and JSON parsing that I had learned during my Android Development Nanodegree from Udacity. The only difference — Android Development was in Java and this project was in C#.

So different classes and packages. That’s all.

Cyclone

I couldn’t work a lot during the month of May because there was a cyclone in my city and the internet connection became very unstable. The situation was already bad due to the pandemic and it actually got worse due to the cyclone.

I just worked offline with a limited internet connection. Most of the communication was being done over phone calls because video calls were not possible.

The one thing that I could do was work on some side projects offline. Therefore, I thought of developing a one-page portfolio page as a side project. So I designed a website, developed it, and deployed it here.

I also wrote a report and designed a few assets as a part of the Research Process.

Conclusion

I loved every bit of this internship. I never thought that I will enjoy Research, but that is exactly what I have been doing since my 4 years as an undergraduate without actually realizing it.

Developing something, experimenting with the latest tools out there, breaking things, and waking up the next morning to fix those. It’s exciting.

Our(team of 4 researchers) paper has been accepted for the EuroXR conference 2020, which is in November 2020. It’s my first paper🎉

I am writing another article where I will be highlighting what are the things that I actually did and what you can also do as a Research Assistant(I didn’t want to make this article too long.)

I am done with the article. You can read it here.

Acknowledging

I honestly don’t think any senior will cooperate as much as Shivang did. The level of guidance that I have received in this internship was truly valuable. A big thanks to him for mentoring, guiding, and above all, cooperating.

While few Researchers dislike Developers and few Developers dislike Researchers, I see an intersection and a dependency.

Without Researchers, there won’t be developers and without developers their wont be Researchers.

Both of them are equally creative and both their jobs are equally important for the sustainability of the whole tech industry.

Happy Researching!

Next Article>