Designing the New Internet: How We’ll Get There
How do we move toward the User Experience we require for launch of the SAFE Network, while working on current Beta goals?
There are many layers in the stack that makes up the way a user experiences a product and interacts with a computer to achieve their goals. From the needs of the user, to the underlying architecture of the system, to the functional interaction with that system, to the interface design that enables it, to the visual design that encapsulates it. The design of each of these layers help inform one another, so cannot be developed in isolation. User experience design is neither just pixel pushing, nor a thought experiment.
How do we move toward the User Experience (UX) I talked about yesterday, while working on current Beta goals? Perhaps we need to look a little past launch too, in order to set our trajectory correctly.
We have got a lot of tricky UX problems to solve, solutions to explore, models to refine.
How do we ensure that launch software is mature, and more specifically, we have a mature UX for launch?
We can only get there by making things, testing, learning and refining. There is no other way to test hypotheses, other than building ideas and putting them in the hands of humans.
There are different ways that we can get there, which each carry varying levels of risk.
This is one way…
Which we could do. We could focus purely on the complete network, the full launch picture, store up a lot of this work for when all the network’s moving parts are ready, do a larger body of research later on, or just make some big guesses, and we might even guess right first time. But it’s risky.
So, here’s another approach, and the one we are proposing:
We peel off features-sets, adopt a more lean, iterative approach. Testing more often, sharing designs, our thinking, and our prototypes to the community more often, and then increasing the fidelity of the product as we go.
It’s about designing in a way that informs and supports the needs of the network design, yet wrapping them in an overall process that incrementally improves the user experience all the way to launch.
How do we do that? Well in large part it’s down to designing for the system as a whole, and considering it as an entire Ecosystem.
Thinking about, and building for, the SAFE Network as an Ecosystem that a user inhabits, allows us to set our trajectory correctly.
Let me explain a little bit more what I mean:
On the one hand, maybe we’re just making some infrastructure that other people will use. It’s a layer that other people’s apps and experiences will leverage, and the end user may be completely unaware.
But at the other other extreme, we’re working toward that something you could quite reasonably create an entire OS on top of.
It’s somewhere in the middle of these two that we find ourselves; and where our users will find themselves too. The Ecosystem.
If we are cognisant of the Network Fundamentals (in particular things like: #10 using any machine but leaving no trace; and #6 Catering for multiple identities) and keep on reminding ourselves of the complete vision for SAFE, then I think it will help us dial in our trajectory correctly.
The way users will use and live with the SAFE Network will come in a variety of forms; from apps that just leverage the infrastructure, to tightly coupled utilities like the Authenticator, or intrinsic features like Safecoin. There are also aspects that people may perceive like a mini OS within an OS.
So this is what I mean by thinking in terms of creating an ecosystem: Something that users can understand and become familiar with across a range of platforms, and across a range of apps with varying levels of exposure to the underpinnings of the network.
And most of all it needs to feel trustworthy across all these touch-points.
Trust isn’t just about users having faith in the principles or motives of the project, or the fact it’s open source, or has been security audited.
As a user I need to know what to expect when I perform certain actions, I know where to find things, I feel in control. Feeling out of control, or not knowing what to expect, where I am or how to find things, is a very quick way to erode trust in a system as whole.
Tackling the User Experience design for the SAFE Network, with the whole ecosystem in mind, will require building out frontend features in parallel with the underlying network as two streams. So we’ll often be working on interactive prototypes, then prototypes coded on top of a mock network, then finally bolting each of these feature sets down on a live network.
As the first step on this journey to building out the ecosystem ready for launch, we’ve been developing a small transient application, which will start as a launchpad, or download manager, for our suite of applications.
This will become a test bench for these feature sets — pushing out a variety of applications to the community, while we design and evaluate them — and over time it will become a way of decoupling the authenticator from the browser, and allowing many of the functions of the system to become more portable. Like an OS within an OS, or a start button for the Network, coming in and out of view when needed.
This SAFE Network app will be evolved over numerous design iterations as we design core UX components of the Network; either as discrete apps, portable components, or tightly coupled ecosystem tools.
You’ll also see, over the coming weeks, us sharing new designs and prototypes for a Perpetual Web update to the browser, enabling all of the version history and Linked Data goodness we’re getting so amped about.
It’s a monumentally exciting time for the project, and thrilling to be able to get these features rolling out.