ash_admin icon indicating copy to clipboard operation
ash_admin copied to clipboard

UI improvements

Open ArthurClemens opened this issue 8 months ago • 6 comments

I've create a wireframe/visual design to visualize a potential new user interface for Ash Admin.

The base idea is to give more room to the navigation - to replace the current buttons and selects in the top bar with navigation items in de sidebar.

The screens incorporate ideas for more intuitive interactions by using button labels, such as the disconnect actor buttons.

To prioritize data visibility, I've minimized the color palette, with a couple of brand color touches.

Ash Admin UX.pdf

Single screen:

20231112 Ash Admin UX - User set

ArthurClemens avatar Nov 12 '23 13:11 ArthurClemens

Big fan :)

zachdaniel avatar Nov 13 '23 20:11 zachdaniel

Agreed.

jimsynz avatar Nov 13 '23 20:11 jimsynz

Good to hear!

Before moving on, I'd like to get a feeling about functionalities that I've missed, and that impact the layout and interactions.

Thinks I know that are not included yet:

  • Multitenancy
  • Pagination of results
  • Unauthorised error message (or error messages in general)

Any more?

ArthurClemens avatar Nov 13 '23 21:11 ArthurClemens

  • Multitenancy is currently implemented by supporting a text box in the top right if any resources support multi tenancy. There isn't currently a way to generically ask a data layer to list possible values for the multi tenancy value, and that would be a performance issue anyway. So basically a text field somewhere in the UI if any resources supports multitenancy
  • pagination is implemented on each table view using relatively standard pagination UIs. There should be an example if you run mix dev and go to a read action. If a resource doesn't support pagination, we limit to 1000 records for safety.
  • error messages are currently dumped in a very ugly way onto the top of a page.

zachdaniel avatar Nov 13 '23 21:11 zachdaniel

I know that @joshprice had some thoughts he wants to share - we discussed it internally.

One thing is to talk a bit about the audience, because that helps us decide what's relevant and what isn't. ash_admin has always been more of an ash_super_admin or ash_dev_panel - that's fine if we're happy to keep using it that way. I'm wondering if there's ways we can show more useful information in the "Properties" page; like number of records, storage space used, etc?

jimsynz avatar Nov 13 '23 21:11 jimsynz

I think there are definitely ways to do that, but those will need to come with the overhaul of how an admin ui is actually configured. The idea in the future is to make a DSL that defines an admin UI instead of the "in-the-resource" method we're doing now which is quite obviously (EDIT: in retrospect) a bad idea I think.

zachdaniel avatar Nov 13 '23 21:11 zachdaniel