The Context Aware Lightweight User Experience

Much has been said about Service Oriented Architectures and their importance in an overall enterprise architecture. The discussion often includes provisioning of shared services, authorization and authentication models, management of services, and the ability of inside/outside groups to consume and build applications and user interfaces on top of them. The proliferation of ubiquitous open APIs has been groundbreaking, allowing seamless sharing of data and for many, including ourselves, has unequivocally formed the basis of the modern enterprise architecture.

Decoupling of data from its presentation has made rich web-based user interfaces a reality with the most recent incarnations of those being MV* javascript frameworks whose predecessors can be traced back to Java Applets, Adobe Flash and Flex interfaces, as well as pure javascript with Ajax.

What we address today, however, is the ability for a brand to provide comprehensive user experiences, not just the data services, in a manner that can provide similar value and leverage. Brands will want to invest in this approach to:

  • Reduce costs for custom user experience development at every touchpoint in an omnchannel market
  • Improve legal compliance by ‘forcing’ the inclusion of approved interface components and/or calculations into the user experience
  • Increase brand compliance by ensuring important brand standards (visual treatment, design, etal) are met across all user experiences

Consider a financial mortgage calculator that needs a variety of user inputs such as: 1) estimated home value, 2) down payment, 3) custom interest rate and 4) desired term. The goal is to show the end user her monthly payment and her amortization schedule over the term of the loan. The calculator will either 1) use an interest rate from the sponsor mortgage provider (the subject of which will be another post altogether) or 2) allow the end user to enter her own custom rate.

The brand requests that the calculator appear on their website and the business unit commissions its ‘web’ team to deliver the solution. The web team retains the brands digital agency to develop the solution and the project begins.

A typical agency web application/data delivery project may include the following resources:

  • Business Stakeholders – Define the business requirements and rules to be followed
  • Marketing Stakeholders – Responsible for conversion optimization, brand compliance and often times the project delivery
  • IT Stakeholders – Responsible for the suite of IT services (which could include web-based APIs). They may ultimately host, maintain and upgrade the project deliverables over the next, say, three years
  • Legal and Compliance Stakeholders – Responsible for content compliance and disclosures, to ensure the banks claims and content are correct, auditable and verifiable
    Agency Team – The project managers, creatives, and technologists tasked with the design and development

Shortly into the project definition, the digital agency brings up the question of ‘scope’. They realize the project calls for a calculator for a website; but what really are the use cases for this mortgage calculator in the year 2015? Certainly the website is not the only deployment scenario. Should it be deployed on owned and paid landing pages? the bank’s mobile app? it’s private account center? it’s social media? Will any affiliates or partners use the calculator? Can it be embedded in the bank’s display ads via a Demand Side Platform provider? The answer, in an increasingly omnichannel world, is a definitive YES to all the above.

Service oriented data architectures are a great start for these use cases as they are proven portable. Each implementation of a use case can reach out to the service, but without a shared user experience interface, we have to create a unique one for each touchpoint. This increases costs substantially from design to implementation to maintenance. As a business, each channel could build and manage its own experience and each stakeholder team could manage the experience through its own lifecycle. This approach is quite redundant and expensive in often insidious ways, yet it often happens repeatedly in large organizations. Perhaps there is another way.

The ‘other way’ is a Context Aware Lightweight Interface. Its goal is to create a single unified codebase that can be deployed seamlessly across all channels at a component level. The User Experience requires bigger thinking and the cooperation and coordination of multiple functional units — at least multiple stakeholders. It likely requires a bigger upfront development budget but the solution also satisfies a multitude of cases. In our example, if done correctly, it can solve at least seven separate use cases, meaning, in the worst case, it can replace seven other projects and solve the brands needs with a single project and single reusable component.

Characteristics of the lightweight component:

It is Context Aware

The user interface of a Context Aware Lightweight Interface component is both responsive and adaptive. Our calculator should be able to adapt to the container it’s surrounded in, whether it uses the full width of a web page or smartphone or whether it’s embedded in a constrained HTML tag in a larger experience. The component autonomously optimizes itself to provide the desired user experience in a broad range of sizes, on a broad range of devices. In short, it appears to be ‘smart’.

It is Lightweight

This component is expected to work seamlessly in a wide variety of contexts, on a wide variety of technology stacks. IT Organizations and 3rd parties will no doubt impose technological constraints, and these constraints will vary for many reasons. If used in an Ad network it may require a sub-40K initial load. If used within a website build upon a java enterprise framework, it will need to integrate into the hosting framework without depending on said framework. The component is self-contained and manages its own dependencies, while simultaneously leveraging features of the hosting context wherever possible.

It is enables an Optimum User Experience

We must be able to enforce the organization’s requirements in the interface and we must be able to do that in a compelling way across all channels. Investing once in a superior customer interface will likely encourage and challenge your team to build the best product they can and an IT organization will likely better allocate maintenance resources supporting an enterprise level component/interface than a series of one-offs. The user’s journey that begins with accessing the calculator on their iPhone on an affiliate site remains intact all the way through through an online application and possible ultimately refinancing a few years down the road.