rich Internet application

Well, I am excited to say we have launched our new website:

In an earlier post, I talked about the difficulties we were experiencing with designing and building our own website. I think, given our company objectives, the team hit a home run. What did we want to accomplish?

Form VS Function

Obviously, the site needed to “show” what we do rather than just writing clever copy  & creating pretty graphics (not that wit & sex appeal aren’t important – something that I lack on both counts). We fundamentally believed our site needed to be “rich” while also delivering the appropriate marketing messaging. We are a little worried that our site might make us look more “interactive agency” than “user experience agency”, but that is a hard line to balance.


We really needed to overhaul our messaging. We have changed quite a bit over the last 3 years and our previous site made it very difficult to highlight our focus on the 3 key areas all good UX companies care about: strategy, design and technology execution.

Tactical Marketing Objectives

The team did an awesome job doing things you may not notice, like creating a flash based website and make it easy to update the content. They also incorporated deep linking and HTML/Flash mixes in a very sophisticated way. I’m really proud of the way this thing was built.

I’d love to hear your feedback on how you think we did. Go easy though, I do bruise easily :)

Over the past few years, there’s been a ton of buzz word creation; “RIA”, “Web 2.0 & 3.0”, “Semantic Web”, “Social Media”, “Microblogging” “Cloud Computing”, the list goes on. The truth is that all of us in the tech industry often forget thechnology’s ultimate purpose: To improve humanity… We forget that all the software we create will ultimately touch a human being. 

I’ve done it myself, created some incredibly elegant code, something that I was very proud of, but nobody in the real world cared – It was because I was caught up in solving the puzzle, mental masturbation if you will, and lost the bigger picture with an actual human being on the other side.

About 8 years ago, I realized that there was a huge gap between what people wanted in software, and what I was delivering to them. That realization challenged me to start to focusing on user interface development. I didn’t know it at the time, but this was the impetus for EffectiveUI.

Being a developer at heart, I attempted to create the blueprint for all software developers – some kind of system that we could all run our code through to ensure its usability. What I quickly learned, of course, is that this is not a technological problem; it can’t be solved with ones and zeros. I needed to remove myself from my developer shell and actually try to understand people – not easy for the bullied, introverted, geek in high school  (I did have one friend, my Apple IIe ).

After 4 years of working alongside the extraordinarily talented people at EffectiveUI, I’ve come to the realization that the best we can do today to describe usable software is to list a set of subjective criteria – I know it ain’t perfect, but we’ve come to use it internally as a measurement for success on all of our engagements, and our clients seem to agree that we are giving them a leg up by focusing on these 8 criteria:


#1: Usable Software helps people accomplish goals 

Yeah, no kidding! But believe it or not, if you only think about “solving the puzzle” it is very easy to forget the very people you are creating the software for. When interviewing David Armano for the UIRC, he said something that is so simple, but is a fundamental truth that is often overlooked in many software initiatives: 

“[Good software] does what I want it to do. So I don’t know if that’s a complex or simple thing, I just know that it works for me. When you look at the landscape of Web applications and desktop applications, if something doesn’t work contextually, it becomes a moot point even though it might be a great technological advancement.”

All software you create must help someone accomplish something. Some of the ways to ensure this on a project is to go out and interview the target customers of the application. Watch them in their daily routine – understand the other software they find utility from (even if that software is not related to your initiative) . Even more important, understand their pain in using that software – their biggest pain is your biggest opportunity…


#2: Usable Software is responsive and performs

Most interactive agencies make design the first class citizen and force development to take second chair. This is a classic recipe for failure. If a creative director is responsible for final requirements, I guarantee the application will fail. If technology is an afterthought, performance will suffer. Your customers will not tolerate poor performing software – It’s like owning a Porche that gets 1 mile per gallon and goes only 15 miles per hour, it may look pretty sitting in your driveway, but trying to drive it to the grocery store would be an exercise in futility.

In order to ensure software performs, you have to make creative compromises. You must ensure fluid collaboration between design and development … John Lasseter @ Pixar put it best:

“design challenges technology technology inspires design, and the process feeds itself”

If you can accomplish this culture in your software development process, magic will happen.

#3: Usable Software is brand consistent and  trustworthy

This is almost the flip argument to #2… The ying to the Yang if you will. Having a technical architect responsible for final requirements is just as disastrous as having a creative director drive them. What you will wind up with is software this very logical, and is completely understood by technologists. But what happens if your end customer is someone more real, like your mom, or a child, or someone in China? I recently did an interview with BTQ that touches on this subject – Ensuring brand consistency is giving your customers the trust that this software was written by professionals. People will not put their data into a system that looks like it was built 5 years ago, they will not trust their data is secure.  

Trust in a system is the most commonly overlooked, or bypassed. However, it is also the one thing that can have the largest impact on user adoption. In a study conducted by Nielsen Research, Trust was the #1 reason why people did not buy on the web – 5 times the #2 reason “no need for the product or service” – think about that for a second… People were five times more likely to walk away from an offer due to the lack trust in the site than from the lack of need for the product. 

Trust is the primary reason why social networking is quickly becoming the marketing channel of choice for many organizations – they have realized that having one’s friend recommend you is better than any marketing collateral – people trust their friends and influencers more than they trust any marketing text on your website.

However, there are other ways to establish trust – if your software looks professional, modern, secure, and brand consistent, people will trust it. 


#4: Usable Software  provides valuable feedback

Have you ever clicked on a button in an application or on a website and literally nothing happens? So you click on it again, because you’re not sure if you actually clicked it, and still nothing… So you keep clicking until you get the app to crash. This is because the application is not providing you the feedback that “it heard you” – it is necessary, in some cases, to make people wait for processes to complete  before moving on the the next step. But you must make sure the application provides feedback behind every user interaction. Otherwise they will be confused, disorientated, or just plain angry. 

Simple advice here – make sure everything a user is to interact with provides some feedback for that interaction.

#5: Usable Software behaves with consistency

Large, enterprise systems typically suffer from consistency issues. Small, utility applications usually have one to 5 uses at the most and it is easy for a single individual to design consistent controls. But once your team gets larger than 4 to 5 people, it is really easy for similar components of the software to act in totally inconsistent ways. Salesforce has many examples where things behave one way under “contacts” and a completely different way under “settings” – it makes the learning curve very long.

We tackle consistency issues with something called an Interaction Model – think of it as a style guide but for controls and transitions. Apple has probably one of the best examples of documentation to counter-act the issues with inconsistent software behaviors called the Apple Human Interface Guidelines


#6: Usable Software behaves in a familiar way

All software is innovative. Otherwise, why are you writing it? You are trying to solve a problem that has never been solved before or in a way that has never been attempted. Innovation is critical – but you have to balance that innovation with familiarity. Some people believe that they can substitute a “familiar” interface  with an  “intuitive” one. They believe that they can create controls and systems that are new and innovative, but also intuitive. My favorite quote on this is often attributed to Bruce Ediger in 1995:

“The only, truly  ‘intuitive’ interface is the human nipple. After that it’s all learned.”

Later, bruce refined the statement with:

“There is no intuitive interface, not even the nipple. It’s all learned.”

I find it interesting when people discuss the iPhone – everyone thinks it is so intuitive and easy. The truth is that Apple has invested heavily in making the phone familiar, not intuitive. Their advertisements are showing someone using the phone (just a finger and the phone) – They have made a very complex user interactions like multi-touch, gestures and automatic orientation very easy.

To prove my point, try handing an iPhone to someone who’s never seen the commercials – I tried this once with my mom – she was TOTALLY lost. 

So – how do you make something that is familiar? i refer back to the point in #1 : user interviews and testing. Go to where your customers are, and watch them in their environment, using other software. In those circumstances where you must invent a new control, or want to try some innovative transitions and interactions – prototype them and get them in front of the users quickly to make sure you are developing something that is usable. 


#7: Usable Software is efficient

Now, I’m going to contradict myself. Rapid user testing and instant familiarity is not always the best way to provide a true usability. Quite often companies are measuring usability in the first 15 minutes of someone’s interaction with a product. They are taking an eCommerace “conversion” mentality for crafting their software. What if you are creating software that is meant for people to work in 8 hours a day, 7 days a week – like patient record data entry, billing system management, contact management, or customer service ticketing?  If you take the “first 15 minute” approach to usability testing, you are certainly going to make software that is way too simple to accomplish more sophisticated and lengthy workflows; you are going to make software that is very inefficient.

