SimpleCrypt

Project:
Posted:
Updated:
SimpleCrypt Logo with slogan 'Encrypting your data doesn't need to be hard'.

SimpleCrypt is a macOS application with the goal to make data encryption more accessible. You can visit the SimpleCrypt Project Website here.

It is the tool for creating and managing encrypted volumes. For example, encrypted Disk Images can be used to store sensitive data in cloud storage. Likewise, an entire Disk, such as an USB stick, can be encrypted in case it is forgotten or stolen. SimpleCrypt tries to assist users to utilize the positive effects of encryption.


The project began as a redesign of the software TrueCrypt. As already mentioned, the goal is to make encryption more accessible by improving the user interface. I was motivated to program and implement the redesigned application because I have a technical interest in it and this way it's more likely that the intended goal of the project will actually be achieved.

Analysis

Many of the classical methods from the field of human-computer interaction were used. For example the creation of Personas, User Stories, Use Cases and a Kano-Analysis to focus on the users and their individual needs and wishes of the application.

To improve an application, a good understanding of its current state is required. Therefore an analysis of the “competition” (or alternative encryption tools) and of TrueCrypt itself was performed. The human-computer interaction of TrueCrypt was investigated: By a SWOT analysis to understand the strengths that this project wants to keep and the weaknesses and opportunities that it could improve. By a visual analysis of the Information Architecture using screenshots. By “Reverse Wireframes” to visualize the share of different areas of the user interface. And by Flowcharts of all functions.

Visual analysis of TrueCrypt's Information Architecture, with screenshots of various menu interfaces.

Structure and Skeleton

Optimized flowcharts and the catalog of requirements for the new application were now defined.

Scribbles visualized the first rough ideas for the layout of the user interface and wireframes then gave a more detailed view on which to build upon. Since this is going to be a macOS application, it is important to keep the Apple Human Interface Guidelines in mind to give the user a consistent user experience throughout the system.

Early sketch illustrations of the SimpleCrypt User Interface layout.

Setbacks

After halfway through the project, TrueCrypt announced in red letters on their website: “WARNING: Using TrueCrypt is not secure as it may contain unfixed security issues”, with more information on how to migrate to alternative software. With this uncertain future of TrueCrypt in mind, neither a redesign nor software programming seemed worthwhile. Since the goal was a macOS application, we moved technologically to the built-in encryption tools of macOS. The architecture, the available functions and the user interface now had to be analyzed again. It had some disadvantages, but also some advantages, such as a more seamless integration into the surrounding operating system and compatibility with any computer running macOS without necessarily requiring additional software.

Only days later, Apple announced their new operating system “Yosemite”, which “introduced a major overhaul of OS X's user interface, emphasizing flat graphic design over skeuomorphism”. This meant for the project that the Apple Human Interface Guidelines had changed a lot, something that now also had to be considered.

Result

Main window

The main window is primarily a master-detail view, where the user can select mounted Disks and Disk Images from a list on the left, and will see the corresponding information and available options on the right. Basic information such as the remaining space in the volume is shown, as well as more advanced aspects such as the volume's mount point. With the custom designed icons, it is easy to distinguish between Disks, Disk Images and even Disk Image Files (files containing the unmounted Disk Image, see Favorites “SSH keys”). Finally, the user wants to work with the data in the volume, which is possible using the “Reveal in Finder” button.

Favorites can be used to quickly access and organize Disk Image Files. For advanced users, special mount options like the mount point are also remembered.

Mounting an encrypted Disk is as simple as using the “Mount a volume…” area in the lower left corner, entering the correct password and optionally specifying some special mount options. Alternatively, users can simply drag and drop a Disk Image File onto the application.

Main window interface of SimpleCrypt, featuring a master-detail view where users can select mounted Disks and Disk Images.

Create encrypted volumes

A wizard guides the user through the process of creating an encrypted volume. There is a short help for each option in each step to assist inexperienced users with the options. The importance of a good password and the strength of the password chosen by the user is visualized in one of the steps. If a Disk has been selected for encryption, then SimpleCrypt explains that the actual encryption of the Disk is now performed in the background and this process is visualized in the main window.

Wizard interface guiding users through the process of creating an encrypted volume in SimpleCrypt.

Submenu

There are some rarely used, but nevertheless important functions. Therefore they are located in a submenu to the right of the detailed view. Besides “Change Password” there is for example a function for Disk Images, “Erase Key”, which would make all data in this volume permanently inaccessible.

User Interface of Submenu in main window on the right, with additional actions such as 'Change Password' and 'Erase Key'.

Animations

Subtle animations that support the flow of interaction can increase the joy of using the application. Perhaps even to the point of a little smile.

Technical Implementation

The goal was to create a seamless experience that integrates well with the operating system. Thus SimpleCrypt is completely written as a native application for macOS using Xcode in Objective-C.

Screenshot of the SimpleCrypt application being developed in Xcode, the macOS native development environment.

Some third party code was helpful for the realization of the project. For example, JNWSpringAnimation helped me create these satisfying animations. And zxcvbn helped me to calculate the realistic strength and crack time of a password.

This project was part of my interaction design studies at HfG Schwäbisch Gmünd.
Together with Lara Koch, 3rd semester, “Application Design”.
Advisor: Jürgen Graef