The “whys” behind better applications

I spend a lot of time thinking about how to get more people to use Flex. Recently, I’ve been focusing more of my thought on the “why” rather than the “how”. For example, I think it is more important to explain why you would use an animation rather than how to create an animation.

Kathy Sierra’s recent blog entry about digital cameras really clicked with my recent thinking. In it, she relates an experience she had in taking a class on digital SLRs. Most of the people in the class were “stuck in P mode”, which is to say that they relied on the camera to automatically choose all the picture settings.

At first glance, this looks like a usability problem. Maybe it’s just too hard to figure out how to adjust all the settings. However, Kathy analyzes the situation differently.

It wasn’t simply a camera problem–it was a photography problem. The camera manuals describe precisely how to turn the dials and push the buttons, but never tell us why we’d want to. They focus on the tool rather than the thing the tool enables (taking pictures). What good does it do to master a tool if we haven’t understood (let alone mastered) the thing we’re using the tool for?

I think she’s absolutely right. Knowing that you push such and such button to bump up the exposure settings by half a step doesn’t help you take better pictures. And me telling you how to attach an item renderer to a data grid doesn’t help you build better apps.

I’m still thinking about this one. In the meantime, what would you say to someone who wanted to build better applications? Are there any resources you would point them to? Advice you would give them?

16 Responses to “The “whys” behind better applications”

  1. Renaun Erickson

    Some of my reason’s I use Flex (from a HTML,PHP,Java,.Net developers prespective):

    1. No more HTML, I used to spend more time getting HTML to work then actually creating applications.

    2. Ease of creating nice UI and feature Rich Applications.

    3. Component based framework, making reuse more accessible out of the box.

  2. Stacy Young

    “Inmates are running the Asylum”. One of the best books I’ve ever read on how to approach application/interface design. (with the user in mind) I think it has to do more with learning a different mindset rather than just blindly following “best practices” because every user group has a different set of priorities. The key is asking the right questions throughout the design process.

  3. JulesLt

    Joel Spolsky’s ‘User Interface Design for Programmers’ is a good confidence builder (basically pointing out that app design is a skill that can be learnt, like a programming language can, not a dark art).

    I think the biggest thing that holds many people back, though, is the lack of good examples – most developers in their daily lives use bad software – most IDEs aren’t well-designed, most of us work with pro / power tools that we’re willing to invest time in learning to become productive. We quickly become blind to faults. Using great software would be a step forward.

    There’s also a lack of management commitment towards great application design, largely because there isn’t an obvious commercial advantage to having the best designed software (it rarely ‘wins’).

  4. felix

    I think the best way to encourage Flex usage is show some amazing examples. Show what you can do with Flex that you can’t do with other technologies. Before Google maps, not many people considered AJAX a viable tool.

  5. Greg Fuller

    I think your animation example is a good one. People have been so turned off by gratuitous animations getting in the way, that they often don’t understand how animations can help users understand transitions. In addition to being much easier to code, flex animations are smoother, and the code under the covers is much nicer than html/dom/javascript animations. These subtleties are hard to explain. To get the point across, the value of animations must be demonstrated with concrete examples.


  6. Matt Garland

    For the little whys for UI animations, Yahoo has started a great page:


    For Flex’s larger whys, I don’t think there’s one big answer because different builders are aiming for different user experiences. Flash and Flex are just means to their particular ends.

  7. Mike Britton

    Create awesome software with Flex, and people will want it for their own projects. They won’t even know what it is. They’ll just show you an example and say “I want that.”

  8. Bjorn Schultheiss

    I’m going to drop a short answer here as i am still at work.

    My motivation for choosing the Flash platform was to achieve a better success/conversion rate of viewers to customers for e-commerce applications.

  9. Hez

    ” In the meantime, what would you say to someone who wanted to build better applications? ” – I’d say that anyone wanting to build rich, expressive applications with Flex needs to be patient and recognize that this is a talent in itself, and not something that any developer can just pick up.

    I’ve been developing an extremely (1000’s classes) large Flex 1.5 application for almost 2 years now, and its become clear that managers/customers who saw some of the original Flex demo’s were expecting this kind of rich functionality from the word go, developed by J2EE developers who had never programmed a UI in their life!

    To me, Flex offers two very solid, powerful development paradigms (the OO programming model and the ability to create expressive UI’s) but they still require two totally seperate skill sets.

  10. dan

    Hire a photographer :)

  11. sho

    Great discussion so far. Thanks.

    “Inmates” is a great book. A friend of mine, Robert Reimann, is the co-author of a subsequent book by Cooper, “About Face”. Check it out if you haven’t read it.

    I agree with the need to provide concrete examples. There’s no substitute for seeing something with your own eyes.

    The Yahoo patterns project is a great start. This is the kind of thing that we have talked about doing in the past, and I’m kicking myself that they got there first!

    Dan: I agree. Sometimes you need an expert. :-)

  12. James O'Reilly

    “Head First Design Patterns” by Kathy Sierra is an excellent book for AS developers despite the fact it’s written in Java. All of the examples are easily portable to AS and I’ll be posting my source code ports on my site some time soon. It’s not exactly the “why” you were looking for but it answered a lot of my “why” questions when it came to planning and pattern choosing. Just thought I’d mention it since it was one of her books. — JOR

  13. LEE

    I’ve often found Macromedia help/livedocs tutorials to be impenetrable, wondering why they would ever do that…and having to mentally disregard why they did that and just learn the darn procedure, so I could bend it to my will. If that makes any sense…What I really came to kuwamoto to say is, “how’s Flex 2 OSX coming along”?


  14. Vic Matson

    From a business owners perspective hearing the benefits of Flex is great, but seeing examples and answering the why question is THE best way to sell it.

    I am currently developing an application and probably will be using Flex for its presentation and .NET for the back end but I find myself asking why not go with .NET for the whole thing.

    Matt Garland shows(http://developer.yahoo.com/ypatterns/atoz.php)as a great resource for YUI IMO Flex needs the same.

  15. faizan

    As the co-founder of a company that is betting on adobe technologies, I agree that the “why” is more critical from a business prespective.

    It is not as easy to exploit the strengths of the platform as it seems.As a geek it is easy to be consumed by the potential of a platform.But until you nail the “why” you won’t have an intriguing end product.

    For the application that we are about to launch I have tried to highlight the reasoning in this short video.(www.iscrybe.com).Would love to hear your comments.

  16. Todd Clare

    I think the documentation that ships with Flex should address this (and does not).

    Macromedia docs were never that stellar about anything other than telling you how to turn the knobs, and Flex, although better, is still a long way off.

    The examples in the few “why” areas of the docs are so simplistic that you really don’t get any more of an idea of why than before you read it.

Leave a Reply