【Pretia Tech Interview vol.2】 The Core of experience "Dev-console"
Hi! My name is Hiro, developer success at Pretia Technologies.
This is our second tech blog. Today we have a chance to interview our engineer Pete, I will ask about the Dev-console of Pretia which is the main interface of Pretia.
Natsathorn Yuthakovit (Pete)
A senior full-stack engineer at Pretia, spend 8 years developing products in various industries, and a passionate gamer who believes XR will be the future of gaming.
Hiro: Hello Pete, could you please tell us a bit more about the development of Dev Console?
Pete: Dev Console is basically a place where user could manage their assets, accounts and team members. From the beginning, the Dev Console is the project that we planned to add features often. So, the techstack must be something that the team member can jump in and work on really quick. After few discussions, we came up with ReactJS, Typescript and TailwindCSS. However, after a year of development, we are now migrating from TailwindCSS to ChakraUI which can be considered as ReactJS version of tailwindCSS.
Hiro: Thank you! Could you talk a bit more from a user prospective? Especially for those who hadn’t tried it yet, how would you describe it?
Pete: Yep. First of all AR Cloud is a combination of three component: 3d scanner where you can use your phone to scan that map, Unity SDK where you can import the map to your Unity and use it to implement your own application, and the last part is developer console where you can manage your your assets. The Dev Console is basically for controlling the map, the API keys and access to the apps, from the Web UI.
Hiro: Thank you for explanation! Next could you talk about why you chose to use ReactJS. So why did you choose React rather than others?
Pete: It’s normal nowadays to use the modern Javascript library such as ReactJS or VueJS, which offers a better project structuring, reusability and scalability comparing to an old school way like HTML and CSS. Come back to the question, the reason of choosing React over Vue is I feel both are similar but I had more experiences and more confident on React.
Hiro: Thank you for the rational. Next could you talk about one of the most remarkable features on Dev Console - the Map Visualization?
Pete: Yes. Usually when you scan the map with 3D scanner, you know what you scan right? But after you scan it, if the only way that you can preview your scan map is on Unity3D that isn’t cool.
There’re a few steps required before you would be able to see the preview on Unity3D. So we came up with the idea that, hey why not have it display on the webUI. And then we found this is very useful so we had keep adding more features. At the beginning it’s only the point cloud but now we have anchors and planes as well.
Hiro: That’s a great story! I assume you ran into certain difficulties while working on that, how was that?
Pete: Making a 3D viewer in web-based application is not so popular that much, so we are a bit lost at the beginning and we thought that we might leverage it with Unity but after some research, we found a good tool called “ThreeJS” which is a web Javascript 3D library, give it a lot of try and confident that it is the thing for this purpose.
Since we are using React, we wondered if there is this tool specifically designed for ReactJS. And yes, there is one called “React-three-fiber”. During the time of this feature development, not only the web development team involved but we are also worked closely with Unity engineers and 3D professionals to make sure this feature is fulfilling their expectations.
Hiro: This 3D view is really awesome. Finally, could you share some upcoming features we are planning for Dev Console?
Pete: So, we are thinking about mobile browser support since we don’t have it now. Also we are thinking of doing more with the 3D view on website, The decisions are not made yet but there are a lot of ideas from team members and our CEO. One of the interesting ideas is about adjusting the position of objects or so on web UI.
Hiro: Thank you. It's gonna be interesting if we can manipulate 3D models on a developer console. Is there any other ideas you want to share with?
Pete: Yeah, we are thinking of those new features of course, at the same time it would be great if we can have feedback from developers, like if we add certain features it will streamline the AR development process, or remove the frustrations. Be the best and most easy-to-use AR platform is always our goal.
Hiro: Definitely something we want to hear from the developers!
---