As I continued to work with ArMS and continued to listen to our customers, many of them were asking if it were possible to create shortcuts to some of the menu items and place them on the dashboard. Of course it is. But what I quick found out was that not everybody wanted the same dashboard shortcuts. What this meant was that I needed to make it so that users could create their own shortcuts. However, there were some things that I needed to consider when doing this. Not every user has access to the same things. So something that I needed to check was when giving each user the option to create a shortcut was that I were only giving them the ability to create shortcuts for objects (I’m using the term objects for the items which users can access). But what if they create shortcuts for something and then their access level then gets restricted, can they still access that object? No. When loading the shortcuts we are only displaying the shortcuts which they have access to. In this process, I set it so that we delete any shortcuts which they previously had and no longer have access to. I was torn between deactivating these objects or just straight up deleting them, and deleting them ended up being the outcome. Below you can see the user shortcuts screen as well as the shortcuts on the dashboard itself.

In addition to this, I wanted to tidy up the dashboard and make it a bit more comfortable for users. I mean, users are typically working in this environment throughout the day, so why not make it a bit more comfortable and modern? I set up a ‘Control Panel’ for users to edit their information and specify whether they wanted to see weather information, and if so what unit they prefer for temperature measurement. Regardless of their weather settings, the user is still greeted with a welcome message as well as their shortcuts. But if they specify that they want weather information I display the user’s current weather information with their preferred temperature unit. To do this I gather the user’s location by downloading the string results from icanhazip and then with that IP address I then look up the user’s location utilizing ipinfo.io. With the user’s location I can make a call to OpenWeatherMap and return JSON information about the weather in the user’s city.  There are other steps to this such as deserializing the information from ipinfo as well as deserializing all of the information from OpenWeatherMap. After deserialization and conversion is complete I then compare the information and pick the appropriate weather icon and temperature unit to use for the dashboard. In the New ArMS dashboard you can see a few other changes which are detailed in other blog posts as well. E.g. Menu Icons and Messaging System + Profile Pictures