UI Enhancements for the new Beta API (MAAS)
The biggest problem that we want to solve in MAAS UI is to reduce the expensive operations from the UI so people can use MAAS with minimal wait time. We found a few problems in our initial analysis.
Number of machines per group
When pagination was introduced, our goal was to slice the list of machines to make the load time faster. However, when there are a high volume of machines in our users' environment, this logic becomes expensive, because it requires further calculation of how many machines in total belongs to this group, despite knowing that the view will show 50 machines per page.Given this first constraint, we often wonder how our users might feel about the total number of machines showing here. Is this something that people running MAAS in their production environment (with more than 1000 machines) care about?
One the solution we have at the moment is to either remove this number entirely or showing this number according to the item per page. For instance, the image below shows the total number of machines in a particular group based on the default 50 items/page.
How does this information impact the way you are using MAAS?
Do you like our suggested solution to remove the total machine count? (If not, please comment)
- I like this.
- I donât mind
- Not my preference
If you donât prefer this solution, tell us more in the comments why and how this information impacts your workflow in MAAS.
Pagination
Every time the machine listing page is set in group by [something] mode and the user collapses the group, the UI will try to send a request to the API to fill in 50 items on the page as described in the pagination per page. This is not an expected behaviour and it is quite expensive to request the list every time.
However, when you try to expand it, it doesnât send any request to the API, hence, the list has more than 50 items as a result.
Initial solution:
We will remove grouping from the API. A user can still group things, but collapse and expanding will not affect the API request, unless a user changes the number of items per page dropdown.
When in the machine list page, the UI will work with the initial grouping. In this case itâs the 50 machines on that page. When a user collapses the items under the group, there will be no new request to the API.
When a user changes the grouping mechanism, it will work with the original 50 machines from the first fetch.
Do you like our suggested solution for pagination? (If not, please comment)
- I like this
- I donât mind
- I prefer not
If you donât prefer this solution, tell us more in the comments why and how this information impacts your workflow in MAAS.
Machine listing expensive operations
-
Fetching the IP address of a machine takes a lot of effort, but itâs worth it according to user research and has been requested by many teams before MAAS 2.7. So, weâll display this info, fetching it with a separate call. If itâs slow, weâll show a loading animation. MAAS will refresh every 5 seconds to accommodate other expensive information that cannot be shown in the initial load.
-
Regarding the machine listing UI, when a machine fails a test, itâs hard to tell which category (like networking or storage) failed without making many requests, leading to a clutter of error icons.
Our solution is to break this into 2 separate API calls; one where you see the information in the status column, and the second call when hover on the âfailed [commissioning]â state to see which script fails. The click interaction will route you to the summary page where the user can expand the view and see all the failed scripts.
Do you like our suggested solution to hover over the failed status column to view more errors instead of showing the icons on the table? (If not, please comment)
- I like this
- I donât mind
- I donât prefer this
If you donât prefer this solution, tell us more in the comments why and how this information impacts your workflow in MAAS.
These are some of our initial solutions for the changes. If you are an enterprise user with a myriad of machines in your environment and are also using the UI, tell us about how these changes will influence your work.
If you donât use the UI at all and these changes make it faster to work with MAAS, will it encourage you to work with the UI?