Showing posts with label Google Gears. Show all posts
Showing posts with label Google Gears. Show all posts

Thursday, 4 September 2008

G-chrome - its implication for learning

The 800-pound G has launched its browser, albeit beta 0.2 and has attracted a lot of attention.

First, the bad news. For learning technology developers, we have one more browser to check in order to ensure that our products are compatible with. Can we test against Google Chrome in lieu of Safari? Probably not!

The potential good news.

Google Chrome has built in Prism functionality. By a single click, a shortcut is created on the desktop for the current web application. This is useful for courses if such application, when created, can also store the user credentials. If yes, students access to courses will be greatly simplified. At the time of writing, Google Chrome does not store any user credential.

Google is also working on a technology called Google Gears which makes a web application into an offline application by storing data locally at the client's harddisk. When such application is installed, the access of some local resources by javascript have been relaxed to allow much smoother and streamline interaction with the application. Again, at this point in time, I don't see signs that Google Gears has been integrated into Google Chrome.

The real good news.

This is a recognition of the importance of Javascript as a significant programming language and that the current Javascript virtual machine is not fast enough. While Google is not the first to do that, (Apple is making significant advances on which Google Chrome is based and Mozilla organisation is also implementing significantly faster virtual machine for its Firefox 3.1 browser), the emphasis on speed in Google Chrome's launch did throw some weight behind such an important issue.

After some preliminary reading, the improvement makes to the virtual machine by these open source effects (Apple, Mozilla and Google) are complementary and not mutually exclusive. Hopefully, someone will pull them together to give us a really fast and robust Javascript virtual machine.

Tuesday, 26 June 2007

More Google Gears Tech -2

Julien Couvreur has left a comment in David Van Couvering's post

Building P2P technology into the browser or into the browser's local server, is attractive but challenging.

I've done some small experiments building an HTTP entry point to a simple P2P service, so that I could access my personal files stored on various computers through a unified interface.


From what I can understand, it is more like a Private Information Network than P2P.

:-)

Monday, 18 June 2007

More Google Gears Tech

Laurence Rozier responded to my previous post:

I think Albert Ip provides some reasonable definitions of the terms peer-to-peer and mesh networking but as with a forest(especially a rainforest) precise definitions of trees, to degree they can be said to exist, tend to obscure the forestness of the tree.


He further adds:
Croquet is p2p at it’s core but each instance of Croquet is perfectly capable of simultaneously behaving as a client and/or server. Similarly, Jini/Javaspaces are not inherently p2p but can be configured to function as a p2p service.


Again, I believe there is a difference in our underlying assumption. Laurence, while talking about Google Gears (GG) which is a browser-based technology, is happy to extend the "forest" to include non-browser-based technologies. I have stayed within Web-based technologies and argued that the current GG implementation cannot provide the fundamental features to support peer-to-peer or mesh network.

Adding a local data storage does NOT provide the essential technical infra-structure for peer-to-peer or mesh network!

However, for those hard-core technies, some limited peer-to-peer techniques are available today without the need to invoke GG.

Firefox has an extension which adds a server to the browser, POW. With a web server incorporated, smart programmer will be able to enable ways of having a webpage calls the local web server. That's the enabling technology we need to kick-start peer-to-peer with web-technology.

Of course, there are several limitations to such an approach. But when more people are interested, things will start to look interesting.

Friday, 8 June 2007

Genie Gears Up

Laurence Rozier is optimistic that Google Gears (GG) can be extended to include "mesh" and "peers" based on security page for Google Gears:

Sometimes web applications on different origins may want to share resources. We are investigating ideas for granting permissions across origins.


I must say that Laurence and I must have different understanding of "mesh" and "peers".

There are several types of collaborations:

1. A website which acts as a post master and relay data among users log on to its server(s), a star-collaborative model, e.g. discussion forum. GG can certainly helps increase the concurrent users log into a system by caching some previous data local to the users.

2. A web page pulls together several resources from different sources into to provide added-value to the user. That's the current "mesh-up" model. Most of these are done via server-side technique. The originating server (the one which sends the web page) performs web service calls to the different sources and then process and present to the user. A client-side solution will be pulling the data from different sources, massage the data on the client-side (typically using Javascript) and present via updating different elements of the web page DOM. The second scenario to work, the web service must be able to return a JSON string and allows a call back function. (See JSONscriptRequest for a technique to implement the later.) If the web service only returns a XML string, cross-domain scripting restriction will block the Javascript from processing the returned XML and block insertion to the DOM.

3. This is similar to 1 above, but this time the user will arbitrarily select star-model collaborative services (1) to connect AND enable users from different collaborative services to exchange data. That's what I refer to as "peers-to-peers" service. Currently, I know of no pure browser-based service of this type.

4. Extending from (3), if user A can, via connected to user B, further support data exchange from those connected A (such as A1, A2,...) with those connected to B (such as B1, B2,...) AND truly enable a mesh, then I call this "mesh".

Web is basically a client-server structure, (3) and (4) above are definitely pushing the web model to its limits.

Going back to collaboration type (2) above, the client-side implementation is already posing a serious security threat. Firefox 2.0 trusted extensions cannot help in this case without the use of extensions or chrome code. Current GG only use the "same origin" policy. I hope the clever guys at Google can come up with something to enable granting permissions across origins in a scalable way.

Wednesday, 6 June 2007

Gear Mesh: Power To The Peers

While everyone is putting forward about how great Google Gears (GG) would be, pushing it to include "mesh" and "peers" [I assume is peers to peers (p2p) is a bit over the edge.

I agree that GG would potentially be able to increase the capacity to serve more concurrent users in a collaboration system. However, creating a browser-based solution do "mesh" or p2p is a totally different ball game. First of all, for security concerns, scripts will not be allowed to call arbitrary servers (AJAX is no exception) and hence one user logging to multiple "collaborating" servers is a technical challenge. Establishing connections to other peers without an intermediate server acting as a post office, meaning each user is both a client and a server at least after connection is established, is even more difficult.