BUILDING
DATA-INTENSIVE APPLICATIONS

TO ACCELERATE
ENTERPRISE GROWTH

Author - Kirti Joshi

Introduction

L arge volumes of generated data have been challenging businesses and developers for decades. In 2005, O’Reilly Media coined the phrase “Big Data” for the first time, defining it as “the massive set of data that is impossible to manage using traditional business intelligence tools.” Advanced artificial intelligence (AI) techniques have since evolved to handle both structured and unstructured data. These techniques analyze data to provide valuable insights, enabling powerful business decisions. Big Data is here to stay and growing at an alarming rate. According to an IBM report 1, 2.5 quintillion bytes of data is generated each day! Forbes reports 2 that 150 trillion gigabytes of data will need analysis by 2025. As a result, enterprises are already reshaping their business outlook and practices around this data revolution. The rise of data science is specifically transforming web-based application development. Applications aren’t simple anymore, instead they need to be designed with the enormous volume of complex data in mind.
This guide discusses the best practices around building data-intensive applications that appeal to customers and their powerful ability to help fuel enterprise growth.

Evolution of Web and Application Development

The history of web applications goes back to the 1990s – the era of static HTML web pages, which displayed simple plain text. Web page technology advanced over time to incorporate graphic styles, images, audio and video files, but web pages were still static. In 1995, the JavaScript language was developed. JavaScript improved web page loading times through dynamic content. Web technology first shifted from static to dynamic pages, then evolved to the first web applications.
With the introduction of mobile technology, specifically iOS and Android in 2007, people began using mobile devices to access the internet in greater numbers. Developers started coding native apps targeting specific mobile platforms. Native apps provided the most reliable user experience (UX) and could interact with the device’s operating system and sensors (e.g., camera, microphone, contacts etc.) The disadvantage of native apps were longer and more expensive development cycles. Developing web applications was much faster and budget-friendly, but proved to be less intuitive and inaccessible through mobile web stores. A hybrid app development approach took the best of native and web applications, but was dependent on the speed of the user’s browser and lacked performance.
Even though native, hybrid and web apps are still widely used, the introduction of Progressive Web Apps (PWAs) in 2014 has revolutionized web application development. PWAs are not true native apps but behave like installed apps. They enable developers to develop once and deploy across all mobile and desktop platforms, extending code reusability. Users can start using PWAs immediately without downloading a separate application and the offline mode provides functionality when data connections are extremely slow. That capability is especially useful in developing countries with slower mobile data access.
In a study by FORRESTER RESEARCH , a well-designed user interface could raise your website’s conversion rate by UP TO 200%, and a better UX design could yield conversion rates UP TO 400%

User Experience for the Modern World

Data-driven performant applications are the cornerstone of business success. From personalized wearable IoT devices to large compute-intensive applications, we are literally surrounded with data-driven applications that connect, compute, inform and make decisions. It’s no surprise that the most prominent applications in use today are data-intensive. On-premise or cloud-based backend database management systems maintain and provide access to massive amounts of structured data for e-commerce, digital banking, online trading and a variety of applications running in always-on mode. All of these applications need to be designed with a focus on key design principles that reduce time to market, ultimately driving enterprise growth and user retention. Let’s dive into some strategic guidelines that enable this.

Understanding your users

It’s no secret that understanding the different user personas and use cases plays an important role in designing applications that appeal to end users. However, it is critical to understand the entire set of users that will access your application. Because data-driven applications are used by a variety of internal and external users, designers should identify, classify and prioritize each user-persona. Defining user personas typically builds upon increasingly detailed characteristics:
  • Personal attributes: age, gender, education, job title, work experience, company size and revenue.
  • Typical user workflows, web experience level, platforms and software used.
  • User psychographics: goals, motivations, and pain points
Thorough user research helps UX designers draft wireframes that meet the needs of the entire target audience spectrum.

Keeping User Journey at top of mind

Studying the user journey is critical to creating intuitive and easy-to-use applications. UX designers should ask basic discovery questions like – Why do users need to use the application? What do they hope to achieve? What information do they care about? What are their navigation patterns and data flow? Is it better to represent information with plain text, graphs or a combination of both to explain key visual elements? Today’s customers are smart, connected and highly demanding, yet have less time than ever to navigate complex interfaces. Great apps are ones that present the most important user data first, offer help or hints without being obtrusive, provide options to customize, and do not have a steep learning curve. The heaviest data-intensive applications can be designed and presented through intuitive interfaces by being mindful of the user journey.

Content: Your app design helper

Content is often a vital tool in helping design your application interface. The most effective approach in designing data-heavy applications is to begin with all the information that needs representation. Then slowly chisel away portions of content – organizing, prioritizing, and recalibrating until you reach a workable design that best fits each user persona. Once the most important content is defined, the next step is to focus on content length, setting the right content hierarchy for easy navigation, and finally ensuring all sections have consistency in tone and language.
Application content should be closely tied to the users’ mental model. Mental models are internal representations of actions, observations, culture or experiences that users are most familiar with. For example, users in certain parts of the world use scripts that read from right to left of the page and naturally expect that or e-commerce buyers have a certain expectation of the shopping cart flow. Designers need to be cognitive of representing application content that fits with the users’ mental model.

Keep it Clear, Concise and Simple

It’s quite easy to get carried away implementing endless creative options representing an abundance of data. Using simple and clear designs with familiar elements results in more intuitive applications that reduce information overload. Charts and graphs help users visualize data even as it scales. Keep basic graphing tools that most people understand on the forefront. For example, use line charts for illustrating continuous data, bar graphs for categorizing and comparing discrete data, pie charts for proportional data, and histograms for showing distribution of variables and plotting interval data. For more advanced use cases, give users the option to customize views with more specialized data visualization techniques.
Figure: Visual D3 heatmap generated using Sencha ExtJS

Visual cues to convey the message

Color tones and visuals often improve the appearance of applications. However, data-heavy applications don’t always need a plethora of hues, tones and color representations. Using visually appealing typography and powerful iconography can classify data in a consistent and intuitive way. When using colors, choose a gradient palette that incorporates different, but visually distinguishable hues, instead of a static set of colors.

Typography

Typography

Typography

To improve clarity and provide visual navigation cues, a technique that is widely adopted is to show data transitions as users navigate. Visible navigation tabs help users find their current position and how to quickly get back to the main page.
One design guideline to always keep in mind is to avoid complicating the UX with numerous features or buttons. Sometimes less is better. Each new button or additional feature introduces the risk of overwhelming or confusing the user.

Flexible, at scale design

Data-driven application designers face the challenge of incorporating data from diverse sources including databases, the cloud, sensors, and social media while meeting expectations of increasingly faster software release cycles. Moreover, personalized user interfaces often face daunting requirements to integrate with other applications. Development frameworks need to understand all of the requirements up-front to design applications that are flexible and have the ability to scale to meet future demands.
For example, applications need to be easy-to-use and should be delivered securely to web browsers and mobile devices, integrating seamless across different platforms. A cleaner design based on the smallest UI components possible is easier to maintain and scale as needed, without a complete overhaul.

Fueling Enterprise Growth

The guidelines outlined above can assist enterprises in developing engaging data-intensive applications that delight customers. Connecting with users on the first attempt creates new business opportunities and builds a stronger competitive advantage.
To accelerate complex application development so that enterprises can focus on fueling core business growth, it is imperative to adopt the “reuse, don’t reinvent” mindset. For example, there is a reason why mobile operating systems use standard icons across multiple applications. Consistently using commonly recognized icons like a trash can icon to symbolize “delete or recycle” and placement of the “Sign In/Log Out” button in the familiar top right menu reduces development time and user testing. By embracing best practices coupled with code reusability, enterprises can spend time on things that matter most.
Enterprise developers may be tempted by the multitude of free open source frameworks available, but the “free” label obscures hidden costs. Deficiencies in code maintenance, interoperability with other components, lack of documentation and support during critical situations makes open source component usage a risky proposition. Finally, these open source frameworks lack robust, functional, and attractive components that perform well on all devices and platforms.

Sencha Solutions

At Sencha, we make web application development simple – effectively saving our customers time and money. We offer tools that reduce the burden of coding and testing, improve developer productivity, and speed up the overall software development lifecycle. Sencha offers out-of-the-box, robust, well-tested, cross-platform UI components that work with the vast majority of web browsers and platforms, with no extra maintenance burden. With over 115+ pre-built and professionally tested high performance UI components like grids, pivot grids, charts, D3 adapters, layouts and more, our tools work with widely used JavaScript frameworks like Angular, React, Vue and others. Sencha ExtJS framework provides the ability to build “universal” applications with one code base that works across all platforms – desktop, mobile, tablet and web. So you need to develop only once to seamlessly deploy on all target platforms.

Key Features

Sencha products can assist your enterprise in creating phenomenal data-intensive applications that your customers will love. Backed by our excellent technical support all along and flexible licensing, you can trust the proven leaders in web technology to accelerate your business.

Summary

In the current world of Big Data and AI, business success is heavily dependent on the ability to draw key insights from data. Enterprises have rapidly adopted this mindset and are building performant engines to fuel business growth. Prominent applications available today are packed with valuable data that compute and inform – enabling valuable decision making. Applications in this modern era need to be designed with a strong emphasis on visual appeal, customization capabilities coupled with a simple yet informative user experience.
At Sencha, we have the right products that enable your enterprise to build stunning data-intensive applications. Our products will save you valuable time and money, so that you can focus on your key business objectives to drive growth.
To learn more and explore our products, visit
https://www.sencha.com/products/