Keywords

1 Introduction

According to Azuma [1] augmented reality possesses with three main characteristics of having the real and virtual world combined, works interactive in real time and is registered in three dimensional (3D) view. The combination of the real and virtual environment specifies that the virtual objects are embedded onto the physical environment to be perceived as if they were there in real-life. Secondly, the real-time interaction between virtual components or computer generated data and the physical content are made [2]. Users can actively move and turn around the display in various motion to view an alignment in both worlds. Thirdly, the virtual objects can appear in digital 3D models with a more advanced technique of merging content. The virtual contents are created and designed beforehand and stored locally or in the cloud. Rather than just immersing users in the virtual world, augmented reality technology augments object in the physical world by enhancing the applications with digital information and communication capabilities, according to Mackay [3].

Business cards are widely in use these days as formal greetings by the business professionals to keep in touch with talents of another company and their clients. However, most of the existing paper-based business cards contain too much information, hence the font sizes are forced to be small. Individuals who suffer from vision defects, such as long-sightedness, have a hard time reading the context printed on the card. It has contributed challenges and inconvenience for the individuals to strain their eyes while reading the context [4]. According to the statistic of visual impairment in the fact sheet provided by World Health Organization [5], there are 43 percent of the people suffered from uncorrected refractive errors, including short-sightedness, long-sightedness and astigmatism, which contribute to visual impairments. Some people have to rely on the magnifying glass instead in order to read the context properly.

In order to utilize the information on the business contact card, it would take a while with little effort to dial the contact number to make a phone call or to send a text message. The same situation applies to users who need to enter the email address before sending an email. Besides that, adding the contact information into the contact list manually could take some effort, especially to read the contact information from the business card and enter the information character by character. It would be more effective and accurate to input the information directly without the need to type every single character and at the same time minimize the chances of input error.

Most of the existing business cards contain plain text and some graphics printed on them and it has become very common. Recipients who uninterestedly find those cards dull and boring will normally chuck them away after a quick glance. If that happens, the business cards distributed defeat the purpose of delivering important information related to business promotions and advertisements to the recipients.

The functions of the proposed BCAR are to scan on the business card, retrieve the contact information and then display them in the form of 3D objects on the screen of a mobile device. Carrying various core functionalities in utilizing the contact information, users can access the information by just tapping the 3D objects on the screen, such as to trigger call, messaging and email application. The contact information from the business cards will then be transferred to the respective fields of the triggered application directly without the need of users to enter them manually. The application is further enriched with multimedia to illustrate the business purpose and to deliver a clearer overview to the recipients.

2 Methodology

2.1 Overview

BCAR was developed on Android platform with the integration of Vuforia library. The target markers are made up of the images of business cards as a whole. The contact information is stored in the form of JSON scripts in a text file treated as a metadata package and then uploaded to the cloud target database together with the target markers. Vuforia contains the image target recognition feature which is able to identify the business card based on the feature points detected on the image and match the particular target marker in the cloud target database to retrieve the respective contact information. Features are sharp, spiked, chiseled details in the images, like the ones present in textured objects. Once the images have been uploaded to the cloud target database, the image analyzer represents the features on the image targets as small yellow crosses, known as feature points [6].

2.2 Application Architecture

The application architecture [7] consists of two phases, mainly the front end application and the back end system:

The front end application

  • To be accessed by end users through the application installed on the Android platform.

The back end system

  • Comprising the logical functions and modules for image manipulations, data processing and 3D objects rendering.

  • Target database can only be accessed by developers or persons-in-charge in the business organizations.

It was designed using the concept of Model View Controller (MVC), separated into three different components, which are Model Component, View Component and Controller Component.

The view component consists of the AR Camera integrated in the front end application. It has a camera interface functions to detect the feature points of target markers (physical business cards) and displays the virtual objects. This layer also functions to render and display the virtual objects, such as the 3D models and the video object, onto the business card.

The controller component consists of all event handlers to execute the operations in the application. The touch inputs handler is triggered upon tapping on the screen. The data collected containing the feature points from the target markers are then matched with the target markers which have been uploaded to the cloud target database and is handled by cloud recognition event handler.

The model component responsible for processing the data stored in the metadata package in the form of JSON scripts. When a match is found, the metadata package containing the JSON scripts will then be retrieved. It contains a JSON parser to analyze the JSON strings and extract the values, then assign them to the respective class variables by executing the mutator methods.

2.3 Process Design

2.3.1 Augmentation and Data Processing

The primary process, which is also the most sophisticated and challenging process, involved in augmented reality integrated BCAR is rendering virtual objects on the physical business cards which appear on the device screen. The long chain process flow involved in this process section was decided carefully and long term vision in the design process. A single malfunction in any of the processes will fail the entire functionality. There are numerous mini projects are implemented first to develop the prototypes of each functionality to ensure that the component works as expected before integrating them to a single, huge and full application development.

The feature points of the target marker (business card) are first detected by the AR camera. Once the data has been collected from the detected feature points, it will be passed over to the augmented reality engine. These data are then processed and manipulated to find a match with the feature points of the target markers uploaded within the cloud target database. Once a match is found, the metadata package is then retrieved from the database and handed over to functions responsible for analyzing, parsing and converting the JSON values from the JSON scripts. The values extracted are assigned to class variables using mutator methods. After the process has been completed, the virtual objects are then rendered onto the business cards image displaying on the device screen. The flows of the above processes are illustrated as Fig. 1.

Fig. 1
figure 1

Augmentation and data processing

2.3.2 Touch Injection and Data Retrieval

On the Android platform, one of the most common way for users to interact with the application to intercept the events is through touch input [8]. The touch capability, commonly finger tap on the device screen, is widely implemented in the application. The controller component first receives the user’s finger touch input from the screen. The touch event handlers in the application will then recognize the virtual objects triggered. The model component then retrieves the values from the class variables using accessor methods and then transferred to the view component. View component receives the values then performs a function that is implemented for a virtual object either to launch an Android application or execute additional functions. To launch an Android application, mainly the common functions in this development, such as the dialer, SMS and email application and the contact list, the activity launcher on the Android platform will be executed to start the respective application triggered. The flows of the above processes are illustrated as Fig. 2.

Fig. 2
figure 2

Touch injection and data retrieval

2.3.3 User Interface (UI) Design

In the approach of designing the user interface (UI) of augmentations, inclusive of the virtual objects mainly the 3D models, several aspects of the human computer interactions (HCI) principals based on the heuristics introduced by Nielson [9] are applied to ensure user friendliness which improves user experiences and interactions.

The choice of font styles includes the font type, size and colors applied are considered in detail beforehand to ensure the information displayed on the device screen are clear and concise. The design also considered that the device screens are usually smaller in size. The sizes of text and objects for main functionalities are approximately the same respectively to create consistency in the application. In reference to the application, the 3D models which contain common functionalities in accessing the information of a business card, such as call, text, email and “add to contacts” are similar in size. The font styles used to create the labels below the 3D models are also identical. By having consistency in the layout design, users are able to understand the functionalities at a glance.

The positioning of the 3D models is decided based on priorities when accessing the information of a business card. Just like the interface in standard mobile devices, the icons are arranged in the order, starting from making a call to sending a text message, sending an email and then retrieving contact information from the contact list. The reason behind this sequence is that when there is a need to retrieve a contact information, users most likely will have the intention to contact the counterpart. For urgent cases, making a phone call will stand a higher option compared to sending a text message. As for the email object is placed at the last in communication priority, the opponent may not be available online at all times to receive the email messages and therefore it is not suitable as communication for urgent matters. As for each new contact will only be added to the contact list once and the chances of losing a new contact information are quite low, therefore the “add to contacts” object is prioritized at the last.

There is also a function implemented to promote accessibility in the application. The feature allows users to swap the position of the virtual objects for the four core functions rendered on the front view of the business cards, which are the call, text, email and “add to contacts” functions. The position swapping could be from left to right, and right to left in sequence to suit the accessibility for both left-handed and right-handed individuals.

3 Results and Discussions

3.1 Application Concept

The application starts by scanning the business card. Once a business card is placed in the camera view, the 3D objects are rendered onto the image of the business card. Carrying various functionalities in obtaining the contact information, users can access the information by just tapping the 3D objects on the screen, as shown in Fig. 3. For example, by triggering on the call objects, the application will launch the dialer application together with the contact number passed to the dialer display. Same goes to the text messaging object and the email object, the application will launch the text messaging application and the email application respectively together with the contact number and email address passed to the recipient text field.

Fig. 3
figure 3

BCAR front view

As for the “add to contacts” object, users can save the contact information from the business card directly to the phone without the need to key in manually. The “add to contact” object also functions to detect similar contacts stored in the device contact list. This feature helps to prevent redundant contacts in the contact list. Tapping on the explorer object will launch the mobile browser and leads the users to the company or business portal. The 3D human model will play a short speech explaining a brief personal profile of the card owner. By turning the business card over as shown in Fig. 4, a video object rendered on the card can be seen which brings a clearer view on the business product and services offered.

Fig. 4
figure 4

BCAR back view

The time taken for the markers (business cards) to be detected and virtual objects to be rendered was reasonable and usually completed within seconds accessed with an average Internet speed of 1 Mbps. Based on the feedback results calculated, there are 28 out of 30 individuals confirmed that the time taken for loading and processing is still very efficient under the slow Internet speed.

3.2 Accuracy Analysis

The accuracy test of detection on target markers are conducted extensively using the confusion matrix terminology. The false positive rate (FPR) is defined as the proportion of falsely treating a business card as a target marker when the image target file of that particular business card does not exist in the cloud target database. The false negative rate (FNR) is the proportion of missed detection. The test was carried out with 50 business cards samples, which consist of 25 target markers and 25 non-target markers. The error formula is applied based on the average of FPR and FNR. The results are shown in Table 1.

Table 1 Accuracy for the proposed application

The test result has shown that the accuracy of detection on target markers has achieved up to 96 %, which can be classified as high accuracy. Hence, this application can effectively provide the convenience for users to access and utilize the contact information from the business cards by transferring them to their mobile devices without the need to enter character by character, which is too much hassle for individuals who suffer from vision defects. The accuracy of the scanner can be enhanced by executing the phone under a brighter condition and using camera with higher resolution. Based on the feedback results calculated, there are 29 out of 30 users, which include 19 individuals who suffered from vision defects, agreed that the applications can help users to save time from interpreting the business cards, especially for individuals who suffer from vision-defects which proves that the application fits the purpose of the development. One of the individuals was uncomfortable with the floating positions of the user interface while using the application. As such, the application can be improved by locking the interface display until a new scan task is executed.

4 Conclusion

BCAR was developed to allow the users to retrieve contact information from the physical business cards with ease of use and efficient. The application was designed to save the difficulties of the users when accessing the contact information from the business card, without the need to strain their eyes on the business card contents printed with small fonts and to copy the information to their devices character by character. Using the concept of augmented reality technology, the application has been further enhanced by providing a more interactive view of business cards to the users. It also promotes interactivity between both the users and business cards. It is virtually store information of the pieces of business cards and provide functionalities which ease the access to the information on business cards. It has the potential of commercialization and suitable to be applied into everyday’s life. At the same time, it helps to increase the business revenue by drawing in the attention from the fellow business partners and consumers.