The MaidSafe Launcher was created to act like a gateway to the SAFE Network (distributed, anonymous communications network). It allows the user to authorise apps to create and manipulate data on the network on the user’s behalf. You can think of this a bit like OAuth used by Google or Facebook. Your apps are never given your log in details, which helps to keep your credentials secure and private.
Mockup of the final launcher showing the dashboard tab. This view was important for two reasons, we have a community of active enthusiast users who want as much data as they can get. Secondly, during test phases of the network, there were some limitations which impacted the experience. To lesson the impact of these I made sure to include this view which allows the user to see the current state of their account.
This is how authorisation would be requested by a demo app. When the user launches the demo app, an authorisation request appears in the Launcher, and it is brought to the foreground. From here, users can allow or deny the app permission.
For inspiration and I called on other applications with similar interactions. Apps like dropbox which only appear when needed either in the tray (windows) or the menubar (macOS). The thinking was, most of the time, the app is facilitating network requests in the background, the user doesn't need to be aware of it. Only when user interaction is needed - like when a user launches a new app - it reappears.
We quickly found that this approach didn't work as well as imagined. The underlying network was still in development phases, things in the backend were often breaking or slow, rather than staying in the background, the launcher would be in the foreground a lot more than originally intended. We also found the lack of space afforded by a tray app restricting and this limited the information we could convey to the user and impacted the experience.
Based on these issues, I decided to extend the Launcher to a full desktop app. This allowed me to convey more information to the user, like during account creation and login. The extra space allows for a more informative UI with better feedback to the user.
This is an example of how the input fields would work, showing feedback to the user as they type.
Another example of feedback, this time during account creation. Here, to keep a user's account secure, the credentials needed to be complex enough for guesses and attacks to be infeasible. To help our users to create strong passwords, I built direct feedback into the input field. As the users password becomes harder to guess, the bar fills until it reaches a minimum strength and they can proceed to create the account.
This is the account tab, showing currently authorised apps. The user can view information on the app's recent activity (e.g. putting data on the network) as well as being able to revoke the permissions.