UI Pathways
I know I'm repeating myself, so this is really a point of clarification. @mix please take a look and we should liaise re the front-end for Dark Crystal v2 as I want to take on more of this in this iteration (esp since I've not had a chance to do much of the back-end coding and I've been doing more front-end JS recently). I'm not sure if you've started or not working on things, but there's no PR up on patchbay-dark-crystal yet so before we get started I want this to be better planned. In v1 you dove in and I feel like we could have done a better job on planning the UI more. I'm hesitant to jump to building out a UI without thinking it through if it means embedding / accidentally encouraging possible user-errors.
There are 4 pathways which are currently under development or have been developed. I think we should take this approach and keep the Return Shard/s
and Forward Shard/s
options as far away from eachother in the UI as possible to minimise hitting the wrong button.
Taking the approach I've outlined above and now below minimises this as it forces the person using Dark Crystal to ask themselves what they want when using it at this point in time and take a pathway based on that set of variables.
1 - Home Page and 'Create a new Dark Crystal'
The Home Page doesn't exist in this capacity which simply sets a person on a journey through the application based on the set of choices they have (choose your own adventure!).
The DarkCrystalNew
view already exists and doesn't need any work, it simply acts as pathway 1 from the home page.
Views:
DarkCrystalIndex
- Effectively the 'Home Page'
DarkCrystalNew
orRitualNew
(interchangable as its a one-to-one relation)
Components:
AreYouSure
2 - 'Return a Shard'
Pathway 2 from the home page. Visting this view you can easily determine if you hold shards for anyone by simply selecting a friend from the dropdown and it shows you a list of shards you hold for that person. If there are none, you hold none! Replaces the OthersShards
/ DarkCrystalFriendsIndex
view as we no longer display this as an endless list. Makes the UI significantly less cluttered, a good thing IMO.
Views:
ReplyNew
- The Container viewShardList
- Lists the Shards based on the scoped datasetShardShow
- A component / view of an individual shard (contained within the ShardIndex)
Components:
Select
DoubleCheck
- Restates your selections and sends a message asking you to double check.AreYouSure
CheckboxList
Recipient
Timestamp
3 - 'Recover a Crystal'
Nothing different from our current DarkCrystalShow
view. Possibly could contain another stage to create a new request in RequestNew
view which would be triggered with the request button.
Views:
DarkCrystalShow
/RitualShow
(interchangable as its a one-to-one relation)RequestNew
- optional extra view which shows clarification on who you are requesting from and the ritual detailsShardList
- (same as above)ShardShow
- (same as above)
Components:
AreYouSure
Timestamp
Recipient
ProgressBar
4 - 'Forward Shards'
Adds a small amount of complexity but is intentionally in a separate arena from 'Return a Shard' so as to not confuse the actions (as stakes are high, right?). Allows a view of both shards that you hold that have not yet been forwarded using ShardList
and shards that you have already forwarded using ForwardList
, which are separated by tabs or a sidebar (or some other mechanism).
Views:
ForwardIndex
- The Container view which displays theShardList
andForwardList
views / componentsForwardList
- Lists all forwarded shards (usingShardShow
)ShardList
ShardShow
ForwardNew
- second stage of this section used to select the identity of the recipient of the forward message. Feeds the relevant information to theDoubleCheck
component and finally theAreYouSure
component before submitting.
Components:
Select
CheckboxList
Timestamp
DoubleCheck
AreYouSure