Archive

Usability

This time each year, technophiles are asked to part the curtains and peek into the coming year. While last year brought unprecedented growth in RIA adoption— especially by Fortune 500 companies—RIA adoption in 2008 brings a new onslaught of risks, rewards, challenges, and opportunities for companies of all sizes.

Let’s start with something positive. Last year, the overall demand for RIAs outpaced the qualified supply chain. This trend will continue. This year, companies facing both job growth and decline will need to continue to leverage innovative, usable RIAs to hone their competitive edge to outpace their competition and improve core business practices with fast, reliable, productivity-enhancing internal and external tools. However, building and deploying effective RIAs is not something companies can jump into with blind assumptions.

"adobe flex" Job Trends graph

Without the right leadership at the helm and the right team in the trenches, the world of RIAs is fraught with risk that can cost dearly. The flip side of the coin is that good RIAs can provide your customers with user experiences that leave your competition in the dust. If you keep the following risks and rewards front of mind, you can turn the 2008 RIA challenge into successful opportunities.

 

Risk: Developer inexperience
Reward: RIAs that work result in user adoption
Since many underlying RIA technologies are still emerging, finding developers with the appropriate level of experience can be tough. Thinking that you can find good Java or .Net developers immediately turn them into expert Flex or Silverlight developers is not good thinking. Inherent to these powerful new frameworks are challenges that require mastery of the technologies. Rich client applications differ greatly from server, HTML, or desktop applications and require very certain development expertise. Beware the typical developer optimistic mindset that believes problem-solving skills are platform independent.

 

Risk: Designer inexperience
Reward: Well-designed RIAs make people want to use them
The gap between sexy and usable is huge and dangerous. A great print or web designer is not necessarily a great application designer, especially not right out of the gate. It takes a considerable shift of discipline and time on the front for designers to transition from page based metaphors to RIA necessities such as features, tasks, hierarchical navigation schemes, and transitional animations. Oddly, understanding how to leverage new technologies like AIR and Silverlight means that designers may have to unlearn some of what they have relied on in the past as successful solutions. 

Forrester Research stat: 70 to 80 percent of all IT projects fail. The number one reason why they fail is a lack of user acceptance, not technical issues (caveat: user acceptance may be poor simply because an application just doesn’t work). An effective RIA designer who respects user input and usability measurement studies will dramatically mitigate the failure rate of an IT project. Look for RIA designers with experience and/or education in human factors.

 

Risk: Poor hires
Reward: Powerful designer/developer collaboration
Managers may see the words "Flex experience" on a resume and assume that, in-and-of-itself, Flex experience makes the candidate qualified. Differentiating between experience and quality is very hard for an IT manager to assess since they may have not yet seen what a good RIA developer really looks like. The same premise holds true for design talent. Hiring the wrong developer or designer obviously will likely point to costly disaster on any project.

Consider outsourcing to proven experts. Or build teams consisting of blended internal and external talent and give them prudent product management guidance. 

 

Risk: Lack of process and culture
Reward: Integrated workflow and new behaviors
Let’s say that you lucked out and put together a great team. Now you have to get them to collaborate. Establishing the right culture to enable the team to work together is critical to the success of creating engaging applications. It takes a delicate combination of humility, passion, confidence, knowledge, process, and realism to execute against business and user requirements.

Also, carefully consider reporting structures. Should the designer sit in Marketing? IT? Companies trying to build effective teams may be challenged by traditional organizational and hierarchical silos and boundaries to get the right people in the right room with the right priorities and agendas.

 

Risk: Messaging from platform providers
Reward: Great news across the board
Both Adobe and Microsoft have emerging RIA platforms (AIR/Flex/Flash and Silverlight respectively). While the hype for Silverlight is hitting stride, currently the Adobe Flash/Flex/AIR platform is the way to go for most robust online applications. Microsoft’s roadmap is very exciting, and I believe that we will see some great moves forward on their platform in the next 12 months. However, the Silverlight runtime just does not offer enough functionality or the ubiquitous reach that the Flash Player does.

The opportunity, no matter the platform, is abundant. Microsoft entering the RIA game is great news for everyone, even Adobe. They have helped to validate that RIAs are the future of how companies will engage, inform, retain, and entertain, their customers.

 

Risk: RIA providers on overload
Reward: Consistent home runs
Many providers in the RIA space are growing more rapidly than they can realistically support— flirting with implosion and growth rates of 1,000 percent and higher. Without dedicated, qualified team members in place, RIA providers have no business taking on work just to take on work. If you come across an RIA provider who has people available immediately, beware. At EffectiveUI, we would rather turn away work than fatigue or dilute our human resources.

 

Risk: Inadequate budgets
Reward: Proving the value of an RIA
The return on investing into a great RIA—even a simple one— can be astounding. Applying the same budget approach as you would, for example, a micro site or an HTML calculator is not the model to follow. Find guidance and build your case. Deploying an application that is truly going to engage users and deliver a measurable ROI requires appropriate budgeting of dollars and time.

 

Risk: Inappropriate intention
Reward: Focused discipline for the job
Hiring your advertising agency to build a critical business application is like asking your interior designer to engineer a new building. While both disciplines are important and somewhat related, they absolutely require pinpointed expertise and focus. Make sure that the person or company you engage to build your RIA understands and respects the difference.

 

add blog to del.icio.us

add blog to technorati

dig this story

Can “Usability” actually be a hobby … kinda is for me. I figured that there are some folks out there with a passion for good user experiences. Like them, when I visit a website, use software, or even enter a retail store, I get very frustrated when it is obvious the company “does not care for me”… after all, isn’t focusing on good usability and customer engagement simply caring about your customers?

NoMokin.com is designed to give the frustrated user experience evangelist a forum to rant, vent, complain and poke fun at companies that just simply “don’t quite get it”. The site is a bit of an experiment; took only 2 days to get up and running (the current joke on the site it that it is itself, not very usable… yet).

NoMokin

add blog to del.icio.us

add blog to technorati

dig this story

Flex And Flash Friends or Foes

Introduction

Many developers will tell you that Flex and Ajax are apples and oranges; compliments to one another that aren’t always in direct competition. While this is certainly true, in the space of rich Internet applications (RIAs), there are still many situations where both technologies provide similar solutions to the same problems. The purpose of this article is to provide a comparison between Flex and AJAX in those situations where they are both relevant to the problem at hand. It is intended to be a living document, and I plan to update it frequently as you add your comments, so please feel free to add your opinions and suggestions!
You may also download this article as a PDF from here: https://anthonyfranco.files.wordpress.com/2007/06/flexandajax.pdf

What Is Flex?

Flex is a free, open-source platform and component library for developing applications that can be deployed on the ubiquitous Flash Player. When you think of Flash, you may think of the Player or the Flash development IDE. Flex is just another way of creating applications to be deployed on the Flash Player. Flex is specifically geared toward building robust, rich Internet applications — internet applications that behave with the same interactivity and engagement as desktop applications. There are two languages in the Flex Framework MXML and ActionScript. ActionScript is a strongly typed ECMA compliant scripting language and MXML is typically used for layout, styling and data binding.

What Is AJAX?

AJAX is an acronym for ‘Asynchronous JavaScript And XML’. It combines coding with HTML, JavaScript, and XML to allow interaction between the client and server to occur ‘asynchronously’. The ‘asynchronous’ part is important – it means that user interaction with the interface isn’t broken up by page refreshes every time the server has something to do. In essence, AJAX is a series of techniques and tricks to make traditional web pages more interactive.

Feature Comparison Matrix

Caveat: AJAX services / tools / libraries / compatibilities and components are morphing everyday. This matrix is designed to compare the most important features of the most robust AJAX frameworks with the Flex framework. It is not meant to be a comprehensive list, and is subject to some interpretation. In addition, since Flex and Flash are irrevocably bound together, many of these comparisons do not make the distinction between Flex, Flash or the Flash Player.

Animation
Why Care? Animation support allows developers to indicate state change, orientate the user on navigational changes, or to simply entertain & immerse the user.
AJAX Limited support and difficult to author anything but simple linear animations
Flash / Flex Richly supported
Bitmap Manipulation
Why Care? 1) Allows users to alter bitmap
imagery real-time, client side

2) Gives developers flexibility to create image effects, distortions and alterations at runtime

3) Aids in animation support (think motion blurs and distortion effects)

