2. Underlying Principles of User Experience
Our Point of View
The following panes represent the varying categories of responsibility within a product. Each pane is dependent
on the panes beneath it. The further down the list, the more abstract the responsibilities are.
1. Surface: the actual user interface
2. Skeleton: the arrangement of things so they’re optimally efficient
3. Structure: the informational organization or control flow
4. Scope: the pieces and features required to achieve those business goals
5. Strategy: the business goals that the finished product is trying to achieve
Customer’s Point of View
All businesses have problems they want to solve, and as long as we understand what users want and don’t
want from us is key to being the technology they choose. In the context of SPARQL Server, users of our product
may be concerned with the following big picture criteria:
● Financial Cost: “how much will this cost us to buy a full solution stack? what would be the
development cost to do it ourselves?”
● Time Cost: “will a full solutions stack solve our specific needs? how long to build a custom solution?”
● Ease of Use: “which product will do what we need with the least amount of difficulty?
● Performance: “does this really perform at the scale we need to solve our problems? Can it compute
quickly enough to solve my problem?
● Stability: “will this technology cause me time and financial loss due to loss of data, loss of
performance, or other problems with the product?”
● Technology: “is this really the right technology solution for our problem? does this technology really
solve the problems it claims to?”
● Innovation: “is this technology improving, innovating, and expanding such that it will still be the right
choice a year from now?”
Point of Interaction
Managing a user’s perception of our product is incredibly important. Even if a technology or a product is
perfectly reliable and functional, if there are lackluster interactions between the product and the user, the
perception of the product can end up being that the product is flawed. The following characteristics will define
the interaction guidelines that shape the perceptions of the product:
1. Clear action statuses: “your data is currently in the sorting phase, and will take 3 hours to complete”
2. Technical clarity: a nondeveloper could easily understand what is being said
3. Clear controls and escape routes: is it clear how to perform or halt a specific action
4. Consistency: attention to detail is consistent throughout the application
5. Tenability: operations complete in a short enough time frame that the problem is still relevant
6. Error prevention: the product design is obvious and performing the wrong action by mistake is
unlikely
7. Recognition vs Recall: a user should not have to remember previous steps in order to proceed
8. Ease of use: the product recognizes common use cases and improves your workflow
9. Aesthetics: design is comfortable and things that are irrelevant to the user are not presented
10. Error recognition and recovery: when errors occur, give clear information and a path to success
11. Help and documentation: explain how to use our product when intuitive design fails
2
3.
SPARQL Server User Experience Strategies
The following are a generalized set of positions that incorporates the principles of a good user experience,
broken down into major categories.
● Financial & Development Cost:
○ There should not be technical requirements that create an unreasonable cost requirement
○ The product should be built with use cases in mind, minimizing the need to perform difficult and
redundant tasks repeatedly
○ We should be weary of technical designs that could dramatically slow the progress of the
product’s maturation
○ The product should be stable; the user shouldn’t have to waste time “dealing with” our product
● Consistency:
○ The product should be reliable and stable enough to yield consistent quality
○ The product should not going to be the reason why their application doesn’t work
○ The product should be stable; the user shouldn’t have to waste time “dealing with” our
product
● Performance:
○ The capabilities of loading and querying should be in sync with each other
○ The entire process of loading data should happen in a reasonable amount of time
○ Optimizations and performance that we promise should always be true
● Expectation:
○ The product should make a strong effort to consistently and clearly communicate with the user
○ The user should never be able to initiate a process in which there are not clear indicators of the
outcome, good or bad
When designing product features or assessing the current state of a feature, it is strongly recommended that
these types of positions are tested against the feature doing so may identify aspects of the feature that may
have unintended consequences to the user and the over product’s business goals.
3