Browse

From OLPC
Revision as of 04:56, 4 September 2007 by Erikos (talk | contribs) (Collaboration: Added information about syncing of the shared links when members leave and rejoin and some more tray work)
Jump to: navigation, search
Browser
File:Web.png
Status: in the builds
Version: 43
Base: Yes
Source: [1]
l10n: missing
Contributors
sugar developers

Description & Goals

Summary

Currently the Web browser is a simple application that uses the Gecko browser engine that is also used by Firefox. Our browser is much simpler than Firefox and is not directly compatible with Firefox add-ins. Applications can also use xulrunner which includes Javascript capability.

Goals

- displaying of web pages
- display images like for example png
- place for sharing browsable information

Collaboration

The web-activity does feature collaboration. To share your session you select the scope in the Activity tab of the web-activity. The icon will be visible in the mesh view and the session can be joined by others. What is shared in the case of the web-activity are links and their information. To share a link you have to hit the 'star button' in the Browse tab right to the entry for the url. This will generate a link from the currently visited url, creates a thumbnail of the visible page and add it to a tray at the bottom of the page. The link contains the thumbnail the title of the page and the owner of the link which is displayed in the palette visible when you hover over the link. The same information will be visible to the other members of this shared session. They can then decide whether they want to follow the link (browse to the web-page associated with it) or not.

We decided to implement the friends or trust model. This means that any member of the shared session can add a link. This is different then a possible teachers model, where the owner of the shared activity browse links and the members of the session have to follow these actions. The issue of someone adding garbage or undesired information to the session has been taken care of by displaying information about the creator of a link, so we make this a social problem. The name and the XO colors are displayed with the link in the tray. You can remove a link from your tray as well. This happens locally since we want to avoid someone removing links from all the members in the session.

Since bundle version 42 you can hide and show the tray to not use so much space from the actual canvas. This can be toggled with the ctrl+s keystroke. This keystroke might change soon and an additional solution will be presented to toggle the tray's visibility.

With bundle version 47 we are introducing the syncing of the shared links when members leave and rejoin (with possible changes in their set of links). Member A might add links when member B is not around and B might do the same. When both then come together again a syncing of their state needs to be done. When you delete a link from your tray it will not be added when you meet with another member where this link is still present in his tray. Below we describe scenarios which should work by now.

a)

- A opens an instance and shares it
- B joins this instance
- they share information A<->B
- B quits
- A changes his information
- B resumes from journal (A's mesh view instance is still available)
---> B joins and gets synced

b)

- A opens an instance and shares it
- B joins this instance
- they share information A<->B
- B quits
- B resumes from journal (A's mesh view instance is not available anymore)
---> B will share his instance, C joins and gets synced

c)

- A opens an instance and shares it
- B joins this instance
- they share information A<->B
- A quits (modifies his version)
- B quits (modifies his version)
- A and B resumes from journal and they get synced

A check based on a hash key generated from the url allows us to deny to add a link twice. This does not include if you have deleted a link from the tray once. This link can be added again.

Screenshots

This screenshot shows the sharing feature. The added links are coming up in the tray at the bottom of the page
Play the memorize game - single user mode

Flash in the default web browser

To install flash player plugin 9 for the gecko/xulrunner web browser, do the following:

  • Open a terminal as root
  • Download the plugin file:
wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz
  • Unpack it:
tar xzvf install_flash_player_9_linux.tar.gz
  • Run the flashplayer-installer and follow instructions (the install folder is /usr/lib/xulrunner-XXXXX/):
./flashplayer-installer

Possible alternatives

WebKit

Dan Winship did a quick and dirty build and port of webkit to use in the web browser activity. It did work but the upstream support for Gtk is in its relative infancy and it was clear due to crashes and other symptoms that it will be a long time before WebKit is ready for primetime for our project. It was, however, a good bit faster and smaller. But not an order of magnitude.

Dillo

The small web browser capable of running in an embedded environment

Dillo website

Opera

Opera has been successfully installed.

Firefox 2.0

It is also possible to install Firefox2