Google Answers Logo
View Question
 
Q: Offline browsing / synchronization for Web-based service ( Answered 5 out of 5 stars,   1 Comment )
Question  
Subject: Offline browsing / synchronization for Web-based service
Category: Computers > Internet
Asked by: marcfest-ga
List Price: $20.00
Posted: 21 Jan 2003 07:02 PST
Expires: 20 Feb 2003 07:02 PST
Question ID: 146462
I'm the creator of www.OnlineHomeBase.com. It's basically a Web-based
interface that uses standard form post submissions to update a
server-side database. In other words, people have to be online to use
it. Many users are asking for a way to be able to synchronize the
service with a Palm or to use it offline on their laptops while on a
flight etc.

Obviously, while offline, they would not be able to access the
server's database and retrieve information -- unless I found a way to
mirror all their data onto the local machine they're using. FYI:
OnlineHomeBase uses PERL, Linux, mySQL, and Apache (although I don't
think this makes a difference for this issue)

Here's my question: What strategies / technologies can I employ to
give users a maximum of offline functionality with this kind of
service? What are my options? You can check out OnlineHomeBase by
signing up at www.OnlineHomeBase.com. It's free. Thank you.

Marc Fest
Answer  
Subject: Re: Offline browsing / synchronization for Web-based service
Answered By: sycophant-ga on 24 Jan 2003 03:11 PST
Rated:5 out of 5 stars
 
Obviously allowing them to pull data onto their systems should not be
to difficult, as it should be elemental to add a system whereby they
are request a static HTML version of the page. This can then be stored
for offline browsing, which would actually be pretty useful really.
The simplest way I can think to do this would be to have a page called
something like www.OnlineHomeBase.com/static which, when visited would
produce a static Calendar and To-Do list, as determined by user
settings. This would be the simplest way to tie in with the offline
browsing in systems like MSIE and Netscape, as they could cache a
static page and would refresh it each time they were online.

The much more difficult challenge is to transfer data the other way,
without writing a specific application, it is pretty much impossible
to hold submitted data from a website for synchronisation when you are
next online. And I will assume you do not want to have to create
specific applications for each platform people may be using - it turns
a nice compact website into a far more complex system.

However, there is ar least one simple way to submit information back
to your database, and that is email. Most email clients are more than
happy to hold an email that is composed offline and then send it when
a connection becomes available. Furthermore, with short email services
available from many cellphones and via SMS with services like M-Mail
(http://www.connectotel.com/sms/mmail.html) it is possible to make
simple updates while on the road.

I have used exactly this technology to allow me to make updates to my
website remotely without needing access to an FTP client or even a web
browser.

Obviously this will require a fairly comprehensive command system to
allow for data to be updated via a medium as freeform as email,
although templates could be provided, and you seem to have some
flexability already in your data input.

These two methods are both easily within the reach of most users
without the need for alterations or upgrades to existing applications,
and without the need for additional software.

Another option, as prassoon touched on, is XML or similar file
formats. Many of your users may have calendars and to-do software on
their computers, it maybe possible for some of them to synchronise
data using simple open file formats. However, I have been unable to
find any good examples of what applications may do this.

However, if you are game to develop a client-side application to
accompany your site, I would suggest an ideal way to communicate with
your database is by the use of XML-RPC, which will allow an
application on a user's computer to make remote procedure calls to
your backend and update data simply and efficently.

These methods are ones I proposed when developing a web-based
application with a similar intent to yours. After looking at a few
options, we decided that adapting our application to the technologies
already in use by the users was the best option.

For information of XML-RPC in Perl, see the XML-RPC Howto, which has
examples in many languages:
http://xmlrpc-c.sourceforge.net/xmlrpc-howto/xmlrpc-howto.html

Let me know if you think this won't work for you and I can look at
some of the other technologies I have passed over in the past, however
I think this is the most straight forward and simple approach.

Regards, 
sycophant-ga
marcfest-ga rated this answer:5 out of 5 stars

Comments  
Subject: Re: Offline browsing / synchronization for Web-based service
From: prassoon-ga on 24 Jan 2003 02:20 PST
 
hi there, i have a suggession for u.. it would be nice if u provide a
utility to the PDA users to download their "sheet" which you have to
sent in XML format. The users can edit it (the utility should have the
provision for that) and when they want to syncronize it, the utility
should be able to connect to your sever and syncronize the data with
the XML send from the PDA.
 
thank you

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy