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

new structure model for removing UI level #1

@mwfarb

Description

@mwfarb

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 );
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions