• No results found

YaVNC - A Virtual Application Solution for Smartphone

N/A
N/A
Protected

Academic year: 2021

Share "YaVNC - A Virtual Application Solution for Smartphone"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

for Smartphone

Fei Liu∗, Jing Wang, and Hongtao Bai China Mobile Research Institute

No. 53 A, Xibianmen Street, Xuanwu District, Beijing, China {liufei, wangjingwlyj, baihongtao}@chinamobile.com

Abstract

Most of PC software cannot be directly immigrated to smartphone now. This paper proposes YaVNC to solve this problem. It is a virtual application solution based on VNC and Microsoft UI Automation Framework. YaVNC enables PC applications to suit different devices and systems, enables different users to reuse existing PC applications according to users’ demand and device features.

Keywords: Smartphone,Virtual application,YaVNC,UI accessibility

1

Introduction

Smartphone has been enthusiastically embraced by a significant number of consumers, which leads to a strong demand for smartphone application. On one hand, existing development mode for smartphone applications can hardly perfectly meet the growing demands from users. On the other hand, most mature PC software cannot be directly immigrated to smartphone platform. In this case, user accesses remote servers by smartphone should be a good solution. However, existing remote desktop software fails to be perfectly suitable for smartphone due to its physical characteristics (like screen size, resolution ratio, input mode and etc.) that is largely different from PC’s. What’s more, remote desktop protocol for PC was not designed for the smartphone environment and there was no optimization towards existing remote access applications for smartphone. All these lead to poor users’ experiences to access and control remote desktop software.

This paper presents YaVNC, a virtual application solution based on VNC and Microsoft UI Au-tomation Framework. The original PC software runs on a remote server or on a cloud. The YaVNC UI designer can be utilized to create customized interface according to smartphone. Then a UI description file will be generated. The YaVNC client runs on the smartphone using UI description file to connect the YaVNC server running on a remote server, which achieves the goal that the client can access remote desktop using the customized interface.

Taking advantage of the interoperability supported by Microsoft UI Automation Framework, users can customize the interface by the YaVNC UI designer according to their demands. Instead of displaying the whole working area, the client side of YaVNC just displays the working area that the users may be interested in. This reduces users’ costs and alleviates the network traffic for image transfer. YaVNC also gives full consideration to the differences between mobile applications and original software. It adjusts the original software to realize the self-adaption of terminal devices. Moreover, YaVNC can customize RFB message type to enable users to use the desktop application conveniently without losing the compatibility of the old RFB protocol.

IT CoNvergence PRActice (INPRA), volume: 1, number: 4, pp. 39-49 ∗Corresponding author

(2)

Here is the structure of this paper. Section 2 gives some related work. The detail of model and design are described in Section 3. Implementation and demos are explained in Section 4. The final conclusions of the paper are presented in Section 5.

2

Related Works

In order to deal with the problem of low transfer efficiency between mobile devices and remote servers, SmartVNC [8] uses macro to help users complete a complex operation. It makes use of Microsoft UIA framework, interpreting a user’s original operation as the specific operation of a widget. This fixes the drawbacks of Application Macro and Raw Macro, and realizes the smart-macros which are independent of the specific implementation of the application logic and the application scenario, such as the form’s location and size. What’s more, it also ensures the versatility and robustness of the operation. SmartVNC builds a suffix tree to record users’ operations and gets the longest linear time repeating sequences, which helps users customize their own macros efficiently. pTHINC [4] is a thin client solution for mobile applications based on the THINC [1] architecture. On the one hand, it completes the image scaling on the server and reduces the amount of data transmission. On the other hand, in order to improve availability, it maps common operations like scaling and bringing up the virtual keyboard to the PDA physical keyboard. Unlike SmartVNC and pTHINC which based Microsoft UIA framework, YaVNC is based on Mircrosoft Accessability Framework. Structural description of UI and relevant attribute information of widgets can be easily captured by YaVNC, so YaVNC can generate complete UI description.

Merlion [7] allows users to create a customized interface for mobile devices by cropping and stitching image. Thereby, users can follow more remote applications’ states in the limited space of the screen. F Lamberti [6] uses image processing and pattern matching to recognize and classify application widgets. Users can select common widgets and organize their presentation on the terminals. These solutions are working at the pixel level, which is based on reverse engineering and cannot handle the metadata of widget. As a result, it can’t guarantee the accuracy and stability during the process of generating the interface and user inputting. Merlion and Lamberti’s work scheme mainly runs on hardware frame buffer layer, and UI widget is acquired by picture processing and recognizing, which can hardly guarantee the accuracy and stability of recognizing and classification of UI elements. However, these functions can be supplied by Microsoft accessible API in YaVNC which can easily utilize UI elements and implement customization in a simple, accurate and common approach.

C. Kulkarni [5] uses outstanding mobile web pages as the training set and uses machine learning method to identify logo, navigation bar and the article of the original web page. Then it automatically generates mobile version of the web page according to the layout of the fixed order. PageTailor [2] allows users to adjust the WYSIWYG (What You See Is What You Get) page on mobile devices, such as moving or deleting an element on the page and PageTailor proposed REUC algorithm. REUC ensures fault tolerance when updating the source page and the reusability for other pages on the same site. AUGUR [3] dynamically calculates page elements which need to be displayed by modeling and analyzing users’ actions and use sequence prediction algorithm with the restriction like elements and screen size. This implements the self-adaption of web page and hint of navigation. The thought of web page template customization reuse in PageTailor and AUGUR is adopted in YaVNC, which enables UI templates on smartphones to be customized, saved, and even reused by other users.

(3)

3

Model and Design

3.1 Conceptual Model

As shown in Figure.1, there are two phases, design and run, in YaVNC. UI designer is provided for users in design phase. It extracts the operations of PC software widgets which provide its interoperability based on Microsoft UI automation framework, to enable users to customize UI depending on their demands. UI designer can generate a specific UI description file according to the corresponding customized UI. Based on the description file, the customized UI can be shown in run phase by a collaboration of YaVNC client software and YaVNC server software.

YaVNC server software runs on a remote server or on a cloud. As original software on PC runs in a normal way, the server must run the remote desktop software as the server software of YaVNC. The client side of YaVNC runs on the smartphone. Including traditional VNC server software, YaVNC server software also has image filtering module, operation redirect module and the adaptive form module. YaVNC client server runs on smarphones. Beside traditional VNC client software, UI generate module is added in YaVNC client software as well. Client generates UI based on the UI description file, while server interprets operation requests from client based on the file.

Figure 1: The design of YaVNC

The orginal PC software runs on servers. Meanwhile, YaVNC server software needs to be intalled on servers, and smartphones connects servers by client software. The server of YaVNC keeps listening to the client’s requests. When a client message comes, the YaVNC server parses it and updates the state of relevant desktop software. Then the server sends the updated images to the client.

Users can see the adjusted working area of the original PC software on the client of YaVNC. The client can reconstruct the operations operated in the working area into the operations in smartphones cus-tomized by users. Users’ operations on the client( such as typing and touching screen) can be transferred to the server as the message type defined by YaVNC and then be parsed by the YaVNC server software.

(4)

3.2 Function Design

The defects of remote connection between smartphones and servers are mainly embodied in the mis-matching between smartphone resolution and PC application interface. This drawback makes the client display diminishing images, which seriously affects the accuracy of user operation. At the same time, af-ter splitting the UI of PC based on the resolution of smartphones, the area that user is inaf-terested in will be separated in different parts. Under this situation, users should switch the working area frequently, which make the navigation operation happen frequently. Therefore, it is necessary to eliminate the mismatch of UI between PCs and smartphones and redesign a more suitable display mode for mobile devices in or-der to make remote mobile users experience closely to the PC. Against these problems, YaVNC designs following functions:

• YaVNC allows smartphone users to change the original PC application interface layout. Similar to the principle of locality, the common application function are obvious centralized. For small-size screen on a smartphone, it is not necessary to show the PC application interface completely. The content can be selectively rearrangement, concentrating on the commonly used functions and reducing unnecessary navigation operations. By this means, YaVNC can convert the UI of PC version into a smartphone version. Users can rearrange the screen layout according to their pref-erences and select the widgets which are needed, making the UI more adaptable to smartphone terminal environment. After customizing user interface, commonly used widgets will be displayed concentrated. Users no longer need frequent navigation operation like scaling, drag.

• YaVNC supports to convert the original PC application interface widgets into local widget of ar-bitrary smartphone platform which has similar function. YaVNC can also refer to some popular application design. For example, Documents To Go only shows the working area of remote ap-plication on the screen in VNC method and all operation elements are displayed in the menu, which meets user’s requirements of browse and operation in a limited screen. Also, for common PC applications, users’ most operations are done directly in the workspace and do less operation on interface button or menu item. Like the localized UI display, YaVNC improves the precision of workspace display and reduces the possibility of users’ wrong operations by separating the workspace from the menu.

• YaVNC adapts itself to the mobile screen size. So users can scroll through the working area conveniently. According to the smartphone screen resolution, YaVNC adjusts the size of the PC application working area and makes that the page has the same width with the smartphone screen. With such adjustments, when users browsing application’s working area, such as word, users no longer need to do horizontal and vertical navigation operation at the same time. They just need to do vertical navigation which reduces the magnitude of users’ operations’ complexity. By this means, YaVNC improves user experience and enhances the availability of virtual mobile applica-tion system.

• YaVNC saves the result of customization as a rule file. YaVNC also allows users to share their own customization works or directly downloads the existing customization solutions.

3.3 Architecture Design

YaVNC’s architecture is shown in the Figure.2. The solid arrows represent the input part of runtime system, namely the process of the user operation becoming effective. And the dotted arrows represent the output part the runtime system, namely the UI construction and updates section. Figure in the projection

(5)

Figure 2: The Architecture of YaVNC

is the main constituent of YaVNC, including three major modules, respectively, the UI designer module, the server module and the client module.

1) UI Designer: The UI designer module works on the server and outputs the UI description file through the user customization. UI description file which is the input of the server module and the client module is constituted of the control property description and custom layout description. UI preprocessing part mainly includes the UI description generation, the selection of the components, the customize UI layout, warehouse and so on.

2) Server Module:The server module includes image filtering, redirect operation, the adaptive form and so on. The output description file of the server module which is according to the users makes some necessary improvements on depending on the VNC session process. The server module transfers the updates of the area that users are interested in to the client, and correctly convert users’ input to widget events.

3) Client Module: The main function of the client module relies on the UI generation module. The description file which is the output of the client effective part according to the user’s customization generates the UI layout which is designed by the users in client. This module also receives the messages from server to keep the UI updating, encapsulating the user’s local input, and submits them to related server modules.

(6)

4

System Implementation

4.1 Module Implementation

YaVNC chooses Windows XP SP3 as server implementation platform, Android as client implementation platform. The server development is mainly using C# combined with hosting UI Automation class. And Android client development uses Java to complete. The main module implementation is as following:

1) UI Description Generation Module:users don’t have to use all the functions of the applications in the smartphone environment. As a result, the UI description generation module needs to screen the widgets so as to retain the widgets users are interested in. According to the number of widgets, UI description generation module supports two ways for users to choose the widgets they are inter-ested in. One is that users choose the components they are interinter-ested in from the target application quantity control tree generated by the system. And the other is that users select the widgets in the way of what you see is what you get. Three features are mainly included:

• to provide two ways, visual and tabular ones, to select applications that need to be resolved. • to capture UI descriptions of target applications, including ways of structure of UI,

automa-tion ID of UI elements, boundary matrix coordinates, names and supportable modes, etc. • to serialize information in specified formats to XML files.

Flow chart is shown in Figure.3 and Figure.4, which separately describe the UI selection of au-tomation mode and manual auau-tomation.

Figure 3: Sequence Chart of Automation Selection

2) UI Customized Module: In the UI customized module, firstly users must choose the specific way of exhibition of the interested widgets on the terminal devices, including menu items, static visual components and dynamic visual components as well as VNC image. After classifying the type, the menu items will be shown as ListBox, elmementForm object monitors DragDrop event, thereby adjusting the structure tree of the menu items dynamically according to the user’s dragging. Then,

(7)

Figure 4: Sequence Chart of Manual Selection

layoutCreator will allow user to customize the main interface by using the way called what you see is what you get. LayoutCreator loads candidate widgets attribute information except menu items and generates corresponding components in the simulation Android interface according to its original attributes like character, size and type. User can adjust the automatically generated Android widgets in accordance with specific conditions, including default text information, size and the type of components. They can also adjust the layout of the components by adding and modifying ViewGroup object. Flow chart is shown in Figure.5.

Figure 5: Sequence Chart of UI Customization

3) UI Building Module:UI building module takes the layout description file of the UI preprocessing module as input and restore a custom interface on user’s device. The layout description files of YaVNC totally follow the standards of Android Layout Resource and Menu resource. For native Android applications, we can load resource files by using SetContentView method or objects like Menulnflater and LayoutInflater. However, such methods only support Resource ID of int type.

(8)

Moreover, the resource files loaded by YaVNC need to be updated or increased at any time the user changes the configuration. As a result, these methods cannot be packaged into APK file directly which makes it impossible to use Resource ID to locate a resource file. To solve this problem, YaVNC achieved two methods called viewGenerate() and menuGenerate() in UIGenerator Class to build Layout and OptionMenu. Flow chart is shown in Figure.6.

Figure 6: Sequence Chart of UI Structure

4) Image Update:In the four customize widget types that YaVNC supported, the read-only elements in menu and visual widget don’t need to be updated their appearance based on the status of server applications. Instead, the dynamic elements in visual widget and image widget, such as the re-sult of a calculator application and working area of Photoshop, should change their appearance dynamically according to the status send form the server. Native VNC application server detects the frame updates of the entire desktop and sends updates to the client. But in YaVNC, only part of data needs to be transmitted as screen image and the display position on the client is different from the position display on the original desktop. As a result, we need to improve the image up-dating mechanism of VNC. YaVNC saves a large number of bandwidth resources and improves update efficiency by means of customizing the image transmission. The process of update of visual widgets and graphic widgets is described in Figure.7 and Figure.8.

4.2 Demo Implementation

In order to verify the effectiveness of YaVNC, this paper builds a word processing app on Android OS, based on YaVNC and Word app. Design principles of this app are as follows:

1. As shown in Figure.9, different applications use virtual desktop icons to distinguish themselves from others, which means after user login, he/she can see the icons of applications he/she can use. 2. User can access the file list directly and clearly. See Figure. 10.

3. The interface is mostly similar to Documents To Go. After user starting the application, the in-terface only displays the working area of Word. Other operations will be provided in the form of menu item. The screenshot is shown in Figure. 11

4. For the devices with physical keyboard, user can input text directly. For other devices without physical keyboard, YaVNC calls the local or remote input method to input text.

(9)

Figure 7: Sequence Chart of Updating Visual Widgets

Figure 8: Sequence Chart of Updating Graphic Widgets

App can show the main working area on the server accurately. YaVNC can adjust and adapt itself to fit the client’s resolution ratio, which makes the images exactly fit the device’s screen. The touch-screen operations and the typing operations can be transmitted to the server and be resolved correctly by the server according to the settings of UI description. The result shows that resolving the operation meets our expectation.When typing on the client, it can be proved that the YaVNC’s keyboard coding is correct. During the whole process, images on server update fluently and the image can be displayed on the client instantly without feeling significantly delay. YaVNC can use and control remote applications efficiently and stably.

5

Conclusions

In this paper, we describe the design of YaVNC according to the analysis of the characteristics of RDP in the mobile environment. The most notable feature of YaVNC is UI customization depending on UI accessibility. By improving the original scheme, users can convert the desktop software into a

(10)

mo-Figure 9: The screenshot of virtual desktop

Figure 10: The screenshot of Available File List

Figure 11: The Screenshot of Working Area

bile customized application, which improves the efficiency and usability of virtual application system. Compared to other customized solutions, YaVNC takes full advantage of UI accessibility to attain the information of widgets. This ensures the correctness of widget converting and effective widget events.

Acknowledgment

This work is supported by China’s 2012 National Science and Technology Major Project New Gener-ation Broadband Wireless Mobile CommunicGener-ation Network -Security of Mobile Nextwork in Cloud-Computing based Application Model under Grant No2012ZX03002002.

References

[1] R. Baratto, L. Kim, and J. Nieh. Thinc: a virtual display architecture for thin-client computing. InProc. of the 20th ACM Symposium on Operating Systems Principles (SOSP’05), Brighton, United Kingdom, pages 277–290. ACM, October 2005.

(11)

[2] N. Bila, T. Ronda, I. Mohomed, K. N. Truong, and E. de Lara. Pagetailor: reusable end-user customization for the mobile web. InProc. of the 5th International Conference on Mobile Systems, Applications, and Services (MobiSys’07), San Juan, Puerto Rico, pages 16–29. ACM, June 2007.

[3] M. Hartmann, D. Schreiber, and M. M ¨Uhlh¨auser. Augur: providing context-aware interaction support. InProc. of the 1st ACM SIGCHI Symposium on Engineering Interactive Computer Systems (EICS’09), Pittsburgh, USA, pages 123–132. ACM, July 2009.

[4] J. Kim, R. A. Baratto, and J. Nieh. pthinc: a thin-client architecture for mobile wireless web. InProc. of the 15th International Conference on World Wide Web (WWW’06), Edinburgh, Scotland, pages 143–152. ACM, May 2006.

[5] C. E. Kulkarni and S. R. Klemmer. Automatically adapting web pages to heterogeneous devices. InProc. of the ACM CHI Conference on Human Factors in Computing Systems (CHI’11), Vancouver, Canada, pages 1573–1578. ACM, May 2011.

[6] F. Lamberti and A. Sanna. Extensible guis for remote application control on mobile devices.IEEE Computer Graphics and Applications, 28(4):50–57, August 2008.

[7] I. Mohomed. Enabling mobile application mashups with merlion. InProc. of the 11th International Workshop on Mobile Computing Systems and Applications (HotMobile’10), Brighton, United Kingdom, pages 72–77. ACM, February 2010.

[8] C.-L. Tsao, S. Kakumanu, and R. Sivakumar. Smartvnc: An effective remote computing solution for smart-phones. InProc. of the 17th Annual International Conference on Mobile Computing and Networking (Mobi-Com’11), LasVegas, Nevada, USA, pages 13–24. ACM, September 2011.

Author Biography

Fei Liugot her Computer Science master degree from Shandong Industry University, in 2000. In 2003, Liu Fei joined in China Mobile Research Institute and focused on mobile security technology research. From 2003 to 2007, as the main delegate of China Mobile Communication Corp., she had attended 3GPP SA3 Security Work-group meetings, OMA Security Group meetings and contributed dozens of papers. From 2007 until now, she has been a vice chairwoman of China Communications Standards Association TC5-WG5 Security Group. Presently, She is the vice director of National Industry Laboratory of Mobile Internet Security Technology. Her primary research focuses on mobile security service architecture designs, e-commerce security and security as services.

HongtaoBai received his Computer Science degree from Jilin University, China, in 2005. He received his Master degree in the area of Computer Science from Peking University, China, in 2008. Presently, he is a project manager in department of secu-rity technology at China Mobile Communications Corporation Research Institute. His primary research interests include cloud security, network and information security.

Jing Wang received her Computer Science degree from North China University of Technology, China, in 2005. She received his Master degree in the area of Computer Science from Beijing University of Posts and Telecommunications, China, in 2008. Presently, she is a project manager in department of security technology at China Mo-bile Communications Corporation Research Institute. Her primary research interests include cloud security, network and information security.

References

Related documents

This article aims to describe the meaning of interreligious relationship, the portrait of interreligious relationship in Indonesia, and how to foster tolerance and

● Create a new .test file in your module/profile ● Define the test info using the ::getInfo() method ● Set up the tests using the ::setUp() method. ● Tests are methods that

However, some trauma survivors may not develop symptoms of PTSD for months or even years after exposure to a trauma.. Sometimes, a stressful life event, such as an accident or

Local exchange or access services shall not be suspended or terminated for nonpayment of a bill rendered or a required deposit unless the Company has verified that payment has

comprising School of Global Studies, University of Gothenburg, The Swedish Institute of International Affairs (UI), Department of Political Science, Lund University and Peace and

We can consider this project as a very good example of investigation of the context but what is still under- exploited is the deep analysis of the impact of cultural differences on

Redundancy analysis (RDA) revealed that hydrological variables (water depth, flow velocity, flood frequency, and hydroperiod class) significantly explain 17% variation in surface

In light of the legal requirements noted above and the jurisprudence, it is clear that if federally regulated organizations make information available via telephone, they must