User experience on Enterprise applications.

Basil Skaria
5 min readJun 17, 2022

--

Are you loosing your customers? Are the customers complaining a lot? There may be some user experience problems. It could inside the application or outside… Let us understand from scratch about UX.

Source Internet

There are various types of users:

Naïve users: This is the widest among the spectrum of users. They are knowledgeable and have good judgement in many domains but tech, especially internet and mobile devices, they could be working in various profession, not working at all, are in their old age, have language barriers, or have lower understanding of the domain (eg. Income tax, Banking, etc.). Eg of a product, Apple devices are very specifically designed for non-techies, who are busy enough to not explore the configurations, which is openly available in Android devices. So, if you ask them to clear cache to resolve an issue, they may well delete the app. since iOS has complex settings to do so.

Learners: These are group of people trying to learn the service or product provided. They are gaining knowledge at their pace, they would explore every option available to them. If you introduce a new feature, expect them verifying the functionality. Eg, Cloud community, who uses various services from various providers like Microsoft, Amazon, Google, Alibaba and so on.

Beta Users: Kind of like learners, additionally help contribute feedback and suggestions to the developers. They can be referred as Beta Testers, since most of the time, features can be partially released for them to test for feedbacks and collecting metrics. There are Beta programs available for many applications with large audience.

Administrator: Person or group who understands the functionality of each feature, and orchestrate the usage of the Enterprise application. They have authority over the product in terms of release management, features, and other timelines of activities, since they are the closest to the users, understanding the behavior and reporting issues, feedbacks and metrics. They would use the application through admin portal, a separate UI/UX intuitive to handle complex operations.

Designer/Developer: The cohort developing the product. Collects feedbacks, monitors metrics, analyze patterns, optimize the code and design for better results.

Why is UX important?

Just a meme…
Source Internet

We have migrated to internet and services to remove inconvenience, inefficiency and latency. A service provided through internet is expected to serve better results outside the application. Productivity of using the application reduces work pressure. Efficiency reduces stress of timelines. Convenience reduces hassles of process. Swiftness reduces distractions. Compatibility of various devices, platforms and operating systems. Have language options, accessibility options, color scheme and more.

Fundamentally, the product must be easily understandable, usable and presentable.

Let’s discuss each concept:

Latency: Responsiveness of an application is really important to retain customers. Could be device compatibility, deprecated libraries, errors or bugs, or server load causing latency. In eCommerce domain, there are easily a ton of competitors. It is important to stay ahead as the commodity at hand would be present with the counterpart. Loosing customers is not even the last thing you need, especially when your business model is stable and just a delay in response causing the loss.

Reduce latency at landing pages, response times of critical requests like catalog browsing, order placement, Payment and acknowledgement.

  1. Can use caching (server side or client side) of redundant requests to reduce requests reaching servers.
  2. Use CDN or API accelerators for specific API that does not change the response frequently.
  3. Database Sharding to split the content (active transactions and historic transactions) based on a metric like time, location or custom property.
  4. Server rendering of Pages and delivering UI to Client.
  5. Splitting the codebase for lazy loading build files to render at client device.
  6. To perform all the above it is mandatory to collect insights, logs and metrics from user, server and services.

Efficiency: Users need seamless experience for using the application without frustration in and around the application. Transitions from page to page, catalog to catalog, Payment gateway, promotions and history management support system, shouldn’t be or very minimally hindered by errors or exceptions. These exception, however miniscule, have to be handled. Operations like cache management, app settings, user info update, uploading proofs, document sharing and more are to be free of blockers and are automated to most extent.

Improve Efficiency by error handling, usage of modular development and segregate various layers of application. Adding more borderlines to code can help work on them independent of other layers. Automation of features provide freedom to naïve users to operate easily. Efficiency should be at all levels from development to usage.

  1. Add in-app tutorials, for new users and have options to disable if it is clear to use.
  2. Add documentation in external source for Admin, Designers, Developers and Learners for reference.
  3. Automate the content management like user details, Document upload, export reports, have control on user view through admin portal.
  4. Use of Modular coding with State Management at Client Application. Available in few languages.
  5. Design components in the architecture to supplement the efficiency of content delivery. Using CDN, Gateway, Firewalls, Blob storage, suitable database, better configurations of servers and so on.
  6. With usage metrics, determine most used operations, try to bring optimizations at business level and code level, for faster throughput.
  7. Determine bottlenecks like certain operations, background jobs, server resource specs (CPU, Memory etc.), concurrent connections to servers, gateway and database. Extending these parameters keeping cost in control, would optimize the efficiency of the app.
  8. Enable continuous support system for users. Any failure has to handled and resolved showcasing the care factor towards the client.

UX is a broad concept. let us continue in the next article. Follow Basil Skaria for the next article “User experience on Enterprise application - Part 2”.

If you haven’t read the previous article, visit → “What are the components included in the architecture of an Enterprise Application?

Comment your questions and suggestions below. Thanks for your time!!

--

--