We have a lot of complaints on the uninstall survey about the firefox breakage 
bug. IMHO we should deal with this as soon as possible. The easiest way to 
deal with it is to periodically and/or after firefox exits, check the 
profiles.ini file to see whether the freenet profile has become the default, 
and if so, switch to the old default. This is incredibly ugly and nextgens 
thinks it may risk corruption in itself (IMHO this is unlikely, the format is 
very simple). And we might have to poll regularly, which is horrible.

The real browser-related issues are these:
1. Security: Browser history is accessible via javascript. There is no way to 
keep sites out of the browser history.
2. Performance: Freenet requests can take a long time. If the requests 
are "blocking", then the default browser connection limits are a big problem.

There are 3 basic options AFAICS:

1. Keep the system as it is, and implement whatever hacks are needed to 
prevent the default firefox profile becoming the freenet one.

2. Attempt to use a normal browser to access Freenet, and use javascript to 
circumvent the problems above. Delete the location bar, make a fake one of 
our own, don't actually change the URL so it doesn't go into the history, 
load stuff via XmlHttpRequest's to change the body. Implement a loading 
screen and poll every few seconds via XmlHttpRequest's (faster than 
refreshing) to update it. Do something similar with inlines. If javascript is 
turned off, fall back to current behaviour (with a basic loading screen) and 
warn the user (dismissably) that they must either turn javascript on or use a 
different browser on the web at large.

3. Implement our own browser using XULRunner. XULRunner provides a basic 
browser template that we can customise, the problem is it is absurdly basic - 
there is no right click menu for example! However it does solve the history 
problem more cleanly, and allows us to update the progress pages in real 
time.

Any views? IMHO option 1 is acceptable for the time being, the main ugliness 
is that we need to poll regularly from when the Browse Freenet script is run 
until after the browser exits; since the browser is run with -no-remote, it 
should run until the user quits it, and then return ...

There is significant support for option 3 on freenet.uservoice.com, however 
IMHO some of that results from the current poorness of the web interface.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20081231/1c17f070/attachment.pgp>

Reply via email to