Khurram,
I wanted to give you some (belated) reaction to your initial release.
First, congratulations on getting it out and involving the community.
That's a great first step.
While you included documentation (good!), the package is missing
developer-focused API documentation. End-user documentation makes
less sense here, at least in my opinion.
I would expect a document that would explain to an OpenLaszlo developer
* What they can do with Laszlo on Gears
* How they can do it -- sample code showing features, simply
* Description for taking an existing OpenLaszlo application and
enabling it for offline use with Laszlo on Gears
* Installation docs
Another thing I'd suggest you focus on as you refine these APIs is to
make them very simple and very familiar to OpenLaszlo developers.
OpenLaszlo data APIs are XML-centric -- unlike the SQL./Javascript
data provided by Google Gears. The key is to make it so that an OL
developer can take advantage of these persistence features without
having to learn another framework.
Max's work with the database API was designed such that an OpenLaszlo
dataset could be "persistence-enabled" so that changes to the dataset
will be persisted into a data store automatically -- without any idea
of how the database or other persistent store works. That is the key
to its value -- an OpenLaszlo developer should not need to learn a
new API to get the benefit of a persistence framework.
I'd like to give you a view of the "competition" here -- see below.
Note the concise expression of the package's value; the developer-
focused introduction, the way the value-added features are called
out. You may not have enough time/resources to compete with Dojo's
efforts here, but I believe this is what developers expect.
How do plan to proceed with this effort?
- D.
Dojo is proud to announce a new beta release of Dojo Offline. This
release
has a huge amount of exciting new functionality, including a full
port to
Google Gears, a port from Dojo 0.4 to 0.9, and more.
Dojo Offline is an open-source toolkit that makes it easy to create
sophisticated, offline
web applications. It sits on top of Google Gears [http://
gears.google.com], a
plugin from Google that helps extend web browsers with new
functionality. Dojo
Offline makes working with Google Gears easier; extends it with
important
functionality; creates a higher-level API than Google Gears
provides; and
exposes developer productivity features. In particular, Dojo
Offline provides
the following functionality:
* An offline widget
[http://docs.google.com/View?docid=dhkhksk4_8gdp9gr#widget]
that you can easily embed in your web page with just a
few lines of code, automatically providing the user with
network feedback,
sync messages, offline instructions, and more
* A sync framework
[http://docs.google.com/View?docid=dhkhksk4_8gdp9gr#sync] to
help you store actions done while offline and sync
them with a server once back on the network
* Automatic network and application-availability detection
[http://docs.google.com/View?docid=dhkhksk4_8gdp9gr#network_status]
to determine when your application is on- or off-line so that you
can take appropriate action
* A slurp() method
[http://docs.google.com/View?docid=dhkhksk4_8gdp9gr#slurp] that
automatically scans the page and figures out all the
resources that you need offline, including images, stylesheets,
scripts,
etc.; this is much easier than having to manually maintain
which resources
should be available offline, especially during development.
* Dojo Storage
[http://docs.google.com/View?docid=dhkhksk4_8gdp9gr#dojo_storage],
an easy to use hashtable abstraction for storing offline data
for when you don't need the heaviness of Google Gear's SQL
abstraction;
under the covers Dojo Storage saves its data into Google Gears
* Dojo SQL [http://docs.google.com/View?
docid=dhkhksk4_8gdp9gr#dojo_sql], an
easy to use SQL layer that executes SQL statements and returns
them as
ordinary JavaScript objects
* New ENCRYPT() and DECRYPT() SQL keywords
[http://docs.google.com/View?docid=dhkhksk4_8gdp9gr#crypto]
that you can mix in when using Dojo
SQL, to get transparent cryptography for columns of data.
Cryptography is
done on a Google Worker Pool thread, so that the browser UI is
responsive.
* Integration with the rest of Dojo, such as the Dojo Event system
To get started: See the Dojo Offline home page
[http://dojotoolkit.org/offline];
read the new tutorial titled "Creating Offline Web Applications With
Dojo Offline" [http://docs.google.com/View?docid=dhkhksk4_8gdp9gr];
download [http://download.dojotoolkit.org/experimental/offline/
offline_sdk_0.9.zip]
the new
Dojo Offline 0.9 beta SDK;
and play [http://docs.google.com/View?docid=dhkhksk4_8gdp9gr#demos]
with the demos.
Best.
Brad