UX and the technology stacks
In the context I’m referring here, a technology stacks are the languages, frameworks or tools that are used to build something, we can say that a technology stack is Java or C#, just the same as we can say that it is Outsystems or PowerApp, or we can say that it is Wordpress or Sharepoint.
This has an obvious impact on user experience, because this is the basis in which the software is going to be built, so if the language that is chosen is better for interfaces, or better for the web or better to render graphical data, it will have to have some impact on UX, but this doesn’t mean that it’s all a big war and one is always better than the other. Actually we see a significant effort from all the players in the market to make their tools more and more effective which makes it harder to choose the right tool for the job, the differences are not always clear.
It’s all about what experience you want to give your users. Are they tech savvy young people that crave slick animations and virtual characters and accessories, or are they company collaborators that want to get their work done as fast as possible with very little clicks and distractions? Either way each stack that exists will help, or not, the users depending on their need, and usually the great question lies in native languages vs non native languages.
In the mobile landscape you have a tremendous amount of options to choose from, you can go full native which provides the most direct access to the device capabilities, to hybrid approaches that either compile to native code or simply use a web viewer to render the app, or you might have low code, or no code, approaches that give you an app under 24 hours to more complex setups that give you creative freedom.
The main differences are always on the performance side or on the visual implementation of these languages, and if you think about it it’s pretty obvious why. The more you build on top of a language to make it easier to use for general use cases, the more common denominators you’ll have to use, giving little room for specific performance improvements and specific visual implementations, inopostion for standard visual patterns and logical approaches. It’s easy to see how this can make a big difference to your end user experience, just ask yourself, will they want something out the door really fast, or really standard, or really stable, or really performant?
And this is not just about the user interface stacks that are used for building the visual side of apps, if we go for the server side you’ll get the SQL vs NoSQL type of decisions, that might come with a lot of pros and cons lists. When should you use one or another usually is a decision that comes from the level of comfort your team actually has in that specific stack instead of what makes sense to the end user.
For instance, we can go for an Elastic Search solution for the searching catalog of our store because it gives us a lot of nice functionalities and performance bonuses when it comes to search, but if your team has never worked with it they might say that in terms of risk and speed of delivery they can do what is needed using a simple MongoDB implementation, which might not be a lie, but the end user experience in that scenario is not the driving force of the decision, it’s the comfort of the team. This might be the right way to go if you don’t have a possibility to keep the UX on top of the priority, because in the end, if that’s the team you have you need to go for it or else, there’s no user experience at all to evaluate because there will be no product.
The right technology stack can make or break a digital product, with the right decision you might be able to produce more functionalities, faster and more reliably than your competitors, but the decision to pick one stack or another might be kind of a gamble at a certain point, not because we don’t know if it will work, but because we won’t know if it’s the best possible solution in the future.
Next post in ther series:
UX and integration of systems
Integrating different systems is as deep as you can possibly go when it comes to software development. There’s a lot of…
Previous post in the series:
UX and the art of coding
When a developer is coding, there’s something very individual and unique going on in that task, it’s like an artisan…
This is part of a series of posts listed here: