31 Jul
RIA Motivators – SOA, SOC & Web 2.0
icon1 Matt Voerman | icon2 AJAX, Flash, Flex, Rich Internet Applications | icon4 31st 07, 2007| icon3Comments Off

If you’re playing a round of Web 2.0 Wankword bingo I guarantee that by the end of this post you’ll have a winning scorecard. All jokes aside, this second post in my RIA Motivator series aims to look at a few more of the main drivers (motivators) behind the recent popularity of rich internet applications (RIA).

Last week we looked at the UX Motivator, and this week we’ll be focusing on how existing (and new) application architectures, combined with the emergence of Web 2.0 flavoured applications, are directly playing a part in the evolution of the web application ecosystem.

In the following weeks i’ll be looking at some of the other factors i’ve identified as major contributors to the uptake of rich internet applications;

  • Corporate Champions
  • Brand Awareness/Enhancement
  • Financial Benefits

OK, so i’m not about to wade into the whole ‘what is Web 2.0′debate. If you’re a little late to the party, and are still playing catching up, I suggest you start by taking a squizz (look) over Wikipedia’s definition. In a nutshell, Web 2.0 can be distilled down to a few key points/features;

  • The “Network as platform” paradigm – i.e. delivering (and allowing users to use) applications entirely through a browser (mind you, AIR kind of skews this point a bit).
  • Users owning the data on a site and exercising control over that data.
  • An architecture of participation that encourages users to add value to the application as they use it.
  • Applications that have a richer, more interactive, and user-friendly interface – (read: UX Friendly).

So from the whole Web 2.0 concept we can see there are a couple of touch-points that directly relate to rich internet applications. Primarily the richer, more interactive, and user-friendly applications. Combined with the whole Network as platform paradigm. Both of which are core benefits of RIAs.

In addition to this, if you take a quick look over at Mike Arrington’s Techcrunch you’ll see how every day he critiques and profiles scores of new (and reborn) Internet products and companies. Hundreds of which fall squarely within the Web 2.0 arena. Not surprisingly, a large percentage of the UI’s of these applications have been developed using RIA technologies such as AJAX or Flash (this includes Flex). Further consolidating that User Experience (UX) is a major motivator in this space.

So now we can see the connection between Web 2.0 and RIAs, how do service-oriented architectures (SOA) and service-oriented clients (SOC) fit into the scheme of things? Once again, i’m not going to wax lyrical giving you a definition of SOA when Wikipedia already has a great definition that covers the basics. Fundamentally though, SOA is nothing more than an (architectural) model for taking complex legacy (or new) application architectures and simplifying/streamlining them into ‘loosely-coupled’, discrete pieces (services) that can be presented for consumption by either a client (i.e. a SOC), or other agent. If we break SOA down further we can see that it consists of;

  • Data Model(s)
  • Services
  • Messaging
  • Persistence
  • Cross Platform capabilities
  • Clean Patterns

So whilst SOAs are great news for the back-end, what about the front-end? For the most part, the front-end still consists of a Client/Presentation-tier model that’s comprised of browsers, applets, and fat clients. Wouldn’t it be great if we could take the (above) benefits of SOA and reproduce them in a portable, lightweight, ubiquitous service-oriented client (SOC)? Well i’ll let you in on a little secret – it’s already been done – and it’s called Flash Player. Thats right, Flash Player is a great service-oriented client.

Up until now, it’s been way too easy (for the uneducated) to write Flash Player off as nothing more than a purveyor of skip-intro’s and animated eye-candy. After all, thats where its roots came from – right? Guilty as charged your honour. So with that in mind – it’s easy to understand why there’s always been such a misunderstanding about the power of Flash Player. But love them or hate them (i.e. eye-candy & animations), these are what kick-started Flash Player’s global career. Funnily enough, it’s this rich media background thats given Flash Player a significant head start in the services-oriented client space. So whilst Flash Player can still handle motion graphics, audio, and full-screen video, behind the scenes, it has evolved into a robust, secure, ubiquitous cross-platform runtime. Containing 2 x virtual machines (VMs) and an ECMA-Complaint scripting language capable of handling a multitude of SOA based services.

Lets have a closer look at some of the main benefits of the Adobe service-oriented client (aka Flash Player);

  • UbiquitousInstalled on 98% of web enabled PCs.
  • Lightweight – Weighing in at a featherweight (1884k) Flash Player is a true lightweight client when compared to the Java VM (7100k) or Microsoft SilverLight (~4200k).
  • Cross Platform – Develop your applications once and Flash Player presents them consistently across browsers and across OS’s (Mac, PC and Linux)
  • Persistence – Flash Player is essentially a state-machine that has the ability to maintain persistence on the client.
  • Messaging – when combined with LiveCycle Data Services, Flash Player is capable of real-time pub/sub (as well push) messaging.
  • Data Model – Leveraging Flash Player’s ability to maintain state, data models can be stored (and manipulated) on the client before being sent back to the server.
  • Binary Socket Support – To leverage interoperability with existing custom protocols, and increase data transfer performance.
  • Robust Security – Flash Player enforces security sandboxes for applications, content, data, and URLs to safeguard sensitive data.
  • ActionScript 3.0 – A powerful ECMAScript complaint object-oriented programming language.
  • Services – The crowning glory of Flash Player (in relation to SOC’s) is it’s ability to plug directly into a variety of SOA-services – whether they be HTTPServices, WebServices or Remoting (RPC) Services.

At this point, I think it’s about time I fess’ed up. I’ve been using Flash since before it was born in 1996 (as Future Splash). I’ve also been evangelising the benefits of the Player, the platform and rich internet applications for just as many years (way before Web 2.0 or SOCs were around). I now also work for Adobe. So one could argue that I have a slightly biased view on this particular flavour of SOC – and you’d be right. The reality is though, the only thing that i’ve seen that even comes remotely close to Flash Player as a true services-oriented client is JavaFX. Unfortunately, JavaFX is very much in its infancy (it was only born on May 8th this year!), and is not what you’d really call lightweight.

So as you can see, the concepts of Web 2.0, SOA, and SOC are all very much related to rich internet applications. Based on the touch-points outlined above it’s inevitable that they should play a role in motivating organisations, and stake-holders, to take a closer look at their benefits of rich internet applications as a whole.

22 Jul
RIA Motivators – User Experience (UX)
icon1 Matt Voerman | icon2 Rich Internet Applications, UX | icon4 22nd 07, 2007| icon3Comments Off

There’s no denying it, the new found popularity of rich internet applications (RIA) has been bought about by the ability for users to interact with web based data in a more aesthetically pleasing, coherent, user-friendly, and intuitive manner. This fresh focus on the benefits of user experience (UX) is IMHO the main reason why RIAs exist today. It’s for this reason, that i’ve decided to kick off my RIA Motivators series on UX!

In the following weeks i’ll be looking at some other factors i’ve identified as key motivators driving increase of the rich internet applications;

  • Corporate Champions
  • Brand Awareness/Enhancement
  • SOA & Web 2.0
  • Financial Benefits

Over the past 10-15 years, the design of application user interfaces (UIs) has evolved from a focus on utilitarian to intuitive, as users have become more sophisticated (and aware) of how they interact within information spaces. As such, traditional applications have been required to evolve to provide richer, more intuitive, and user-friendly UIs to address the information navigation requirements of its users – enter rich internet applications.

In the past, application UI design was very much at the bottom of the priorities list when it came to developing web applications. It was a task that was handed to someone who had an eye for matching colour styles, and could perhaps optimise graphics for the web. Back then, the primary motivator driving application development was the technology or the architecture. Oddly enough, the (end) user experience was often a mere afterthought.

Fast forward to today, and the pendulum has swung completely back in the other direction. In a market overcrowded with failing, unattractive, unintuitive web applications (born from solely architecture or technology driven motivators). Organisations are finally sitting up and taking notice of what actually motivates people when they interact with application information spaces. What was once an afterthought is now a major focus. The light has finally come on regarding the impact, benefits and importance, user experience (UX) has on the overall success of a web application.

So what constitutes a good application UX? Let me preface this by stating that i’m by no means a UX expert, and the points i’m outlining below are simply my educated take on the subject.

A good place to start would be a clear definition of what exactly user experience is. The guys over at UX Matters. define user experience design as “the integration of interaction design, industrial design, information architecture, visual interface design, instructional design, and user-centered design, ensuring coherence and consistency across all of these design dimensions.“. What, so you mean it’s not just eye-candy and pretty animations ;-)

Using that definition as a foundation, i’m of the (educated) opinion that good RIA UX design should contain the following;

Design – It would be too easy to gloss over this point as simply the presentation design element of an application. In reality, as demonstrated by the UX Matters definition above, the ‘cover-all’ term of Design relates not only to visual interface design but also integration, industrial and user-centred design.

I could discuss the individual elements of UX Design for hours and not even scratch the surface. Needless to say, this simply further demonstrates the importance (and complexity) of these disciplines in relation to the planning of successful rich internet applications.

Personalisation – This refers not only to allowing the user to customise they way in which they interact with information within an application (i.e views), but also how the application intelligently ‘learns’ the requirements of the user and adapts accordingly.

Most user’s interactions with web applications revolve around the repetition of a similar task (such as; chatting with friends, checking account balances, paying bills, purchasing goods or services, or making travel plans). It is for this reason, that application UIs need to be intelligent enough to know what task the user is currently attempting to complete. When I refer to ‘intellegence’ i’m actually referring to the analysis of behavioral patterns. These paterns in-turn are used to present a more personalised set of options to the user based on the task they’re trying to complete (as opposed to presenting the user with all possible options for all possible tasks). This personalisation of data/options increases the value associated with each user interaction with the application. This is due to user gestures not being wasted on options that are irrelevant to the task at hand.

Productivity – Is closely related into the above point. There’s no point in having a UI that looks appealing if it doesn’t allow me to perform the tasks that I originally set out to achieve. The management of the usability of complex information spaces is another key factor in UX. The ability to understand, and cater for, the different productivity requirements of an application’s users is paramount. This is especially important for Super-Users (i.e. users who have a requirement to perform repetitive or time-sensitive tasks).

Another major element of productivity revolves around the streamlining of existing (complex) processes. This ‘enhancement’ of the way in which (large) complex information sets are interacted, with helps greatly reduce process abandonment (one of the major misgivings of todays applications). Take for example the humble online application form. Research shows that there is a 5% abandonment rate for each form page a user is required to complete online. Thus the benefit of simplifying a 10 page form (which traditionally would have led to a 50% abandonment rate) and distilling that down into a 4-5 page form results in at least a 25% reduction of process abandonment

The key take-aways regarding UX in relation to the motivators driving the increase in rich internet applications are as follows;

  • UX is not just eye-candy to make the application look pretty. It is a critical factor in the overall success (or failure) of a web application. As such it should be treated with the same effort, and importance, as any other part of the project such as architecture, or code-cutting.
  • Usability Experts and UX Designers are not second class citizens of your devteam. As such, they should be factored into the project skills/staff mix from the onset of project planning (and not simply thrown in afterthought). Despite general opinion – A skilled UX expert is as valuable a team member as an information architect, or a skilled programmer.
  • Ensure that your UX team are continually upskilled/trained/educated. In doing so you’re guaranteed that they’re going to be on top (or ahead) of emerging usability/UI requirements and trends.
  • It’s imperative that not only the devteam, but all key project stake holders, be educated on the importance of UX. Communicating the value of UX to stake holders gives them a clearer understanding of the benefits (and impact) that UX has on the success (or failure) of an application project.
15 Jul
Adobe CS3 Meets Minority Report
icon1 Matt Voerman | icon2 Flash, Rich Media Advertising | icon4 15th 07, 2007| icon3Comments Off

In a scene reminiscent of Tom Cruise in Minority Report, Adobe have just entered the ambient media advertising game with the launch of a CS3 installation in Union Square, New York.

Developed by Adobe and advertising partner Goodby, Silverstein and Partners. The installation, which was developed in Flash, is located along the 14th Street side of the Virgin Megastore and consists of an interactive wall thats 7 feet high and 15 feet wide.

CS3 Meets Minority Report

The installation contains infrared sensors that locks on to pedestrians as they walk past the wall. The person closest to the wall is able to control a CS3 rich media advertisement via a projected slider button at the bottom of the wall.

As the selected pedestrian continues walking and moves the slider along, the wall will start displaying colorful animation and playing music, effects that will grow or recede at the pace that the person advances or retreats. When each selected pedestrian reaches the end of the wall, his or her design will be in full blossom, above the campaign’s message: “Creative license: take as much as you want.”

The wall will be recreated in London in early August, at the Piccadilly Circus Virgin Megastore. Each installation will be located there for a month.

A video of some geeks playing with the wall can be seen over Gizmodo’s Ad Watch.

14 Jul
Flex Vs AJAX – How Forrester got it wrong
icon1 Matt Voerman | icon2 AJAX, Flex | icon4 14th 07, 2007| icon3Comments Off

Jeffrey Hammond of Forrester Research completely misses the mark with an article highlighting the pro’s and con’s of the Flex vs AJAX frameworks.

Firstly, let me say that i’m a big fan of Forrester. For the most part they provide unbiased, educated and valuable research on a wide range of subjects (including rich internet application technologies). Unfortunately, in this case, it appears as though Hammond misses the mark on a number of points in his article and, and in turn, shows his ignorance of the facts.

Lets have a look at where Hammond gets it wrong…

“When it comes to rich Internet application (RIA) technologies, application development professionals must choose between two paths: AJAX or Adobe.”

This just isn’t true! Whilst AJAX and Flex are two of the most popular technologies OpenLaszlo has OpenLaszlo , Microsoft has Silverlight, and Sun has JavaFX. All of which can be used to develop enterprise-grade rich internet applications.

“AJAX favors gradual re-factoring of existing Web apps. AJAX is based on open and standard languages like JavaScript and XML.”

Flex too can be used for gradual re-factoring of existing web apps via widgets or pods. Flex is also 100% open source. Its programming languages are based on open and standard languages such as ECMAScript and XML. Additionally, via the use of the Adobe Flex-AJAX Bridge both technologies can co-exist extremely well within the same application (more on that below).

“To be productive in Flex, developers have to learn two new languages and an extensive runtime framework”
The skills to develop with Flex are very similar in a lot of ways to those used to develop in AJAX. As outlined above, ActionScript is based on ECMA-Script which is the basis for JavaScript (the same as is used in AJAX). MXML is a simple XML-based declarative language. If you can use Javascript (AJAX) you’ll pick up Flex in no time.

“AJAX can deliver speedy performance (compared to Flex)”
Whilst in some cases AJAX does offer fast performance (mainly when used in small applications/widgets), when it comes to data loading Flex is superior. Don’t believe me – take a quick test drive of James Ward’s AJAX/Flex Loading Benchmark Application. Whilst still in beta, the results will surprise even the most hardened AJAXian.

“Flash upgrade issues can defeat the deployment value proposition (of using Flex). Upgrade process is not seamless causing high abandonment rates”
This is simply not true – When used correctly, inline Flash Player updating is a VERY seamless experience. With the user NOT required to abandon the page they’re browsing to update the player.

“(Flex) Success can create an unexpected user response. Flash is a broad graphical canvas, and Flex allows designers to push the boundaries of rich media further than AJAX does. This can lead to a situation where users become distracted by a mix of Flash’s rich media and Flex’s new controls.”
In other words – Flex is TOO GOOD as a RIA development tool. Lets get one thing straight, users becoming distracted by rich media and controls has nothing to do with the Platform or the Framework – this is 100% a UX (user experience) design issue. The same argument could apply to ANY rich internet application.

“AJAX: The Fast Lane to a Better User Experience. App dev organizations that prefer a fast path to RIAs (for developers and users alike) select AJAX”
Lets not mix our metaphors here. Which is it? Better User Experience or Fast Path to RIAs? The previous statement just negated the first part of the above quote with Hammond admitting that “Flex allows designers to push the boundaries of rich media further than AJAX does” which equates directly to a better user experience.

I’m also of the opinion that developing a Flex application is faster (in a lot of cases) than developing the same application in AJAX. Kevin Cheng (Yahoo! Maps) also agrees. In an interview he gave last year he mentions “AJAX takes a lot of work. If you try hard enough, you can do almost anything with AJAX that Flash can do but the key phrase is “try hard enough”.

“Integrating data sources and Web Services (into Flex) is less intuitive than some commercial AJAX frameworks
The reality is that both AJAX and Flex require only 3-5 lines of code to create an XMLHttpRequest or HTTPService object. Unfortunately if you intend running your AJAX application on cross browser/ cross platform you’ll need to include a significant amount more of code to check for these different delivery platforms. Flex on the other hand publishes to a SWF (Flash) file which performs exactly the same on cross browsers and OS’s. Now which of those appears to be the less intuitive?

An interesting side-note worth noting is that at no point in the article does Hammond mention the Adobe Flex-AJAX Bridge or the AJAX Data Services. I find this omission perplexing, especially for a research article discussing the benefits of both technologies. IMHO this illustrates a bias towards AJAX (or perhaps a lack of subject knowledge) either one not being a good trait to have when writing an educated (supposedly unbiased) research article.

For the recored – The Flex Ajax Bridge (FABridge) is a small, code library that is added to a Flex application to allow it to be exposed to browser-side scripting (AJAX). On the other hand, Ajax Data Services is a JavaScript library that lets Ajax developers access the messaging and data management capabilities of Flex Data Services directly from JavaScript. It allows Flex and Ajax clients to share data in the same messaging application or distributed data application. Both of these initiatives from Adobe clearly demonstrate the ability of AJAX and Flex technologies to co-exist extremely well within the same application. So much so that Google use it for their Google Finance section.

The bottom line is, that if you work for an organisation as reputable as Forrester, and intend on writing educated, informative, and unbiased research articles for the purpose of educating the masses. It’s imperative that you ensure you have all your facts straight, and check any (whiff of) bias at the door. Now this could all sound like the ramblings of an Adobe fanboi – and whilst I do work for Adobe, i’m not blind to the fact that when you compare and contrast competing technologies you have to ensure balance, and factuality are paramount. Unfortunately, this just isn’t the case in Hammond’s article. This concerns me greatly, as in this day and age when there is so much mis-information out there about RIA technologies it’s imperative that research organisations like Forrester (and Gartner) provide clear, correct, unbiased views of the facts.

10 Jul
Rich Internet Application Motivators
icon1 Matt Voerman | icon2 Rich Internet Applications | icon4 10th 07, 2007| icon3Comments Off

I just finished reading an interesting article by Yakov Fain from Farata Systems on the relationship of service oriented architectures (SOA) and rich internet applications (RIA). The article is a great kick start if you’re new to the whole concept of service based architectures (especially if you have an interest in how SOA’s relate to RIA’s). On top of that, I’m always keen in hearing the RIA-related opinions from people/organisations that come from the Enterprise Java side of the fence. With Farata Systems definitely falling into this category.

Yakov’s initial comment in the article relating to “What is the driving force for implementing any technology or architecture in a decent size Enterprise?” aligns very closely to a post I made some time ago about “Who is actually pulling the RIA development strings”. Within the post I discussed the who within traditional IT based organisations are the main champions in driving the uptake of RIAs.

This got me thinking about the bigger picture. What (or who) exactly are the main drivers behind the surge in the popularity of RIAs. Is it the corporate champions within organisations raising internal awareness? Maybe it’s the technology thats trail blazing the way forward. If we look back at Yakov’s post, the architecture of the existing applications and infrastructure has a lot to do with it. What about the bottom line financial benefits of RIAs – surely they have a large role to play? Perhaps it’s boils down to a greater awareness of the benefits of user experience (UX) and how RIAs deliver this? Or maybe, just maybe, it’s something as simple as an organisation wanting to create a better, more widely recognised brand for itself. Personally, I’m of the opinion it’s a combination of all of the above. Individually, any one of the above points could act as a catalyst to motivate an orgnisation to roll-out the RIA red carpet. Realistically though, it boils down to a combination.

Over the upcoming weeks I’ll be delving into each of the above points to flesh out the pro’s, and con’s of the main motivators behind the sudden popularity of rich internet applications.

Stay tuned

9 Jul
Who am I?
icon1 Matt Voerman | icon2 Flex | icon4 9th 07, 2007| icon3Comments Off

Hi, i’m Matt Voerman and i’m a Senior Consultant for Adobe Systems based out of Sydney, Australia.

My role at Adobe revolves around working with customers at a various points within their IT project life-cycles that leverage our enterprise and developer based technologies (i.e. Flex, LiveCycle, AIR, Flash Media Server (FMS) and the Flash Platform in general). Be it from pre-sales (with technical or business validations) to post-sales (including; analysis, design, development, integration and support). I help people work better with Adobe.

Personally, I’ve been working in the rich media industry for over 12 years, and very much enjoy where the industry is heading. Back in the day, I started out with Hypercard, Macromind Director and Authorware, and then moved onto a relatively unknown application called Future Splash (you might know it by it’s current name of Adobe Flash). From there I cut my teeth on Macromedia Generator, eventually moving onto Flex when it was launched in 2004.

Having been a big fan of rich internet applications (well before the term was coined or Web 2.0 existed), i’ve written, or contributed to, a number of books and white papers on the topic.

Accolades aside, i’m genuinely passionate about helping grow community awareness about the benefits of rich user experiences, and the technologies used to create them. You can often find me waxing lyrical at conferences such as MAX, WebDU, Web on the Piste or anywhere people will listen.