Key feature updates: 1) Bundled Zxing QR scanner app with the our app: The original code hosted by zxing had to be modified slightly in order to bundle it. Some changes to not to allow our app from being the default barcode scanner and some changes to the deprecated methods used there. End result - a repository resembling the original repository has to be maintained in order to allow building from source code. Don't know anything about copyrights etc.
2) QR to bootstrap Wi-Fi direct and bluetooth: I've followed similar methods in both Wi-Fi direct and bluetooth with the ascending hierarchical order - A button (to start exchange process) - Start a server on each of the individual mobiles - Generate QRcode of MAC+IP+port+WPA password in case of wifi-direct and only MAC in case of bluetooth - One of the device-user clicks on 'scan QR' button and scans QR from other mobile - Close server on one mobile (on which user has clicked 'scan-QR') - Initiate connection to the other mobile - Once connected, exchange noderefs In case of Wi-Fi direct, the user interaction is complete as soon as he/she scans the QR In case of 'previously unpaired' bluetooth devices, qr scan results in popping of pairing notifications on both mobiles. Each of the user have to accept the pair requests from their notification bars. Only then a connection is established I can try to avoid the above process by using reflections and messing with android but can't guarantee if it is possible. If this is done we can also generate a random key when starting bluetooth server and include it in QR. - After noderef exchange is complete, a text box containing complete noderef pops up. User needs to manually accept the received reference here 3) Nfc to bootstrap: Same as above except that the message containing MAC etc. is also encoded as an NDEF message if the mobile has nfc adapter. Instead of scanning, the two mobiles need to be brought back to back. The default android nfc animation starts asking user to click to beam content. The wikipedia page suggests that nfc exchange can be eavesdropped. So, theoretically, someone can listen to the broadcast and connect to our mobile before our peer mobile connects to us and pulls our noderef. Though the two mobiles need to be close to each other for nfc message exchange, it can be eavesdropped from a distance of 5-10m with dedicated hardware as mentioned in the following link: http://en.wikipedia.org/wiki/Near_field_communication In this respect, bluetooth is more secure as it requires us to click on pair button after nfc beaming Boils down to #easytouseislesssecure Work to be done: - Testing and fixing bugs especially related to closing the connections properly - Displaying messages to the user on a message text box regarding the status of our app (connecting, connected, transferring, success, failure ...) - Adding android application record to the ndef message. This allows the other mobile to redirect to our playstore page (when we have one) if app isn't previously installed - Exchange over internet(?) App: https://github.com/NiteshBharadwaj/Freenet/tree/master/src _______________________________________________ Devl mailing list Devl@freenetproject.org https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl