Archive for the Tag 'whitepaper'

Enterprise RIA Series – part 5: Real-life enterprise RIAs

This is 5th and final part in a series of posts publishing extracts from a forthcoming Adobe whitepaper – see the first entry in the series for background information and links to the other posts in the series.

Discussing the opportunities for RIAs in the enterprise is all well and good, but the real test is whether they are being successfully deployed and whether they are delivering upon their promise. From a technology selection standpoint, it’s also critical for Adobe to be able to demonstrate the use of the Flash Platform in this context, so that enterprises can have confidence in choosing our tools and technologies to build RIAs.

For me, the inclusion of case studies in the whitepaper was critical so as to highlight what has been achieved by our customers in the relatively short time since the release of Flex 3 and Adobe AIR, key components of the Flash Platform.

As well as highlighting the business benefits from deploying a Rich Internet Application, each case study demonstrates how the Flash Platform integrates with existing infrastructure – in the case of the decision support tool developed by Keytree, integration is with SAP’s R/3 platform; LMG’s Self Serve application aggregates large volumes of data from a custom back-end, whilst Model Metrics’ application extends Salesforce.com to provide a sophisticated and customised view of data.

A quick overview of each enterprise RIA is show below, but you can also download the complete whitepaper, entitled “The business benefits of rich Internet applications for enterprises” to get more information. For more case studies you might also like to review the customer success stories on Adobe.com for AIR and Flex.

If you are working on an enterprise RIA and would like to showcase it here, or would like to contribute to future discussions on the use of RIAs in an enterprise environment please contact me.

iApprove, developed by Keytree

whitepaper_keytree.jpg

“As a ‘one stop shop’ for approval-based decision-making, iApprove provides context for decisions throughout the enterprise structure. All types of decision-makers from floor managers to senior management and top level executives can see the details they need in one place at any time. Decisions on invoice approvals, leave requests, expenses submissions, and procurement orders can be made immediately through a single application.

Flex and Adobe AIR combine to provide high performance access to multiple back-end ERP systems, a highly flexible and intuitive UI, and easy deployment.”

Self Serve, developed by Loyalty Management Group

whitepaper_lmg.jpg

“Self Serve provides analysis of Sainsbury’s till figures overlaid with Nectar customer data direct to Fast Moving Consumer Goods (FMCG) companies such as Nestle and Birds Eye via an Internet-based application, and offers the fastest turnaround and most comprehensive breadth of shopping data available in the industry. It has access to analysis drawn from 100 percent of Nectar customer data, allowing users to analyse the hundreds of millions of transactions made by half of UK households annually. The tool provides access to trend data only – no individual customer details are released.

Self Serve provides analysts with new insights into the data, helps them identify trends, an enables them to build sophisticated reports in minutes. Retail buyers can now view the entire relationship between customers and the purchases that they make, enabling them to see how well products have sold. When negotiating they can see all the relevant business data from other suppliers, helping them put the best possible contracts in place for their business.

For LMG, basing Self Serve on the Adobe Flash platform has provided the flexibility to rapidly meet the needs of other clients with loyalty programs in place.”

Pharmo2Go, developed by Model Metrics

whitepaper_modelmetrics.jpg

“As a leading Salesforce.com integration partner, Model Metrics is regularly commissioned to extend the Salesforce.com platform for its customers. Many customers engage Model Metrics to create a customized user interface tailored to their specific needs (such as inclusion of company branding), or to provide more sophisticated graphical richness to their Salesforce.com implementations.

Model Metrics decided to use an RIA platform to provide their users with rich, expressive, and intuitive interactions and allow them to work when disconnected from the network. The company needed technology to develop and maintain code as an ISV as well as meet the specific custom project needs of their clients.

To meet the demands of a high volume transaction environment, Model Metrics chose Adobe Flex and Adobe AIR, which enable the company to push data to the client. The clients use a local datastore, SQLite, to handle any data calls and queries. The technology choice was also driven by the need to address multiple platforms and browsers, work offline as well as online, and provide a rich and intuitive UI.”

1 Comment »Enterprise RIA

Enterprise RIA Series – part 4: Development considerations and best practices

This is part 4 in a series of posts publishing extracts from a forthcoming Adobe whitepaper – see the first entry in the series for background information and links to the other posts in the series.

Adobe has engaged with many customers as they consider adoption and deployment of their first Rich Internet Application; over the years we’ve published a variety of best-practice documents and worked with partners and developers to share their experiences on the Adobe Developer Center. Notable resources would include this article on Flex development best practices, the Flex Interface guide (download) and the contribution of the Cairngorm RIA micro-architecture to the open source community (see this article for an introduction to Cairngorm).

The excerpt from the whitepaper below outlines a high-level set of best practices that should be considered at the outset of a project, based upon some of the common mistakes that are made when undertaking a RIA project.

Whilst some of these best practices might seem obvious, they are easily forgotten or ignored in the rush to implement technology that is both new and exciting; we’ve certainly seen a number of projects whereby failure to follow these guidelines has resulted in a less than optimal user experience or an increase in development costs so as to correct issues, so they are worth keeping in mind.

In the next and final part of the series we’ll take a look at the three Enterprise RIAs that are featured in the whitepaper – an Editorial Commisssioning System used at News International (developed by Keytree), a retail analytics tool built by LMG (who operate the Nectar loyalty scheme in the UK) and an AIR application built by ModelMetrics that provides tight integration into Salesforce.com. We’ll also publish the final version of the whitepaper for download.

RIA development and delivery considerations

To make the most of RIAs in the enterprise, there are several important guidelines to consider.

Enterprise RIAs need a good architecture and sound design principles. In addition, the delivery process must be aligned to the roles and processes of the IT organization, including web content and application providers.

Hence the successful implementation of an RIA depends on many of the same requirements for delivering any successful corporate application:

  • clear vision of the application goals and requirements aligned to a desired business outcome
  • flexible and agile methodologies that promote short release cycles and interactive participation with all relevant stakeholders, especially the end customer
  • good supporting tools that promote team collaboration and communication
  • reasonably skilled resources, possessing a positive attitude and a willingness to learn
  • strong user interaction and a clear separation of concerns with a robust governance model
  • commitment, vision, and support from key stakeholders and management boards
  • robust monitoring and analytics with sophisticated reporting facilities to ensure maximum effectiveness and productivity from the application and the delivery process
  • integrated quality assurance for all phases of the delivery process

Although RIA-specific methodologies have yet to be standardized across the industry, there are areas where reuse of existing practices makes sense. Because RIAs are Internet–based applications that draw on existing web technologies and programming skills, many of the current web application design and usage patterns remain applicable, as do common fixes for known issues.

In essence, RIAs are client/server applications where the client can be deployed anywhere while the data stays on the server. Once again, existing design and coding patterns such as Model View Controller (MVC) can be applied. The process of gathering user requirements differs little from what is done today; however the tools for designing the UI are more flexible and sophisticated, making it easier to match user expectations to the requirements gathered.

Adobe has also codified years of experience and research in building expressive interactive applications and content in Cairngorm, a reference framework for RIA solutions to support clients in delivering effective RIAs.

Agile development methodologies are important to delivering timely and focused RIA solutions, but their use can lead to the reinvention of functionally similar components. So while there are significant advantages to using agile methodologies, they should be used within the context of a larger scope. It is important that RIA components and solutions are developed with a view of the potential for larger connected applications and solution strategies.

The move from linear development to state development is one aspect of development that becomes more important in delivering RIAs. If a user rearranges the UI of an RIA, the various components that make up the UI are still aware of each other and their interdependencies. Therefore understanding and applying state development patterns is vital to ensure that when components are added, deleted, or modified, the RIA does not break and fail.

Because RIAs place an increased emphasis on the UI, every opportunity to get better feedback from users, especially during the design and development process, should be seized.

User-driven best practices

From years experience working with clients, Adobe has assembled a set of best practices for enterprise RIA development:

  • Think about the business problem that you are trying to solve, the business services that you want to deliver, or the business outcome that you want to achieve and make sure that your RIA design and delivery process is aligned to these goals.
  • Keep your first RIA in the enterprise simple. Though you have the capability to use rich and expressive graphical animation or video, you do not always have to take advantage of it and overcomplicate things. Remember your audience and do not try to do much all at once. If your users prefer to work with a spreadsheet style report rather than a 3D pie chart, give them the spreadsheet approach. Use RIA technology to get information to them faster without changing how they work unnecessarily. Focus first on solving business problems with RIA, not on making a more impressive UI just because you can.
  • Ensure that the application that you choose is suitable for implementation as an RIA. As noted previously, enterprise RIAs are proving to be best for data entry and where you have higher performance requirements than a traditional HTML-based system. If you need to show thousands of items, a RIA is much better than a traditional web-based application.
  • Do not undertake an RIA project without having the right technical resources in place. This might sound self-evident but it is easy to overcommit.
  • To maximize the usefulness of the UI, it is important to have properly trained GUI designers or developers with GUI flair. Using design teams to help design the application will ensure that any graphical elements you do implement will work properly rather than become noise.
  • It is important to get a prototype application working end to end as soon as possible. This will help you to identify any integration challenges as early as possible so that they can be resolved in parallel with other development.
  • Services-based architectures will make it easier to plug in the RIAs you create and then replace them down the line.
  • Blend, don’t replace. There is little to be gained by spending time re-engineering or redesigning components that work well. For example, it rarely makes sense to start building an RIA to replace existing reporting tools that generate reports. Begin by blending new components in with existing solutions, rather than tackling a big design and build phase.
  • Establish a steering committee to oversee RIA development. If an enterprise is going to embrace RIA across multiple systems, an overarching body that mandates the look and feel of RIAs will ensure consistency across different development groups around the company.

The users will ultimately determine if an RIA succeeds or fails. For them, the interest is in what the RIA allows them to achieve. Ease of use and stability of the application are two key factors in user acceptance, and RIAs have inherent advantages in both of these areas.

1 Comment »Enterprise RIA

Enterprise RIA Series – part 3: RIA compared with existing technologies

This is part 3 in a series of posts publishing extracts from a forthcoming Adobe whitepaper – see the first entry in the series for background information and links to the other posts in the series.

Whilst we might think that RIAs are enabling an entirely new category of application – delivering desktop-like experiences over the web – within the enterprise environment there have already been numerous approaches to providing the mobile workforce with access to the same line-of-business applications and enterprise data used by office-based employees. The excerpt from the whitepaper below highlights the issues often experienced with these existing technologies and outlines the advantages that Rich Internet Applications provide when organisations need to provide remote access to corporate data and systems.

In the next post we’ll take a look at some of the development considerations and best practices that should be followed so as to ensure successful deployment of a RIA within an enterprise.

The value proposition of RIAs compared to existing technologies

“RIA technology has not arrived in a vacuum. For years, users have been trying to access corporate data and applications from remote locations such as the home, hotels, or on the road. Developers are always looking for new and better ways of delivering applications and improving functionality.

For many organizations the move towards RIA is an extension of their existing outreach through web-based applications and is driven by a need to reduce the cost of supporting users whether they are office-based, mobile, or home workers. Supporting these users has not been easy with existing technologies.”

Virtual Private Networking

“Companies frequently employ a Virtual Private Network (VPN) to allow users to connect securely to the corporate network and access applications and data. VPNs create a secure link between the user and their office by encrypting traffic sent over a public network.

With VPN tunnelling, the challenge was managing access from hotels, which have often charged more for IP addresses that would allow the use of VPNs. Then there was the technology itself, which often differed from one security provider to another, forcing companies to rip and replace hardware to get a working solution. With the introduction of Secure Socket Layer (SSL) VPN, these problems have been largely eliminated, but not every company uses SSL VPN or has a single provider of firewalls or security products.”

Thin clients

“Thin clients, which run the application on the server and keep the data on the corporate network, are another widely deployed option. Access is through a web browser to a remote desktop inside the office.

Thin client technology has been successful in many areas, but it is difficult to size servers appropriately, leading to performance degradation. In many cases, load-balancing clusters, which can be both expensive and technically challenging, are required. A more important issue is the limitation of the types of applications that are suited to this approach. While many promote thin clients as personal desktops, in practice, the shared processing and resource space means that graphic intensive applications and those with large memory or processing requirements are often difficult, if not impossible, to access via thin clients.”

Web applications and portals

“Web applications and portals were designed to make life more flexible for the IT team and to take advantage of near universal access to the Internet. While eliminating overhead of installing applications locally, web applications and portals come with a loss of the rich functionality that desktop applications possess.

Developing web applications and portals that behave consistently across different browsers and browser versions has been another struggle.

Response times and performance depend heavily on the ability of the server to manage the number of users and their requests. Security is an even bigger challenge. With the number of malware threats constantly on the rise, there is a persistent risk of usernames and passwords being captured and of infected data being sent to the server. These threats show no signs of subsiding even though there are now standard security approaches in place.”

Remote desktops

“Remote desktops through the use of virtual machines (VMs) are the closest to a controlled desktop. The first challenge here is getting users familiar with the technology and the fact that the remote desktop is different from the local desktop. Also, because the remote desktop is a client on top of the local desktop, deployment is limited to machines that can run the VM client and have sufficient memory and processing capability. There is no synchronization capability for remote desktops meaning that they have to be copied to protect them. This takes time, as the size of a VM is substantial. While in the office and connected over the LAN it is not too onerous, but for mobile users synchronization with corporate computers is impractical. Using USB devices opens up security problems and puts the data stored on them at risk. Until providers create a viable synchronization technology this is not a remote-user-friendly solution.”

The RIA advantage

“The limitations of all the approaches listed above have understandably delayed the adoption of new technologies. Rather than embrace technology, many users find themselves shaping the technology, something they don’t have time for. This has a cost implication for the business. If users are unsure about an application or if the perception is that it hinders rather than helps, they will not use the technology.

If the application has problems with stability or there are differences between the user interface depending on how the application is accessed, then support calls increase as users look for features that are either missing or in a different place. All of this has a financial impact on the business, including wasted money and time in the development process, increased support costs, and lower productivity.

RIAs provide a way to deal with the problems of these earlier approaches. They use local processing resources in the same way as a traditional desktop application while eliminating the desktop application’s biggest problem: frequent patches and changes.

RIAs are lightweight and delivered on demand, just like web-based applications. The UI components available to RIAs make them more intuitive and useful than traditional web applications. There are no large files to synchronize, as with VMs, and the local processing removes the resource problems of thin clients.

By allowing users to combine RIAs in their own workspace, the flexibility of portals is achieved with the advantage of cross-platform support and the ability to use local processing and memory. The local cache allows key data to be downloaded and stored, accelerating form input. Data can then be synchronized in burst mode, creating short bursts of network traffic, reducing the effects of network latency which can slow web applications.”

1 Comment »Enterprise RIA

Enterprise RIA Series – part 2: The role of an RIA in the enterprise

This is part 2 in a series of posts publishing extracts from a forthcoming Adobe whitepaper – see the first entry in the series for background information and links to the other posts in the series.

Something that I have found to be true in most, if not all, of the companies I have worked at, is that many of the internal systems that I had access to as an employee were not developed with the user experience at the forefront of the requirements – even at Adobe, there are a list of systems that I have to use, such as expenses, contract management and performance reviews, that fall short of providing an engaging, usable experience.

As consumers, we are now used to consuming rich media and interactive content, as well as using online applications for shopping, editing documents and photos, sending email, etc – yet when we need to interact with ‘enterprise’ systems at work the user experience often fails to equal those which we are used to using at home or on personal devices.

Thankfully, we are now seeing adoption of RIA technologies both by software companies, such as SAP, Salesforce.com and Oracle for their enterprise solutions and within organisations to create bespoke line of business applications.

One of the themes for the next release of Flex Builder is to make building these behind-the-firewall data centric applications even easier – data dashboards and form processing certainly come to mind as applications that would see a huge benefit from a Flex-based user interface (with the appropriate investment in design and user experience), but there are undoubtedly many systems within enterprise organisations that could be improved.

The excerpt from the whitepaper below outlines the type of applications where RIAs can add value and hence where enterprises should start investing so as to improve the quality and efficiency of their IT systems. In the next post we’ll take a look at the other technologies that organisations might compare with RIAs and discuss the advantages of selecting an RIA platform for building enterprise applications.

Enterprise RIAs

“For some time, enterprises have had to choose between using Web applications, which are often low on rich features, and deploying desktop applications, which are complex and difficult to install. By combining the strengths of both web and desktop applications, RIAs add value rather than complication.

There are a number of ways that RIAs can be used effectively within the enterprise. RIAs work well where line-of-business applications need to be deployed quickly and maintained constantly. They have a small footprint and can be delivered via a web server or an application server on the company network. This multiple delivery approach is important because it allows RIAs to be delivered over a wide variety of connections from the LAN to the Web and even via CD or DVD.

There are two areas where initial development has been concentrated in the enterprise: task-oriented applications and providing decision support. In some cases it can be difficult to differentiate between an enterprise task-oriented application and one that can be extended to your customers. See, for example, the insurance claim forms outlined in “The role of RIAs in the enterprise” later in this white paper. Often these task-oriented RIAs provide an opportunity to incorporate real-time collaboration between customers and employees.”

The role of RIAs in the enterprise

Decision support

“RIAs in the enterprise enable interactive and easily accessible dashboards, which promote better decision making across the organisation. A primary advantage of RIAs is that they are agnostic when it comes to back-end data sources. They employ a data service layer that enables them to be linked to back office and management systems. Two of the case studies that follow provide good examples of RIAs being used to help employees make decisions that can have a major impact on the organization’s ability to perform effectively.

Business intelligence (BI) and customer relationship management (CRM) application suppliers are using RIAs to improve access to complex environments. They are developing RIAs as a replacement for some web-based applications, and using them to extend their portals where they want to offer more interactive applications to their customers.

SAP, Salesforce.com, Oracle, Business Objects, and Intuit are examples of those suppliers who see RIAs as a valuable user interface to their products. As a result they provide compelling examples of the potential of RIAs in business-to-business applications.

For many of these companies, RIAs represent an opportunity to produce interactive applications that take advantage of the rich media inherent in the RIA model. Consider, for example, the form-based systems that abound in the enterprise. When written as web applications they become page driven, they must download information every time the user goes forward or backwards, and they have limited functionality. Their desktop equivalents have a tendency to grow surprisingly large and require increasing amounts of support to install and manage.

Existing RIA implementations by CRM and packaged application vendors demonstrate the kind of opportunities available for businesses to build custom RIAs that integrate with multiple back-end office systems.”

Task-oriented workflows

“Making task-oriented workflows more productive is another core function for RIAs within the enterprise. RIAs can accelerate data input through caching, just as in a desktop application. The input screens can be easily tuned to streamline them for the data entry user, just as in a web and portal applications. When the user wants to interpret the data they can use media-rich components to present the data simply and effectively.

Facing budget and time constraints, many companies have begun to make more use of online training. This media rich environment has suffered badly from the limitations of existing web-based and desktop approaches. Vendors such as Parleys.com are moving beyond those limitations by using RIAs to introduce more interactive training solutions. Users no longer learn just by rote; instead the materials and the tests are more interactive, enabling better comprehension and enhanced learning.

Using RIAs for data entry systems can also dramatically reduce workloads. Consider the example of insurance claim forms. While there have been web-based options for some time, they are often inflexible and all the forms have to be validated and reviewed with the customer. This is not much faster than the old method of sending out paper forms and then entering the information manually. The problem lies with making the forms easy to use and to complete. RIAs allow these forms to be more interactive, prompting the user for information, dynamically determining the workflow of data inputs based on the information given, and suggesting examples. This speeds up the process, improves accuracy, and saves time for the customer and insurance company alike.

Substantial effort has gone into developing self-help customer service solutions that help users resolve problems without accessing a call center. While make these applications easy to use has been a challenge, the rich media capabilities of RIAs can be a significant help.

Examples include:

  • Interactive videos and tutorials
  • 3D images that can be rotated by the user to match what they are looking at in the real world
  • Hot spots that allow the user to zoom in and access more detailed information
  • One-click buttons to talk to a live person
  • Real-time sharing and data collaboration

Many of these features can be applied to existing applications that you may be using today to reduce costs and improve customer loyalty. Without an RIA focused development and delivery platform, however, implementation can be difficult, costly, and require specialized skills and an experienced knowledge base.”

Comments OffEnterprise RIA

Enterprise RIA Series – part 1: What is an RIA?

I’ve recently been involved in contributing to and editing an Adobe whitepaper which is set to be published in the new year, entitled “The business benefits of rich Internet applications for enterprises”. Targeted primarily at a business, rather than technical, audience the whitepaper aims to explore the use of Rich Internet Applications within an enterprise environment and demonstrate how the Flash Platform can be used to deliver successful RIAs.

When talking about Flash, people often think about consumer-oriented web experiences, such as watching video on YouTube, exploring a micro-site for their favourite brand, editing photos and video on the web or being exposed to rich media advertising. The Flash Platform is used for all those types of experiences, but more recently, with the introduction of the Flex framework, expanded capabilities and performance with Flash Player and the arrival of Adobe AIR, the platform is being used by enterprise customers to build line of business applications.

Over the next couple of weeks I’ll blog extracts from the whitepaper here and provide additional thoughts/commentary on each topic – I’d be interested in your thoughts as we explore this, so please do comment on the articles or get in touch. Here’s a list of the topics that I plan on covering:

  • What is an RIA?
  • The role of an RIA in the enterprise
  • RIA compared with existing technologies
  • RIA development considerations and best practices
  • Real-life enterprise RIAs

Let’s start with probably one of the hardest tasks – defining what exactly an RIA is. This is an often debated topic and one that we could spend a long time trying to get agreement on – for the whitepaper we defined RIAs as: “A new category of applications that bridge the client and the Internet cloud; solving the ‘rich versus reach’ conundrum, enabling Internet applications to be both rich in functionality and engaging to use, yet able to take full advantage of the Internet’s reach, connectivity, and deployment model”.

We went on to provide a slightly expanded description of what an RIA is (below), before moving on to the more interesting and relevant topic of why exactly they are important.

What is an RIA?

“A rich Internet application is the focal point of the convergence between desktop applications and browser-based clients. RIAs combine the strengths of both domains while liberating the user from their respective constraints.

A rich Internet application is a lightweight application with a subset of the functionality and feature set of a desktop application. The user interface may run in a web browser or some other application runtime. On first use RIAs are downloaded and accessed on demand. They may then be cached for future use or, in some scenarios, be deployed onto a device to provide access even when the user is disconnected from the network. Data may be cached locally and then synchronized with a remote server or may be kept on the server and retrieved when necessary. “

Why are RIAs important?

“Interactions with data and information stored in IT systems have evolved. The mobility of applications is a reality underpinned by the evolution of the Internet, the ubiquity of communication networks, and the explosive growth of portable devices and home entertainment systems. As bandwidth availability has grown and quality of service improved, more cost effective connectivity has increased adoption and reach. Your employees are no longer bound by their desktop systems. The affordability of improved bandwidth connections, combined with the rapid adoption of handheld devices and connected systems inside the home has led to a workforce and consumer audience that is more aware of the types of interactions open to them and expects more as a result. The boundaries between software applications and computers systems at work and those available to the home market are disappearing. Your workforce may be better connected and exposed to the flexibility and mobility of applications at home and on their personal handheld devices than they are at work.

The volume of structured and unstructured data is growing within organizations as well, even as it spreads to a wider range of computer-based systems. How your workforce gets access to that data in a seamless, more intuitive and flexible way will be a vital component to long-term success and productivity.

RIAs separate the application from the platform or device on which it is being used. This partitioning makes RIAs flexible and reduces the costly support associated with desktop applications. Small and lightweight, RIAs can be installed by the user quickly, easily, and when they are needed.

Unlike web and desktop applications that are constrained by their domain, RIAs can be used in either a connected or disconnected mode. As a result, the richness typically associated with large desktop applications can be applied to a lightweight application. This is something that web-based applications have struggled with substantially in the past, and marks a big step forward.
Underpinning RIAs are the tools that bring together design and development teams to realize the opportunity presented by combining a rich user interface (UI) with rich functionality.

RIAs represent an important value proposition to usability, flexibility, and the long-term effectiveness and efficiency of business applications and operations.”

Overtime, as RIAs become a part of the everyday computing experience, I think we’ll talk less about rich Internet applications and refer to them just as ‘applications’; today however, whether ‘rich’ defines the graphical user interface, the user experience or the quality and relevancy of the exposed data/services we need to remember that RIAs are not just about technology, they represent a significant shift in user expectation when compared with existing web or desktop applications.

In the next post we’ll consider the role of rich Internet applications within the enterprise environment.

6 Comments »Enterprise RIA