AJAX Supported inconsistently in Opera, Firefox and Safari. Can also be achieved through extensive server-side processing and client-server interaction
Flash / Flex Supported natively
HTML Rendering
Why Care? In some circumstances it is beneficial to render HTML within your application. For example, users might generate complex HTML content for other users to see.
AJAX Fully supported
Flash / Flex Limited support (no HTML tables, no JavaScript, no frames, etc)
Video and Audio Streaming
Why Care? Video is one of the hottest thing on the web right now. You may not think that it matters to you, but keep in mind that most companies decide to augment an application later with some type of video enhancements like video training, corporate communications, or entertainment. Now, more than ever, video is becoming a big part of online communication.
AJAX No native support (user needs a separate plugin like Quicktime, Windows Media Player, or the Flash Plugin to play video in AJAX deployments)
Flash / Flex Supported, video quality is pretty good but needs to improve before widely adopted by media companies. Video and audio capture through user’s installed devices is also supported.
Development Environments
Why Care? The better the development environment, the easier it is to create code quickly and the more developers will adopt the technology.
AJAX Free – Google Toolkit

Free – Echo 2
Free

Free – jsLINB

Free –
Rico

$5400 Zapatec
(many more)

Flash / Flex 3 Authoring environments:

$500 Flex Builder
(Eclipse Based Plugin)

$700 Flash CS3

Free – Any Text Editor

Runtime
Why Care? The runtime is what interprets the code into executable actions to the processor. Inconsistencies, bugs and performance issues in the runtime can seriously degrade the user experience.
AJAX Each browser is required to interpret code individually.
Flash / Flex A single browser plugin provides a single cross browser cross platform runtime
Strongly Typed / OOP Language
Why Care? Strongly Typed and Object Oriented Programming methodologies make it easier to create code with larger teams by enforcing certain coding patterns, and metaphors across an entire code-base
AJAX Supported in some frameworks, but still compiles down to a prototype structure. Most libraries do not mix well with one another and can commonly cause conflicts.
Flash / Flex E4X Compliant
Vector Graphics
Why Care? Vector graphics give designers the ability to create vector based skins and graphics for their applications, making the footprint of the application dramatically smaller. This also gives developers the ability to create complex data visualization components that can dynamically update, animate and redraw without the need for server round-trips.
AJAX Supported through VML in newer releases of IE and limited support with SVG in some of the other browsers
Flash / Flex Supported natively
Security
Why Care? How easy is it to accidentally or nefariously create an application with security holes that threaten your servers or the user’s machine?
AJAX Both AJAX and Flex utilize the browser’s security sandbox to ensure the security of the desktop. Hackers may have an easier time finding security holes in your systems by peering into the source code of your AJAX application while the code geared for the Flash Player is obscured by compilation and can be encrypted.
Flash / Flex
DOM Control
Why Care? Accessing the Document Object Model allows an application developer to control the browser itself.
AJAX Supported
Flash / Flex No native support. Must use external calls to JavaScript
Server Communication
Why Care? Obviously, the ability to connect your application to a services is what building an online application is all about.
AJAX Both AJAX and Flex allow you to communicate using web services, REST, and simple XML. Binary sockets are supported with the Flash Player giving you the ability to communicate very light weight data packets bidirectionally (pull and push)
Flash / Flex
Search Engine Optimization (SEO)
Why Care? Sometimes, when dealing with RIA technologies SEO is irrelevant. Search engines operate in page based metaphors and some RIAs are dynamic and interactive such that SEO is not appropriate.
AJAX Friendlier SEO by nature as the code is natively HTML. However, most search engines will not follow JavaScript links. AJAX needs to be very carefully architected if SEO is critical.
Flash / Flex Limited support. SEO is achieved through meta tagging and alternate content publishing.
Accessability
Why Care? If you applications are targeted for large organizations or government agencies, accessibility is a core critical requirement. Also, isn’t it just the right thing to do?
AJAX Limited, few frameworks claim to have support
Flash / Flex 508 compliant – but you must architect the application up-front for accessability
Analytics and Behavior Measurement
Why Care? Measurement is the key to understanding the success of your application. It also allows you to understand where you can make incremental improvements to optimize the user experience and help accomplish business goals.
AJAX RIA analytics tools are woefully lagging behind. Omiture, Web trends and Google Analytics all have limited support and poor RIA reporting. EffectiveUI has a set of homegrown tools to properly measure and report user behavior within an RIA.
Flash / Flex
Automated Testing
Why Care? Large scale, enterprise applications require the ability to test user interactions in an automated way in order to increase testing accuracy while reducing the budget and schedule of quality assurance cycles.
AJAX Many web-page automated testing tools will work fairly seamlessly with simple AJAX implementations.
Flash / Flex Flex components include an automated testing framework that tie into tools like QTP or home-grown solutions.
Openess
Why Care? How “locked in” to a proprietary technology are you when choosing the right platform?
AJAX There are many different licensing options for the various AJAX frameworks. Anywhere from open source to commercially licensed.
Flash / Flex Flex and ActionScript are open source. the Flash Virtual Machine (FVM) is not. Adobe has decided to keep the runtime closed to control code versioning, standardization and security.
Extensibility
Why Care? Enables 3rd parties to create tools, plugins, components, etc.
AJAX Since AJAX is an extension of HTML and JavaScript, the framework is inherently extensible
Flash / Flex The Flex components can be extended, and new ones written. The Eclipse based Flex Builder is also significantly extensible.

AJAX is an incremental path to a better user experience [however] the AJAX path itself forks. Just because a development team has chosen to go with Ajax doesn’t mean that its tool selection effort is complete. There remains the important decision of how many and what type of Ajax frameworks to use. Flex delivers productivity in the long run but takes more time to learn. Adobe is an attractive RIA solution because it combines powerful development tools (Flex) with a near-universal browser plug-in (Flash) that’s designed to simplify RIA deployment. Managers who have concerns about small commercial Ajax providers or support issues with open source Ajax frameworks consider Flex a safe alternative. But there is a downside: To be productive in Flex, developers have to learn two new languages and an extensive runtime framework — something that can take between one and three months to learn.
Jeffrey Hammond, Forrester Research. “AJAX or Flex, How to Select RIA Technologies”

Compatibility

Right now, there is a heated debate on which platform is more compatible than the other. Simply put, JavaScript and DHTML are supported on more desktops than the Flash Player.
Unfortunately, its not that simple. The differences in how browsers interpret AJAX code is where this discussion gets very complicated, very quickly. AJAX frameworks attempt to obscure browser differences by creating components and libraries that account for browser and operating system inconsistencies. However, these frameworks do not publish ubiquity statistics, making it hard (if not impossible) to make educated compatibility decisions on which framework(s) to choose. In addition, if you need to customize a component, create a new control, or extend a library, you now have to worry about your code being cross-browser compliant. As the sophistication of your AJAX application increases, the potential compatibility issues will increase exponentially.
Flex, on the other hand, uses a ubiquitous runtime, this means that the Flash Player uses the same virtual machine to run your code on every browser, therefore mitigating potential compatibility issues. You should never have to rely on browser hacks or exception coding based on operating systems. In addition, Adobe publishes their Flash Player compatibility statistics and updates those statistics four times a year. Decision makers tend to trust technology that is constantly measured on important metrics, but these statistics are often used against Adobe to point out that the runtime is not as compatible as JavaScript. However, remember that JavaScript runs differently on each browser and that your code may not be as compatible.
Developing and testing large applications across browsers and operating systems dramatically increases production costs. This is the primary reason why many firms use AJAX to make incremental improvements and modifications to their online applications, and use Flex for large scale deployments where performance, scalability and user experience are the highest priorities.

Performance
The most definitive performance comparison between the 2 platforms was done by James Ward in April, 2007:

RIAperformance

While these results may be eye-opening to some, once you understand some fundamental differences between Flex and Ajax, they end up making a lot of sense. Flex applications run within the Mozilla Tamarin VM inside Flash 9. Tamarin does JIT compilation which makes code execution 10 to 1000 times faster than interpreted JavaScript in the browser. Also Tamarin can be very efficient when dealing with typed objects. In addition, Flex supports a compact binary object serialization protocol, called AMF3, which is extremely fast. There are numerous Open Source implementations using various back-end technologies for AMF3, as well as a commercial / supported Adobe product, called Flex Data Services. If you control both sides of the wire in your application, than there is rarely a good reason to serialize and de-serialize text. Objects are blazing fast as you can tell by this benchmark. AMF3 is also typically much more efficient across the wire (even without compression) and consumes much less client side memory. JIT compilation and binary object serialization are the primary reasons why Flex AMF3 is so fast, even in the test with the full 20,000 rows. And, it’s not just faster for loading — it also speeds client side sorting and filtering.
James Ward “Ajax and Flex Data Loading Benchmarks”

Interoperability
In some cases, the answer is not “either Flex or AJAX”, but “both Flex and AJAX”. Each have their place and can also work together quite smoothly as the needs of the application dictate. For example, you can leverage the rich animation, vector drawing and layout management of Flex, and incorporate an AJAX layer to allow your application to render complex HTML. More interesting applications can make use of Flex/Flash and AJAX to support each other. Using simple API calls to and from the Flash player to JavaScript allows simple interaction between the two and Adobe’s Flex/Ajax bridge (http://labs.adobe.com/wiki/index.php/Flex_Framework:FABridge) makes more complex interaction possible with a minimum of effort. Some great applications already use this type of approach today. For example:

Earth Measurements (http://www.earthmeasurements.com) is a great example of an augmentation of an already great rich application. Flex overlays work with the underlying Google maps layer to let you measure distance between points on a Google map. A great example of complex, tight, integration between the two technologies.

Google Finance (http://finance.google.com) is a great application for checking out how a certain company is doing financially. For instance, have a look at Microsoft at http://finance.google.com/finance?q=MSFT. Notice how elegant and simple this stock’s performance graph is. It’s easy to see the stock’s value at different levels of detail with zooming and tool tips – all things that are easy to do in Flex/Flash, and difficult if not prohibitively difficult to do in AJAX. But Google also maps landmarks in the stock’s performance to news about the company that may shed light on why the value is taking turns up or down. The news is just text and links, no reason not to use HTML if you already have the expertise and the application makes no more technical demands. The power of Flex/Flash and AJAX interoperability shows through when you click a milestone on the graph or in the news list and the graph and news communicate to highlight a selection from the other. Also, scrolling the graph keeps the news in sync. A great example of each technology in it’s place and working together for a great application.

Practically Speaking
You’re probably saying to yourself, “Okay, all this information is great. But bottom line it for me. What technology should I use?”. The answer is that it depends (big help, right?) As with any software development process, you need to figure out which technology best solves your specific problems. It may be helpful to talk about what types of applications are suited for each:

Use AJAX:
– To make incremental usability enhancements to an existing web site.
– For building “widgets” that do not need a team larger than a couple of developers.
– When you have existing, internal JavaScript and HTML expertise.

Example uses could be navigational elements, simple calculators, and client-side validated forms.

Use Flex:
– When you need to develop applications that require a robust, scalable rich Internet application.
– Where you require sophisticated and interactive data visualization.
– When video & audio playback or web camera / microphone capture is a requirement.
– Where you require complex animation or bitmap manipulation.
– When the graphic design is core critical to your business needs.

Example uses could be product configurations, workflow/process/inventory management applications, video conferencing, playback & editing, immersive or entertaining experiences, data visualizations, and management dashboards.

Use Both:
– When SEO and an immersive experience are equally important.
– When neither meet all of your needs (for example: video playback and HTML rendering are both requirements).

Example uses could be WYSIWYG HTML editors, and user generated content portals.

Additionally, in real-wold use, Flex typically requires less coding to build the same or better functionality. The learning curve is higher, but the development times are significantly lower. As one of EffectiveUI’s senior architects, put it:

I really believe that Flex development is faster than AJAX simply because you end up writing less code. The Flash runtime just handles a ton of [stuff] for you. I am technology agnostic (or try to be), but one thing I certainly am is lazy!!! I’m too old to be motivated by caffeine and late nights. So Flex has my vote in the productivity camp. Flex vs. C# feels to me like the same productivity boost that C# vs. C++ did a few years ago.

More Resources

If you would like to dig deeper on this subject, the articles, blogs and papers below have helped us in creating this article:

Ted Patrick, Inside Yahoo! Interview “AJAX vs Flash” http://www.onflex.org/ted/2006/09/ajax-vs-flash-inside-yahoo_27.php

Pete Cashmore, “Flash, AJAX and Yahoo Maps: Does the Technology Matter?”http://mashable.com/2005/11/03/flash-ajax-and-yahoo-maps-does-the-technology-matter

James Ward, “AJAX and Flex Data Loading Benchmarks”http://www.jamesward.org/wordpress/2007/04/30/ajax-and-flex-data-loading-benchmarks

Jeffrey Hammond, Forrester Research, “Ajax Or Flex?: How To Select RIA Technology” www.forrester.com/go?docid=40989

Ryan Stewart, “The Universal Desktop” http://blogs.zdnet.com/Stewart/?p=216

Wikipedia http://en.wikipedia.org/wiki/AJAX_vs_Flex

Flex.org http://www.flex.org

Ajax.org http://www.ajax.org

Flash Player Penetration Statistics http://www.adobe.com/products/player_census/flashplayer/version_penetration.html

AJAX Browser Compatibility Matrix http://www.musingsfrommars.org/2006/06/howre-we-doing-now-ajax-browsers.html

Adobe Flex Product Information http://www.adobe.com/products/flex/productinfo/overview

Mozilla Development Center http://developer.mozilla.org/en/docs/AJAX

Flex and AJAX Bridge http://labs.adobe.com/wiki/index.php/Flex_Framework:FABridge

EffectiveUI’s Website http://www.effectiveui.com

add blog to del.icio.us
add blog to technorati
dig this story

EffectiveUI and Adobe are cosponsoring a rich Internet application event on May 3rd in Denver.

The event, titled “Unleashing the Power of Rich Internet Applications” will have an unusual “Business” spin to it. Instead of targeting developers, the event is specifically designed for managers, directors, and executives. It will not be a “roll up your sleeves and start coding” type of event, but rather a “understand how RIAs impact business” event.

The presenters include:
Ron Rogowski, Senior Analyst from Forrester
Mitch Green, Director Platform Application Strategy at Adobe
Alan Lewis, Technology Evangelist at eBay
Ryan Stewart, RIA ZDNet Writer & Blogger
Anthony Franco, me :)

Okay, here’s the best part… the event is FREE for those who register. More information, and registration links can be found here:

http://eventsadobe.com/ria/

Hope to see you there !!!

add blog to del.icio.us
add blog to technorati
dig this story

My daughters are huge fans of two reality sing-offs shows, “Grease, you’re the one that I want” and “American Idol”. I’ve always thought that reality shows are interesting because the editors of the shows are, in essence, the stars. There’s a distinct contrast between these two particular shows. I guess you could say they both have great back stories, drama, competition and talent, but Grease’s editing is just sub-par to Idol’s. The picture editors for America Idol are extraordinary; I believe it is the primary reason it does so well.

I know what you’re asking:

“What the heck does that have anything with application development?”

Im getting there…

Nine years ago, I worked in feature post production at Warner Bros. Robb, my boss, walked me through the studio my first week on the job, mentoring me on how Hollywood worked. He taught me two important lessons about engaging the audience that I have carried with me ever since.

First, he spoke about his 10 years working with picture editors (both TV and feature film). Through that time, he had the opportunity to work with bad ones, good ones, and the occasional greats. He described how in just a few minutes, he could tell the difference between the good and great editors. The good editors had impressive “gut” instincts, their cuts felt right to them, and a majority of the time their instincts were dead on. The major difference between them and the truly great editors though was that the great ones could tell you why they made the cuts where they did. Not only did they have great instincts, they had an explanation for every single edit.

“I made this cut to him, here while she was talking, because I thought his expression was more engaging, I wanted the audience to identify with his emotion.”

When you talk to our Chief Interface Designer, Lance, you get exactly the same level of thoughtfulness. In fact, any designer from effectiveUI will tell you why they, for example, chose left-to-right navigation for an application, or why this button should go here rather than there. Lance has a reason for every pixel and color that is used. There are many good application designers out there, but look for those that can tell you the why behind the important items in their design. And if you are a designer, trust your gut, but also make sure you can back those decisions up with logic and purpose.

The second lesson Robb taught me was when he spoke about the responsibilities of the special effects departments:

“If you’re watching a movie, and you say to yourself, ‘WOW, that was an awesome special effect’; then we have not done our job. Our job is to never be noticed, to not take the audience out of the magic immersion of the film.”

Have you ever looked at an application and said, “WOW, that navigation is awesome!” I’ve caught myself doing that as well. Lance always talks about how the interface should get out of the way and let content be king. That is not to say that the interface is not important; on the contrary, it is CRITICAL. But subtlety, familiarity, and immersion are much more important than the sexiest of navigation schemes. When evaluating the design of an application, the first 5 minutes are the most important, after that you have been contaminated. If you find yourself magically understanding the interface almost immediately, then you are in front of something very special…

add blog to del.icio.us
add blog to technorati

%d bloggers like this: