We should try to release a beta of Freenet 0.8 in the reasonably near future. 
Ian has suggested mid-March. I'm of the view that late March is more 
feasible. This is on the basis that a lot of debugging will happen after the 
beta! Here's an overview of the features and bugs that we need to deal with 
most urgently:

1. BROWSER RELATED STUFF

Because we got rid of the Firefox profile, for excellent reasons, we now have 
to make Freenet work better with an un-tweaked browser:
- History cloaking. I am working on this at present; it should be finished 
reasonably soon. Basically we add a ?secureid= parameter to every page on 
fproxy (whether on freenet or generated). This can of course be turned off. 
The Browse Freenet script will read a file and open the correct page; users 
will be encouraged to paste keys into the open-a-key box rather than 
appending them to http://127.0.0.1:8888/.
- Basic progress screen. When the user clicks on a link, Freenet should 
display a simple progress page, updated every 5 seconds. This will minimize 
the number of connections tied up by the browser, and may allow us to turn 
off the maximum size limit for data sent to the browser; it would be 
particularly impressive if somebody implemented a filter for e.g. mp3/ogg, 
but I'm not going to have time before 0.8.
- Turn off persistent connections support in the installer. Firefox and 
probably other browsers allow more connections if they are not persistent.

CAVEATS:
- I'm really not convinced that the basic progress screen on its own will 
yield adequate performance. It could be improved significantly by some 
javascript, but the real worry is once a page has loaded, it may have inline 
images which are over 64k and therefore not in the container, or which are 
not in the container because the site is over 2MB total, or which are fetched 
from other freesites. With the default limit of 8 connections per server, 
especially if the user opens multiple freesites in tabs, this could be a 
serious slowdown.
- The real solution is either an XULRunner-based (or similar) frontend (a lot 
of work), or some fairly heavy javascript to post loading graphics over every 
image that can't be immediately loaded, and poll fproxy frequently for 
updates. Or even reinstating the firefox profile, but that's hideously ugly. 
Even the basic click-on-a-link progress screen would benefit from some 
javascript, and I certainly don't have time to learn given a deadline.

2. DB4O

This is a major feature which has involved a great deal of work. It is mostly 
complete. The remaining issues:
- Finish and test deletion of unused data structures.
- Sort out the temporary bucket handling: The single-file temp buckets code 
has some serious problems, and in a wider sense we need garbage collection of 
unused buckets if they get forgotten about by a bug.
- Implement a preference for sending requests which have recently had 
successes. We have this at least partially on trunk, but the architecture is 
different.
- Sort out inserts. Inserts do seem to work, but large inserts cause OOMs, and 
inserts in general cause a lot of database access (= disk I/O). It may be 
necessary to refactor inserts to be handled on a segment basis, as requests 
are.

3. PLUGINS AND FREETALK

It would significantly improve Freenet's appeal to new users if we could 
include Freetalk.
- p0s has done lots of work on this. I am not 100% up to date at the moment; 
last I heard the NNTP interface was almost working and the web interface had 
the ability to display messages.
- Hopefully p0s will be able to bring this to something resembling production 
by the time 0.8 ships?
- Clearly it will be necessary to distribute updates to Freetalk. We have also 
had fairly serious problems with old versions of other plugins. Right now 
updating plugins is difficult and non-anonymous. IMHO it is necessary to 
implement auto-update of plugins over Freenet. Since Freetalk depends on the 
WoT plugin, we probably will need basic dependancy support too.

4. MISC UI ISSUES

There is much that can be done to improve the user interface, most of it 
relatively small changes:
- It is essential that the searching plugin work out of the box. We still get 
lots of complaints about Freenet lacking a search function. This is probably 
a loading order problem and should be relatively easy to fix. However the 
latest version of the wAnnA index doesn't work because of a metadata problem; 
this needs to be fixed urgently.
- Lots of small stuff e.g. moving messages to the friends page, just showing 
one useralert indicating new messages...
- Slightly larger stuff e.g. dividing the interface up and getting geeky stuff 
out of the way using submenus, making specific pages more user friendly (e.g. 
Friends).
- More work on the help toadlet may be a good idea.

5. OTHER STUFF

Various:
- We may or may not want to try to scale the number of peers with the 
bandwidth limit.
- Metadata changes: Currently splitfiles ignore the last data block for 
decoding. A new metadata format would solve this, as well as improving 
robustness against future bugs (we had silent data corruption for a while).
-------------- 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/20090107/27b57bc9/attachment.pgp>

Reply via email to