Website Technology Trends for Augmented Reality Development

ABSTRACT


INTRODUCTION
Nowadays, human-computer interaction becomes an important part of the development of information technology. Human interaction with computers is very natural, easy to use, and there seems to be no difficulty in using the machine. Augmented reality (AR) technology is a new metaphor in human-computer interaction. AR is a technology that projects objects in cyberspace into the real world and in real-time. In the past, AR was only a science-based science-fiction concept because the costs were so great that designers could only dream of working on AR-based projects. In fact, the current phenomenon of augmented reality (AR) over the past decade has attracted much attention [1]. AR has provided tangible benefits in various fields, such as entertainment, advertising, education, navigation, maintenance, and so on [1]. AR broadens visualization, "adds" the user's perception of the world. Sports vision had first applied to AR live TV broadcasts in 1998. Devices that made AR a breakthrough, namely Google Glass in 2012 [2] and smartphones on the Tango Project in 2014, then the first AR phenomenal application, Pokémon GO, in 2016. It became clear that AR technologies and devices tended to be strong, mobile, and lightweight. The journey of AR technology is shown in Figure. 1.
The operating system on the latest smartphones already supports AR. The goal is to reach more users. AR applications need to go through a development cycle to be a solution for different platforms. At this time, AR also penetrated website-based applications, with the key discovery of the World Wide Web marked the start of a new era, with the provision of web-based services. The web platform is a cross platform technology, and the web runs features lightly because the web simplifies service access for users by using the memory in the cloud. AR, as one of the technologies that can be implemented Web-based, web-based AR becomes a cross platform AR that can be used by users together, and web AR can be a broad promotion of Web AR. Software development to support hardware capabilities has begun to be developed. One example is Augmented Reality Markup Language (ARML), which has been used to standardize XML grammar for website-based virtual reality [3].

Fig. 1. Historical AR [27]
Augmented reality is achieved through a variety of technological innovations, although web technology offers a promising approach to cross-platform and lightweight. There are still some challenges to implementing Web AR in the real case, namely computational efficiency, energy efficiency, and networking. Computational calculations for rendering AR and intensive use of data make it more challenging to achieve a high-performance and energy-efficient web. High rendering capabilities due to complex calculations and limited user hardware such as batteries on smartphones experiencing high pressure causes a decrease in user experience.
A good thing to be one solution to the problem outlined in the previous paragraph is to use cloud computing to do the computing process. Another solution is that 5G network technology presents opportunities for web AR 5G technology to provide higher bandwidth (0.1 0,1 Gb/s) and lower network delay (1∼10 ms) [4]. It increases active network data transmission. The second cell, the introduction of new characteristics, such as multi-edge edge computing (MEC), device-to-device communication (D2D), and network cuts, providing adaptive and scalable communication. Further technology can provide an efficient infrastructure for the dissemination and promotion of Web AR. This research contains AR methods, technical implementation, technology, and AR web challenges, which aims to be an illustration for more research interests and efforts to provide experience with AR.

RESEARCH METHOD
The main supporting technology for AR systems is the technique of 6 Degrees of Freedom (6DoF), namely, the discussion of estimation and tracking systems. Knowledge of camera poses allows accurate placement of virtual augmentation in the real world [5].
The marker-based tracking approach uses a predetermined target model for localizing coordinates [6] while a vision-based or Localization and Simultaneous Mapping (SLAM) approach operates without prior knowledge of the environment, which means that it also needs to be found in parallel with localization [7] Augmented reality (AR) was built with three approaches namely based on the use of markers, based on vision (Markerless) and hybrid.

Marker Based
AR with a marker-based method is the most lightweight implementation of AR. Simple patterns such as QR codes are used as markers because they can be easily recognized for reading. AR uses camera technology on the device to distinguish markers from real-world objects. AR-based mobile applications use cameras that are supported by sensors, such as accelerometers, gyroscopes, compasses, magnetometers, GPS, and so on [2]. The use of multiple sensors helps get accurate results [8]. Many existing JavaScript libraries take this approach The increasing category of sensors, as well as the sensor functions that experience continuous improvement, provide opportunities for diversification of AR Web applications. Figure 2 represents various forms of markers used in AR applications.

Vision-Based
The vision-based AR implementation uses large computational calculations, runtime storage on the platform, and is very dependent on the capabilities of the camera and network. Markerless AR uses GPS, digital compass, speed meter, or accelerometer that is embedded in the device to provide data based on the user's location. The power behind markerless augmented reality technology is the availability of the location detection feature on smartphones [2].

Hybrid
This method plays an important role because it considers limited computing capabilities and network performance. This overcomes weaknesses and limitations in a vision-based approach (Markerless). This method is a combination of marker-based and Markerless [2].

TECHNOLOGY
Current web technology trends are emerging to meet the basic requirements of web-based AR, and, ultimately, provide methodologies for performance improvement.

Web GL
The first time the idea of WebGL was applied to a book called WebGL Up and Running was studied by Tony Parisi [10]. WebGL is designed and managed by the non-profit organization Khronos Group. Technology with a set of efficient JavaScript APIs for interactive 2D and 3D web design on compatible web browsers without using plugins. WebGL is usually used for web design and web-based 3D games. 3D animation technology commonly used is Virtual Reality Modeling Language (VRML). VRML is often read as vermel, a programming language created specifically for making 3D objects. VRML is a programming language that allows website creators to create interactive environments [11]. Using GPU on webGL makes AR presentations smoother and more realistic on the web, for example, which has been implemented by three.js [12]. WebGL can mix with other HTML elements. Currently, webGL has been supported by many browsers that allow the use of GPUs for physics calculations, image processing, and effects as part of web canvas pages, and this technology has reached version 2.0. WebGL cross platform works on all major desktop and mobile browsers [13].

WebRTC
Google released WebRTC as an open-source project that has been standardized by the World Wide Web Consortium (WC3) and the Internet Engineering Task Force (IETF), which was implemented since early 2011, where WebRTC can do real-time communication (RTC) on the web between browsers [14]. Google, Mozilla, and Opera support WebRTC and are involved in the WebRTC development process [15]. This technology can make the browser do real-time communication and is one of the technologies considered in supporting web AR. WebRTC uses the camera to capture the surrounding environment in the form of video streaming. WebRTC provides rendering functions and other operations in supporting AR Web applications. There are now many browsers installed and can work with webRTC without thinking about installing plugins. In addition to video capture, WebRTC technology currently also supports video coding, encryption, rendering, processing, and so on [1].

Web Assembly
Low-level programming languages such as C and C ++ can run in browsers like javascript. An improvement for the browser because the browser will be able to execute formats in binary form. WebAssembly, which is a platform independent binary instruction format that aims to achieve execution speed like the original. WebAssembly allows developers to write critical web-based applications in a variety of different libraries and written in different languages [16]. WebAssembly can run desktop games on a web browser with almost the same performance as running on a desktop. Web AR can be more easily developed with web assembly because of the close relationship with today's CV algorithms, such as OpenCV [4] [11].

Web Worker
Web workers introduce multithread JavaScript technology. Web browsers run parallel computing, rendering, and resources. The requested page is loaded above the running Javascript script. Web workers provide simple methods for parallelizing AR web programs, examples such as rendering 3-D models and parallel matching object points [28]. How it works by scheduling and balancing operations that take time and resources in AR Web applications, can provide better user experience, especially with today's cellular networks [1].

WEB-BASED AR CHALLENGE
AR web demand continues to increase for mobility, lightweight and can be cross platform. Web AR has great potential to enrich user interaction with the real world. Classification of the Web AR implementation approaches into two types as follows

Standalone method
The standalone method is to put the burden of carrying out all the tasks with an offline approach. The advantage of this method is that it is not very dependent on the network, so additional communication delays will not decrease real-time tracking performance. However, computing is inefficient, with the ability of the device to be fatal, flawed. On mobile device browsers, it still cannot run web-based AR [29].

Method of outsourcing
Utilizing calculations and computing capabilities and cloud server storage and can usually give users a better experience than the standalone approach mentioned above. However, this method has a strong dependency on the network, and hence, the performance of AR Web applications is easily affected by network conditions [29].
Currently, there are many open-source software available and more developer platforms and course programs for Web AR that are made public. The value of the potential challenges for developing Web AR and for users exploring its potential is still very large.

Computational Efficiency and Rendering
Computation and rendering tasks in the AR web currently face an inefficient runtime environment. This is due to the limited computational ability and storage of hardware. Web Assembly, Web worker is very helpful for improving the performance of AR web applications. Web Assembly can speed up web AR through the interpretation of high-level code into binary and parallel computing by web workers. The WebSight project shows that Web Assembly can provide a 10x performance increase. Approximate computing is another way to try. The performance of AR web applications can be improved by reducing algorithm complexity [17].
Efficiency in rendering is another area of concern. Complex 3D models can increase the computational load; the proportion of rendering models will also increase. In addition, the longer the rendering time will decrease the AR Web application user experience [1]. Optimized rendering techniques or GPU-based rendering methods can improve rendering efficiency on the web.
Other solutions for rendering efficiency are caching techniques that emerge from popular content and compute with edge computing techniques. The emergence of such techniques for 5G networks in the future will reduce the pressure on backhaul links and also cloud servers, thereby reducing end-to-end latency for AR applications [18].

Network Efficiency
Another crucial issue for web AR is networking. High-quality user experience can only be achieved by relying on the cloud or server, taking into account the limitations of computing and the ability to render smartphone devices. MEC and D2D technology will facilitate Web service provision in a more flexible way based on adaptive and scalable computing and communication. In outdoor or outdoor areas, MEC is flexible for use with Radio Access Networks (RAN) either directly or at close range. MEC can act as a strong local gateway [19]. MEC technology can reduce communication delay for web AR, but MEC has not been popularized in 3G / 4G networks [20].

Energy Efficiency
AR applications require a long collaboration between environmental perception, interaction perception, and internet connection. All these power-hungry tasks put tremendous pressure on the smartphone battery. At present, batteries are only designed for general functionality. To reduce the adverse effects of Web AR applications that are lined on smartphones, energy efficiency is also an important part that cannot be ignored. Multi-core CPUs consume less energy than single-core CPUs because the frequency and voltage are lower, and there are already many off-the-shelf multi-core CPU processors available on smartphones. By parallelizing tasks in AR Web applications using multi-core, energy consumption can be reduced [21].
The multi-core processor technique uses an increase in the amount of work in the processor reducing overall energy efficiency. The integration of energy harvesting with the processor can reduce energy expenditure. The idea was proposed by the lightweight processor (LWP) method on the first core and left the second core in standby with the application of several lightweight processors. The second core is divided into two parts, namely, the main part and some LWP. The main part of the second core is used to alleviate the problem of processing speed, and some LWP is used to cover the lack of deadlines lost if the number of tasks is increased. The second core starts operating when the battery capacity is above 50%, using an RF energy harvesting scheme. This method increases the overall energy efficiency of each sensor node from 38% to 60% compared to the single-core and single LWP methods [22].

Security and Privacy
Safety and privacy factors are parts that cannot be ignored. The impact of the "Stop the Cyborgs" movement had an impact on Google Glass's privacy leak. Cases in the back end or implementation of collaborative Web AR methods give rise to potential. Leakage of data such as user's personal information, then personal identity and location information, can be collected by third parties for other uses. Acquisti et al. [23] discussed the issue of face recognition privacy for AR applications and also proposed several privacy guidelines, including data transparency, user participation, usage restrictions, destination specifications, etc., as well as suggested solutions. In addition to standard security strategies, such as encryption on devices and networks, there is still a lot to think about because web AR is more network dependent. Researchers have considered that this specific AR operating system is not entirely independent because it still depends on the underlying operating system. Another solution is the rules for gathering information or retention policies and access to manage trusted objects and outputs. In addition to technical solutions, privacy, and security challenges for web AR also call for social, policy, or legal approaches [1].

Social Challenge
In addition to technical challenges, social elements must also be considered. AR may be widening the digital divide between users. AR, most commonly used on smartphones and other mobile devices that cost quite expensive. Cheaper smartphones are usually only accurate to a few meters. The accuracy created by AR can also be degraded by local environmental conditions, including 'valley towns' where high buildings overshadow and reflect signals. Another challenge to social inequality is that AR usually requires some form of Internet access. Devices that use the network are vulnerable to various signal quality: temporary standard smartphones and 3G / 4G networks may be reliable only in urban areas in developed countries, other locations experiencing unreliable signal quality. In addition, in both cases, cost also matters for the user if using 3G / 4G networks. There is also fear that the use of technology will hamper "healthy" social interactions. This can be seen as dominant Unreasonable moral panic that might not exist justified or based on strong evidence.

Programming Language
The main challenge for building web-based AR is the strict constraints of computing power available in browsers and the unique concurrency model of the ES6 Language or ECMA Script [24]. ECMAScript concurrency is based on queuing based models, which are often called event-loops. This means that the runtime contains a message queue that stores a list of messages to be processed and its callback related functions. These messages are queued in response to external events. The message provided contains a callback function provided [25]. With the recent addition of rules, which are called microtasks and have completely different semantics than ordinary tasks in event-loops, the ECMAScript execution model becomes more convoluted [26].

CONCLUSION
WebAR will soon become mainstream and widely used by the market. The best thing about WebAR is that it can create a very easy way to access information. The fastest way to integrate information anywhere in the environment and can create spaces where data is available without having to search first, Web AR in one QR code scan, or one tap. Web AR will help users to find a simple way with an interactive map that places visual direction against a real background. Or, when the user is at the bus station, the user will be able to scan an empty road with a smartphone to see if the bus is arriving on schedule. Although the AR web is still in its initial stages, the results of research and development and various approaches to the implementation of the web AR discussed in the paper will provide guidelines and references for researchers and developers to implement Web AR technology. The web-based AR method has received attention from W3C developers, and the concept of the XR Web Editor was released in March 2018.
The upcoming 5G network provides efficiency due to higher data speeds (0.1 1 Gb / s) and lower delay (10 10 ms). The results are quite satisfying real-time interactions as a requirement of the AR web. MEC technology reveals a new trend in the computing paradigm, the opposite of osmotic computing. With edge server deployment, adaptive and scalable, communication and collaboration between the cloud and network, as well as between edge servers and smartphones, will provide broad capabilities to utilize distributed and heterogeneous computing and storage