To make software efficient, you need to make sure you do not “launch and forget” – Know that you are going to get a lot of things right, and some things wrong in every release – plan for measuring user behavior as a part of your post-launch process and integrate course corrections into your multi-release software project plans.

#8: Usable Software is elegant and engaging

This is by far the most subjective of all the criteria, and probably the most important to get right. This is where the art meets the science. You will hear people say – “this just does not feel right” — I know, very valuable and actionable feedback — How do project plan for elegance and engagement when you are never sure when you are going to achieve it? How do you mitigate the risk of projects going wildly out of budget when you are dealing with very subjective things? Frankly, its very tough. This is why most companies that engage in any software endeavor try to diminish the importance of engagement – Last year, we were up against a very large (50,000 consultant) SI in an RFP – we lost the deal because the SI was able to convince the client that “since this is a internal application, usability is not that important anyhow”  — at least they had integrity to not lie about their ability to make usable software …

This is by far the hardest thing to message to our clients – “why focus on elegance and engagement?”  Will Tschumy gave a presentation , “Why Design Matters”, where he asked a simple , but brilliant, series of questions:

” What was the first MP3 player in the US Market?”

Diamond Rio PMP300, Introduced November 1998 


“So why do most of us have these?”

Apple iPod – Introduced October, 2001 


Will then makes a very interesting observation:

Why Didn’t the Rio Win? It had:

  • better battery life
  • more storage
  • more formats
  • first to market by 2 years
  • had more features
He suggests it is because it balanced the wrong constraints – I think that’s just a different way of saying that the folks that introduced the Rio did not effectively value “elegant and engaging”

More to come

This year we are writing a book with O’Reilly that explains how to take these 8 criteria and put them into action. The book, tentatively titled “EffectiveUI, the Process for Creating Breakthrough Software”, will walk through example project deliverables and techniques that will help project teams execute against these 8 criteria — 

Your corporate brand is more than just your logo or your jingle. Your brand is also the emotion raised when someone thinks about your company.

When you see the golden arches and the familiar red “M,” your mind recognizes more than simply the McDonald’s logo. It conjures up great value, the smell of hot French fries and the good times you have there with family and friends.

In your products and services, in your advertising and promotion, in the voice of your receptionist, in the attitude of your employees, people interact with your brand continuously. Every touch point of your organization has to reflect a consistent message about your brand value.

However, since the advent of the Web, never in the history of marketing have companies delivered brand disappointment in such appalling ways. Useless websites and horrible user experiences result in frustrated customers who not only abandon your brand, but tell their friends to do so as well. Enter “Web 2.0”, replete with technology that empowers organizations to make people feel good and simplify their lives.



Rich Internet Applications, or RIAs, enhance your brand image in many ways. A well-designed RIA entices people to your brand. It delivers an engaging, immersive experience. It speaks to the brand promise with functionality and interfaces that stagnant web pages cannot. RIAs build brand value by making people’s interaction with your brand a more valuable, productive and pleasant encounter.

Unfortunately, we’ve all had more than a few bad online experiences that have left a poor taste in our mouths. We’ve waited on too many pages to refresh. We’ve clicked forward and back too many times to find hotel rates and vacancies. We’ve been unable to see all the seats in the arena when buying concert tickets. All too often, e-tailers actually make it difficult for us to give them our money and don’t do anything to up-sell, which results in lost opportunities.

If your company seeks to differentiate itself, you have to go beyond a basic paged-based Web presence. If your brand promises that you have elegant products, the online experience you give your customer has to match that — visually, emotionally and functionally.

Think of a good RIA as having left-brain and right-brain attributes. The left brain represents utility, functionality, navigation and usability. The right brain represents emotion — the compelling, immersive and interactive experience. Both must deliver on the brand promise.


The name “Discovery” is synonymous with learning and knowledge, attributes that are powerfully evident in EffectiveUI’s RIA, called Discovery Earth Live. Consistent with the high production values of the network’s on- and offline media programming, the site offers crisp imagery and high-quality video in imaginative and educational ways.

