How best to approach software design

Picture of Geoffroy De Cooman

Added on by 4 min read

There are a lot of different approaches to designing a software product. Some place an emphasis on technical aspects; for others it’s project management. Many try to take an end-user perspective and incorporate usability factors.

Unfortunately, the problem with usability is it can become too focused on functionality.

Our kiosk application is used by visitors to check in when they arrive at a company’s front desk. A few months ago when we started working on version 3.0 we had a good idea of the features it needed to provide. This long list of features resulted from hundreds of discussions with our clients over the last couple of years.

The issue is though, if you design your product from a feature list, you risk ending up with a product that lacks consistency and personality. It’s just a set of functions laid out next to each other. Often such a product does not ‘feel’ right because the features don’t fit together. It’s too focused on functionality.

So, instead of thinking about what kiosk 3.0 needs to do, we started by asking ourselves what kiosk 3.0 needs to be.

Features vs. Personality

 In order to do this, Loucas (UX engineer) asked each of us the following:

“Imagine kiosk 3.0 is a person. How would you describe this person? Please think about it for 10 minutes and list down 5 adjectives on Post-It notes.”

Ten minutes later, once everyone had posted their notes on the whiteboard, the result was surprising: as a group of 5 people, we could easily have come up with 25 different traits. Instead, all our ideas boiled to the 5 same personality traits which determine who Kiosk 3.0 will be: 

  1. Attractive. The visitor will want to use it, as opposed to beingforced by reception. They will want to check out and to use it next time
  2. Non-intrusive. The kiosk will not make any demands of the visitor besides checking in and out
  3. Straightforward. People have other things on their minds. Check-in could be seen as an obstacle. The steps need to be obvious, clear and simple
  4. Adaptive. Brands have different tones that will need to translate onto the kiosk experience. Organizations also have different security or hospitality processes that need to be supported by the kiosk
  5. Human. It’s more than an administrative or compliance driven tool – it needs to slot in as part of the reception team too

Benefits of this approach

There are a couple of really big advantages to this approach to software development. The first advantage is it tests the assumptions and beliefs of your team members and helps to surface, clarify and resolve core disagreements early on in the process. This ensures we are all aligned with a common set of agreed functions.

The second advantage is it provides a good reference check when you develop your product and run into contradictions. Let me illustrate this with one of the main new features of the 3rd version of our kiosk: ‘Smart Questions.

Personality remained central during the project

Smart Questions: from custom fields to custom visitor journeys

At Proxyclick we are determined to transform the check-in process into an experience for the visitor. The experience starts way before check-in and ends long after check-out. We believe in the importance of the visitor journey so much that we have dedicated it an entire section of our blog.

We learned from our customers that different visitors to their organization may require different check-in processes. The obvious example is the ability for the visitor to check in, in their own language. There are other less obvious examples we heard from our customers:

  • Visitors are asked if they are visiting the factory or the offices. If they visit the factory, they’re asked to sign stringent safety and security instructions. If they visit the office, they just sign a standard NDA
  • Visitors are asked if they have recently returned from a country experiencing an  epidemic. If yes, a message is displayed asking them to go to the front desk. The system won’t let them check in
  • Visitors are asked if they would like to stay for lunch. If yes, a menu is displayed from which they may select the meal of their choice

That is why we introduced what we call ‘Smart Questions’, which is the ability to ask questions, display messages or require a signature based on previous responses provided by the visitor.

From a fixed to a flexible flow


When we designed this feature (or any other one), we often looked back at our notes to check if what we designed was in line with the attributes we wanted for the new sign-in screen:

Are Smart Questions adaptive? 

Of course. As said above, smart questions not only adapt to the check-in process of the company, but also to the specific visitor.


Are Smart Questions non-intrusive? 

This is less obvious and generated some debate. When a visitor is asked which countries they have visited (and may not be allowed to check in based on the response), this raises the question of the visitor’s "rights" versus the company’s "rights".

Our view on this is twofold:

  1. When there is a conflict, give priority to the company’s need over visitor preferences. Organizations need to be able to ask the questions they need to ask for security or compliance purposes.
  2. Don’t be more intrusive than what is needed. Here is where smart questions intervene: the visitor who doesn’t go to the factory is not bothered with stringent safety and security instructions; the visitor who has not risked exposure to an epidemic is not asked about recent countries visited; the visitor who does not require lunch is not shown an irrelevant menu.

 Are Smart Questions straightforward?

This generated some discussions too. Indeed, beyond a certain point, if you give too much freedom to the company in designing the smart questions, it soon results in a check-in process that is complex to understand and difficult for visitors to follow. In particular, if you allow organizations to put more than one question on a screen at one time, you could end up with an illogical and confusing flow, as following questions depend on previous responses.  

We solved this by allowing companies to put only one question per screen (and not more). 

Companies can only put 1 question per screen in the Smart Questions' editor

Surely, this will come as a constraint to some organizations (who would for instance have preferred to put 3 questions per screen). As a consequence, the kiosk loses a bit of its adaptive nature. But that's fine, as losing some adaptive capability helps preserve the straightforward nature of the kiosk.


Treating your product as a person won't replace the need to define what features need to be developed, or even better, which tasks need to be performed (we're big fans of the job-to-be-done approach). You'll still need to go through that phase.

But defining the product-as-a-person will help you define how to develop a feature (does it fit into the whole?, how far should we develop it?...).

Also, we believe aiming at the maximum on every personality trait is often an illusion, as there are inherent contradictions between them. And that's fine, as long your compromises are conscious and consistent. After all, successful products are often subtle and sometimes coherently bring together contradicting traits. Just like humans actually …!


Like this article? Spread the word.