What is it?
Web2OS is a framework for online & offline rich internet applications. It works by giving you an intermediary proxy between the browser and the server, which can react to web requests as they pass through. Take a normal web application running on a browser:
Introduce an intelligent proxy between it and the server, and you have Web2OS:
What does it give me?
- offline access to web applications, synchronised when online e.g. Google Docs and Spreadsheets when on the plane, Basecamp project when at an unconnected client location.
- local backup storage of your internet data - your data is safe even if a startup goes away.
- integration with desktop applications - e.g. iCal or Outlook calendar synchronised with Google Calendar
- use web applications but with local data - e.g. Google Spreadsheets for the enterprise, no data beyond the firewall.
- local mashups - e.g. Excel data on google maps, direct metasearch, your own Netvibes, widgets without the server proxy bottleneck.
How does it work?
Current AJAX applications run on the browser and the server, and communicate using API calls between the two. Web2OS applications run on its own proxy, which sits in the middle between the browser and the server. By understanding the same API calls, it can talk with both the browser and the server without having to change the underlying AJAX application. For example, when web access is offline, the Web2OS proxy can act as the server to the browser. When online again, it can act as the browser to update the server with the changes made whilst offline. By passing through the API calls, it can copy the data sent between the client and server and store it locally. It can also add other data into the API results, allowing server based data and locally stored data to be combined and returned as one to the browser.What is the status of Web2OS?
Web2OS is currently in private Beta. To be invited, please register here. Browser support: Since Web2OS operates as a web proxy, it supports any HTTP compliant browser that can be configured to use a proxy. Host Operating Support: Windows 2000/XP/Vista, Mac OS-X, LinuxWhat applications exist for Web2OS?
When released, Web2OS applications will be listed, reviewed and downloadable from apps.web2os.com, in a similar fashion to greasemonkey's userscripts archive. For the initial Beta release, the following applications will be included:- Google Calendar
- offline access
- synchronise offline edits when back online
- synchronise with iCal
- synchronise with Outlook
- Google Mail
- offline access
- synchronise offline edits when back online
- Google Maps
- local mashup from Address Book or Outlook contacts
- Google Docs and Spreadsheets
- offline access
- synchronise offline edits when back online
How do I code for it?
The Web2OS proxy runs Javascript apps, and offers a Javascript web framework along the lines of Ruby on Rails. The framework encapsulates the request pass-through nature of a web proxy, allowing you to either capture, modify or respond locally to each request. SQLite, AppleScript and ActiveX are integrated into the javascript environment, allowing authenticated applications access to local resources. The best way to show this is by a simple example. Take a look...Is this secure?
Web2OS gives a sandboxed environment for javascript applications, similar to that used is a web browser, but incorporating some additional options:- Applications can only run on a matched URL.
This is normally the web address of the application, but can be defined to a specific URL (e.g. www.google.com/calendar) or a more general regular expression. - White list cross-site xmlhttprequest support.
Allow applications AJAX access to a defined set of destination URLs, allowing direct browser access to these addresses for javascript XMLhttprequest calls. - Seaparate SQLite database for each application.
Applications gets peristant offline SQL storage, but cannot directly access each others data. - Constrained local file read access.
Read files, but restricted to the application's folder / directory hierarchy. - Fine grained access control to Applescript or ActiveX/COM objects.
Only given to trusted applications, allowing native integration restricted to defined COM or Applescript objects, and only for defined URLs.
How do I get Web2OS?
To take advantage of Web2OS, you need to download and run it locally. This can either be on your own desktop, or on another machine on your network. For a laptop, local install is best. For an organisation, installing it upstream to the network proxy or access point gives company wide access without any client installations. For now, please register for the Beta.
News
News regarding Web2OS
Feedback
We'd welcome your feedback on Web2OS!