Skip FOLIO Project Navigation

⌨ Commander, UXI 1

uxi-english
ux-iteration
uxi-1-commander
uxi-commander

#1

Please note: This post presents our optimal vision for this feature in FOLIO; What you see in this prototype is what we are working towards in the long run, and might not all be present in the first, developed version. Please help us improve it — share your questions, constructive feedback and ideas in the comments below.

Hi everyone,

@JohnC, @rasmuswoelk and I have been discussing some ideas around discoverability and efficiency in using FOLIO.

In addition to regular shortcuts for common things (e.g. New record, Edit record, Select all [items in list], etc.), we think it might make sense to explore a concept like the one John has sketched out in the image below: A window that users can open both through a keyboard shortcut, and by clicking a GUI button (icon) in the Universal Header.

This window would allow people to:

  1. Jump to a certain place in the system (e.g. Settings, My Apps [i.e. the list of all apps], Users, Inventory, etc.)
  2. Discover universal shortcuts as well as app-specific shortcuts related to the currently opened app
  3. Use a shorthand to perform actions, similar to https://docs.emmet.io/abbreviations/ (I don’t think this link is helpful in understanding the concept, but I am just adding it as a technical reference to something similar others have done) — allowing users to type e.g.: “nu” and hit enter, to create a “new user” — this would jump to the Users app, and open the Create User screen. Thus, anywhere in the system, one would be able to hit a shortcut key combination to open up the Commander window, and then type “nu” (new user), “ni” (new instance), “no” (new order); or “su john doe” to mean “Search users: ‘john doe’”, etc. The great thing about having a GUI, in a popover window, in this context (as opposed to just having this work through hidden hot-keys), is that, as one types, the list below the input field could be filtered, revealing matching commands; thus teaching the user what the different commands mean. Another great thing about it, is that any hot-key commands are generally not effective while focus is in an input or search field unless the shortcut/hotkey involves one or more modifier-keys (such as alt, ctrl, cmd) — and these keys are already heavily utilized by browsers and the operating systems.

This concept is currently just an idea, but can address a lot of the constraints web development places on shortcut functionalities, while allowing for even more possibilities of discoverability than only using shortcuts.

Let me know if you have any thoughts, advice or ideas in relation to this concept.

— Filip


#2

Filip, would the shortcuts that I create (for example) be visible to everyone, or would they be specific for me?


#3

Thanks for your question, @Joanne_Leary!

The plan is to have default shortcuts in place “out-of-the-box”, which are set up for the organization; but that otherwise any changes to shortcuts would exist at the user-level; meaning any shortcuts you edit or create, would not be visible to, nor affect, anyone else.


#4

Thanks Filip! Yes, I would say the functionality of creating shortcuts would be very helpful. I imagine that any additional shortcuts created by a user would have to be a unique keystroke combination, and not duplicate a pre-existing combination (of those created by the user or universally available), true?


#5

@Joanne_Leary,

This window is (currently) not intended for creating new shortcuts (but it is something we might explore if you think it is relevant); but to discover existing shortcuts, and to perform actions through a shorthand — i.e. a text written inside this window, that is followed by hitting ENTER on the keyboard.

Which types of things are you imagining wanting to create keyboard shortcuts for?

Thanks!


#6

How would you create a new shortcut, if not through this window? In terms of specific uses, creating new item records and updating billing records was something that (in a former life) I had to do as a repetitive task. My work now does not require any kind of repetitive operation.


#7

The way we have been thinking about managing shortcuts so far, it would happen in the “[user] Preferences” app, where each user can see which shortcuts are set up for them, and they can add or remove shortcuts if they should so desire: https://ux.folio.org/prototype/en/preferences/shortcuts?view=preferences


#8

If the shortcuts you would like to create relate to the current screen, then the Commander window might be a great place to define them. That way we could, when users click “New shortcut”, inside the Commander window, let the user define a Shorthand and / or shortcut for opening the given screen. I’m just thinking out loud — not sure if that is what you had in mind.


#9

