First of all, thanks Freenet for giving me this GSOC opportunity.

Objective 1 (High Priority):

To provide android support to securely establish darknet connections, in a
user friendly way, using various options like QR, Wi-Fi Direct etc. i.e we
have android mobile nodes related to parent node. When two such mobile
nodes agree upon, a darknet connection is established between parents

   - A method to exchange node references between two android mobiles, both
   running light-weight freenet apps.
   - A method to connect the mobile node to its parent and sync the darknet
   peers


Objective 2:

To attempt an initial port of fred to android

Though these two objectives seem distinct at first glance, they relate in
the long run. For example, to provide sneakernet support utilizing the high
bandwidth of Wi-Fi direct. Refer:
https://emu.freenetproject.org/pipermail/devl/2013-March/036887.html


Update :

I have started dealing with easy things for an android port first. One
realization was java awt package (images etc.) is not available in android.
So, I had to replace all the usages of java awt with their android
equivalents (android.graphics package). This is also helpful in objective
#1 to handle QR images on android.

Also, I have tested the LZMA compression library and the related fred code
on android. It seems to work perfectly i.e. compress and read back cycle
using both oldLZMACompressor.java and newLZMACompressor.java.

The github link for android port under development and related testing is
https://github.com/NiteshBharadwaj/Fred-Staging-Android

With respect to QR, I have cloned Operheim's implementation of
NoderefQRCode which is a plugin to freenet and can convert node references
into QR code and decode them back.
https://github.com/Thynix/NoderefQRCode

Since, this part is already implemented by Operheim, I have just run a few
tests.
I tried to scan the generated QR using popular applications available on
google app store. It could decode correctly 7 out of 10 times while 3 times
it decoded a random number!
Using the original decoder (in NoderefQR), it gave similar results except
that instead of random number it ran into check sum exception once or twice.

The basic problem I noticed is bigger the size of the string to be decoded,
the longer it takes (quite irritating) and more the chances of a wrong
decode.

During the planning stage, we thought about using QR codes only to
establish Wi-Fi Direct connection between two mobiles. The actual node
references are exchanged via Wi-Fi direct. This seems a better option
compared to encoding whole nodereference in QR (We could provide multiple
options anyway). The high band-width during such transfer can also be
utilized for sneakernet support later on.

Specific Questions:

1) (Related to darknet support) On the main freenet node, should I let this
be an optional plugin or directly add options to fred-staging  to
synchronize peers with its mobile node.

2) (Related to android port) db4o offers a package Db4OEmbedded and had
several positive reviews online. So, is it still necessary to rip out db4o
from fred?


Suggestions and Comments are most welcome.

Thanks for reading through!

For more details related to project, please visit
http://niteshgsoc2013.blogspot.in/
_______________________________________________
Devl mailing list
[email protected]
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to