This repository was archived by the owner on Jan 11, 2021. It is now read-only.

Description
So here is a away we might construct the python and javascript to allow any developer to implement the UI they feel is appropriate (SafeSlingerProject/exchange-javascript/issues/1).
Consider the 3rd-party developer building their app, in our case it is a demo app. Our demo app has a Main object and 2 objects to stage in sequence: SafeSlinger (all protocol and web code) and UI (all UI code). So that the SafeSlinger object can be the only public object, and the implementer can define anything they want for the UI object. The Main object, might be HTML or javascript or python. In psuedocode it might look like the following.
class Main {
UI ui = new UI();
SafeSlinger ss = new SafeSlinger();
// this is our demo starting to show start-up fields to run it
ui.showDemoView_GetServerAndSecret();
ss.doSetup( ui.server, ui.secret );
ui.showNumUsersView_GetNumUsers();
ss.doAssignUser( ui.numUsers );
ui.showGroupingView_GetGroupNum( ss.numUsers );
ss.doSyncCommitsAndData( ui.groupingNum );
ui.showVerifyView_GetMatchDecision( ss.numUsers, ss.CorrectPhrase, ss.DecoyPhrase1, ss.DecoyPhrase2 );
ss.doFinalVerification( ss.doesPhraseMatchAll );
// now the implementer could call something like
byte[][] decryptedData = ss.getDecryptedData();
// and then in our demo example, show results
ui.showExcahngedSecrets( decryptedData );
}