The unique part of the experience is its highly interactive interface. Graphic overlays appear on a 3-D globe that users can spin with a flick of a mouse, and watch it continue to move with virtual momentum, just like a physical object. The globe is more than a flashy gimmick. Site visitors can use it to engage with high-value content like environmental news stories and field reports from experts in environmental science.

The challenge we faced when we set out to build this RIA is that we needed the application to digest and visually display massive amounts of very complicated and sophisticated environmental data from NASA and NOAA and “consumerize” it. The Earth Live RIA successfully added value to Discovery’s brand by offering their audience access to important scientific data in an easy-touse, highly immersive and entertaining interface.

We pushed the boundaries of available technology to build this application, and we encourage our designers and developers to do this, too. The result helps Discovery Network extend their brand image not only as a knowledge leader, but as a technology innovator as well. The site had 160,000+ unique visitors in the first three months, and is on track to garner more than 1.5 million users within the first year. It was featured on the cover of PC World, May 2008, as part of the Best Free Stuff: 101 Web Services and Downloads feature, and has received numerous other industry accolades and awards.


The brand value of RIAs is not limited to customerfacing applications. Brand value can also be enhanced when RIAs are used as everyday internal operational tools in myriad ways across all vertical markets, such as financial services, business-tobusiness, government, healthcare and transportation, to name a few.

For instance, United Cargo delivers same-day packages on United Airlines flights. Their smallpackage delivery (SPD) service ships urgent parcels, such as transplant organs, flowers, fresh foods and anything else that needs to arrive in a few hours.

While United Cargo’s on-time delivery was commendable and customer satisfaction was high, management felt it could be higher. They came to us to build an RIA that would streamline the end-to-end workflow and better track packages throughout their route system.

Previously, a customer-service representative had to access multiple pages from the company’s intranet in order to upload the package information, go to another site to make sure everything was TSA compliant, and then click through some more screens to verify billing and tracking information. Meanwhile, consumers had to sit and wait while the representative navigated through the morass. Fortunately, this is no longer the case.

Now, instead of struggling through a series of “green screens” all day, United Cargo representatives interact with an intuitive, lightning-speed, visually compelling environment that significantly reduces the number of steps required to access critical package-delivery information. Best of all, the RIA is easy to learn, which eases the burden of training resources.

The RIA also decreases employee frustration, which in turn makes people’s jobs a whole lot more pleasant. The average call time with a customer has dropped, so the customer’s experience when dealing with the brand is further enriched. By streamlining the internal process of tracking SPDs, United Cargo improved its external customer service. Better service reflects the brand’s core attributes of being efficient, reliable and fast.


In a recent Forrester report, analyst Ron Rogowski reported that enterprise executives cited “improving online experience” as their top priority in the coming year. Smart executives recognize that RIAs can significantly increase the value of their brand. Properly executed, RIAs improve the user experience and allow companies to differentiate themselves from competitors. Better yet, companies who are leveraging RIAs position themselves to “leapfrog the field.”

However, RIAs are not for the faint of heart. Internal IT departments typically lack the expertise to build an RIA themselves, and do not have the resources to maintain an in-house lineup of RIA specialists. While your organization may own video equipment, would you ask your design department to produce a network television commercial? Similarly, an RIA developed by your IT department, while being fully functional, may look like an IT department built it.

On the other hand, you need your IT department to work closely with RIA specialists to integrate smoothly with existing infrastructures, tie to back-end databases and help ensure the firm understands the benefits of RIA adoption. Beyond the technical expertise and design talent, you’ll need miles and miles of user research, stacks of strategy sessions and a strong roster of interaction designers, user experience designers and information architects to pull it off. Typically, a company will work with an organization like EffectiveUI when they first undertake an RIA project. From there, we have been very effective in helping organizations migrate their internal teams toward fully embracing RIA adoption.

For the last year, the industry been hearing a lot about designer developer workflow. Both Adobe and Microsoft are developing tooling that enables designers and developers to integrate more effectively, and iterate on software more rapidly. Let me ask a question that seems obvious: So What? Who does this “rapid iteration” serve?

Look at Adobe’s own diagram for RIA workflow:

Ironically, this diagram does not show true iteration – it only accounts for “design tweaks”. Where’s the business requirements? Where’s the measurement of milestones? And… the most important question, where is the person that the software is intended for?

I’m not completely dense, I realize that Adobe’s diagram is not intended for for use as a project planning roadmap. They aremerelyshowing how CS4 fits into an RIA project – (folks at EffectiveUI often look at our public facing process documentation and complain that it is too simplistic or not entirely accurate – truth is, every project we do is unique in its own way so it is impossible to accurately & concisely diagram any realistic software process)

Where was I …. oh yeah – workflow…

It is easy to get stuck in the tooling and forget about the end result – to value process and the technologies over the final product. There is a shift happening in our industry – I would say we are trending in the right direction. New workflows are forcing designers and developers to collaborate – why is that good? Because it forces humility into the process. In the software creation world, “Big Egos with Big Ideas” rarely produce “Big Wins”.

A Healthy Conflict

Our projects are lead by 2 types of architects. One is technical, of course. But we do not categorize the other architect as a “designer”. Design is just a part of the overall objective. We’ve adopted the term “Experience Architect” – Both architects are held accountable to 2 goals – 1) end user satisfaction and 2) ensuring a business success. While the Technical Architect focuses development architecture and legacy integration, the Experience Architect focuses on the end user and the business and user goals as well as brand consistency and aesthetics.

I have yet to work on a project where no compromise is required. Designers will always need to make compromises because of technical or integration limitations – development will always need to make compromises because of what the end users really need. Where I’ve seen projects fail is when one department is given priority over the other. When design “owns” the initiative, you can wind up with software that looks amazing, but is ripe with performance issues. When development owns it, you can wind up with software that performs, but is not usable. When both teams are equally subservient to the user and business goals – they are forced to work together.

There are some surprising results from this type of structure … interestingly enough, developers have good ideas for usability, and designers can challenge development into new ways of thinking.

What about “me”
It is time to look beyond mere team collaboration; we need to involve the people who the software is intended for. We need to listen and have empathy for those we are creating for. I know – not an original concept… but we must keep saying it until it is heard. New workflow improvements only get us half way there and do not ensure highly usable software…

This is going to sound like I’m selling something, but I promise, I have no financial affiliation with Sliderocket. The service has just made my life so mush easier that i feel like I owe it to them to give them a plug…


I met Mitch Grasso last year at an Adobe event in San Francisco. I was lucky enough to get a sneak preview of his brainchild, SlideRocket. Now, just 2 years after Mitch and Mike founded Sliderocket, the tool is so useful, I don’t know how we have done without it.


For those of you who are not familiar with the online service. Sliderocket allows you to create Keynote quality presentations using just your browser. The integrated content management system keeps all of your assets organized – you can upload imagery, video (in flv format), and even your flash content. The tool has all the things you would expect from a professional preso tool: themes, master slides, an intuitive & sexy interface, charts & graphs and much more…


But these features are not what make Sliderocket stand above (and I mean WAY above) the rest. Instead of having to use Webex (or some other screen sharing tool) to show your presentation over the web, Sliderocket utilizes a shared, real time content delivery model. Basically, when the “host” of a presentation starts, they send a link to their audience. The audience then gets the deck through the flash player – just as crisp and clear as when you made it. When the host changes a slide, the host application just sends a little message to the Sliderocket servers when then broadcasts to the audience’s deck, forcing their presentation to follow along. Movies, transitions, graphics al keep their original integrity, just as you intended look and behave. You can also provide a link to your hosted preso that let people control it autonomously. 


They offer an “offline” player as well – so you can present your slides without needing an internet connection. I personally would rather use Keynote for “boardroom” type of presentations. Mostly because I know Keynote really well and I don’t need to upload my content to a server (in other words, its faster). But for shared presentations over the web – Sliderocket really lives up to their promise to “redefine what presentations can do for you”


Pricing starts at “free” and gets as expensive as $20/month(wich includes the hosted/shared solutions) –  if you compare that cost to Webex, its a steal!


A note to Adobe Ventures – why have you not picked this company up? In my humble opinion, it is at least as useful as Buzzword, is complimentary to your offerings, and is a great showcase of what your platform can do…

%d bloggers like this: