• 沒有找到結果。

1.1 Preface

With the performance's promotion of mobile devices, and the progress of wireless communication technology, mobile network-based software in the handheld mobile device is not only feasible; it began to be taken seriously. We can imagine the future, more and more of the traditional web software gradually migrates to mobile devices to meet the business, life, entertainment, and many other needs.

However, in wireless networks based, besides the feasibility of developing Web applications [1], there are many issues that need to be considered: first, mobile device software must be installed on hundreds of different operations, different platforms, it makes deployment and distribution for the application software more difficult.

Presently, the market position of the platform, the more there is Java ME [2], Windows Mobile [3], Symbian [4], BREW [5], Mobile Linux [6], and the Google open platform Android [7]. Such diversity of platforms and with the development model gave software developers more difficulties.

In addition, network-based applications for mobile devices are vulnerable to the surrounding environment, such as telecommunications services, it is easy to receive network connectivity problem caused by terrain, buildings, rate of movement, and it is hard to maintain uninterrupted connection. Those make multiplayer mobile applications more challenging.

In recent years, the uses of mobile devices become more and more popular. Most people have mobile devices, even while some people have two or more mobile devices. On the other hand, more and more applications for mobile devices have been developed. Using the mobile device to handle personal affairs is a part of modern life.

The mobile application is one of the essential software for new generation of mobile devices.

However, the operation of the mobile environment has been a lot of restrictions, including:

1. The limited computing power of mobile devices:

The complicated operation is not suitable for use on mobile devices; making computing time cannot be applied too long.

2. The limited storage space for mobile devices:

The memory of mobile devices is generally much smaller than the personal computer, cannot save or share a lot of space for large files.

3. Connectivity for mobile devices will be affected by the movement:

Mobile devices, by definition, is used when we move, it is difficult to guarantee that there will be a stable environment where the network connection. For example, move to the basement, tunnels, elevators and other confined space, will make the connection lost, cannot access network resources.

4. The limited interface for mobile devices:

The input interface of mobile devices is usually little more than the average number of personal computers, it is difficult to support fast keyboard input and mouse operations. On the other hand, the output screen of mobile devices is also much smaller than the personal computer. We cannot put too much information in the same screen at the same time because of too small to read. Therefore,

applications for mobile devices must be adjusted to meet the user easy to use.

1.2 Motivation

Today, mobile application platform can basically be divided into two types:

One is to develop products for its own system only; application is not portable to other platforms, such as: Android market [8], I-phone App [9], Windows Mobile Widgets [10] … Another is to provide a common platform for applications development, such as: Yahoo! GO [11]. Yahoo! Go provides the JavaScript [12] with XML [13], Widget written [14], and for different mobile devices to provide a different execution environment for Widget platform.

Widget is one kind of web applications and it is compact and easy to develop using standard web technologies such as: HTML, CSS and JavaScript, so most of the program developers have the ability to develop such applications. Therefore, more and more developers join the rank of Widget development.

Yahoo! Go is able to support many mobile platforms, because Yahoo must spend a lot of time and invest heavily in technical resources to overcome many compatibility problems to develop for different platforms in different execution environment.

However, this design concept will make the platform must be accompanied the transaction of environment to do regular updates and corrections, even substantial changes. For this reason, I thought maybe we can build a Browser-based platform. It can reduce the overhead for the developer to correct the platform in order to be suitable for varies device.

implementation of client-side, and the other is the implementation of server-side. The benefit implemented by client-side is that we don’t need a server to be required to provide Widgets, but this kind of engine cannot be transferred to the other browsers because of the different core of browser. In contrast, the benefits of server-side widget engine is easy to cross-platform and also can run in different browsers, the disadvantage is that this engine can only be used on-line, when off-line status, they become useless.

1.3 Research Objectives

This thesis will use the existing standard mobile browser as execution environment, and develop a Cross-platform &Cross-browser execution environment for mobile Widget applications. Use the browser as an interface; developer can perform the same Web applications on different platforms. Besides, we will choose a server-side widget engine to let this environment can work in the different mobile browser. Moreover, we will find a mechanism that allows applications to operate offline. Finally, we will design a user-friendly interface which provides users controlling our system easily.

Basically, the current type of widget can be divided into three types, the first type is the information provided by the remote server, such as: weather forecasts, RSS news, business information, etc. The second type is the content will be stored some records in database, such as: To-do list, Notepad, etc. The third type of Widget, the main part is composed by other services, such as: Dictionary services, Search services, On-line Map, etc.

Because of XML tag of Google Widget is supported by a considerable number, and

even some grammar can be used in the other Google services such as Google maps.

So many grammars, it is difficult to be completed in this thesis, therefore, we expect to select some important and basic grammar to support.

In this thesis, we will make a To-Do List and a RSS Widget to show how our system works and how the program developers let their Widget to support off-line functionality.

The pictures as follows:

1. To-Do List

Figure 1-1 To-Do List

As above, the users record what they want to do through this To-Do List on mobile devices. And, if the user has added a new item to this To-Do List in off-line state, the data will first buffer to the local database of this mobile device. Waiting for users to re-connect to the network, it starts to do data synchronization.

2. RSS Widget

Figure 1-1 RSS type of Widget

As the above diagram, this is a simple RSS [16] style widget, through this widget, users can use the simple way to read news or events for each outline, if they press more interested in the subject, they can also through the hyperlinks into the original page to read it. After the implementation of our system, we hope to achieve that anyone can read the news list under each tab in off-line state. We also hope that we can spend the least space to read the original news to achieve the effect of offline reading.

1.4 Research Contribution

In order to achieve the objectives mentioned in section 1.3, we have encountered many difficulties during implementation. This thesis discusses those problems encountered and our corresponding solutions. The major contributions of this research

are listed below:

1. The developers of Widget engine do not need to solve the compatibility problem.

2. The Widget programmer can easily let their application work on different environment and does not to take care of off-line operation.

1.5 Outline of the Thesis

This dissertation is divided into six chapters. Following is a brief description of the content of each chapter:

1. In Chapter 2, the background of developing this system and the related work including some commercial products are introduced.

2. In Chapter 3, an overview of the proposed system and its major components are given.

3. In Chapter 4, the implementation details, problems encountered, and our corresponding solutions are illustrated.

4. In Chapter 5, using practical examples show the widgets work in our system and compare our system with the other platform.

5. In Chapter 6, we dwell on conclusion and future work for referencing.

相關文件