UX

Open Stories and Issues

"New Property" has wrong affordances: "Choose a property" should not come before "Create a new property". The vast majority of the time, I am adding new properties. This is doubly so when I am creating a new space. For a new user, I expect this to be extremely confusing.
Bulleted should be the default view for lists: Sanity-check, but I believe this is correct.
Can't change name of Model: In the Dragaera space, I created a new model. It got an auto-generated name, which makes sense. But I was unable to figure out any way to give the Model a more mnemonic name.
Can't manage the order of Properties on customized Things: That is, if I create a Simple Thing, and add Properties to it, it's impossible to control the order of these Properties.
Choosing a single Link from a large list is onerous: The current drop-down works okay for lists of six options, but sucks for a hundred.
Collections should be driven by Types: This needs sanity-checking, but I believe Collection should come after Type, and Type should drive the default Collection.
Comments and other changes are lost when I enter them on an page that is still in an old version of Querki: That is, say I have a page open in Querki 2.9.3. 2.9.3.1 is released. I fill in something on the page, and hit Tab or Done or some such. The page reloads, and my work is lost.
Confused by "base on a model": "Base on a Model" trips me up continuously.
Data entry on mobile : I have a space where I frequently want to enter 4 small numbers, in a row. So I set the Properties to Edit Width 1.
On mobile, however, where space is most at a premium, this doesn't work.
Date shouldn't necessarily have picker: Date picker UI is great for dealing with dates that are fairly near the present. It sucks for any historical application.
Maybe make a toggle In the properties of Date that lets one choose between picker and text entry?
Dates in Recent Changes are showing up in non-localized UTC: That is, Eric noticed that something was showing up as having been published 5/31, when it was actually published 6/1 his time.
Delete is not obvious enough: When a new user creates a Thing, and realizes they don't want it, it isn't clear how to get rid of it.
Design away from the menus: It's pretty obvious by now that our menus are at best so-so on desktop, and suck on phones. We need a serious redesign.
Dialogs with text input can get obscured on iOS: There is a well-known bug in the interaction between Bootstrap 3 Modals and iOS' virtual keyboard: when the keyboard comes up, the Model doesn't move accordingly.
Documentation / Help should be more discoverable: The "Help" link at the bottom can be challenging to notice.
Documentation for Pages: When looking at a space, the first visible things are "Pages" and a button "Write a Page". I can't find any documentation on what these are for or how to use them. Either Pages shouldn't be so visible any more, or there needs to be similarly high visibility documentation.
Explorer UX doesn't work on phone: When I load up "Explore..." on my phone, I get overlapping, unusable elements. See screenshot.
Export Space should show up as a file, not a new window: Seriously, this can't be hard. What's the trick to making the Export button work properly?
From Security, I should be able to get to Invitations: When trying to set up a Space, I want to set up the Security early on. While doing that, I'm likely to want to invite people when I find they aren't already here. This should have a direct link.
I see no way to delete a Property from a Model.: I would expect this either to be an 0bvious button while editing the model, or at least available from the aacrions menu.
I should be able to create a tri-state control to manage Sets: This is specifically for the Arisia Space: the "I want this" and "I don't want this" sets should have a single tri-state Yes/Maybe/No controlling them.
I should be able to define a menu for my Space: Requested by some of Eric's people, they suggest using the menu bar for Space-specific stuff.
I should be able to define a Space as Hidden: Currently, we decide whether a user can access a Space at all by checking their Read access to the Space Root. (In ClientApi.requestInfo.) This really should be a separate flag, at the system DB level, which says whether non-members can even see the existence of this Space.
I should be able to define an alias to a space: In particular, when I change a Space's name, it should leave an alias to the old name, by default.
I should be able to define hierarchical, slash-separated Tags: This has always been part of the design, but it is hard to implement in Manifest. But what with Heather possibly wanting an Inventory Space, it's time to make it happen.
I should be able to design a page interactively: Crazy blue-sky idea, but worth seriously thinking about: the average end user is going to find even QL difficult to work with, no matter how simple I make it. Can we instead come up with a conversational mechanism for designing pages?
I should be able to easily insert double-square-brackets into my text: Currently, when I'm editing on mobile (especially on a small screen), inserting double-quotes is a pain, and double-square-brackets is a major PITA. We need shortcuts for this.
I should be able to easily manage the membership of a Role: This includes having a single UI where I can type in the handles of members and add them, in a nice easy operation.
I should be able to edit the Summary and Description from the Space Info page: Currently, the Space Info page shows the Summary and Description, but you have to go to the Space's main page and edit it there to edit them. It should be easier, with better affordances.
I should be able to insert Tabs into my QText: Not actually clear that this is possible, but it's worth investigating.
I should be able to invite any Querki User into a Space, given their handle: Currently, you can only invite someone by handle if you are already in Spaces with them. I think this was for UI reasons: we aren't set up to be able to prompt for unknown handles, and probably shouldn't be. But if you know the exact handle, you ought to be able to invite anyway.
I should be able to make easy visual / organizational changes for a Space out-of-the-box without needing to know CSS: Other wikis offer a nice default appearance and easy tweaks for that default appearance. There's a reason for that; it both lets people make a site feel like they want it to feel / feel like "their own", as well as dipping their toes in how-that-wiki-does-things.
I should be able to more easily create a Shared Invitation: Currently, to create a Shared Invite you have to go through a Role. In principle that is correct; in practice, the UX is weak. There should be an easier way.
I should be able to see information about Roles when I am selecting them: Currently, in the Sharing page, you have to choose Roles kind of blind. That's inane -- we should be displaying information about the Roles somewhere convenient.
I should be able to select a Model to instantiate / edit from the menus: Eric observes that he often has to go to All Things in order to edit a particular Model; it would be helpful to have a more direct method.
I should be able to specify that a Set contains at least one element: This is similar to the new notion of Required -- the page should provide feedback if you don't fill it in.
I should be able to view My Spaces by most-recently-used: It's silly that this is still only visible in creation order.
I should get (at least) a warning if I make Instances more readable than their Models: Currently, using the fine-grained Security system it's entirely straightforward to make a Model Owner-only, while allowing others to do things to its Instances. That mostly doesn't work.
I should have a "live preview" as I edit a Large Text: One of my most-desired stories, this would make editing the Default View much easier and more reliable.
I should have a way to Copy a Thing: Eric believes he will need this eventually for the Spirit Island Space.
I should see at least some code highlighting when editing QLText: Currently, the "editor" is a plain textarea. This sucks. It would suck less if we had syntax highlighting, as the first baby step towards a decent IDE.
If I accidentally Reload the Create Instance page, I appear to lose my data: That is, Reload creates another Instance, which is almost never what I want.
It is unreasonably hard to combine QText paragraphs with divs: Since we are interpreting paragraphs as div's, things can easily get auto-closed when you don't want it when trying to use div's explicitly for layout, to apply classes.
It is way too easy to miss errors: Anna and Wex both zeroed in on this weakness quickly: errors being displayed in the upper-right, sometimes transiently, is very easy for a user to not see.
It should be easy to get a completely-permanent URL for a Thing: We currently make it easy to get the OID path for the Thing, but we should make it easy to include the User and Space that way as well.
It shouldn't be possible to enter illegal characters into Link Name inputs: For example, when creating a new Property in CreateNewPropertyGadget, you simply can't put illegal characters into its name. But if you then edit the Property later, you can enter them; you get an error when you try to submit. This should be more consistent.
Need a better icon for the Space's "Info" button: The info icons in both Glyphicons and Font Awesome kind of suck when placed in our standard buttons. We need something clearer.
Need feedback that Search terms need to be at least three characters: Chad noticed that if you search on a two-character string (such as "Ur" in the Period Games Space) you get no results, but you also get no feedback that you have to give at least three characters.
Notifications should be Space-separated in some way: I get Notifications for two different Spaces right now (SI FAQ and SI Playtesting). When I click the bell, it shows me all Notifications from both those Spaces, interwoven. This is both deucedly inconvenient and a UX problem that could lead to accidental identity bleed. Even worse, it clears the "unseen" flag on all the Notifications, which means if one Space has important stuff I need to pay attention to I effectively lose my Notifications from the other Space unless I click through to each and every one and bookmark it to go back to it later.
On a small screen, the dragger in Model Designer is on a separate line: The dragger should be to the right, but it is on a line by itself, wasting vertical space.
On mobile, the menu bar should not always be present: Especially when editing on a small screen, the menu bar takes up too much real estate.
Placement of List Item Delete button is bad on mobile: On mobile, including tablet in portrait, the delete button comes out below the list item, rather than to the right. This makes it too easy to click accidentally.
QL should give an error if a value is bound and never used: If I bind a value to a name and then don't do anything with it, that's almost by definition a bug. We should be detecting that and pointing it out somehow.
QLButtons should be able to pop Confirm dialogs: QLButtons (and links) are very powerful, and can do arbitrarily dangerous things. We often want to be able to sanity-check with the user before actually executing.
Querki should be helpful in the "empty state": See this article for the core concept, but it's something I've been thinking for a while -- we need better hand-holding while starting out.
Rationalize the Permissions in the standard list: This needs a bit of thought, but the list shown in, eg, Edit Role is pretty ad hoc. We might need to, eg, distinguish between Standard and Advanced Permissions.
Refresh page loses data: I'm getting used to a new tablet/browser. It's sadly easy for me to accidentally trigger 'reload page'. When this happens in the midst of filling out something complex, all my data is lost :-(
Role selection buttons have poor affordances: We display Role(s) with cutesy-poo buttons that look nice. But they lack any affordances telling you that you can change them.
Set controls are perilous on mobile: See attached screenshot. When editing a Set on mobile, the plus and x controls are dangerously close to one another; I have lost data to this.
Sharing UI is confusingly split: There is a "sharing" button on the Space Root page, with several options. None of these have anything to do with what you find on the Actions -> Sharing page. This is confusing -- these should be combined in some way that makes more sense.
Tag Models shouldn't show in the Things section, by default: Currently, in the default Space Root page, we show all local models. This includes Tag Models, as well as Choice Models. It probably shouldn't show either.
Text is too small on small screens: In particular, checklists are way too small.
Text not wrapping on main Thing display : Small screen + long name can lead to text overrun. See screenshot.
The "email" field in the login screen should be type="email": The HTML input type affects the keyboard that is offered on smartphone screens. We really want it to be type email, so that the @ is visible.
The "take photo" button should show that it has focus: For example, edit this Issue, and Tab down to "Screenshots". There is no visible indication that the button has focus.
The Advanced Edit and Delete Buttons on the Instance Editor should always be visible: At this point, I'm going to declare this a discoverability bug -- these buttons aren't terribly obvious even on the desktop, and they're damned near unfindable on touchscreen.
The History Summary should "roll up" the edits to any given Thing: Currently, we spell out every little change in the History, which is completely unwieldy. Instead, I should see a single entry for "Justin created / edited Blah Blah Blah", with a button to drill in for more detail.
The Mobile menu is kind of crap: The cascading menus from the top (taken from Bootstrap) are just plain hard to use on a small device.
The Model/Thing Tree shouldn't show disclosure triangles if the Model has no Instances: That is, in All Things (or the default Space Root page) we are showing the little triangle to display the Instances even if there aren't any. This wastes the user's time.
The names of _bulleted and _commas are inconsistent: Eric reports that, based on _commas, he expected _bullets to work. That seems reasonable -- we should probably make this more consistent.
The Role tab should include the built-in Roles: This is probably a good place to put the description of what each Role means.
The Sharing Page should say what each Role means: Currently, the selection of Roles, during invitation, is a bit opaque.
The two Invitation fields should be merged: Currently, the Sharing page has separate fields for Invite by Email and Invite by Collaborator. That's nicely easy, but sucks from a UX perspective.
There should be a Done button at the top of the Advanced Editor: Observation from Eric, that the Done button is inconvenient when editing a complex Model.
There should be a standard mechanism for in-place Editing: This would encapsulate the pattern that I've wound up using in my Comics Space.
Typical Querki pages become hard to read on very wide screens: Reported by @Habitats: with a very wide window open, it becomes quite difficult to read typical pages. We should probably cap the main column's width to something reasonable.
Unify the invitation UI: Currently, the Sharing Page has separate boxes for inviting by email vs. inviting collaborators. That's silly -- it should be one box, and we should recognize which is which.
Unify the selection of standard and custom Roles: In the sharing page, on both the Invite and Members Tabs, we have separate, incompatible controls for choosing standard vs custom roles. That is just plain dumb in retrospect, and should be fixed.
Unrollers should be links rather than buttons: We use unrollers quite frequently; according to Anna, the UX standard is that these should be done as links rather than as buttons.
UX for internal property names is inconsistent: The problem here is clear, but the right solution is not -- this needs some careful UX thought.
We should do something more sensible with the default of Exactly One Tag: Eric stumbled across this: if you define a Property as Exactly One Tag, that all works fine -- but if you fail to enter anything, you get an ugly and problematic empty-name Tag.
When I change the Name or Link Name of my Space, it isn't apparent until I reload: This is probably just a problem with reloading SpaceInfo -- the changes take, but they're not obvious until the client is reloaded.
When I log in from the login dialog, my Admin-ness isn't being picked up: That is, the Admin menu doesn't display until I reload the page.
When I look at a page after a long time, check whether it is obsolete: Currently, it is annoyingly easy to go back to an old page, do a bunch of data entry, save or move on -- and lose my work because the page version is too old, so it reloads instead. We need to make this better.
When the gateway times out, it shows to the user as a "hang": For example, consider this page, which currently takes too long to render. This is causing the gateway to time out, but the error only shows in the browser Console -- from the user's perspective, the page just hangs forever.
When typing on a small screen, I should have convenient shortcut buttons: QL sucks on the smartphone, because the square brackets and double double quotes are a pain. So let's add optional buttons for those, which appear on the side of the large text editor (or on top or something) to make it easier.

Closed Stories and Issues

_QLButton / Link should show some feedback while it is thinking: For a good example of why, check out the Period Games Rules Page. That's now broken into sections, so it displays fast, but when you click one of the headers, it pauses for a long time, with no feedback, while it thinks.
_QLButton and _QLLink should have "open" / "close" affordances: I've recently realized that it's not at all obvious what these buttons and links do -- that, in the common case, you click them to open a display, and click again to close it. We need to show that somehow.
_showLink always opens a new window; there is no way to prevent it: This is frustrating when you're using it with, eg, _createInstanceLink, and specifically don't want that to open a new window.
Advanced Editor for Things shouldn't show drag handles: Since we currently can't manage the order of Properties on Things, we shouldn't show drag handles that can't be used.
All external links should open in a new tab: This and nofollow should only happen for external links!
Can't long-click on Design A New Model: My workflow involves having many different Querki tabs open at once. For the most part, this works easily. The Design A New Model button, however, does not respond to a long-click (which is the primary way of getting a new tab on mobile browsers).
Can't long-click Querki logo: Related to previous bug, but different. I actually can long-click the Querki logo, but the only functionality I am offered is "Save Image". It's being treated as (only) a picture, not a link.
Change the name of "ExactlyOne" to "Required": Duh -- should have thought of this years ago.
Default fields shown for Model should make more sense: We are displaying lots more fields in the Default View for Models than we really need to, in no obvious order. It wastes visual space and is confusing.
Edit All page should repeat navigation buttons at the bottom: I'm a bit surprised this isn't already the case...
Enter doesn't do anything in the new login dialog: When I'm in login, I expect to be able to do username-tab-password-enter, and have that be enough. The new dialog doesn't let me do that.
Forbidden characters cause no-feedback fail: I start creating a new property. I enter, as its name, "character(s)". I enter other info, then click Create. Nothing happens. Guessing that the parentheses might be the problem, I remove them, and then the Create button works.
Forbidden characters are fine, but there ought to be a message telling me why I'm not able to Create.
From the login dialog, I should have a way to recover my password: You can get the error that this isn't the right password, but you can't recover from it if you don't remember your password.
Header should be simplified for users without Explore privs: For spaces which don't want to expose their guts, showing the OID and Link Name is confusing, and linking to the Model lets people jump straight down the rabbit-hole - the Space's Model is System, which when clicked provides a tree of all Models/Things in the Space - exactly what one is trying to not put front-and-center for users who can't Explore.
I should be able to change the name of a space: This seems to have broken at some point.
I should be able to easily distinguish Pages from other Things: Two years of using Querki have demonstrated that, while Pages are just Simple Things technically, you think of them differently.
I should be able to indent HTML tags in QText arbitrarily: This is the motivating story for scrapping the four-space codeLine that we inherited from Markdown.
I should be able to log in without losing my place: Currently, the "Log in" menu pick takes you out of the Client, so you lose your current context. That's stupid and annoying.
I should be able to open an external page in the same tab: That is, there are occasions where I want to be able to federate a Querki Space with an external site relatively tightly, and therefore links to that site should not open a new tab.
I should be able to see the system functions, categorized sensibly: The list of functions has gotten too large to easily internalize. They need to be grouped in order to be usable.
I should be able to Undelete a deleted Thing: Now that we have History, there's no excuse not to have this feature front-and-center.
I should get quick feedback when I begin loading the Querki page: While Querki responds fast, the initial load can take several seconds, especially over a 3G line, and we have a plain white screen during that. We should fix that.
I should have a visible breadcrumb for Designing a Model: As part of de-menufying everything, I should have an easy way to Design a Model from the default Space Root page.
I should see a manageable subset of Instances: This is obvious from the Comics Space, which is very slow to render the root page and the Title Model. We need to be smarter about trimming that back.
If I am not allowed to create Things, the menu picks should be disabled: Pointed out in email: even if I'm Anonymous, I can still click on Design a Model / Create a Thing, and get much of the way through the process before it fails.
If I delete a Published Instance, it should no longer show up in Recent Changes: Currently, they show up as somewhat empty, with a dead link.
If I navigate to the OID of a Thing that no longer exists, I shouldn't get a Tag page: That is, if I navigate to, eg, "#.79s09xc9", I wind up with that as a Tag. That's both confusing and unnecessary, since it isn't a legal Tag -- names can't start with ".".
If I press a Create Button and am not logged in, the Client hangs silently: It's correct that I can't get the create page -- the bug is that we're not displaying a clear error. It's really pretty scary.
In the Login dialog, it is too easy to accidentally click on the Sign Up button when you mean Sign In: Hit by Anna, and she's right: it's too easy to tab down to that button, press it, and go "Why am I on the Sign Up screen?".
In the Model Editor, it is too easy to re-order Properties when you try to scroll: Specific to touchscreens: when you drag up or down to scroll, you often wind up rearranging the Model's Properties by accident.
In the Property Editor, the Done button should be in the tab order: Both when creating and editing a Property, the Done is not currently in the tab order, and that's a hassle.
Instances listed on the Model page and All Things should sort based on Computed Name: Currently, if a Model depends on Computed Name, the Instances listed on the Model's page come out unsorted.
Invitation text persists and blends into copy: I went to invite another person as a FAQ Maintainer, and utterly failed to see that the invitation message was pre-populated with the same message I used last time - my eye saw it as part of the instructions.
In hindsight, persisting the invitation message makes sense - while in this case it was wrong, in general it's probably a convenience - but I'd suggest any of the following:
  • Put a boldfaced Invite text: header above the input box
  • Move it to the left/right of the invite inputs when screen space permits
  • Put a whitespace gap between the instructions and the input box
Invite emails should look decent: Currently, there is no styling in the emails, so they look lousy. Figure out how to make them look good.
It should be much easier to manage security: Time to implement a proper UI for this.
Login pointlessly takes an extra click: This is particularly annoying in the mobile UI.
Make Shareable Link page should copy the link to the clipboard: Currently, we just display the link -- the user has to cut-and-paste it themselves. It should automatically stuff it into the clipboard.
Model Type selection should only be shown in Advanced mode: Model Types are about as Advanced as you get. So don't show them unless we're in Programmer mode.
New Property Name discards first character : When you begin to create a new Property and start typing its Name, the first character you type is ignored.
Querki shouldn't show a blank screen for so long: It's a real feedback problem, especially on mobile. We should show something quickly.
Standard header buttons are blurry: The small buttons with the green gradient wind up a bit washed-out, so it's hard to understand them.
Syntax errors should be contained: Currently, if a page has a syntax error, it generally blows the entire page -- there's little context, and it gets really annoying. Really, the syntax error should be isolated to the current "level" -- in particular, a syntax error in a QL expression should only affect that expression, and not blow the page.
Tab order doesn't get set for subfields when adding a new element to a list of model types: Needs some evaluation, but this one is clear in the Cooks Guild DB: create a Reconstruction, add an Ingredient, fill in the Amount, and tab -- it doesn't go to Ingredient Name (as it should).
Tab order in the Edit Instances Page is completely messed up: In particular, tabbing to the "Create Another" button totally isn't working right.
The Default Default View for a Thing should let me see the references to it: One of the most common reasons to have to write QL is to write "Things that refer to me" pages. We should obviate that.
The Members list should be sorted more sensibly: Eric points out that the sort order of the Members list is, at best, unobvious. Change it to something more useful (eg, Display Name order).
The My Spaces link should be available from the Account menu: Anna's contention is that there should always be multiple points of discovery for a feature, and that it seems intuitively obvious that My Spaces should be available in that menu. Makes sense, and should be very easy to implement.
The Terms of Service should get rolled into the main Sign Up Page: The current approach takes an extra step and non-trivial user-attention, and the TOS page is shoutier and scarier than it needs to be. It's over-cautious, and likely driving away users.
Up/down arrows don't work consistently: For most text interfaces in the world that don't exceed a single line, up-arrow moves the cursor to the beginning of that line, while down-arrow moves the cursor to the end of the line. This doesn't always work in Querki (though it does in many places).
When entering the Name of a new Property, for example, the up/down arrows do nothing.
When a Required Thing is missing, it displays as the cryptic "Some HTML" link: This is technically correct, but makes no sense to the end user. Fix it.
When creating a Property, the box size jumps up and down when I change Types: Just an annoying usability issue that forces me to scroll unexpectedly.
When creating a Property, the default Collection should depend on the Type: Currently, we default to ExactlyOne for everything. That's idiotic -- ExactlyOne is rarely the correct Collection. Instead, it should depend on the Type.
When I am on a Tab, and I reload the page, I should still be on that Tab: Hit this while testing Roles, and it's annoying enough for me to call it a UX bug. Since we haven't been recording the current Tab in the URL, reloading causes us to go back to the default Tab.
When I am told that my email address is in use, I should be offered the option of recovering my password: From the main "Sign Up" page, I can be told that my address is in use, but I don't have a way to recover from that.
When I log in from the login dialog, my menus aren't updated: The workaround is easy -- do a full window reload -- but this is an ongoing annoyance that has caused user confusion. Fix it.
When I log in via the profile menu, the page doesn't reload: When I log in, I expect the page to refresh using my new credentials. For some reason, this isn't happening.
When my login/password combo is incorrect, the error shows in a less-than-good location: The error shows up on the background page; it should show in the dialog.
When Querki is loading a Space, it should show the Space's name: Currently, we just keep showing "Loading Querki". But we probably have enough info to show the Space's name instead, and it would provide better feedback.