Amongst the Solid applications that I have used, there is some variation in what information the initial form for logging requires and how that information is described. I will briefly summarise a few approaches to illustrate what I’m talking about but I’d first like to state that these are all apps I love and IMO have driven Solid forward so this should not be read as criticism of any of the applications or even the Solid specifications, just a starting point for a conversation.
All of the following applications have a form with a single text field and a call-to-action (CTA) to submit it to begin the log in process. The variation I’m interested in here concerns the way that the text field and CTA are labelled (restricted to the English language versions) but most importantly what is expected in the text field.
- Penny says “Connect your Pod at:”. The CTA label says “Connect” and the text field auto-suggests “https://solidcommunity.net”. If I enter my WebID, I get an error message saying “Could not find a Solid Pod at …” but entering the URL for the storage root or that for my identity provider work fine.
- Media Kraken has no label for the text field which is pre-populated with “https:”. The CTA shows the Solid icon and is labelled “Log in with Solid”. I can successfully log in by entering either a WebID or my IDP (I tested with my inrupt.net Pod so NSS I think).
- PodPro has a title saying “Log in to your Solid Pod”. The text field is labelled “Your ID provider” and has “https://broker.pod.inrupt.com” as an example entry. The CTA is labelled “Log in”. Despite the fact that the label asks for an IDP, entering the storage root for my Pod (again inrupt.net) is successful too.
- Inrupt PodBrowser has a context-free “Sign in” button which I gather assumes https://broker.pod.inrupt.com as the IDP. The text field is hidden by default and the user has to click “Sign in with another provider” to reveal it. It is labelled “Where is your Pod hosted?” and has some well-known identity providers as auto suggestions. The CTA is labelled “Go”. Again I was able to log in by entering either my Pod storage root or IDP but not with my WebID.
- SolidOS as hosted at https://nickform.inrupt.net has a modal with a text field labelled “Enter the URL of your identity provider:” and a CTA labelled “Go”. Below are a list of secondary CTAs labelled with some well-known identity providers. Again, logging in worked if I gave either my Pod storage root or IDP.
I was able to log in to all of these applications with only a few missteps but I did resort to using my browser’s development tools to understand what was going on and in general it seems to me that having this much variation from one application to the next is a major obstacle to large-scale adoption. We’re up against the straightforward processes of logging into Facebook, Google, Twitter. Solid has the conceptual overhead of understanding what the application is and what the Pod is (c.f. Facebook, Twitter where there is only one “thing”) and how they relate to one another. Introducing “identity provider” as something the user has to really be conscious of gets us to three concepts and already many combinations of these. This level of complexity will already disenfranchise huge categories of users. It’s also a burden to have to remember the URL of the identity provider that goes with each pod I own, especially when it is not just the apex domain of the pod (as is the case with broker.pod.inrupt.com). My preference would be that I can log into any application by giving my WebID as this is the identifier for me and presumably will be a valuable thing for me to memorise for use in other contexts. I understand though that there may be concerns that WebIDs are rather long for non touch-typists or, likely, many other considerations that matter to people.
So my question is: is anyone working on defining UX guidelines for Solid applications in general or in the specific field of the experience of logging in? What is considered best practice in this area and how confident can developers be that this best practice is stable from this point onwards?
Thanks for reading.