Developing Offline Web Application



Similar documents
Rich Internet Applications

Chapter 12: Advanced topic Web 2.0

Mobile App Framework For any Website

Web Design Technology

Google Drive lets you store and share all your stuff, including documents, videos, images and other files that are important to

PC CHECKING MINDTAP SYSTEM REQUIREMENTS

HTML5 the new. standard for Interactive Web

REST-based Offline System

Table of contents. HTML5 Data Bindings SEO DMXzone

ArcGIS Web Mapping. Sam Berg, esri

Download Google Drive to windows 7

Learning Management System (LMS) Quick Tips. Contents LMS REFERENCE GUIDE

Seavus Group All rights reserved

Upgrade to Microsoft Web Applications

Design and Functional Specification

How to Complete the Online Course Work for an Entry Level Clinic

Rich Internet Applications

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Web Development. How the Web Works 3/3/2015. Clients / Server

LMS 365 Learning Module Builder Add-in Installation Guide VERSION x

Dovico Timesheet v12 INSTALLATION GUIDE

CA Productivity Accelerator v :

Using the owncloud Android App

Best Practice Guide for constructing a study area in studentcentral which is designed for friendly viewing in Blackboard Mobile Learn

Experimenting in the domain of RIA's and Web 2.0

Mobility with Eye-Fi Scanning Guide

Alerts. Some Alerts give you unique options for customizing the messages you receive. Calendar events, for instance, allow you to set how far in

Programming in HTML5 with JavaScript and CSS3

Firefox for Android. Reviewer s Guide. Contact us: press@mozilla.com

Quick Reference / Install Guide v1.3

Native v HTML5 An Event Planner s Primer

How to use Google Drive

LMS 365 Learning Module Builder Add-in User Guide VERSION X

INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0

Technical Specifications. Technical requirements for Eversheds E-Learning and Learning Management System (LMS)

Module 1. Internet Basics. Participant s Guide

PROJECT MANAGEMENT SYSTEM

Drive. Etobicoke-Mimico Watershed Coalition

DreamFactory & Modus Create Case Study

AJAX: Highly Interactive Web Applications. Jason Giglio.

KonyOne Server Prerequisites _ MS SQL Server

How To Install the Virtual Learning App

Mobile Web Applications using HTML5. L. Cotfas 14 Dec. 2011

Lesson One Creating the Website and the WordPress Process

The Little Real-time Web Development Book

Checking Browser Settings, and Basic System Requirements for QuestionPoint

