RIAs in the Enterprise: A Trainer’s Perspective
RIAs in the Enterprise: A Trainer’s Perspective
Join the DZone community and get the full member experience.Join For Free
Learn how to stop testing everything every sprint and only test the code you’ve changed. Brought to you by Parasoft.
An IDC study concludes that RIA is here to stay and it is the new requirement of enterprise applications. The only decision that remains is which technologies, both client and server-side and which development tools will be used. My goal is to shed some light on this study and its conclusions from the perspective of someone who engages these companies on a near daily basis.
Adobe and the State of Rich Internet Application (RIA) Tools
The International Data Corporation a provider of IT market intelligence recently validated research on Adobe® Flash® technology. Their findings were published in an IDC white paper entitled “Adobe Flash in the Enterprise: The Case for More Usable Software” in August of 2010. The IDC drew their conclusions based on in-depth interviews with five medium-to-large enterprises from the banking, public sector, technology and business services that have used the Adobe®Flex framework with the Flash runtime to develop custom applications. They executed a three-step process in order to calculate the return on investment (ROI) and payback period for the applications created by these five companies. First they measured the financial benefits by looking at reduced costs; increased user and IT staff productivity as well as increased revenue. Secondly, they determined the investment the companies made in deploying the Adobe® Flash® Platform solution including any associated training and support costs. Finally they estimated the cost and savings over a three-year period and calculated the ROI and payback for the deployed solution.
The essential question the research attempts to answer is whether or not business can achieve the success that web applications have brought to e-commerce by deploying the same techniques for web applications used internally by the enterprise. Can intranet applications benefit from the success of Web 2.0 applications and if so, how?
If we define Web 2.0 applications as those website/web applications that emphasize user interaction and facilitate dynamic data sharing, collaboration, services and rich audio/video components, then we can draw some fairly indisputable conclusions. For example, the premise of the Adobe-sponsored IDC study is that Web 2.0 applications have clearly made their mark in e-commerce and social networking applications with proven cost-effective technologies. Everyday more profitable business models are brought to market based on technologies introduced during the Web 2.0 era. The IDC study wants to help enterprises answer the question “Is it possible to see a measurable benefit from deploying Web 2.0 techniques to corporate enterprise web applications? In effect can we reduce application development time, decrease time to market and thereby see economic results faster and for a longer period of time? In addition, does choosing the Flash Platform increase our odds of success? Can building enterprise applications with Adobe technologies and the Flash Platform specifically help us match the success recently experienced by consumer applications?
It should be noted that my perspective is a direct result of training Adobe technologies. As you all know, many languages, tools and technologies exist for developing Rich Internet Applications and should be examined for their suitability within a given environment. A list of pros and cons will vary greatly from one development environment to another, let alone from one developer to another. In addition to platforms like Adobe and Microsoft, organizations are looking at HTML 5 techniques as well including CSS3 and JQuery. My aim is to share how the companies with whom I have conducting consulting and training perceive the Flash Platform that more often then not, they have chosen before my arrival. Perhaps your company is on the fence about this topic right now. Hopefully my findings will shed some light on the pros and cons of others who have gone before you in choosing the Adobe Flash Platform for their Rich Internet Applications (RIAs). In all cases, a thorough vetting process should be instituted.
Why Choose the Adobe Tools?
As stated earlier, when I enter a company to provide consulting and training in the RIA area using Adobe tools, the choice of IDE has typically, but not always, already been made. The first question I ask is why? Why choose the Adobe Tools? First of all not all companies choose the Adobe tools. One of the largest providers of Network Storage, Data Recovery and Management prefers tools their developers are more comfortable with such as IntelliJ which boasts more code editing features than Flash Builder as well as better integration with Java projects. Other tools I have seen chosen include FDT. By far, when it comes to large enterprises the tool of choice begins with Eclipse with most of these larger firms (employing 5000+ developers) choosing the Flash Builder plug-in as opposed to the standalone version. Small to medium firms (employing 1000+ developers) vary in their choice as well. I would say that experienced developers (falling mostly in the Java area) choose the Eclipse plug-in, while less experienced developers choose the Adobe® Flash® Builder™ standalone version. In addition, the developers’ responsibilities also play a role with GUI developers preferring Flash Builder with design mode over other editors like IntelliJ which does not offer design mode. Front-end developers prefer the standalone version while server-side developers, QA, and performance testers seem to favor the Eclipse plug-in.
Why Choose the Adobe Platform?
Arguably, the most important question asked for me is “why did you choose the Adobe Platform? Why did you choose the Flash Player runtime? First and foremost, I think we would agree that rich API’s create compelling interfaces that engage users and engaged users will use the app! While business hope their customers will use their apps to generate revenue, enterprises hope that employees will use and benefit from the enterprise applications built for them.
Modern Look and Feel
Perhaps not surprising to some people, one of the more frequent answers to the “why choose Flash” question is simply that the applications look better! They appear more modern. Even applications built just two years ago can look dated. For technology companies fighting for the best and most talented employees this can be important. They want their applications to look modern to both employees and customers. Many of the companies I train for sell multi-million dollar software and part of that sale depends on the product looking cutting-edge almost as much as its feature set and reliability. Equally important is the ability to build an application that is intuitive. Many of the pre-built controls in the Flex API enhance usability. Even more important is the capability of the developer to extend the Flex API and build an even more usable and customized framework of controls. Intuitive applications save time and money and also reduce the need for extensive employee training on new enterprise applications.
Companies that do not have the resources and manpower to build a custom Flex framework for their enterprise applications often come to the conclusion that they have underestimated the ease of use and learning curve for the Flash platform. The larger the application the more I see this trend. A piece of the planning often neglecting is that of both training and consulting. After an initial introduction to the Flash Platform, many managers conclude they will need to hire an independent Flex contractor to get them started on the right foot. Most object-oriented programmers in my experience pick up ActionScript very quickly. The major paradigm shift for developers (.Net, Java, PHP, etc.) is the notion that their runtime is playing a movie. The frame-by-frame playback of the .swf seems confusing at first. Perhaps the most welcome topics in my Flex/Flash training sessions are as follows:
1. The Life Cycle of a Flex Component which discusses custom component creation and
writing code that optimizes the Flash Player.
2. ActionScript vs. Java, .NET, etc.
3. Event Handling with ActionScript.
Rich Data Visualization
Probably the number one reason I hear for choosing the Flash Platform is the ability to deliver pertinent data in a rich and compelling way. Of course, number crunchers of all kinds, accountants and data analysts have been using spreadsheets for years trying to spot financial trends, locate pain points in a process-driven workflow and much more. But now, with the vast amount of data visualization tools available, their jobs can be made much easier and less error-prone. Trending metric data, enhancing usability with subtle animations and the context-sensitive delivery of data combined with security, what-if scenario building and more all result in the delivery of pertinent data, data from which significant business decisions are made. Many times I have seen the attendees of my training sessions point to animation-enhanced, color-coded, interactive web applications and tell me “our data has too look like that!”
While other technologies can supply some degree of this richness, Adobe has for years dominated the animation, effects, audio and video components of a Web application. In addition if report generation is needed, the ubiquitous PDF file is integrated in most all of their technologies.
Improve Processes and Workflows
A close-second to enhance data visualization is a desire to improve an existing business workflow. The enterprises’ current web application has proven to slow processes down, introduce errors and omissions and complicate an already complicated workflow. The second reason I hear for choosing the Flash Platform is to maximize the ability of Flash and its server-integration layer (i.e. LiveCycleDS or BlazeDS) to facilitate the changing of a manual process to an automated one. For example one firm utilizes a purchasing workflow that is normally routed through a series of departments or individuals, subject to separate approval processes and collaboration points. They chose to create a RIA that would be process-oriented, primarily self-service and would also encourage the preferred methods of operation. The Flash Platform offered both new server-side services as well as the ability to hook into existing Java frameworks that were already in place.
My Own Conclusions
While visiting many of these companies, reading between the lines and hearing what is not being said explicitly, I have come to my own conclusions as to why these companies have chosen the Adobe Flash Platform and what if any pain points and regrets they might have.
I would say given the variety of environments I have found myself in that the number one reason I see for choosing Flex/Flash platform is that it works with whatever server-side components or frameworks are already in place in the enterprise. By the same token, their seems to be less reluctance that moving forward, should technologies change, the Flash Platform will allow them to continue to use the Flex/Flash generated front-end code regardless of what happens on the server. Essentially I see many (Flash/Flex-related) decisions driven by the fact that the enterprise is confident that they can integrate with new, existing and legacy technologies used throughout the organization.
Not all companies I visit are so optimistic about the Flash Platform. Reluctance to adopt the Flash Platform is usually reflected by two major concerns. The perception that security is an issue on the Flash Player is a chief concern that is perhaps more relevant in enterprise apps than consumer apps as enterprise applications are more likely to contain sensitive data. Another area that causes apprehension is the proprietary nature of the Flash Player. While some degree of the Flash Player has been open-sourced, most remains closed. I would say I do not encounter this argument nearly as often as I do the security issues.
When it comes to choosing a platform to developer enterprise applications there is one often-overlooked area that I see frequently in my training sessions and that is audio and video. Admittedly the majority of companies I visit are building data-centric applications, the idea that the can at any time easily incorporate audio and video is a perk. For some organizations this is a requirement. The Bureau of Land Management was in the process of building a content management system when they discovered that many departments within the organization were about to experience a brain-drain due to a increase in upcoming retirements. Since much of the work they do is hands-on, labor-oriented and involves decision-making in the field it was determined the best approach to retain this knowledge was through video-taped interviews. This was not a requirement when the knowledge-based content management system was introduced, but due to the Flash Platforms ability to handle video and the developers’ knowledge of ActionScript it was easy to implement.
The entire study can be found here.
About the Author
Kevin Ruse is an enthusiastic Adobe Certified Instructor specializing in training in the Flash Platform. You can learn more about Kevin at www.kevinruse.com
Opinions expressed by DZone contributors are their own.