Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Suhail Khan, Aakash Mahadik, Ashish Pal, Samuel Jacob
DOI Link: https://doi.org/10.22214/ijraset.2023.50208
Certificate: View Certificate
The e-commerce industry faces significant losses due to high rates of product returns caused by customers\' difficulty in visualizing how products will look in their space. Additionally, industries such as surgery and construction are slow to adopt Metaverse technology, which could greatly benefit their operations. A solution to these problems is the development of augmented reality applications that enable users to preview products and environments in their real-world context, facilitating more informed purchasing and operational decisions. Our proposed solution is the Decal application, a Flutter-based app that supports both iOS and Android operating systems. With its simple and attractive user interface, Decal enables users to virtually preview objects such as furniture and picture frames in their real-world space using their phone\'s camera. Decal\'s vast object model library and automatic scaling feature ensure a seamless and low-power consumption user experience. In the rare case of a scaling error, users can easily adjust object dimensions manually on the app.
I. INTRODUCTION
With the rise of online shopping, consumers face a common dilemma: how can they be sure they're getting exactly what they want before they make a purchase? Issues with product dimensions, colour matching, and overall aesthetic can lead to frustration, wasted time, and increased costs for both consumers and industries. Enter the Decal Application: a revolutionary, easy-to-use Augmented Reality (AR) platform that allows users to preview products and environments in their real-world context using just their smartphone. By utilizing Flutter-based technology and a vast library of 3D object models, Decal provides a user-friendly, fast, and seamless experience that can help reduce product returns, increase customer satisfaction, and streamline industries like surgery and construction that have been slow to adopt Metaverse technology. This paper will delve into the development process of Decal and explore the ways in which this innovative app has the potential to change the face of online shopping forever.
II. LITERATURE SURVEY
While apps like IKEA, Houzz, and Roomy have made significant strides in AR interior design, they still lack some key features that are essential for a truly engaging and effective user experience. For example, these applications often have limited libraries of objects that can be placed in real user space, leading to a limited range of design options. Also, these apps may not accurately reflect the actual size and dimensions of placed objects, resulting in space planning errors. Another limitation is that these apps are often not cross-platform, meaning they may only be available on specific devices or operating systems, which can limit their reach and usefulness.
While these applications have paved the way for AR interior design, they fall short in delivering a truly captivating and comprehensive experience for users. By addressing the limitations of existing applications, Decal aims to provide a seamless and efficient solution for users to virtually preview products and environments in their real-world-context.
Also, these apps may not be optimized for low power consumption, which will drain the battery faster during use. On the other hand, the Decal application offered in this article removes all these limitations by providing a large library of object templates, automatic sizing and resizing, cross-platform compatibility, and low power consumption for a seamless and immersive user experience.
III. ANALYSIS
The analysis phase is a crucial part of the development process, where we carefully evaluated the requirements of the project and chose a suitable process model to fulfill those needs. Decal is an Augmented Reality application divided into three modules: browsing the environment, adjusting objects, and user interface. Our work was done as a group with the guidance and recommendation of our mentor, Professor Samuel Jacob. We followed an iterative process model for the development of Decal, allowing us to continuously plan, develop, get feedback, and improve our product.
We chose the Agile Model for its flexibility in accommodating changes and its focus on empowering the development team. The Agile Model follows a set of values, including delivering working, tested software, value-driven development, continuous (adaptive) planning, continuous testing, and continuous improvement. By following this model, we could ensure that the end product met the requirements and expectations of our users.
In each iteration of the development process, we followed a set of steps. In the first step, we defined the work that needed to be done in that iteration. This involved planning and research activities, where we referred to several research papers and similar apps to ours to study and decide on a course of action. In the second step, we designed a blueprint for the project, outlining how we would build the requirements into a product. This process involved using different tools to form a basic structure of the project. In the third step, we built the design into a functioning product. In the fourth step, we tested the product to verify that it functions as designed. In the fifth step, we released the product to the customer. Finally, in the sixth step, we reviewed the project and took feedback from the users to improve it in the next iteration.
By following an iterative process model like Agile, we could create a seamless development cycle that allowed us to quickly respond to changes, incorporate feedback, and continuously improve the product. This resulted in a high-quality product that met the needs of our users and exceeded their expectations.
A. Tech Specs and Hardware Requirements
To bring Decal to life, we needed the right tools for the job. Our technical feasibility study showed that we required the following resources:
Flutter/Dart as the base language, VS Code/Android Studio as the development environment for the frontend, Unity for 3D object building, and Firebase as an external database. Luckily, all of these resources were readily available, ensuring a smooth and seamless development process. But what about the hardware requirements? We put our system to the test, using a powerful ASUS Rog Strix laptop with an Intel Core i7-9750H CPU, Nvidia GeForce GTX 1650 4Gigs DDR5 GPU, and 16GB DDR4 RAM, as well as a Huawei Media pad T5 phone with 4GB RAM and Android operating system, and an iPhone 7 with 2GB RAM and iOS 15.x. We're happy to report that Decal ran smoothly on all these devices, as well as on any other virtualization of the Android operating system. So, no matter what device you're using, you can count on Decal to deliver a top-notch AR experience!
B. Security Analysis
Safety is essential in any application and 'Decal' is no exception. To ensure that users personal data is protected, Decal uses secure encryption methods to protect user data during transmission and storage. In addition, the app includes measures to prevent unauthorized access and protect against malware and other security threats. To further enhance security, although Decal does not currently use two-factor authentication (2FA), we have taken steps to ensure the security of user’s information. Passwords stored in our database are encrypted, which means they are not stored in plain text. it is difficult for unauthorized persons to gain access. We also constantly monitor and update our security logs to protect user data. While we recognize the importance of 2FA as an additional layer of security, we are actively working to implement this feature in a future update. Finally, regular security reviews and updates are performed to ensure the app remains secure and up to date with security best practices. By putting safety first, Decal offers users peace of mind and a safe experience.
IV. TECHNOLOGIES USED
A. Flutter
Flutter is a software development kit (SDK) for mobile apps that enables developers to produce robust, high-fidelity apps for both Android and iOS from a single code base. The programming language used by Flutter, Dart, is simple to learn and can speed up the development of apps. The Decal application's front end, which includes developing a user interface, handling user input, and presenting 3D objects, was built using Flutter in our project. Additionally, we have added functionality using Flutter plugins, such as B. the integration of augmented reality features and the connection to the Firebase backend. We were able to make changes rapidly and observe the outcomes in real time with Flutter's "Hot Reload" feature, which significantly accelerated and increased the productivity of our work.
B. Dart
A general-purpose programming language called Dart was first created by Google. It is used to create high-performance, scalable applications that work on a range of platforms, including desktop, mobile, and the web. Dart is primarily utilized in the Decal project to create the application's user interface. Thanks to its contemporary syntax, reactive programming capabilities, and comprehensive set of built-in libraries, it is especially well suited for developing UI-heavy apps. A fluid and responsive user interface was made possible by the project's use of Dart, which is necessary for providing an immersive augmented reality experience.
C. Swift
Apple created the general-purpose, compiled programming language Swift for the creation of apps for iOS, iPadOS, macOS, watchOS, and tvOS. It serves as the main language for creating native iOS applications because it is made to integrate perfectly with Apple's Cocoa and Cocoa Touch frameworks. Swift was used to create the iOS version of the Decal app, making it compatible with iPhones and iPads. Swift is renowned for its safety measures, which make errors and crashes less likely. It is a popular language for developing mobile apps since it is quick and capable of handling complicated jobs.
D. C:
Programming in C, a general-purpose language, was used to create several operating systems, system software, and embedded systems. Although C was not utilized directly in the project, several of the tools and technologies that were, like Unity, were programmed in C. C is a popular choice for creating system-level applications because of its efficiency, portability, and low-level hardware control.
E. C++
A popular high-level programming language for creating software applications is C++. It is an object-oriented language with a stellar reputation for effectiveness. Although it wasn't explicitly employed in this project, C++ is frequently used when creating high-performance programmes like video games and other graphically demanding programmes. C++ is employed in the engine of Unity, which was used in this project to construct 3D objects, to deliver high performance and optimized graphics rendering. The performance of the 3D objects and the entire application can therefore be optimized with the aid of C++ programming knowledge.
F. JavaScript
Programming language JavaScript is largely used to develop interactive features for web browsers. For the front-end development of our project's web application, which includes generating dynamic and interactive UI components like buttons, forms, and other interface elements, JavaScript is used. Additionally, we use JavaScript to handle events, make asynchronous HTTP connections to the server, and client-side validate user inputs. Additionally, to make the process of creating complicated user interfaces simpler, we leverage JavaScript tools like ReactJS.
G. CMake
Software projects are developed, tested, and packaged using the cross-platform build system generator CMake. CMake was used in this project to create the Makefiles for the C++ code as well as to build the Unity project.
H. Firebase
Authentication, real-time databases, cloud storage, hosting, and other tools and services are available through the mobile and online development platform Firebase. In this project, hashing algorithms are used to store user information and passwords on Firebase in a secure manner. Additionally, it's employed to control user authentication and grant users’ access to particular application functionalities. 3D object data is stored and retrieved from the cloud using Firebase's real-time database capability. Additionally, Firebase offers comprehensive analytics and crash reports that may be utilized to track the application's performance and make the required adjustments.
I. Unity
For creating 2D and 3D games, simulations, and other interactive experiences, developers often use the Unity game engine. Unity was used in the project to design and produce 3D models of furniture and other objects. Following export, these models were added to the app's database for users to access and view via augmented reality. In addition, Unity's cross-platform development capabilities were employed to construct and release the app for both the iOS and Android operating systems. Some of the project's backend functionality was also implemented using C#, the engine's scripting language.
J. VSCode
Microsoft created Visual Studio Code, sometimes known as VS Code, a source-code editor that supports a variety of programming languages. Debugging, syntax highlighting, intelligent code completion, snippets, and code refactoring are some of its features. The integrated development environment (IDE) for Flutter and Dart utilized in the project was VS Code, which made it possible to write and debug code quickly. In order to improve the development process, a number of extensions were also used. One such extension was the Flutter plugin for VS Code, which offered more capabilities for creating Flutter apps.
VI. ACKNOWLEDGMENT
We, the three-person team (Suhail, Aakash, and Ashish), really appreciate Professor Samuel from the IT department for his crucial advice and help during the course of this project development. His guidance enabled us to successfully manage the project's difficulties and complexities and reach our goals. We also want to thank our team members, whose effort, commitment, and cooperation were crucial to the project's success. Last but not least, we would want to thank everyone who helped us out with this effort, including our families, friends, and co-worker’s.
The Decal App project sought to develop a cutting-edge augmented reality platform for buying home furnishings. Advanced tools including Flutter, Dart, Swift, C, C++, JavaScript, CMake, Firebase, Unity, and VS Code were used to build a platform that is reliable and effective and offers users a distinctive and interesting shopping experience. The idea is technically and economically feasible, with easily available resources and hardware, according to the feasibility assessment. The app features a strong security system that safeguards user data, preserving the privacy and protection of users\' information, according to a security analysis. An intuitive and user-friendly interface that improves the user experience was created as a result of the project\'s iterative development process, which also included market research, user testing, and feedback. Decal app\'s flawless data management and synchronization between devices is made possible by the integration of Firebase, giving users quick access to their saved preferences and previous purchase history. The Decal App is a promising addition to the mobile app industry thanks to its distinctive value proposition, cutting-edge functionality, and user-friendly layout. Decal App offers consumers a more convenient and engaging buying experience, which has the potential to revolutionize the interior design sector. It has the potential to dominate the interior design app market with further development and improvements. The project\'s success demonstrates how crucial it is to leverage cutting-edge technologies to improve user experiences and develop original solutions. Overall, the Decal App project is a noteworthy success that raises the bar for upcoming endeavors in the mobile app sector.
[1] IKEA, “3d kitchen planner,” http://www.ikea.com/, accessed: 2014-09-15. [2] Design and assessment of a graphical iPad application for arranging adaptable furniture by S. Bonardi, J. Blatter, J. Fink, R. Moeckel, P. Jermann, P. Dillenbourg, and A. Ijspeert was published in RO-MAN, 2012 IEEE, September 2012, pp. 290-297. [3] Spatial Augmented Reality: Merging the Real and Virtual Worlds, O. Bimber and R. Raskar. 2005, A. K. Peters. [4] Van Reveled, D.W.F., and Poelman, R. The report, \"A Survey of Augmented Reality Technologies, Applications, and Limitations,\" International Journal of Virtual Reality, 2010;9(2):1–20M. The Technical Writer\'s Handbook by Young. University Science, Mill Valley, California, 1989. [5] TryLive, \"Use trylive home to completely immerse yourself in augmented reality to visualise furniture,\" accessed: 2014-09-15. Available: http://www.youtube.com/watch?v=q5kJvjFcYVk. [6] In the 2010 Proceedings of the First Annual Scandinavian Workshop on Augmented Reality (ScandAR), held at Aalto University in Espoo, Finland, C. Slynge and R. Olesen published \"ifurn: An Augmented Reality Application for iOS.\" [7] Kinectfusion: Real-time 3d reconstruction and interaction using a moving depth camera is described by S. Izadi, D. Kim, O. Hilliges, D. Molyneaux, R. Newcombe, P. Kohli, J. Shotton, S. Hodges, D. Freeman, A. Davison, and A. Fitzgibbon in Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, series UIST \'11. New York. [8] Ronald Azuma, Blair MacIntyre, Yohan Baillot, Reinhold Behringer, Steven Feiner, Simon Julier, Computers & Graphics, November 2001, \"Recent Advances in Augmented Reality\"Title of paper, if known, by K. Elissa, unpublished. [9] Android App & Training: https://developer.android.com/training/basics/firs //flutter at https://flutter.dev.
Copyright © 2023 Suhail Khan, Aakash Mahadik, Ashish Pal, Samuel Jacob. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET50208
Publish Date : 2023-04-08
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here