Mobile RIA and Competibility
|
|
- Clara Campbell
- 3 years ago
- Views:
Transcription
1 How rich are mobile Rich Internet Applications? Piotr Andruszkiewicz 1, Henryk Rybiński 1, Grzegorz Protaziuk 1, and Marcin Gajda 2 1 Institute of Computer Science Warsaw University of Technology Warsaw, Poland {P.Andruszkiewicz, H.Rybinski, G.Protaziuk}@ii.pw.edu.pl 2 Samsung Electronics Polska Warsaw, Poland m.gajda@samsung.com Abstract. Nowadays, mobile devices become more and more powerful and they offer continuously growing capability in terms of computing capability, size of screen, available memory, etc. It causes that delivering applications on mobile devices is even more attractive and draws attention of many software producers. However, variety of mobile devices and incompatibility of their operating systems makes very difficult and costly to implement an application with rich functionality which may be installed and used on different types of mobile devices. The solution to this problem can be Rich Internet Applications (RIAs) which are accessible via Internet browsers enhanced by the standardized functionality supporting RIAs. In this paper we characterize required properties of Rich Internet Applications and present the important factors which should be taken into consideration during development of RIAs on mobile devices. We describe Gears platform, which is a good example of RIA platform enhancing functionality of Internet browsers, and present Mobile Wikipedia Application - the example of Rich Internet Application on mobile devices. 1 Introduction Mobile Internet applications become more complicated everyday. Increasing users needs and various mobile computing platforms make development of applications even harder. The solution to this problem is the creation of an application delivery and execution platform, closely coupled with the browser, but having also access to entire local computer infrastructure (and thus being able to store files locally, access the GPU and sound hardware, etc.). Such platform, called Rich Internet Applications (RIA) platform becomes the important Internet application SDK, augmenting browsers (or to be more precise - a Javascript interpreter) with new functionality, such as object serialization and offline storage. We may describe RIAs as web applications that resemble as much as possible native operating system applications - and indeed such a definition can be found, e.g., on Wikipedia [1]. It is, however, quite imprecise, as it is especially difficult
2 to say what is the minimum degree of similarity to a desktop application, that allows us to classify a given web application as rich. Therefore, we shall define the set of properties that should be exhibited by a RIA, as follows: Browser deployment - it seems quite obvious that RIA should be a web application. Note, however, that it is not easy to define what actually a web application is, as this actually depends on technology that was used to create and deploy such an application (and which might be a script, a Java applet, a Flash applet, and so forth). The two main factors differentiating these applications from native applications from end user s point of view are: Reliance on web browser as an operating environment - meaning, that a web browser must be active together with an application, which usually also means that an application uses a browser infrastructure in order to execute its own code, No installation procedure - a web application is immediately available to use after opening a webpage hosting it, no further actions are required before it could be used (such as downloading an installer, etc.) Note also that this means that the application code is downloaded from Internet every time when the application is launched - so there is no software update process inherent to the desktop applications (code and data caching might, however, invalidate this statement to a certain extent). User interaction - Rich Internet Application should be highly interactive. Specifically it should perform data transfers in asynchronous and transparent manner (so that the browser reload button should not be used by the user) and it should react immediately to user actions such as mouse clicks or keystrokes. Obviously visually rich interface elements - such as animations - are also preferred for RIA GUI design, however, their presence does not seem to be mandatory. Session or data persistence - it is assumed that RIA is used for data processing or creation. Therefore it needs an online storage that would be used for data preservation. It is also desirable that the application state would be automatically preserved, making some operations, such as, e.g., explicit file saving, largely redundant. Browser independence - RIAs should not rely on proprietary functionality of specific web browsers or plug-ins. Ideally, a RIA should work equally well on all operating systems and all web browsers, in practice the application functionality might be slightly different depending on the operating environment or depending on availability of certain extensions and plug-ins. 1.1 RIA for mobile devices Mobile connected devices, such as mobile phones, represent an especially interesting target for RIAs. The reason is twofold. First, their usage pattern (ad hoc data access, collaboration, device volatility, etc.) makes RIAs especially compelling to end users. Second, the current level of fragmentation in mobile IT industry means, that the web applications seem to be one of the few technologies allowing creation of cross platform applications, working on most popular handsets -
3 without maintaining several completely incompatible codebases (such as would be the case in creating native applications for iphone, Android and Windows Mobile devices). The mobile platform specific features make RIA implementations substantially more difficult than in the case of desktop computers. The most important differences, relevant for RIA development, between a typical modern mobile device and a desktop computer are: Form factor - mobile devices are by the definition small. In terms of the user interaction this translates to the small screen size (currently typical screen sizes for mobile devices range from 320 x 240 pixels to 800 x 480 pixels with physical screen dimensions around 5 x 10 cm) and lack of typical hardware input controls, such as keyboard or (traditional) mouse, which functionality is usually provided by a touch screen or a mini trackball. This means that the user interface of mobile RIA needs to be specifically tailored to such device. Note, however, that the small screen size does not necessarily have to be a disadvantage for a GUI design. With such limited space it is easier for a designer to avoid visual clutter, especially as users usually expect that mobile applications would be always full screen and thus in locus of attention. Universal availability of touch screen, or voice recording capability also gives us an opportunity to explore innovative concepts in human computer interaction. Performance - while device manufacturers recognize the need for raw processing power, required for applications such as mobile gaming and video playback, the power and heat dissipation constraints still limit the clock speed of mobile CPUs. Currently most of the devices on the market are equipped with ARM compatibles processors clocked at around 1 GHz, which means that mobile devices are around 5-7 years behind desktop systems, as far as Moore s law [2] is concerned. This also means that some CPU intensive operations that can be easily done on desktop computers (such as software 3D rendering) are difficult to perform on mobile devices, especially when RIA uses an interpreted language such as Javascript. Memory restrictions - on a typical mobile device, as opposed to a contemporary desktop computer, the memory available to the operating system is measured in megabytes, instead of gigabytes. Therefore, while designing applications, a popular developer s assumption that the memory is a cheap resource - does not apply. One expects that a mobile application can consume on average MB of memory. Secondary storage space is fortunately usually less of a problem, especially with raising popularity of miniature SSD. Network bandwidth - mobile devices are naturally using wireless networking to transfer data. Such connections are usually slower than attainable with wired network, and additionally the data transfer speed can vary significantly, e.g., while switching from WiFi to HSDPS/UMTS and then to EDGE or even GPRS cellular data transfer. A device network interface might even be switched off completely, either because of the coverage problems, or be-
4 cause the user is trying to minimize the connection costs. Therefore mobile RIA developer cannot assume ubiquitous availability of the Internet data, and they should also implement some provisions (such as data caching, compression, etc.) to maximize utilization of the network bandwidth. Mobility - mobile devices are equipped with much more user context and location awareness data than a desktop workstation. An average contemporary mobile device should know its geographical location (via GPS or BTS triangulation), and should have direct access to various user s personal data, such as contacts, recent conversations, etc. (being much more private and intimate appliance than those on a computer, which might be shared with other people or which might be just a work tool). All that kind of data is practically unavailable to the desktop applications (both RIAs and native software), though at the same time usually it turns out to be highly useful, especially for social networking. Summing up, the properties of mobile devices influence the design of applications both in positive and negative ways. Thus, there is a need to create versions of RIAs tailored specifically to quirks of handsets, both in order to overcome technical limitations such as connectivity problems, but also tapping into wealth of mobile data allowing creation of new breed of social, networked applications. To do it, developers must have access to a mobile API, allowing communication between RIA and mobile hardware (phone, GPS, etc.). During the joint project of the Institute of Computer Science of the Warsaw University of Technology and Samsung Electronics Polska we compared the available RIA platforms in the context of the creation of mobile Rich Internet Applications. Moreover, the design and development of the own framework for RIA platform was also considered. As the targeted RIA framework was to be running on the Samsung mobile device with ARM architecture, Linux operating system and installed browser (provided by Samsung) based on WebKit, we especially focused on the described above mobile aspects of RIA framework. At the time of starting the project, of the existing RIA platforms, only Gears [3] seemed to be advanced enough to provide mobile application developers with API powerful enough to create good quality applications. Other platforms were either not universal enough or not mature. Creating the own framework would require significantly bigger effort than implementing Gears for the given device, because all the APIs would have to be designed and implemented. And the biggest disadvantage of creating the framework from scratch would be its incompatibility with the existing solutions, and thus would force developers to create yet another series of if s to handle yet another platform. Hence, Gears was chosen as a RIA platform for mobile devices. To show possible to obtain functionality of RIA applications, we created the example Mobile Wikipedia Application based on Gears. The application, as an advantage of the RIA framework usage, depends less on the available communication. Local storage enables users to work with the application even when there is no connection to the network and synchronization procedure let them both update information from the server and upload their changes made
5 locally. Usually, RIA applications are supported by the server-side. We created the application without the adjustments of the server-side, to show that this type of applications is also possible, especially for mobile RIAs. The remaining of this paper is organized as follows. The description of Gears in the context of mobile Internet Applications and more details about the implementation can be found in Section 2. Section 3 shows functionality of RIA based on the example of Mobile Wikipedia Application. Section 4 presents experience gained during the RIA application creation. 2 RIA solution based on Gears for mobile devices Gears form the web browser enhancement, installed as an external plug-in, or are delivered with the browser. Gears supports offline mode and acts as an interface between a webpage and the end-users system. The Gears API is accessed through the Javascript objects. A website using Gears is created using same web technologies as an ordinary website. No new tools or technologies are needed. 2.1 Gears Features The solution consists of the following features: LocalServer - the component allows webpages to be loaded from the cache in offline mode. All the resources (html, js, jpg files) forming a website are listed in the manifest file. They are automatically downloaded when in online mode and served from the cache when offline. LocalServer periodically check if the manifest file version has been changed to update the local cache if needed. Database - the local SQLite database and Javascript API to access to the local storage in online and offline mode. The database includes the fts2 extension allowing full-text queries over the TEXT data. WorkerPool - the mechanism allowing websites to run the Javascript code outside of the main page script execution. It enables websites to run the performance intensive calculation (so called workers) in the background without blocking the user interface. The main execution script and workers do not share any execution state and can only communicate by sending message objects. One website can have several workers. Since workers do not operate within a context of a browser window, they do not have access to the DOM. HttpRequest and Timer classes have been introduced to overcome part of this limitation. Desktop - allows the website to interact with the end-user system. It enables a Desktop shortcut creation, as well as displaying an Open File dialog which can be used to pass the contest of the file to the website, without giving the full access to the file system. Geolocation - an API allowing the website to get the end-user s location. It uses several methods of determining the position, depending of the nature
6 and modules available on the end-users system. On desktop PC s it can an IP-based or WiFi-based. On mobile devices it can leverage an embedded GPS module, GSM network based or WiFi-based localization. 2.2 Security model of Gears Gears uses the highly accepted the same origin policy as its underlying security model. The website can only access resources coming from the same schema, host and port. The model has been extended to the Gears offline capabilities and allows websites to cache file coming from same origin and access local database created for the same origin. A customized permission dialog is shown when a particular website tries to use Gears for the first time. After the end-user s acceptance, the choice is remembered. It can be later changed using the Gears Settings dialog. 2.3 Solution for Linux mobile device As there was no Gears implementation provided by Google for Linux, browser (provided by Samsung) based on WebKit and Samsung mobile device with ARM architecture, Gears was ported on Samsung device. To this end, some parts of Gears have been modified and (re)implemented during the project carried out by the Institute of Computer Science of the Warsaw University of Technology and sponsored by Samsung Electronics Polska. Most browsers communicate with the Gears plugin through the NPAPI interface. However, Gears for Linux only existed for Firefox and this implementation was not based on NPAPI but on Firefox s own API. On the other hand, all Gears NPAPI implementations involved browsers for other platforms than Linux. Porting to the Linux + NPAPI + WebKit environment was partly possible by adapting the implementations of Firefox for Linux, Chrome for Windows and the Android browser. 3 RIA functionality on the example of Mobile Wikipedia Application We show Rich Internet Application platform functionality on the example of Mobile Wikipedia Application developed during the project. Mobile Wikipedia Application (MWA) is an application designed to work on a Samsung smartphone with Linux operating system and WebKit based browser. The application communicates with Wikipedia web service. It is capable of downloading information from the Wikipedia, storing them locally on a user device and synchronize with Wikipedia. All information downloaded is stored locally in a database. No alterations of the server-side were conducted and all functionality of RIA was implemented on the client-side. Thus, the example application shows that RIA applications can be created even the server-side does not support RIA functionality. The application is written in JavaScript and GUI is created using XHTML.
7 3.1 Wikipedia article representation from DB new page not DB not Wiki synchronizing saving in DB from DB saving into DB saved in DB not Wiki saving into DB modified in DB not Wiki editing from Wiki from Wiki from DB synchronizing saving into DB from Wiki saved in DB synch Wiki synchronizing from Wiki editing synchronizing saving in DB saved in DB on Wiki saving into DB editing modified in DB on Wiki saving into DB from DB downloaded not DB synch Wiki editing from DB changed not DB on Wiki from Wiki synchronizing saving in DB Fig. 1. State diagram of AppPage object In MWA all needed information about articles downloaded from Wikipedia or created by a user is kept in one object, namely an instance of the AppPage class. The information includes: article data: title, content, time of creation in WMA, time of the last modification and synchronization, id of a page set by Wikipedia, a table of images added to a page, language, attributes used for synchronizations: whether an article has been modified in MWA, the last revision id generated by Wikipedia and the state of an article with respect to the corresponding article on Wikipedia, information used for controlling behaviour of MWA: whether an article has been saved into MWA DB, whether a html view of the code of page should be refreshed. The state of an article is determined based on values of two attributes: db- Status and wikistatus. The former attribute refers to DB and it has one of the following values: DB STATUS SAVED an article stored in DB is the same as in MWA,
8 DB STATUS NOT IN DB an article is new and it has not be added to DB yet, DB STATUS MODIFIED an article stored in DB is out-of-date (modification introduced to the article has not been saved into DB yet). The wikistatus attribute refers to Wikipedia and it takes the following values: WIKI STATUS SYNCH an article is synchronized with the corresponding article on Wikipedia, WIKI STATUS NOT IN WIKI an article has been created in MWA and it has not been added to Wikipedia, WIKI STATUS CHANGED an article has been modified after the last synchronization with the corresponding article on Wikipedia. The article state diagram resulting from values of these two attributes is presented in Figure 1. The figure does not contain the state, in which an article is synchronized with Wikipedia and not updated in DB, because the synchronization with Wikipedia forces saving an article into DB. 3.2 MWA database Fig. 2. ER diagram of the MWA database MWA uses Gears database that is accessed through Gears API. The underlying database management system is a browser-local relational open source SQLite DBMS. Application database ER diagram is shown in Figure 2. It depicts two entities storing information about wikipedia pages and images that are associated with some of the pages. One page can include several images, but there are also pages that do not contain any images. One image can be associated with many wikipedia pages, thus a many-to-many relationship between the entities is mandatory on the side of the Pages entity and optional on the side of the Images entity. Information stored in the Pages entity include: pageid (identifier of the entity), (page) title, content (of the page text of the wikipedia article), creationtime (date and time the page was saved in the database), modificationtime (if the article has been locally modified this field contains date and
9 time of the modification), wikistatus (possible values: synchronized, not in Wikipedia, changed locally ), synchtime (date and time of synchronization with Wikipedia), revisionid, wikiid and lang (language of the article: English, Polish or Korean). The Images entity stores data concerning images, i.e., imagename name that identifies an image and the actual image (field image). Figure 3 shows logical schema of the MWA database. Here we have 3 relations: Pages, Images and PageImage and the fields have data types used by the SQLite database system. Fig. 3. Logical schema of the MWA database As mentioned above database is accessed with the gears API. Some of the API methods that were utilized here include: open() (opens the database for processing). execute() (executes a given SQL statement), close() (closes the database connection), isvalidrow() (returns true if data extraction methods can be called), next() (advances to the next row of the results). 3.3 Synchronization The WMA provides functionality for synchronizing articles stored locally with corresponding articles available on Wikipedia. The four situations that may occur during the synchronization process are described in Table 1. In the case of the last listed situation the user must decided how to solve the conflict, as automatic synchronization cannot be done. In the remaining situations automatic synchronization is possible. The state of an article is determined by using the attribute indicating whether the article has been edited in MWA (true) or not (false) and a property named lastrevid provided by Wikipedia.
10 Article Article stored Description Synchronization on Wikipedia in MWA unchanged unchanged Articles are equal Not needed - articles are synchronized modified unchanged An article on Wikipedia is An article stored locally is more recent than a page replaced by a page stored locally downloaded from Wikipedia unchanged modified An article stored locally is An article stored locally is more recent than an article uploaded onto Wikpedia on Wikipedia modified modified There is a conflict. Both User should decided how articles (the local one and to resolve the conflict the one on Wikipedia) have been modified since the last synchronization Table 1. States of pages in the synchronization process. The sequence of messages sent between MWA and Wikipedia during the synchronization process is shown in Figure 4. The sequences concern situation in which a new content of an article is uploaded onto Wikipedia. In MWA automatic synchronization is done as a background process. It is implemented by using gears objects: workerpool which provides communication between foreground and background processes, timer for setting intervals in a background process, httprequest for sending and retrieving data to and from Wikipedia. 3.4 Communication with Wikpedia The communication between WMA and Wikipedia is done by using MediaWiki API [4]. In the most cases the JSON format is used as the format of Wikipedia response. The communication is synchronous, i.e., after sending a message the application waits for an answer from Wikipedia. Several techniques have been applied to implement this functionality: Technique based on XMLHttpRequest object. The object is provided by Internet browser and in the MWA one global object is created. In general, the technique allows retrieving data in any format. The function sendpostmethod is used for sending messages by using HTTP POST method. Technique based on the HTML script element. A script element is created dynamically and then added to the header of the main HTML page of MWA. Such technique may be used only for retrieving data in JSON format. After executing a JAVASCRIPT code associated with a script element the element is removed from the application HTML page.
11 Fig. 4. Sequences of messages in synchronization process Technique based on the HTML form element. The form element is used only for sending login information and it is created dynamically and placed in a iframe element. The login data sent by Wikipedia are retrieving by parsing the inner HTML code of the iframe element. Technique based on Google httprequest object. The object is used during the automatic synchronization done in background. The object is similar to XMLHttpRequest object, but it provides only asynchronous way of sending of messages. The synchronous way of synchronization is forced in the application code by using SetInterval method. There are two timers: one waiting for finishing of synchronization of all pages, and another waiting for completing action resulting from the synchronization process of single page. Figure 5 shows the results of the example search. The results contain only the articles that have Polska in the title and were modified before Lessons learned Designing Rich Internet Applications, we can use several different approaches. An application can be created with a server support or all RIA functionality can be implemented on a client-side, as in the example application. Moreover, an application can use RIA functionality to a different extent, e.g., only download
12 Fig. 5. The results of the example search. data from a sever and store locally or download, store, modify and synchronize local data with a server. Mobile Rich Internet Applications are even harder to design and develop than desktop RIAs because their should be resistant to communication loses, lower network bandwidth than in wired connections and conformed to smaller displays. Moreover, additional restrictions, as lower memory and performance, should be considered. However, functionality used in the example application shows that Rich Internet Applications can take into account mobile aspects of Internet Applications, e.g., limited network bandwidth and the possible loss of connectivity (data can be downloaded and stored locally on a device), the connection costs reduction (the synchronization procedure enable users to reduce data transfer). Furthermore, the RIA platform can be used to enhance functionality of the application, when server-side does not support the RIA platform. Functionality of the RIA framework presented in this paper is mature enough and desirable for web application developers and users, so it is going to be included in HTML5 standard [5]. Google also works on bringing all Gears functionality into HTML standard. However, RIA functionality will be evolving. Nowadays the specification of HTML5 standard enable users to continue interacting with Web applications and documents even when their network connection is unavailable, so called Offline Web applications. HTML5 also defines an API for persistent data storage of key-value pair data in Web clients (called
13 Web Storage in the specification). Web Workers in HTML5 enable developers to spawn background workers running scripts in parallel to their main page. Geolocation mechanizm was also included in HTML5 specification. Implementations of HTML5 standard which consider limitations of mobile devices will popularize mobile RIA applications in the near future. References 1. RIA: Rich internet application internet application (2011) 2. Mollick, E.: Establishing moore s law. IEEE Annals of the History of Computing 28 (2006) Gears: (2011) 4. API: Mediawiki (2011) 5. HTML5: specification (2011)
AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev
International Journal "Information Technologies & Knowledge" Vol.5 / 2011 319 AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev Abstract: This paper presents a new approach
More informationChapter 12: Advanced topic Web 2.0
Chapter 12: Advanced topic Web 2.0 Contents Web 2.0 DOM AJAX RIA Web 2.0 "Web 2.0" refers to the second generation of web development and web design that facilities information sharing, interoperability,
More informationHTML5 the new. standard for Interactive Web
WHITE PAPER HTML the new standard for Interactive Web by Gokul Seenivasan, Aspire Systems HTML is everywhere these days. Whether desktop or mobile, windows or Mac, or just about any other modern form factor
More informationMobile App Infrastructure for Cross-Platform Deployment (N11-38)
Mobile App Infrastructure for Cross-Platform Deployment (N11-38) Contents Introduction... 2 Background... 2 Goals and objectives... 3 Technical approaches and frameworks... 4 Key outcomes... 5 Project
More informationEnterprise Mobile Application Development: Native or Hybrid?
Enterprise Mobile Application Development: Native or Hybrid? Enterprise Mobile Application Development: Native or Hybrid? SevenTablets 855-285-2322 Contact@SevenTablets.com http://www.seventablets.com
More informationResearch on HTML5 in Web Development
Research on HTML5 in Web Development 1 Ch Rajesh, 2 K S V Krishna Srikanth 1 Department of IT, ANITS, Visakhapatnam 2 Department of IT, ANITS, Visakhapatnam Abstract HTML5 is everywhere these days. HTML5
More informationAddressing Mobile Load Testing Challenges. A Neotys White Paper
Addressing Mobile Load Testing Challenges A Neotys White Paper Contents Introduction... 3 Mobile load testing basics... 3 Recording mobile load testing scenarios... 4 Recording tests for native apps...
More informationMOBILE ARCHITECTURE BEST PRACTICES: BEST PRACTICES FOR MOBILE APPLICATION DESIGN AND DEVELOPMENT. by John Sprunger
MOBILE ARCHITECTURE BEST PRACTICES: BEST PRACTICES FOR MOBILE APPLICATION DESIGN AND DEVELOPMENT by John Sprunger When developing mobile applications, there are a number of key challenges where architecture
More informationPosition Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0
Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0 Jonathan Jeon, hollobit@etri.re.kr Senior Member of Research Staff, ETRI Seungyun Lee, syl@etri.re.kr Research Director
More informationFrom Desktop to Browser Platform: Office Application Suite with Ajax
From Desktop to Browser Platform: Office Application Suite with Ajax Mika Salminen Helsinki University of Technology mjsalmi2@cc.hut.fi Abstract Web applications have usually been less responsive and provided
More informationDeveloping Cross-platform Mobile and Web Apps
1 Developing Cross-platform Mobile and Web Apps Xiang Mao 1 and Jiannong Xin * 2 1 Department of Electrical and Computer Engineering, University of Florida 2 Institute of Food and Agricultural Sciences
More informationPerformance Testing for Ajax Applications
Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies
More informationSmartphone Application Development using HTML5-based Cross- Platform Framework
Smartphone Application Development using HTML5-based Cross- Platform Framework Si-Ho Cha 1 and Yeomun Yun 2,* 1 Dept. of Multimedia Science, Chungwoon University 113, Sukgol-ro, Nam-gu, Incheon, South
More informationStep into the Future: HTML5 and its Impact on SSL VPNs
Step into the Future: HTML5 and its Impact on SSL VPNs Aidan Gogarty HOB, Inc. Session ID: SPO - 302 Session Classification: General Interest What this is all about. All about HTML5 3 useful components
More informationSoftware Requirements Specification For Real Estate Web Site
Software Requirements Specification For Real Estate Web Site Brent Cross 7 February 2011 Page 1 Table of Contents 1. Introduction...3 1.1. Purpose...3 1.2. Scope...3 1.3. Definitions, Acronyms, and Abbreviations...3
More informationHow to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE
How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE Solutions Introduction: Enterprises around the globe are mobilizing mission-critical services. Businesses get streamlined due
More informationAn introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains
More informationHow To Write A Web Server In Javascript
LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client
More informationCredits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
More informationPerformance Analysis of Web-browsing Speed in Smart Mobile Devices
Performance Analysis of Web-browsing Speed in Smart Mobile Devices Yu-Doo Kim and Il-Young Moon Korea University of Technology and Education, kydman@koreatech.ac.kr Abstract The rapid growth of telecommunication
More informationRich Internet Applications
Rich Internet Applications Prepared by: Husen Umer Supervisor: Kjell Osborn IT Department Uppsala University 8 Feb 2010 Agenda What is RIA? RIA vs traditional Internet applications. Why to use RIAs? Running
More informationIssues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application
DATABASES AND INFORMATION SYSTEMS H.-M. Haav, A. Kalja and T. Robal (Eds.) Proc. of the 11th International Baltic Conference, Baltic DB&IS 2014 TUT Press, 2014 215 Issues of Hybrid Mobile Application Development
More informationDeveloping Offline Web Application
Developing Offline Web Application Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Art Nanakorn Thana Pitisuwannarat Computer Engineering Khon Kaen University, Thailand 1 Agenda Motivation Offline web application
More informationA Cost Effective GPS-GPRS Based Women Tracking System and Women Safety Application using Android Mobile
A Cost Effective GPS-GPRS Based Women Tracking System and Women Safety Application using Android Mobile Devendra Thorat, Kalpesh Dhumal, Aniket Sadaphule, Vikas Arade B.E Computer Engineering, Navsahyadri
More informationWhy HTML5 Tests the Limits of Automated Testing Solutions
Why HTML5 Tests the Limits of Automated Testing Solutions Why HTML5 Tests the Limits of Automated Testing Solutions Contents Chapter 1 Chapter 2 Chapter 3 Chapter 4 As Testing Complexity Increases, So
More informationHTML5 : carrier grade
HTML5 : carrier grade Alex Rutgers / CTO@Momac / February 2013. Introduction Since HTML5 became mainstream media around April 2010 and I decided to create an overview article on HTML5 in the mobile space,
More informationMiddleware- Driven Mobile Applications
Middleware- Driven Mobile Applications A motwin White Paper When Launching New Mobile Services, Middleware Offers the Fastest, Most Flexible Development Path for Sophisticated Apps 1 Executive Summary
More informationSmartphone Enterprise Application Integration
WHITE PAPER MARCH 2011 Smartphone Enterprise Application Integration Rhomobile - Mobilize Your Enterprise Overview For more information on optimal smartphone development please see the Rhomobile White
More informationMobile Operating Systems Lesson 03 PalmOS Part 1
Mobile Operating Systems Lesson 03 PalmOS Part 1 Oxford University Press 2007. All rights reserved. 1 PalmOS An OS for handheld devices Designed for highly efficient running of small productivity programs
More informationHYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS
HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS RAJESH KUMAR Technical Lead, Aricent PUNEET INDER KAUR Senior Software Engineer, Aricent HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI
More informationAjax Design and Usability
Ajax Design and Usability William Hudson william.hudson@syntagm.co.uk www.syntagm.co.uk/design Ajax Design and Usability About Ajax Ajax in context How Ajax works How Ajax is different How Ajax is similar
More informationCloud Computing for Mobile Devices - Reducing Energy Consumption 1 -
Proceedings of the 28th EnviroInfo 2014 Conference, Oldenburg, Germany September 10-12, 2014 Cloud Computing for Mobile Devices - Reducing Energy Consumption 1 - Veronika Strokova 2, Sergey Sapegin 3,
More informationPropalms TSE Deployment Guide
Propalms TSE Deployment Guide Version 7.0 Propalms Ltd. Published October 2013 Overview This guide provides instructions for deploying Propalms TSE in a production environment running Windows Server 2003,
More informationDEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH CITRIX PRESENTATION SERVER 3.0 AND 4.5
DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH CITRIX PRESENTATION SERVER 3.0 AND 4.5 Deploying F5 BIG-IP Local Traffic Manager with Citrix Presentation Server Welcome to the F5 BIG-IP Deployment
More informationWhite Paper INTRODUCTION. In mobile development, there are three different types of applications: PRE-SMARTPHONE MOBILITY NATIVE MOBILE APPLICATIONS
INTRODUCTION The mobile development arena is growing very quickly, especially in the business-to-consumer (B2C) space. We are also seeing significant growth in business-to-business (B2B) enterprise applications
More informationDesigning for the Mobile Web Lesson 3: HTML5 Web Apps
Designing for the Mobile Web Lesson 3: HTML5 Web Apps Michael Slater, CEO Andrew DesChenes, Dir. Services course-support@webvanta.com 888.670.6793 www.webvanta.com Welcome! Four sessions 1: The Mobile
More informationMeasuring AJAX Performance on a GPRS Mobile Platform
International Journal of Principles and Applications of Information Science and Technology July 2008, Vol.2, No.1 Measuring AJAX Performance on a GPRS Mobile Platform Feng Xie 1 and David Parsons 2 Institute
More informationVisualizing a Neo4j Graph Database with KeyLines
Visualizing a Neo4j Graph Database with KeyLines Introduction 2! What is a graph database? 2! What is Neo4j? 2! Why visualize Neo4j? 3! Visualization Architecture 4! Benefits of the KeyLines/Neo4j architecture
More informationRIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT
RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT Oxagile 2010 www.oxagile.com TABLE OF CONTENTS 1 ATTRIBUTION... 3 2 ABOUT OXAGILE... 4 3 QUESTIONNAIRE... 5 3.1 DO YOU THINK AIR AND SILVERLIGHT ARE COMPARABLE
More informationDesigning for Mobile. Jonathan Wallace jg.wallace@ulster.ac.uk
Designing for Mobile Jonathan Wallace jg.wallace@ulster.ac.uk Recommended Further Reading Recommended Reading http://www.worklight.com/assets/files/native Web Hybrid Mobile App Dev Webinar.pdf http://techcrunch.com/2012/02/05/designing
More informationFollowing statistics will show you the importance of mobile applications in this smart era,
www.agileload.com There is no second thought about the exponential increase in importance and usage of mobile applications. Simultaneously better user experience will remain most important factor to attract
More informationPerformance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com
Performance Testing Web 2.0 Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com 1 Foundations of Web 2.0 (a history lesson) 1993 The National Center for Supercomputing Applications
More informationMobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,
Mobile Testing Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality, usability and consistency. A mobile application
More informationMO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN
082 MO 25. Aug. 2008, 17:00 UHR 0 RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN 1 Rich Internet Applications - Definition «Rich Internet Applications (RIAs) are web applications that have the
More informationDrupal Performance Tuning
Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web
More informationIntroduction to IBM Worklight Mobile Platform
Introduction to IBM Worklight Mobile Platform The Worklight Mobile Platform The Worklight Mobile Platform is an open, complete and advanced mobile application platform for HTML5, hybrid and native apps.
More informationResponsive, resilient, elastic and message driven system
Responsive, resilient, elastic and message driven system solving scalability problems of course registrations Janina Mincer-Daszkiewicz, University of Warsaw jmd@mimuw.edu.pl Dundee, 2015-06-14 Agenda
More informationMobile Application Development
Web Engineering Mobile Application Development Copyright 2015 Slides from Federico M. Facca (2010), Nelia Lasierra (updates) 1 2 Where we are? # Date Title 1 5 th March Web Engineering Introduction and
More informationRemote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser
Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser 1 Karan Sandeep Bhandari, 2 Vishnu Baliram Mandole, 3 Akash Dattatray Munde, 4 Sachin B. Takmare Bharati Vidyapeeth
More informationPoint of View Mobii 925 - Android 4.2 Tablet PC. General notices for use... 2 Disclaimer... 2 Box Contents... 2
Table of Contents General notices for use... 2 Disclaimer... 2 Box Contents... 2 1.0 Product basics... 3 1.1 Buttons and connections... 3 1.2 Start up and shut down... 3 2.0 Introduction to Google Android
More informationICE Trade Vault. Public User & Technology Guide June 6, 2014
ICE Trade Vault Public User & Technology Guide June 6, 2014 This material may not be reproduced or redistributed in whole or in part without the express, prior written consent of IntercontinentalExchange,
More informationWHITEPAPER. SECUREAUTH 2-FACTOR AS A SERVICE 2FaaS
WHITEPAPER SECUREAUTH 2-FACTOR AS A SERVICE 2FaaS EXECUTIVE OVERVIEW 2-Factor as a Service (2FaaS) is a 100% cloud-hosted authentication solution that offers flexible security without compromising user
More informationWHITE PAPER. Domo Advanced Architecture
WHITE PAPER Domo Advanced Architecture Overview There are several questions that any architect or technology advisor may ask about a new system during the evaluation process: How will it fit into our organization
More informationDeveloping Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory. 2012 IBM Corporation 1
Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory 1 Agenda Mobile web applications and Web Experience Factory High-level tour of Web Experience Factory automation
More informationGigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset)
Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset) Version: 1.4 Table of Contents Using Your Gigabyte Management Console... 3 Gigabyte Management Console Key Features and Functions...
More informationPower Tools for Pivotal Tracker
Power Tools for Pivotal Tracker Pivotal Labs Dezmon Fernandez Victoria Kay Eric Dattore June 16th, 2015 Power Tools for Pivotal Tracker 1 Client Description Pivotal Labs is an agile software development
More informationSmartCart Design Description
SmartCart Design Description Version 1.0 Revision History Date Version Description Author 2011-10-20 0.1 Initial draft SmartCart Team 2011-24-10 0.8 Revised draft SmartCartTeam 2011-27-10 0.9 Revised draft
More informationLiveTalk Call Center solution
LiveTalk Call Center solution I. Introduction LiveTalk enables real-time interaction between callers and a pool of technical and customer support or sales agents via a completely web based interface. With
More informationFlexible Identity. OTP software tokens guide. Multi-Factor Authentication. version 1.0
Flexible Identity Multi-Factor Authentication OTP software tokens guide version 1.0 Publication History Date Description Revision 2014.02.07 initial release 1.0 Copyright Orange Business Services 2 of
More informationIntroduction to BlackBerry Smartphone Web Development Widgets
Introduction to BlackBerry Smartphone Web Development Widgets Trainer name Date 2009 Research In Motion Limited V1.00 are stand-alone BlackBerry applications that consist of standard web components, including
More informationExperimenting in the domain of RIA's and Web 2.0
Experimenting in the domain of RIA's and Web 2.0 Seenivasan Gunabalan IMIT IV Edition, Scuola Suoperiore Sant'Anna,Pisa, Italy E-mail: s.gunabalan@websynapsis.com ABSTRACT This paper provides an overview
More informationSkynax. Mobility Management System. System Manual
Skynax Mobility Management System System Manual Intermec by Honeywell 6001 36th Ave. W. Everett, WA 98203 U.S.A. www.intermec.com The information contained herein is provided solely for the purpose of
More informationINFORMATION TECHNOLOGY STANDARD
COMMONWEALTH OF PENNSYLVANIA DEPARTMENT OF PUBLIC WELFARE INFORMATION TECHNOLOGY STANDARD Name Of Standard: Mobile Website Development Domain: Application Number: Category: STD-EASS010 Date Issued: Date
More informationNOVA COLLEGE-WIDE COURSE CONTENT SUMMARY ITE 115 - INTRODUCTION TO COMPUTER APPLICATIONS & CONCEPTS (3 CR.)
Revised 5/2010 NOVA COLLEGE-WIDE COURSE CONTENT SUMMARY ITE 115 - INTRODUCTION TO COMPUTER APPLICATIONS & CONCEPTS (3 CR.) Course Description Covers computer concepts and Internet skills and uses a software
More informationPhire Architect Hardware and Software Requirements
Phire Architect Hardware and Software Requirements Copyright 2014, Phire. All rights reserved. The Programs (which include both the software and documentation) contain proprietary information; they are
More informationAutomated testing for Mobility New age applications require New age Mobility solutions
Automated testing for Mobility New age applications require New age Mobility solutions Executive Summary Today, mobile phone has transformed from its former role as a mere medium of communication to that
More informationPROJECT MANAGEMENT SYSTEM
Requirement Analysis Document v.2 14.12.2009 CENG-401 SOFTWARE ENGINEER PROJECT MANAGEMENT SYSTEM (Project Manager) Ahmet Edip SEÇKİN 07010555 (Developer) Erhan ŞEN 07010507 (Developer) Semih Serdar CENGİZOĞLU
More informationHow To Synchronize With A Cwr Mobile Crm 2011 Data Management System
CWR Mobility Customer Support Program Page 1 of 10 Version [Status] May 2012 Synchronization Best Practices Configuring CWR Mobile CRM for Success Whitepaper Copyright 2009-2011 CWR Mobility B.V. Synchronization
More informationMobile Operating Systems Lesson 07 Symbian OS
Mobile Operating Systems Lesson 07 Symbian OS Oxford University Press 2007. All rights reserved. 1 Oxford University Press 2007. All rights reserved. 2 Symbian OS multi-modal communication support OS for
More informationA Model for Classification of Issues and Strategies Related To Smart Phones Applications Testing
Cloud Computing & Big Data 37 A Model for Classification of Issues and Strategies Related To Smart Phones Applications Testing Deepika Dhamija Research Scholar Computer Science Department Jaipur National
More informationScheduling Software User s Guide
Scheduling Software User s Guide Revision 1.12 Copyright notice VisualTime is a trademark of Visualtime Corporation. Microsoft Outlook, Active Directory, SQL Server and Exchange are trademarks of Microsoft
More informationTRUE PERFORMANCE ENGINEERING
TRUE PERFORMANCE ENGINEERING Quality with Testing, Testing with Quality WHITE PAPER TWO CONTENTS Introduction 3 The Challenges 3 Dependable Applications Testing 3 Traditional Load Testing 4 Large Capital
More informationWeb Cloud Architecture
Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. urbain@msoe.edu Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented
More information1 (11) Paperiton DMS Document Management System System Requirements Release: 2012/04 2012-04-16
1 (11) Paperiton DMS Document Management System System Requirements Release: 2012/04 2012-04-16 2 (11) 1. This document describes the technical system requirements for Paperiton DMS Document Management
More informationVisualizing an OrientDB Graph Database with KeyLines
Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines 1! Introduction 2! What is a graph database? 2! What is OrientDB? 2! Why visualize OrientDB? 3!
More informationWeb Conferencing Version 8.3 Troubleshooting Guide
System Requirements General Requirements Web Conferencing Version 8.3 Troubleshooting Guide Listed below are the minimum requirements for participants accessing the web conferencing service. Systems which
More informationIntroducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
More informationWhat is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World
COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for
More informationCrosswalk: build world class hybrid mobile apps
Crosswalk: build world class hybrid mobile apps Ningxin Hu Intel Today s Hybrid Mobile Apps Application HTML CSS JS Extensions WebView of Operating System (Tizen, Android, etc.,) 2 State of Art HTML5 performance
More informationAsta Powerproject Enterprise
Asta Powerproject Enterprise Overview and System Requirements Guide Asta Development plc Kingston House Goodsons Mews Wellington Street Thame Oxfordshire OX9 3BX United Kingdom Tel: +44 (0)1844 261700
More informationPoint of View ProTab 3XXL IPS - Android 4.0 Tablet PC. Contents... 1 General notices for use... 2 Disclaimer... 2 Box Contents...
Point of View ProTab 3XXL IPS - Android 4.0 Tablet PC English Contents Contents... 1 General notices for use... 2 Disclaimer... 2 Box Contents... 2 1.0 Product basics... 3 1.1 Buttons and connections...
More informationFirefox for Android. Reviewer s Guide. Contact us: press@mozilla.com
Reviewer s Guide Contact us: press@mozilla.com Table of Contents About Mozilla Firefox 1 Move at the Speed of the Web 2 Get Started 3 Mobile Browsing Upgrade 4 Get Up and Go 6 Customize On the Go 7 Privacy
More informationOpenEdge and Mobile Applications
PUG-Norway OpenEdge and Mobile Applications Gus Björklund. Wizard. Progress. PUG-Norway, Oslo, Norge, tirsdag 05.mars 2013 FinPUG, S/S Borea, Turku, Finland, 7-8.3.2013 Reminder: Turn your cell phones
More informationA Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.
A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved. 1 The Mobile Web refers to access to the world wide web, i.e. the use of browser-based Internet services,
More informationUnity web- player issues in browsers & in client system
Software /Hardware requirements for unity web player i) Software Requirement Operating System: Windows XP or later; Mac OS X 10.5 or later. ii) Graphics Card: Pretty much any 3D graphics card, depending
More informationiphone Native Client for Sugar CRM (isugarcrm)
iphone Native Client for Sugar CRM (isugarcrm) Installation Guide Imaginea Copyright 2008. All rights reserved. iphone Native Client for SugarCRM Installation Guide ID 7000-000 December 2008 Imaginea 301
More informationCA Productivity Accelerator v12.1.0.1:
CA Productivity Accelerator v12.1.0.1: Technical Specifications CA Productivity Accelerator is a single, synchronized content development platform which allows organizations deliver a broad range of user
More informationPLATO Learning Environment System and Configuration Requirements for workstations. October 27th, 2008
PLATO Learning Environment System and Configuration Requirements for workstations October 27th, 2008 Windows 2000 Professional with SP4 Windows XP Professional with SP2 Windows XP Home Edition with SP2
More informationInternet Content Distribution
Internet Content Distribution Chapter 2: Server-Side Techniques (TUD Student Use Only) Chapter Outline Server-side techniques for content distribution Goals Mirrors Server farms Surrogates DNS load balancing
More informationDEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5
DEPLOYMENT GUIDE Version 1.1 Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Citrix Presentation Server Prerequisites
More informationDEPLOYMENT GUIDE. Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0
DEPLOYMENT GUIDE Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0 Introducing the F5 and Microsoft Dynamics CRM configuration Microsoft Dynamics CRM is a full customer relationship
More informationDeveloping Fleet and Asset Tracking Solutions with Web Maps
Developing Fleet and Asset Tracking Solutions with Web Maps Introduction Many organizations have mobile field staff that perform business processes away from the office which include sales, service, maintenance,
More informationPIVOTAL CRM ARCHITECTURE
WHITEPAPER PIVOTAL CRM ARCHITECTURE Built for Enterprise Performance and Scalability WHITEPAPER PIVOTAL CRM ARCHITECTURE 2 ABOUT Performance and scalability are important considerations in any CRM selection
More informationAdding Panoramas to Google Maps Using Ajax
Adding Panoramas to Google Maps Using Ajax Derek Bradley Department of Computer Science University of British Columbia Abstract This project is an implementation of an Ajax web application. AJAX is a new
More informationFront-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
More informationWeb Applications Come of Age
Web Applications Come of Age Table of Contents Executive Summary 1 A Brief History of Web Development 2 The JS Web App: A New Paradigm 4 Request-Response Model 5 JavaScript Web Application Model 7 Why
More informationChallenges in Android Application Development: A Case Study
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 5, May 2015, pg.294
More informationUpdate logo and logo link on A Master. Update Date and Product on B Master
Cover Be sure to: Update META data Update logo and logo link on A Master Update Date and Product on B Master Web Performance Metrics 101 Contents Preface...3 Response Time...4 DNS Resolution Time... 4
More informationProgramming IoT Gateways With macchina.io
Programming IoT Gateways With macchina.io Günter Obiltschnig Applied Informatics Software Engineering GmbH Maria Elend 143 9182 Maria Elend Austria guenter.obiltschnig@appinf.com This article shows how
More informationCross Platform Applications with IBM Worklight
IJCSNS International Journal of Computer Science and Network Security, VOL.15 No.11, November 2015 101 Cross Platform Applications with IBM Worklight P.S.S.Vara Prasad and Mrs.S.Durga Devi Dept. of IT
More information