Design and Implementation of a Mobile Wiki Darren ...

5 downloads 1284 Views 181KB Size Report
In order to achieve this goal, the mobile server must be extended to host web services locally [17] and/or each mobile peer should be able to tolerate different ...
MOMIR 2006

MoMM2006 & iiWAS2006 Workshops Proceedings

Design and Implementation of a Mobile Wiki Darren Huang 1, Paul Roe 2, On Wong 3 Abstract Wikis have been proved as a powerful and flexible platform for collaboration. Anyone around the world who has permission to access the site can view and edit wiki pages through a simple markup language using a standard web browser. Mobile devices are getting more powerful, affordable and feature rich than before, thereby attracting people to use them in their daily life and social work. However, mobile computing presents its own challenges such as intermittent connectivity as well as limited screen size, bandwidth, memory and battery life while they offer unique opportunity for people to mobility access information. Besides the investigation of how mobile devices can be exploited to achieve wiki forms of collaboration, the details of implementation will be focused in this paper. A prototype mobile wiki has been created, which addresses these issues and enables simple collaborative working whilst on and offline through smart mobile devices. Depending on the characteristics of the mobile device, communication mechanism between the mobile client and the wiki server is adaptive. Pages are cached lazily on demand to minimize power use and to save network bandwidth during mobility while eager downloading and synchronization are supported in a power-charged mode.

1. Introduction As organizations rely more and more on geographically dispersed participants collaborating on projects, it is becoming impractically to arrange meetings both in terms of time and location. Hence, a number of popular collaborative systems have been created for supporting people to work together by sharing information and enabling communication to accomplish a joint effort and to achieve the goal of a complicated task. However, due to the expense of implementation and maintenance of these collaborative systems as well as less of well integration with famous collaborative tools (e.g. IM, Blog and RSS), an important aspect arisen in this collaboration field is the use of Wikis [7][19]. Wikis are a powerful and popular collaborative system. It aims as an easy-to-use and selfmaintainable web-based collaborative system [2][5]. Wikis provide an interface for group users to view, modify and create wiki web pages through a standard web browser. Most wikis have offered their own specified features beyond the editing of wiki pages. Thereby, wiki systems such as TWiki act as a collaborative platform integrated with their own extensions and plug-ins to enable the ability of project management, document integration, communication and knowledge database [2][18][19]. Wikis have the potential to offer all the features of complex and expensive IT solutions and enhance the collective efforts of community members. A wiki engine, RikWik, has been created by researchers at QUT. It is implemented using Microsoft’s ASP.NET framework with a plug-in component architecture, which aims at offering a flexible, extensible and secure environment for collaboration work [15]. Besides the default editing method, the wiki markup language that is used by most of wikis, a JavaScript WYSIWYG editor has been implemented to 1

Research Student, FIT Queensland University of Technology; Brisbane, Australia, [email protected] Professor, FIT Queensland University of Technology; Brisbane, Australia, [email protected] 3 Lecturer, FIT Queensland University of Technology; Brisbane, Australia, [email protected] 2

99

MoMM2006 & iiWAS2006 Workshops Proceedings

MOMIR 2006

facilitate the advanced editing experience for non-technical users. As the design of RikWik at the outset is to be easily extended to support mobile devices and offline operation, a web service interface has been hosted to enable external programs to interact with RikWik programmatically. The traditional idea of the work environment was allocated to a central location – the desk in the office or at home. Resources and tools needed for the job are stored and set up in this central place. However, the nature of workplace is shifting. People increasingly desire and need to access information and work wherever they are. In the past decades, mobile devices (e.g. PDAs, smart phones and mobile phones) have become so powerful and affordable that many people have made use of these portable devices for recreational activities or for businesses [3]. Sales of mobile devices are constantly increasing [6]. Using the flexibility brought by these mobile devices, people can frequently access to needed information while fully away from the office. It has become a common sight, for example, to see people using various mobile devices in their daily life to stay up-to-date. The challenge faced by modern organizations, hence, is that being on the move has become part of working and has to be supported effectively [7][13]. The idea of work mobility leads to its own challenges to the constraints of mobile technologies. This trend is referred to as mobile computing. This paper investigates how wikis can be made mobile, taking into account the limitations of mobile devices, whilst providing a seamless collaboration experience to users. A mobile wiki system has been researched and a prototype, called Mobile RikWik, has been implemented. This paper presents theses along with techniques employed to achieve these goals including adaptive communication, hoarding and pluggable page rendering. The rest of this paper is structured as follows. Section 2 presents the related issues and challenges of mobile computing. Mobile RikWik architecture and implementation are proposed particular for addressing the limitations of mobile computing in section 3 and 4. Section 5 reviews several mobile wikis including the mobile support provided by some wiki systems and several wiki-like mobile applications. The final section describes conclusions of this paper and discusses further improvements.

2. Issues and Challenges Mobile computing presents many opportunities for collaboration, for example mobile devices are always with the user and enable the ability of anytime, anywhere resource access. However, unlike the fixed wire line network system used by desktop/laptop computers that typically require people to stay at one location to perform their tasks, developing a mobile collaborative system needs to consider the opportunities and also constraints of mobile computing such as intermittent wireless network, limited power capacity, mobile storage spaces and small user interface [14]. Due to the user mobility or the range of network coverage, wireless network connection can be intermittent or non-existent, inconvenient or expensive [11]. Thereby, mobile systems must cater for intermittent connectivity; since the user may not connect to Internet even when the network is available. Besides the problems of network connection, mobile battery power is another factor that is heavily relied on whatever the processing is taking on; wireless connection, system operation and program computing [20]. Since all the process potentially consume a lot of power, we can not expect users to spend time manually downloading particular wiki pages instead of browsing/caching them directly and performing critical tasks when they need to stay online on the road. Thus, those preference resources should be packaged and arranged to be available locally, and

100

MOMIR 2006

MoMM2006 & iiWAS2006 Workshops Proceedings

then the network connection can be dispensed with for a time. Once resources are available on the mobile devices, offline manipulation will become a critical issue in this situation. A mobile device such as PDAs and smart phones typically hold 64 MB RAM and/or 128 MB flash ROM with an extra slot for an external card (e.g. storage card and/or Wi-Fi card). Depending on the size of wiki systems, the mobile device may be able to store all the page contents. However, it is really not necessary to save all materials of a single system on a mobile device instead of collecting other interesting stuff such as music clips and other mobile applications. Moreover, this issue is not always referred to technical or storage problem but also the user’s behaviors. Thus, the problem of selecting necessary pages as well as the opportunity of choosing different storage media (e.g. main memory, flash ROM and plugged storage card) should be figured out and resolved. Adapting web content to fit into small mobile screens has been an important research issue [10] since the web-based system is developed in mind for large screen computers (e.g. desktop and laptop computers) at the beginning. These web pages require extensive amounts of scrolling, both horizontally and vertically when using on small screens. This easily results in users’ disorientation within the page and makes it difficult to focus on particular sections since the content has been scattered. Therefore, the mobile system should have the ability to adapt content into different display forms in order to fit with small screens of diverse mobile devices.

3. Architecture Due to the unreliable nature of wireless network connection, offline operation must be supported to manipulate RikWik locally. This issue leads to the caching of offline pages and the host of local web server that serves offline pages to the mobile web browser. In order to operate wiki offline, a mini RikWik is created and running on the mobile devices, which enables the operation when offline and the communication with the server via web services when online. The architecture of Mobile RikWik is showed in figure 3-1 below. The detail description of architecture components has been proposed in [9]. Pocket PC Pocket Web Browser

Web Proxy Server

Basic Services Presentation Parsers

Mobile RikWik

Network

Local pages

Remote Server

Web Service

Preferences Modules Mobile Database

Extended Features Hoarding

Web Services Client

Update Check Update & Upload

RikWik Server

Synchronization Conflict

Figure 3-1 The architecture of Mobile RikWik

101

MoMM2006 & iiWAS2006 Workshops Proceedings

MOMIR 2006

4. Implementation In order to overcome the constraints of wireless network that presents an intermittent connection, supporting offline operation has been a focus on the design of our mobile wiki. When the device is going to be offline, the system should be able to handle the operation without the access of the RikWik server. Thereby, mobile RikWik is not only designed as a client of the RikWik server but also can be presented as a personal RikWik application on the PDAs. Mobile users can either interact with the RikWik server using Mobile RikWik on their PDAs or operate this mini RikWik locally without any network connection. The switch between these two modes will be done seamlessly, depending on connection situations: online or offline. 4.1. Hoarding Strategy In order to provide seamless offline access to RikWik pages, page XML and related properties should be cached automatically in the mobile device prior to it disconnecting. Several basic wiki pages will be hoarded automatically when the system has been installing. They include RikWik front page that allows the user to start browsing RikWik even when disconnected, Title Index page that displays the existing local pages, and Recent Changes page that tracks those local pages that have been edited recently (see figure 4-1). Besides these wiki pages, several template pages such as User Preferences, User Advanced Settings and Help pages are generated by Mobile RikWik to facilitate the user to set up the communication preferences (e.g. synchronization, update check and hoarding) and to show the guideline of wiki markup language. The approach for hoarding pages from the server is based on a simple mechanism that finds out all accessible RikWik pages for a particular user and filters out the unnecessary pages according to user preferences. After successful login with automated hoarding ticked, the system will hoard all of user’s pages according to specified user name and password. If the user disables this automated hoarding option, manual hoarding functions provided by User Advanced Settings page can be utilized to hoard the desired pages by hand. These cached pages can be used for offline operation. The system is now able to support the hoarding of all of the user’s pages, sub-pages of the specified page and particular specified pages. Moreover, Mobile RikWik can also record those pages that have been clicked offline but did not exist on the client device. This mechanism can be utilized to enable the hoarding of offline queried pages. Attached images can be displayed and hoarded on mobile devices according to the storage space and user settings. 4.2. Update Checking The mechanism of update checking is used to keep page data up-to-date during system operation. There are two options, update currently viewing page and update all pages when the system is idle for a certain time, provided for maintaining the consistency of RikWik pages. During browsing with automated update enabled, local pages can be updated frequently when the user is reading the page or the system is idle. Inexistent pages will be cached when viewing. By default, the system will only check update for the current viewing page. This is because the user may only use a subset of these hoarded pages and may not wish to spend time and bandwidth to update all available pages. Once the option of updating all pages is ticked, all mobile pages will be automatically

102

MOMIR 2006

MoMM2006 & iiWAS2006 Workshops Proceedings

updated in a certain time period. These options can be switched or even disabled by hand for fitting different situations. 4.3. Synchronization Approach Once the system is re-connected to the server, offline changes should be automatically pushed back and synchronized with the server pages. The process is to check out all local changes and to send them back to the server through web services. After synchronization, updated pages as well as conflict pages and new hoarded pages (according to user advanced settings) will be delivered to the client devices. The process of synchronization is drawn in figure 4-2. Besides these automated mechanisms, manual functions provide another flexible way for mobile users to perform synchronization and hoarding without hand specifications. Also it enhances the user’s experience in using Mobile RikWik for various mobile environments. For example, the user may not prefer to synchronize all local changes but want to upload an edited page and to retrieve some of project’s pages when on the move.

Figure 4-1 Title Index, Recent Changes and User Preferences page

User Advanced settings

Mobile DB

Upload local changes

Update Mobile Database

Network

Check local changes

Mobile Client

Sync. with server pages

- Updated pages - New hoarded pages - Conflict pages

RikWik Server

Figure 4-2 The process of synchronization

103

Hoard Preference pages

MOMIR 2006

MoMM2006 & iiWAS2006 Workshops Proceedings

4.4. Conflict Resolution Uploading local changes that have been edited by other users on the server side can produce conflicts. According to the user preference settings, the process of conflict resolution can be different. It is shown in figure 4-3. The uploaded client page is saved as a new revision to replace the current version for viewing on the RikWik server when the Overwrite server page option is chosen. If the Overwrite client page option is selected, the uploaded client page will be abandoned and the conflict server page will be sent back to the client and overwrite the local one. Besides these two overwrite options, the Report Conflicts option is used to check for conflicts on the server and to send both client page and server page back to the client. This conflict situation can be notified either from a conflict link on the page or from the conflict section on the User Preferences page. There are three options that can be used to deal with the conflict. As showed in figure 4-4, the system displays local page content and conflict content side by side to allow the user to compare both versions and trim the content carefully. Besides the editing, the user can choose to either Overwrite the local page by using conflict content or Delete the conflict page directly. Get conflict Server Pages & to replace client pages

Yes

Overwrite client page? Mobile Database

Upload local changes

Check if Conflicts ?

No

Overwrite server page?

No

Save as a new revision on the server

RikWik Database

Yes

Yes

Get conflict page and send back to the client

Figure 4-3 The process of Conflict Resolution 4.5. Representation of wiki pages Mobile RikWik offers the support of displaying different content formats, such as HTML, XML and plain text, by changing the page URL extensions (see figure 4-5). The reason for enabling this function is not only to display page in different formats but also to improve the ability of further extensions. Page XML content can be used for data exchange between different mobile clients while plain text can be showed on the mobile devices that do not have enough styling support. There are four parsers that have been created for the translation of different page formats. Page XML contents are gone through by the HTML parser to create a sequence of readable HTML output while the wiki parser is responsible for translating page XML into the editing wiki markup. The XML parser is built to convert wiki markup content into page XML format. The plain text parser is used to transform page XML to pure text content.

104

MOMIR 2006

MoMM2006 & iiWAS2006 Workshops Proceedings

Figure 4-4 The View and Edit of the conflict RikWik page

Figure 4-5 Mobile RikWik page content in HTML, XML and plain text format 4.6. Mobile Friendly Design Storage Status The selection of storage media for creating mobile database has been considered for implementation to overcome the limitation of mobile memory. Mobile RikWik allows the user to select the storage media (e.g. memory RAM, flash ROM and Storage card) to create mobile database used to store page data and related properties. Although the detection of the specified folder name such as My Flash Disk and Storage Card is an approach to achieve this task, utilizing P/Invoke native function to discover available storage media is a better way in this situation (see figure 4-6). Storage’s folder name may not be the same in different countries and different device models. Power Status

105

MoMM2006 & iiWAS2006 Workshops Proceedings

MOMIR 2006

Besides the limitation of storage spaces, battery power management is another critical issue when considering the design of Mobile RikWik. Once the network is re-connected, the system will automatically detect the power line and the battery life time. Update checking and synchronization functions will not be automatically performed to save bandwidth and battery power when the device is mobile without power-charged. The method for undertaking this task is not available through the .NET Compact Framework so the P/Invoke native function has to be adopted to detect the status of the device’s power configuration such as ACLine and battery life status (see figure 47). [DllImport(“Coredll.dll”)] static extern int SHGetSpecialFolderPath [DllImport(“Coredll.dll”)] public static extern bool GetDiskFreeSpaceEx

Figure 4-6 P/Invoke native function Folder public class SYSTEM_POWER_STATUS_EX2 public class SYSTEM_POWER_STATUS_EX [DllImport(“Coredll.dll”)] public static extern uint GetSystemPowerStatusEx [DllImport(“Coredll.dll”)] public static extern bool GetSystemPowerStatusEx2

Figure 4-7 P/Invoke native function Battery Power Status

5. Mobile Wikis Table 5-1 provides an overview of the existing wiki mobile applications and their features. These mobile wiki systems either provide only the ability of accessing its wiki server pages on the mobile devices for reading [21][22] or offer a personal notes taking tool using the wiki markup on the PalmOS [1][4][24]. Wapipeda is also a mobile version of Wikipedia, but without image display as compared with Wapedia [23]. In addition, Lexipedia is developed by Revolutionary Software Front, which is a offline mobile version of Wikipedia [12]. It contains over 550, 000 articles to be stored in user’s mobile devices. Lexipedia utilities a “sound like” matching to facilitate mobile users to search articles quickly and easily. Miki is announced by Socialtext as part of its commercial wiki software. Miki enables the mobile user to access wiki content on the server as well as to edit through a simple markup language [16]. Moreover, there are few wiki engines that have been designed suitable for mobile interface [25]. Since these mobile wikis may be created day by day, the following table shows a brieft comparison of mobile wikis.

6. Conclusions and Further Improvements The contribution of this paper is to propose the implementation approach of a mobile wiki that provides the fundamental wiki features operating on the mobile devices no matter whether it is online or offline. This goes beyond current systems that only enable offline viewing of pages, by supporting adaptive mechanisms for enabling online and offline operation. Once the system is reconnected to the server, offline changes can be synchronized with the server and updated server

106

MOMIR 2006

MoMM2006 & iiWAS2006 Workshops Proceedings

pages can be propagated to the clients. Mechanisms for communicating between the client and the server are adaptive basing on real situations such as AC line power charged, login status and user preferences. The general architecture as well as proposed approaches could be applied to other wiki systems that have authenticated mechanism to identify the login user. A sophisticated approach needs to be studied and implemented to efficiently predict the user’s need. The system should be able to track the usage of RikWik for a particular user and record as User Browsing Patterns. These browsing patterns can be analysed to arrange the priority of each page and to help the prediction of user preference pages. This can enable the system to decide the amount of pages or the total size of pages to store on the mobile devices according to user behaviour and storage spaces. The synchronization approach also needs to be improved to deal with conflict page content sharing. A merge mechanism such as Harmony (An XML synchronization protocol) would offer a finer level of conflict resolution through the fine grained merging of changed page contents [8]. Harmony project aims to provide a generic framework for synchronizing structured data stored as XML documents while Diffutils is widely and efficiently used to compare and synchronize two flat text files. Another interesting investigation can be conducted to generalize the architecture further through a true Peer-to-Peer relationship between mobile RikWiks. This would enable distributed mobile wikis to communicate with each other without a coordinating authority such as a centralized server. In order to achieve this goal, the mobile server must be extended to host web services locally [17] and/or each mobile peer should be able to tolerate different communication protocols such as Bluetooth and IrDA for detecting and communicating with other mobile clients directly. Table 5-1 The comparison of mobile wikis Web-based System

Editing

Offline Operation

Hoarding

synchronze

Conflict Resolution

Mobile Friendly

Mobile Devices

Mobile RikWik

Y

Y

Y

Y

Y

Y

Y*

PocketPCs

Miki

Y

Y

N

N

N

N

#

Blackberry

Wapedia

Y

N

N

N

N

N

#

PocketPCs WAPPhone

Wapipedia

Y

N

N

N

N

N

#

PocketPCs

Mobile Tiki WikkiTikk -iTavi

Y

N

N

N

N

N

#

PocketPCs & PalmOS

Y

Y

N

N

N

N

#

PocketPCs

Lexipedia

N

N

Y

N

N

N

#

PocketPCs Smartphone

WikiPad

N

Y

Y

N

N

N

#

PalmOS

AcroWiki

N

Y

Y

N

N

N

#

PalmOS

NoteStudi PalmOS # Y^ N Y Y N Y^ o * Adaptive communication settings to enable efficient use of battery power, storage spaces and network bandwidth # Wiki content has been adapted to fit into targeted mobile screens ^ With the desktop version, the mobile client can be synchronized with the desktop version

7. References 107

MoMM2006 & iiWAS2006 Workshops Proceedings

MOMIR 2006

[1] Acrocat Software, AcroWiki, Available: http://www.acrocat.com/AcroWiki/ default.asp?lang=en. [2] Aronsson, L. (2002) 'Operation of a Large Scale, General Purpose Wiki Website.' Proceedings of the 6th International ICCC/IFIP Conference on Electronic Publishing, 6-8 Nov. 2002, Karlovy Vary, Czech Republic, pp. 27-37. [3] Bellotti, V. and Bly, S. (1996) 'Walking away from the desktop computer: distributed collaboration and mobility in a product design team', Proceedings of the 1996 ACM conference on Computer supported cooperative work, 16 – 20 Nov. 1996, Boston, Massachusetts, USA, pp. 209 - 218. [4] dogMelon, Note Studio., Available: http://www.dogmelon.com.au/ns/. [5] Davies, J. (2004) Wiki Brainstorming and Problems with Wiki Based Collaboration, Available: http://wwwusers.cs.york.ac.uk/~kimble/teaching/students/Jonathan_Davies/Jonathan_Davies.html. [6] Durlacher Research Ltd, (2002) Mobile Commerce Report, Available: http://www.durlacher.com. [7] Dustdar, S. and Gall, H. (2003) 'Architectural concerns in distributed and mobile collaborative systems', Journal of Systems Architecture, vol. 49, no. 10-11, pp. 457-473. [8] Harmony, Harmony: A Synchronization Framework, Available: http://www.seas.upenn.edu/~harmony/. [9] Huang, W. C., Roe, P. and Wong, O. (2006) ‘Pocket RikWik: A Mobile Wiki Supporting Online and Offline Collaboration’, Proceedings of the 12th Australian World Wide Web Conference (AusWeb’06), 01-05 Jul. 2006, Noosa, Australia, pp. 152-164. [10] Hori, M., Kondoh, G., Ono, K., Hirose, S. and Singhal, S. (2000) 'Annotation-Based Web Content Transcoding', The International Journal of Computer and Telecommunications Networking, vol. 33, no. 1, pp. 197-211. [11] La Porta, T. F., Sabnani, K. K. and Gitlin, R. D. (1996) 'Challenges for Nomadic Computing: Mobility Management and Wireless Communications', ACM/Baltzer Journal on Mobile Networks and Applications, vol. 1, no. 1, pp. 3-16. [12] Lexipedia, Lexipedia for Windows Mobile, Available: http://www.revolution.cx/Lexipedia/Lexipedia.htm [13] Litiu, R. and Zeitoun, A. (2004) 'Infrastructure support for mobile collaboration', Proceedings of the 37th Annual Hawaii International Conference on System Sciences, 05 - 08 Jan. 2004, Big Island, Hawaii, pp. 31-40. [14] Lyytinen, K. and Yoo, Y. (2002) 'Issues and Challenges in Ubiquitous Computing', Communications of the ACM, vol. 45, no. 12, pp. 63-65. [15] Mason, R. and Roe, P. (2005) 'RikWik: An Extensible XML Based Wiki', Proceedings of 2005 International Symposium on Collaboration Technologies and Systems (CTS2005) SESSION 13: Web Infrastructure and Services for Collaborative Applications and Platforms, 15-20 May 2005, Saint Louis, Missouri, USA. [16] Miki, SocialText: Hi Miki, Available: http://www.socialtext.com/node/75. [17] Pratistha, D., Nicoloudis, N. and Cuce, S. (2003) 'A Micro-Services Framework on Mobile Devices', Proceedings of 2003 International Conference on Web Services (ICWS '03), 23-26 Jun. 2003, Las Vegas, Nevada, USA. [18] Radziwill, N. M. and Shelton, A. L. (2004) 'TWiki as a Platform for Collaborative Software Development Management', Proceedings of SPIE 2004, 12-15 Jun. 2004, Glasgow, Scotland, pp. 609-617. [19] Raygan, R. E. and Green, D. G. (2002) 'Internet collaboration: TWiki', Proceedings IEEE SoutheastCon 2002, 5-7 Apr. 2002, Columbia, South Carolina USA, pp. 137-141. [20] Sorber, J., Banerjee, N., Corner, M. D. and Rollins, S. (2005) ‘Turducken: hierarchical power management for mobile devices’, Proceedings of the 3rd international conference on Mobile systems, applications, and services, 6-8 Jul. 2005, Seattle, WA USA, pp. 261~274. [21] TikiWiki, Welcome to mobile.tikiwiki.org, Available: http://mobile.tikiwiki.org/tiki-index.php. [22] Wapedia, Wapedia - the mobile encyclopedia, Available: http://www.en.wapedia.org/. [23] Wapipedia, Wapipedia.org, Available: http://www.wapipedia.org/wikipedia/mobiledefault.aspx [24] WikiPad, A Wiki for Palm OS, Available: http://www.frogplate.net/palmos/wikipad.html. [25] WikkiTikkiTavi, circle.ch Wiki, Available: http://circle.ch/wiki/WikkiTikkiTavi

108

Suggest Documents