Design
Our application is designed to look like a familiar mobile chat application, with the pertinent details about secure communication highlighted and most of the technical details abstracted away. We felt that most of the existing solutions available were not usable by the vast majority of the population, and wanted to design something that would be secure while making encrypted communication more accessible. Thematically, we went for a very minimalist UI to further emphasize our goal to simplify encrypted communication. At a high level, the application is broken into 4 tabs, each of which provides essential functionality to the application.
GUI Section |
Screenshot |
Design Commentary |
---|---|---|
Login |
|
The login screen was designed to ensure the application preserves security. It appears any time the application loses focus, to ensure that anytime the phone changes state, turns off, or otherwise may potentially enter an unsecure state, a password must be entered. The screen was kept simple with just the essential fields and allows the user to quickly enter their password to get into the application. |
Inbox |
|
The Inbox screen is where the user can view and send messages from other users. |
Contacts |
|
The Contacts screen is where users can browse and edit the users to whom they expect to communicate securely with. |
My Identity |
|
'My Identity' is a simple screen that shows the user's profile data, and a large 2d barcode that can be used to physically share their encryption key with another user of the application. |
Settings |
|
This is a basic settings screen with gives a place for the user to modify application settings. This is designed much like any typical settings screen, and as of now only allows the user to edit their password. |
Implementation
Evaluation
Three user tests were performed in order to investigate the effectiveness of our interface. One developer acted as both facilitator and observer for each test. We located users who we thought we be good targets for the application -- users who were interested in securely communicating with others, but not necessarily those who understood the technicalities of encrypted communication.
We introduced our application briefly, and the asked each user to perform the following tasks:
- Log into the Application
- Add the Facilitator as a new Contact via Barcode
- Initiate a Conversation with the Facilitator
- Receive a Message from an Unknown Contact and Add that person as a new Contact
- Remove the newly added contact and all messages they sent