User Interface

Open Stories and Issues

A child Instance of an Instance does not display in All Things: This is hard to set up, but if you manage to create a child Instance of another Instance, it won't show up, so it's hard to know it's even there.
A Space should be able to get the Email for a User: This is particularly useful for lightweight "survey" use cases, where we are passing out shared links, folks are signing up for Querki and then entering themselves into the survey. It's a bit of a UX bug that they wind up typing their email address into both Querki and the Space itself.
Blogging UI Improvements: Some thoughts on how to make a better blog UI in Querki below
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.
Consider switching to Shoelace: Possibly change our primary UI library?
Creating a new tag by itself fails on mobile: Needs further examination, but something seems broken.
Drag-and-drop reordering probably doesn't work in Model Types yet: Not tested yet, but I suspect that rearranging a List inside of a Model Value probably doesn't work in the new Client.
Export as CSV is broken in the new UI: Nothing remarkable here, it just isn't implemented yet.
Gadgets could use a re-examination: See Details, but basically it's time to step back and think about them.
Horizontal Rule is too faint to see on some monitors: Dad reports that he can barely see the standard horizontal rule on one of his monitors, and only with squinting on another. We should probably tweak the CSS to make it a bit darker.
I can undo an editing mistake immediately: When I am viewing / editing a Thing, I can say Ctrl-Z to undo changes, as usual for Windows.
I can use different display styles for Querki: That is, provide some alternate display templates than the usual green.
I should be able to confirm a QLButton: That is, I should be able to specify a message that will be displayed when I press the button; if I press the button again, it will take effect.
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 customize the list of Instances of a Model: Initially, a List of Instance is just Display Name links, but we can do better. By default, it should just list the Display Names and links as it does now, but add an Instance List View that can be applied to a Model, which produces the default way to view an Instance in a list of them. This is a very common concept, as it's turning out, so we might as well establish an official mechanism.
I should be able to define a "Master Page" template for my Space: That is, my Space should be able to define a framing template, with menus, headers, footers, etc, that is consistent across the Space, and all Things should fit their content into it.
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 define navigation bars/menus for my Space: The details aren't entirely obvious -- it might be with top menus or sidebars -- but there should be a consistent way to define a consistent menu across the entire Space.
I should be able to easily duplicate a Thing: Not quite sure how to fit this into the UI without it being annoying, but it's easy to implement in principle.
I should be able to filter the Instances of a Model: The page that shows me all the Instances of a Model should also provide me with a set of filters that I can easily apply to them.
I should be able to highlight a QL Expression, and edit it with Explorer: Next step with Querki Explorer: from a Large Text or Function, it should be possible for me to select a QL expression easily, highlight that, press a button to take me into QL Explorer pre-loaded with that expression (ideally, with the context pre-populated correctly), experiment with that expression, Save from Explorer and have the expression populate back in-place in the Property.
I should be able to list all the Instances of a Model: Currently, we list all of the Instances on the Model's page itself. They should probably exist on a separate page, linked from there, so we don't over-clutter the model's page.
I should be able to pin a specific Space as a mobile app: That is, rather than pinning Querki as a whole, it's usually more useful to pin a few Spaces that I use frequently.
I should be able to pin Querki as a mobile app: That is, it should be Very Easy to put Querki on my homescreen.
I should be able to place my own copies of any of the standard header buttons: It is currently an enormous headache to reproduce the standard buttons, when that is even possible. Some aren't possible at all (eg, the Publication buttons).
I should be able to receive Notifications natively on my device: That is, when a Comment comes in, it should pop up on my device, same as a tweet or a Facebook comment.
I should be able to set a favicon for a Space: It's not uncommon for me to be working in 3-4 Spaces at once (Spirit Island FAQ, Spirit Island Playtesting, Documentation, and Issue Tracking). Having a vast sea of identical icons makes it harder to navigate.
I should not be able to enter illegal characters in Number fields: Currently, if I enter "foo" into a Number field, the back-end validators catch it and reject it. That's not bad for a start, especially now that the UI for the error is decent, but we should really prevent it at the start.
Icon buttons look kinda crappy: The Bootstrap styling that we are using for the icon buttons winds up blurring the edges of the icons. I think we need to change this.
In the Large Text Editor, I should be able to see the current referent: When I am editing a big, complex piece of text that is referring to lots of things, all the double-quotes and double-brackets can get quite tricky to keep track of; it's easy to lose track of what the current context is. (See the Character Sheets in ARC for a good example.) The Editor should help me with this.
It is sometimes too difficult to remember my options in Link/Tag Sets: When there are more than a modest number of Tags/Links to choose from, the Manifest UI on its own becomes hard to use -- the solution space is too large, and it's hard to remember the name of what I'm looking for.
It is too easy to accidentally press Done during Property creation: When you are creating a new Property, the Done button is sitting there, rather conspicuously, right beneath the Property-create box. If you aren't used to the system, it is easy to accidentally push that button, which isn't what you want.
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.
Notification Rendering no longer works appropriately: This design bug isn't user-visible -- yet -- but shows up as a horrible hack in the Client's NotificationsPage. CommentNotifier shows the bug clearly. The issue is that we're rendering the link to the Comment deep in the server, inside CommentNotifier, but we really should be doing so client-side.
Problems with Swype input?: Observed by Troy Daniels: he is finding Swype input (on a reasonably current Nexus 5) is erratic.
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 allow embedding, similar to how the everything from Medium to Gitter do: There are now "embedding as a service" systems that make it relatively easy to just specify a URL from an "embeddable" service, and the resulting stuff -- videos, maps, whatever -- just shows up.
Ratings wikify without the correct labels: When you simply display a Rating (not _edit it), it shows the correct number of stars, but the hover text doesn't follow the Chart Labels.
Rethink defaults and UI for Comment Notifications: At the moment, you have to explicitly turn on Comment Notifications from the Advanced page if you want to get them. That's probably wrong: they should be on by default, I think. Regardless, we need better UI for them.
Rework the handling of clientStrings: Looking at the profile of page load, there is frequently a long pause (up to a second) while clientStrings get loaded. That's idiotic -- do something about it.
Terms of Service link from the root page goes to a dead URL: From an un-logged-in browser, go to Querki.net. Click on "Terms of Service" in the footer. It takes you to a now-dead page.
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 Client should be able to go Space-to-Space without reloading: Currently, whenever I go from a Space to index, and thence to another Space, it reloads the entire Client twice. This is annoying and slow; we should be able to cope with switching within a single Client.
The default Create page should have a Cancel button: We have a really common problem where people Create something, don't fill it in, hit Back, and we wind up with an empty Thing. We can do better.
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 Owner of the Space should be display as such in Sharing: Mild usability bug: currently, the Owner usually shows up as Basic Member Role. It should really display as "Owner" by default, to reflect reality.
This Space is getting slow: This is probably the first Space that is big and complex enough to hit real efficiency problems in Querki. Time to start profiling and optimizing.
Trying to edit a Model Type produces a RSOD: Pretty much as it says. If you go to a Model Property, then click through to its Type (which is system-generated), and then try to edit that, it goes kaboom.
When I reify a Tag in a complex Schema, I should be asked which sub-model I want: Pointed out by Eric: if a Tag Property is pointing to a Link Model that is the parent of sub-Models, it is ambiguous which Model should be reified.
When not logged in, if login / signup would let me comment, I should see a breadcrumb: This is one of the major lures to join, so we want to encourage folks to do it.

Closed Stories and Issues

"Display Name" should be renamed to "Name", and "Name" to "Link Name": Kate reports that it's a bit confusing, and she's not wrong.
"Quotes" display wrong in the menu bar: The eternal battle against double-escaping continues. If you look in the menu bar for this Issue, the name is double-escaped.
_createButtons aren't showing as buttons: Dumb regression from when I rewrote the function to add Signature. It works fine, but the CSS classes are screwed up iff no classes are specified.
_navigateTo does nothing if we are navigating to the same page: Intuitively, I expect that _navigateTo in this case should cause a reload, and there are times where we depend on this.
Add Photo button should activate on Enter: This is slowly driving me nuts as I build the documentation. In the Instance Editor, the Add Photo button doesn't react to the Enter key -- I have to take my hands off the keyboard and use the mouse to activate it. That's just dumb.
Adding an element to a newly-added List fails in a fresh window: Create a Model. Add a List of Text Property. Refresh the whole window, from the browser. Add an element to that list. It fails, and if you reload again, the element isn't there.
Aren't showing apostrophes in title properly: See the browser title of this page. We're over-escaping this.
Date picker is often going off the top of the page: If a Date is near the top of a Model, when you go to edit it, the picker is often running off the top.
Dialog boxes can cause scrollbars to go away: Shows up in various ways, including Create a Model and Delete a Model. The subsequent page winds up without functioning scrollbars.
Display of Thing in Set of Things gets over-escaped: In a Set of Things, select, eg, "Lightning's Swift Strike". It works okay when selecting, but the actual display has the apostrophe over-escaped.
Distinction between the Space and the Space Thing is unhelpful: Depending on how you access the Space, you get different URLs and different menus. This is confusing, with no benefit.
Drag handle in Lists takes too much space: Look at the Editor for Reconstruction -- the drag handle takes up totally unnecessary vertical space in all those lists. This should all be more visually compact.
Errors when I add a row to a List of Things: Not sure what's going on, but I'm seeing this reliably when I try to build a List of Things for a Choice.
Export as CSV link should only show for Models: From the Space Root, go to Advanced.... Notice that there is an "Export all Instances of Space Name as a CSV file". That's obviously non-sensical -- this link should only be visible for Models.
From a Model, I should be able to easily get to its Instances: The obvious approach is that the uber-default for Thing should list its _instances if it has any. How easy is that to do?
Header display goes wonky at some tablet widths: In many Querki contexts, on my new Kindle, the green header bar is twice the normal thickness, obscuring the information below it. See screenshot.
I can *easily* create and manage an enumeration / choice: At the moment, creating an enumeration is an unspeakable pain in the ass. We need a lot of UI sugar on top of that.
I can display a button which, when pressed, causes some QL to be evaluated and shown in a modal dialog: This is intended to become a new mechanism to show a button and cause something to happen. We need that from time to time, and as usual we might as well play fair.
I can't type the name of a new Space on my Android phone: When I type on my mobile keyboard, nothing happens. Swiping works only after I select the chosen word.
I should be able to browse and restore Things that have been deleted from my Space: This needs some design, but in principle it is a pretty straightforward enhancement to the History mechanism.
I should be able to customize my Thing's page header: From Eric: "On the styling front: would it be possible to get a condensed header, where it's presumed that the Name of the Thing will be displayed in some other fashion beneath?"
I should be able to get to the Advanced Page from the Info Page: Currently, since the Info Page isn't a "thing" page, it doesn't have access to Advanced.
I should be able to get to the Space root on mobile: Currently, the link to the space is inconvenientin the top menu. It should be a bread crumb instead, in small type at the top of the page. That would be more visible on mobile, and free up menu space.
I should be able to remove a member from my Space: This one's simply an oversight: the UI provides no way to boot someone out of a Space. While no screaming need for it has arisen yet, that will undoubtedly change before long, especially with Shared Links starting to be used more.
If I have no Notifications, the page hangs: This recipe still needs checking, but I think it's correct. If I am a new user, with no Notifications, and I go to the Notifications page, it hangs at Loading...
In the Edit All page, button format of "Create another Foo" is broken: Not sure what is going on here, but it's not displaying as a button any more.
Navigation Bar in Edit Instances is broken: For examples, go into the Carolingian Officers Space and do Edit All Instances on Officer. The nav bar at the top is just plain broken.
New Client occasionally loses the scrollbar: I don't have a recipe yet, but I'm occasionally finding myself with no scrollbar until I reload the page. WTF?
Possible to create a Space with an empty name?: Reported by Troy Daniels: he was using Swype and having problems with data input. He appears to have created a Space with an empty name.
Showing a Review throws an exception if there are no scores yet: This is surprisingly innocuous, but showed up in the Cooks Guild Space -- sometimes, the QLButton wouldn't render because the page was crashing before then.
Star "targetkeep" shows "0" when there is no rating: This only happens when you have a Rating with the "targetkeep" attribute added. It always shows the selected Rating, which is good; unfortunately, it always shows it even if there is no hint, which is bad.
The "+" button in All Things is missing: This is a regression, from when we introduced the new jsTree-based UI.
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 Search box shouldn't show up on the Index page: The Search box is shown on the Index page now; if you use it, you get an error.
The top-of-page link back to the Space contains an OID: (Noticed by John McLeod) The tiny link to the Space at the top of every page has the OID for the Identity part, rather than the handle. Now that we have the IdentityCache in place, that doesn't seem necessary any more. (Moreover, I think the Space now caches the owner's Identity anyway.) Let's fix it.
The topnav button with the name of the current Thing should probably go away: Eric asked about this, and observed that it's not very useful. By this point, he's correct.
There should be a straightforward way to update a section of the page when I press a QLButton: It is currently pretty easy to reload the entire page, but just updating part of it is way too hard.
Titles of pages are getting double-escaped: For example, see this page. The title contains special characters, which are clearly being double-interpreted. Figure out why.
UI should detect when it is out of date, and automatically reload: Now that we're API-based, it's really important that we detect mismatches between the front and back ends. Kate hit a mysterious error because the front end was out of date.
When I change my login in another window, this window doesn't show that: That is, if I have two tabs open as Mark, and I log one of them out and log in again as Justin, the other still shows Mark until we do a hard-refresh.
When I log in, my page loses scrollbars!: This is a variation of the usual Dialog problem -- we're not dismissing the dialog, so it's having the usual Modal problem.
When I reify a Tag and don't know the desired Model, I should be asked what Model to use: Currently we just create a Simple Thing in this case, and that's not necessarily right. We should ask in this situation.
When I try to Sign In on the SignInOrUp page from an invite, the Log In button doesn't work!: Not sure what's wrong, but it isn't activating when I fill in the fields...
When the Querki Server upgrades, it should force a Client upgrade: A problem I'm encountering frequently is that, when I've upgraded the server, my Client tabs are now stale. And since the API often changes, this causes unpredictable errors until I refresh those tabs.