We’ve spent some cycles talking about user experience and workflow in previous articles. So in this post, we’re going to explore how these things relate to one another in the context of networking. We’ll talk a little about each separately, then we’ll bring it together in the end.
User Experience (UX), in networking is a tricky thing. It’s not just about the direct user interaction of a particular feature or of a particular product. Over at Packet Pushers, we see many blog entries reviewing network products. Time and time again, they show us that UX encompasses something much broader: It’s the experience of how well the vendor delivers the product, not just the product itself.. Vendors must consider the user’s experience from the first interactions with the company, to the unboxing of the product, the ease of finding and consuming relevant documentation, through the actual support process.
Network Engineers expect that there will be problems. However, problems frequently mean one-offs and exceptions until an appropriate fix surfaces. If we can never find an answer in documentation, this can be frustrating. Especially if we are told by support that it is a well known issue. If it’s well known, then produce some documentation with workarounds! If there is an associated bug, put a bug ID in the docs. If possible, put a target release for an upcoming fix, too. Easy to find, relevant documentation can vastly improve the experience of the product, even when dealing with bugs.
Let’s consider the UX of support. On average, your users frequently know more about networking than you do. Customers have poured a significant amount of their time into memorizing piles and piles of facts about how every tiny thing in networking should work. Standards are tricky thing, too. If you are going to tell the customer that your product is “behaving according to standards” then you better be prepared to back that up. You also should be prepared to back down from that argument as well. There are many standards, and portions of standards, that are not followed by any vendor or community in practice. Sometimes standards are not clear or they are contradictory. In these cases, over time, implementations have evolved a certain way to deal with these inconsistencies in order to ensure interoperability. It is incumbent upon the vendor to adjust as required in these situations. Remember the Robustness Principle in RFC 1122 (section 1.2.2): “Be liberal in what you accept, and conservative in what you send.”
The most important part here is that the user’s experience of the company is more important than just the product alone. Vendors should understand all points of interaction with the customer from sales, to documentation, the product user interface, to support, should be crafted relative to the workflow of their customer. Focus less on features, and more on solving problems.
We’ve spent some time, in particular, talking about workflow here on the Plexxi blog site. The first, and key, take away here is that Network Engineering is workflow dominated. Everything we do ends up being a series of steps, and those steps don’t always involve direct interaction with the product. The second takeaway is that workflows are dynamic. As previously discussed, referential space in networking is enormously complicated. Exactly where a network engineer starts their workflow in referential space, and what path they will end up traversing, is highly dependent on what they are doing and what they stumble across while they are working.
When customers are evaluating a product, what they need to understand is how the product solves some difficult problem for them, and this means the vendor must have a solid understanding of where their product fits in referential space. What difficult, error-prone, risk-heavy, or tedious path in this space are you solving? It’s important to know that even if you are solving a problem well, you are at the same time altering the landscape of this space. This is very important for the customer. This is what that drives them to want to understand the classic “packet-walkthrough”, for instance. If you are telling them “You won’t need to configure VLANs anymore” then you should be able to tangibly show them what they will be doing.
Ambiguity is bad. To the customer, ambiguity means an investment in time and and effort to understand and operate the product.
Coming out of the SDN hype-cycle, we have learned many things (I hope). The most important thing is that networking is really complicated. We can’t just make it go away. The most successful products have simply moved the complexity around, and they do this with little understanding of what network engineers do.
When vendors truly understand how user experience intersects with the complex space that network workflows happen in, then they can change how they build and deliver network products in innovative ways. The way to do this is by partnering with network engineers and their teams, and to really listen to how they work and the problems they actually have. Every part of the user experience should be tailored to make network engineers more effective.
In short, network engineers make better partners than they do targets. Understanding our customers means understanding networks in context. This is how we move networking forward.