The only thing I’d mention is that if the method of using shortcuts is more than even a little complicated, fewer people will use them. For me, my biggest wish is that I’d be able to use a combination of the tab key, the arrow key, and the enter key to do what I need. (You never know what you have until it’s gone.)

When you mean that a shortcut can immediately jump to an app and perform a function in that app, I think that I’d first want a shortcut key that just goes to an app and takes me to that function. So, instead of having a shortcut for “su john doe”, I think I’d prefer a shortcut that takes me to the Users app, and automatically gives me a search screen. With the cursor in the search box, so that I’m poised to search.

One thing that users here once found useful was to be able to define a default search in their most common apps. For instance, some cataloging staff might want to search a record by its title by default, while others would want to search by ISBN or OCLC number. Would shortcuts be able to do something like that?

I’m very interested in how these shortcuts will turn out.


#10

I am a heavy user of keyboard shortcuts and I’m in favor of any design that helps me discover/learn available ones. So +1 from me.


#11

Thanks for your comment, @maura,

I think you make some really excellent points.

1. On jumping to an app or a section within an app (like search)
Good point — we should make sure that’s easy to do

2. On having apps remember your settings in an app (e.g. which field to search in by default, when cataloging)
Great point. Here are some of the things we have done or are working on to make that happen:
A. FOLIO currently remembers your settings in the current session (among other things, which field you are searching on). That means that while your browser window is open, every time you return to an app, it looks the same as when you left it. Long term we want this to be remembered even if you close the window; Even longer term, we want this to be remembered even if you log out of your personal account, and log in again, even across devices.
B. We hope to build a macro-like feature for FOLIO (the working title of which is Form Filler, or Form Templates), that allows users to fill in all or parts of a form with the push of a (or at least a few) button(s). And also to store these predefined form values for your own use only; or for use by everyone in the institution. Based on conversations with subject matter experts, this is useful at least for some record creation forms in the resource management area; as well as in cataloging record creation forms.
C. Based on your points here, we might want to consider if there are other things we could do to make changing the “search in field” dropdown, faster.
D. Based on your points here, we might want to have in the back of our minds the thought that perhaps, longer term, the Commander window should allow people to jump to a certain app and fill in the search pane with certain values.
E. Based on your points here, we might want to explore ways of letting the user define default values of a given form (like the search form), on any screen

Let me know if you have any thoughts, advice or ideas on my comments above.

Thanks!


#12

This is amazing Filip. In Aleph, which I work in currently, there seem to be few shortcut keys. It makes the experience very clicky. I also have to scroll everywhere to find stuff.

Also the idea of creating one’s own shortcuts just adds another layer of customization and personalization that people are looking for now. This could also promote a common repository of shortcuts used in organizations that people could share.


#13

I like the use of Preferences for managing shortcuts and would suggest an import/export option on this screen to allow staff to share sets of customized shortcuts. I can imagine that this might allow larger libraries to standardize workflows and to help with students and new hires.


#14

Thanks for sharing your thoughts on this, @Jennifer_Eustis! Let me know if you have any further ideas or advice on this concept. Thanks!


#15

Thank you for your comment, @colinvanalstine

I definitely agree there should be a way to import and export the shortcuts; and a way for institutions to set up standard shortcuts, that each user can then override.

Let me know if you have any further advice about this.

Thanks!


#16

That’s a fantastic idea Colin. That would promote sharing as well or backup in case something happens.


#17

Agreeing with others–I also tend to use keyboard shortcuts whenever possible. Also, currently in aleph I’ve programmed many macros (for filling in multiple fields in a newly created item record, for example) that tend to work better with keyboard shortcuts than with mouse clicking. (I realize that such macros may be completely unnecessary in FOLIO, just an example)


#18

Thanks, for your comment, @rrhenning

My hope for FOLIO is that we would be able to provide an in-app FOLIO solution for a Form Filler functionality (AKA Templates); this would allow users to fill in one or more fields with predefined values, and your point that you want to trigger these with shortcuts are duly noted.

Thanks,