The You-Me Drive
Software development is all about managing complexity and minimising risk - that is why we want to start in a small way, proving that the You-Me Drive concept works before commiting resources to develop new hardware.
Phase 1 is a feasibility study using existing hardware, (such as the ZSUN Wireless Wifi USB Smart Card Reader), and writing a simple graphical user interface for a PC.
This will allow us to experiment with the internal details such as P2P file sharing, metadata structure, Wi-Fi networking and user look and feel, and to make sure that the system is possible to build a system that is reliable and useful - in other words saleable.
It will not be particularly secure, as it will be vulnerable to many types of attack, not least from viruses on the PC's OS.
Phase 1 ends with a beta test of the complete You-Me Dongle system, saving data in files, checking the backup & restore functionality, consensus voting, and PIN replacement.
We may not manage to finish everything, but we should certainly get a better idea if Phase 2 is worth tackling.
There will be an open discussion of security policies and an investigation of possible attacks and methods to limit their effectiveness.
It is expected that new usage possibilities will become apparent, such as the storage of blockchain data across multiple YMDs, VOIP etc. etc.
The outcome, if all goes well, is a document defining the requirements for Phase 2.
Top level software development overview
You-Me Drive Software Development
2016 Oct 26
1. You-Me Drive Boot program - based on colorForth on SourceForge :
NASM assembler creates the colorForth system, plus colorForth source code, this is used to boot the PC or laptop. Development under Windows 7 or Ubuntu 16.04.
The USBloader program reads and writes USB devices under Windows.
2. You-Me Drive WiFi - based on zSun USB WiFi device and OpenWrt :
Hopefully the zSun device can be used without changing its firmware, any required changes should be minor. Development under Ubuntu 16.04.
3. You-Me Drive peer-to-peer file synchronization protocol, based on Software Transactional Memory
We are synchronising relatively small amounts of data, so hash trie of the files stored in each You-Me Drive is used to find out which blocks need to be updated.
Development under colorForth system (item #1, above).
4. Windows based browser interface, based on wsa.f SwiftForth Windows Sockets API script
5. Synergistic effects:
The major part of the software development is making the four parts of the system cooperate, and ensuring that together they provide a simple user interface.
The actual programming of items 2 to 4 above is relatively low risk, as much of it is already completed.
No hardware development is planned at this stage.