SplendorNet. Pvt. Ltd. www. www. www. Riding The Future. Portfolio. You could say, we do it all... (and you'd be right.)

Create a Database Driven Application

Going Mobile-does your website work on mobile devices?

Welcome to Office 365!

Accessing Windows 7 in the Student Labs

Digital Storage Options MAKING ROOM IN THE CLOUD

HTML5 & Digital Signage

Using D2L Brightspace for the First Time

Cross Bulk Mailer 6.1 User Guide

<Insert Picture Here> Oracle Application Express 4.0

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Open Source Content Management System for content development: a comparative study

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

Building Library Website using Drupal

WordPress & RSS: What You Need to Know

Getting Started with Attunity CloudBeam for Azure SQL Data Warehouse BYOL

Why HTML5 Tests the Limits of Automated Testing Solutions

MEGA Web Application Architecture Overview MEGA 2009 SP4

1 (11) Paperiton DMS Document Management System System Requirements Release: 2012/

Additional information >>> HERE <<<

User Guide. CIIT Faculty/Staff Portal. For using. Version 1.0. Prepared by: CIIT Web Team. COMSATS Institute of Information Technology, Islamabad

Introduction to Cloud Storage GOOGLE DRIVE

How To Develop A Mobile App With Phonegap

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 1

cbox YOUR FILES GO MOBILE! FOR ANDROID SMARTPHONES AND TABLETS USER MANUAL

Worksheet - Document management and Cloud Services on the ipad

The Commerce Trust Company

How to Setup, Install & Run a Website on your Local Computer. For WordPress - on an Offline Server - WAMP

Best Free Magento Extensions for Social Network By : M Connect Media

How To Create A Website In Drupal 2.3.3

IIT MOBILEPRINT. Mobileprint Workflow

Lesson 7 - Website Administration

OXFORD PREMIUM REGISTRATION. IMPORTANT Please ensure you have registered with Oxford Premium before using our digital resources.

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

Resco CRM Guide. Get to know Resco CRM

Accessing vlabs using the VMware Horizon View Client for OSX

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Zimbra to Gmail Migration

Switching to Gmail from Microsoft Outlook

RDM+ Desktop for Windows Getting Started Guide

Reading an sent with Voltage Secur . Using the Voltage Secur Zero Download Messenger (ZDM)

Visualizing an OrientDB Graph Database with KeyLines

Transitioning Your School Account

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

Developing Cross-platform Mobile and Web Apps

Adobe Connect Support Guidelines

Remote Desktop Web Access. Using Remote Desktop Web Access

Credits: Some of the slides are based on material adapted from

Transcription:

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 samples and tools Web application implementation Experimental result Conclusion 2

Motivation Software is increasingly available in the form of web application Sometimes web application users are seriously affected by disconnected Internet connection Developing web application that can be accessed both online and offline is thus necessary 3

The Web Will Be Everywhere Mobile devices (iphone, PDA, Palm) Desktop and laptop Widgets TV The browser will be fast Google Chrome, Firefox, Internet Explorer 4

Why Offline? Reliability: sometimes we really need to get data at that moment Performance: local acceleration Convenience: Not having to remember where we store data (just search) Usually human beings are offline more than online! 5

Sample Web Applications with Gears YouTube: upload large size videos Wordpress: speed up every page load and enable users to blog faster Google Reader: allow users to access the RSS feeds when they are offline Gmail: enable users to read, reply, and search emails when they are offline 6

YouTube Uploader Powered by Gears Upload each video up to 1 GB without installing a dedicated software 7

Speed up WordPress with Gears With Gears enabled, most of WordPress's iamges, scripts and CSS files will be stored locally on a user's computer 8

Read Feeds When You Aren t Online Click the green icon to download the most recent articles 1 2 9

Gmail with Offline Enabled Setting Install offline Synchronizing access 10

Offline Web Application Tools Microsoft silverlight Need to know.net programming Adobe Integrated Runtime (AIR) Must know Flash and AIR platform Gears Need to know only javascript 11

Gears Open source browser extension: enables more powerful web applications Let web applications interact naturally with your desktop Store data locally in a fully searchable database Run JavaScript in the background to improve performance 12

The Web with AJAX and Gears AJAX and Gears in the web environment and native environment 13

AJAX Architecture 14

Offline Architecture Read and write using local store Changes are queued for later synchronization Server communication is completely decoupled from UI actions, happens periodically whenever there is a connection 15

Main Modules in Gears API LocalServer Cache and serve application resources (HTML, JavaScript, Images, etc.) locally Database Store data locally in a fully searchable relational database WorkerPool Make your web applications more responsive by performing resource intensive operations asynchronously 16

Agenda Motivation Offline web application samples and tools Web application implementation Experimental result Conclusion 17

Web Application Architecture 18

Web Application Interface Registration form and registered users 19

Main Web Development Procedure Check whether Gears has been installed Store data in a local database Store data in a server database Synchronize data between server and local databases 20

Check whether Gears installed Download and use file gears_init.js <script src="gears_init.js"></script> <script> if (!window.google!google.gears) { location.href= "http://gears.google.com/?action=install& message=<your welcome message>" + "&return=<your website url>"; } </script> 21

try { Store Data in a Local Database (SQLite) db = google.gears.factory.create('beta.database'); if (db) { db.open('db'); db.execute('create table if not exists users' + ' (firstname varchar(255), } } catch (ex) { alert(ex.message); } 22

Store Data in a Server Database (MySQL) <?php // connect and select database mysql_select_db("registerdb") or die(mysql_error()); if ($method == "access") { // use SQL statements to retrieve data } else if ($method == "update") { // use SQL statements to insert data } 23

Copy Data from Server DB to Local DB var sync_script = 'http://host/directory/sync_data.php'; var request = google.gears.factory.create('beta.httprequest'); request.open('post', sync_script); request.setrequestheader("content type","application/x wwwform urlencoded"); request.onreadystatechange = function() { if (request.readystate == 4) { // insert data received from server db to local db }; request.send(params); 24

Copy Data from Local DB to Server DB var request = google.gears.factory.create('beta.httprequest'); var params="method=update&f="+firstnames[index]; request.open('post', sync_script); request.setrequestheader("contenttype","application/x www form urlencoded"); request.send(params); 25

Experimental Result Check whether the web application can work offline User can access and fill out the form Check whether the application can synchronize data Multiple users view the same result 26

Check Offline Web App Ability (1/3) Select Work Offline at Browser Menu 27

Check Offline Web App Ability (2/3) Use the Web from the browser with offline mode 28

Check Offline Web App Ability (3/3) 29

Check Synchronization: User 1 30

Check Synchronization: User 2 31

Conclusion Web applications have been integrated into our daily life Need to make web application offline To access our data at any time To speed up the web application We have developed offline web application using Gears 32

References [1] Dion Almaer, How to take your Web Application Offline with Google Gears, http://www.slideshare.net/dion/future of web apps google gears [2] Google System Blog, YouTube Uploader Powered by Gears, http://googlesystem.blogspot.com/2008/08/youtube uploader powered by gea [3] Wordpress Security, How to enable Google Gears in WordPress 2.7, http://wpsecurity.org/10/how to enable google gears in wordpress 27 [4] Google, Google Reader Offline reading, http://www.google.com/help/reader/offline.html [5] Orkut Sharing, New in Gmail Labs: Use Gmail Offline, http://orkutsharing.blogspot.com/2009/01/new in gmail labs use gmail offlin 33