Article: Building Powerful Web Apps: An Interview with David (Heller) Malouf

Jared Spool

July 27th, 2006

UIEtips 7/27/06: Designing Powerful Web Applications: An Interview with David Malouf

Information spaces on the Web are becoming increasingly filled with complex interactions. Even simple transactional solutions like shopping carts and document management systems are becoming more complex with richer desktop-like interaction models. Because of this, today’s designers need access to disciplines like interaction design and software design to create powerful and successful web applications.

One of the areas that excites us the most is that we’re now seeing Rich Internet Applications (RIAs) applications suddenly give application developers a new way to approach hard problems with surprisingly effective results. Every day, we’re seeing sites such as Google, Flickr, and Del.icio.us use new interaction models to create more powerful user experiences.

In this week’s UIEtips article, UIE’s Joshua Porter has interviewed David (Heller) Malouf, a premier Interaction Designer, to discuss the issues involved when development teams are thinking about designing web applications using AJAX and RIAs.

We’ve been so impressed with David’s commentaries on thr topic of RIAs, we’ve asked him to co-present a full-day seminar with Bill Scott at User Interface 11. David and Bill will teach a full-day seminar exploring some of the most important issues surrounding the web’s most sophisticated applications.

Are you currently building web-based applications? Are you tasked with adding more interactivity to your web apps? Join the discussion below.

4 Responses to “Article: Building Powerful Web Apps: An Interview with David (Heller) Malouf”

  1. chris macdonald Says:

    I think the important point is that use the technology to fit the need…Ajax is NOT a technolgy but a mash up of Technologies as as such suffer the same issues it’s forebarers faced..BROWSER compatiblity!
    To date the only option to ensure cross platform user experience is FLASH/Flex/Flash Platform. So if you need your app to look and function over the web the same way in all browers you really only have one choice…this will change in the near future as MS releases WPF/E.
    If you can control the browser and environment your users is in then AJAX is an option but I think AJAX will pass into the world of HTML 1.0 soon

  2. Chris Hawkins Says:

    I couldn’t agree more with Chris. Folks, know your technologies! Especially if you are building web applications of any kind, and more importantly, in a enterprise situation.

    I respect Spool and his writers, but sadly I must say that this article is really a reflection of an outdated understanding of the capabilities of “Flash”. You certainly cannot equate Flash and Ajax on any level other than they both deliver the capability of rich interactions.

    I challenge the writer and readers of this article to question highly the impression of equating Flash and Ajax. They are worlds apart, and MANY reasons to think about Flash (or more accurately, targetting the Flash PLAYER rather than a browser and all the myriad of cocktail technologies and testing it requires).

    The LAST reason any enterprise, for instance would ever consider Flash is for its “cinematic experience!!”

    User Experience teams, such as the one I’m in, have come only too well to understand the dangers of jumping at Ajax just because it “seems” to offer a good solution for RIA’s. UE teams are going to HAVE to get better at understanding it too – if we are to deliver on our promise of true rich client interfaces. We have to understand (and are often the canaries in the coal mine with our research and our prototyping experiences!) what can be realistically and gracefully achieved, given the long term impact is on technology and tools decisions, especially in software marketplace and its release demands cycles.

    From our analysis, rapid feature development is difficult at best in Ajax. The argument is always, as in legacy development, “we can do it ourselves and make it for what we need.” This is a fallacy companies are going to have to face in the new era of RIAs.

    Companies don’t have time to build elephants any more that become outdated in short order; for example, UI widgets you have to build from scratch in several versions of browser, etc can get very tricky and time consuming, work that’s already done, tested and implmeneted already with available tools. Sure, you can build it, but at what cost? Look how long it took Yahoo beta mail, and it’s still struggling.

    We’re past the days of building our own houses. Let’s get past it in building software. We can’t afford to spend our time building the plumbing and the electrical. We should be focused on architecting and designing, and not just throw out the idea of purchasing solutions. Developers have to get over the notion that it’s bad to use proprietary tools.

    You simply must investigate the Flex technology (developed for application development with Flash player as target). A few development points to note: 1) ActionScript standards are better ECMA standards than JavaScript 2) the developer community is the largest in the web development community and is also “open source”, and 3) the FlexBuilder IDE is a one of a kind, fast design-developer that both designers can use and developers can prototype in to get to testing and final product QUICKLY.

    Nothing out there in Ajax world even comes close to FlexBuilder.

    OK, I’m sounding really biased now in the development issues, so I’ll speak to a biggie business one – plug-in adoption. Many out there hate plug-ins; you’ll need to evangelize for it’s use to bring your partners and sales into the fold. It’s really just a matter of a year I think, which by then you could have your application pretty well ready for prime time.

    Fact: Flash has the largest installation base in the world, is backward compatible and easy to upgrade – unlike something like the Java runtime plug-in for example, that gives plug-ins a bad name and IT nightmares…

    So, before you push your company into “lets do RIAs!” and developers commit to a road they don’t understand (and plenty of them don’t, coming from the page-based world) – understand as much as you can. Understand things like how Flash Player works: your application is “encapsulated” inside a .swf file, so there are no browser dependencies – this is primary and huge.

    Ajax jazzed us, buzzed us – but it was only the buzz about what rich clients can offer, not Ajax itself. It was first out of the gate in terms of the mind share, but is not necessarily the ultimate solution. While there are others promising solutions (Lazslo, MS’s promise of Longhorn/avalon) to date I agree with Chris – I’ve seen nothing better than Flex.

    Bottom line: get to know a little about what’s under the hood. User Experience designers need know what it takes to deliver – not just design for – the next generation of rich client experiences.

    CHris Hawkins
    User Experience Designer
    chris@usermatters.com

  3. William Hubbard Says:

    The problem with Ajax is that it is built on the same old browser-based technologies that the Web has grown out of. In fact, it IS the same old technology – it just has a new name to sort of group it all together under one heading.

    First of all, HTML was created as a means of (theoretically) presenting static pages in a consistent manner across operating systems. Then this JavaScript thing came along, along with a DOM API, which allowed dynamic things to happen. It’s all kind of a hack, really. Throw in some CSS to simultaneously complicate and simplify matters, a little API called XMLHttpRequest, a data transport protocol called XML, and suddenly we have something “new” to play with. Let’s call it Ajax.

    Let’s look at what Ajax has to contend with:

    Browsers and browser versions – how many browsers can you think of, and how many versions of each browser do we, as Web developers, have to test for in our client-side code? Gak! CSS versions, JavaScript versions, XML versions, DOM versions and variations. It’s amazing any of this stuff works at all – look at all the versions of all the technologies we’re facing. The test matrix is unmanageable and prospective maintenance is impractical.

    Based on this, standards-based technology is better?

    Look at the Flash Player. Now, there is a consistent platform. It is rather ubiquitous, and it’s upgrade model is seamless.

    Tools like Flex are emerging that could bring this approach to Web-based development into the realm of where desktop application development was more than 15 years ago!

    There is no such thing as Rapid Application Development (RAD) in Web development, because there are simply too many variables to make it feasible or practical.

    If we REALLY want RIA in our Web-based applications, then there needs to be a move toward something that supports it. Ajax simply doesn’t. Oh, sure, you CAN create RIA applications in Ajax that, perhaps, work on many if not most MODERN browsers. But, then again, anywhere is walking distance if you have the time.

    The power of the Flash Player is really overlooked as far as I am concerned. It has been abused in the past – mainly because it IS so powerful – but it has an excellent track record for stability, ubiquity, consistency, backward compatibility and security. Not to mention new tools like Flex that can leverage its benefits in a manner that allows rapid development, ease of maintenance, simple QA testing matricies, separation of design and development concerns, etc., etc. It truly is a step into the 21st century and people who purport Ajax is the way to go are simply being stubborn and don’t want to change and are limited by their own perceptions.

    I think Ajax is the way of the past, with only a new name given to it as a crutch to make us think it is something new and improved or somehow better. And if you think Ajax is an acronym for something, then I’ve just made my point.

  4. chris macdonald Says:

    Well I think I hit a point, but one thing I did forget to mention which is HUGE in one of my worlds (Education) Ajax does NOT meet 508 standards. Due to it’s dynamic page refreshes and use of JS screen readers cannot read the data….so if you work for Education or the Government …AJAX is OUT!

    I think articles such as this are important because we are all quick to embrace the next “quick fix” or as my boss says the “one silver bullet that solves all” ….sad to say that does not exisit as much as we would like it …. understand the need you have first …then use the best technology to meet that need…

Add a Comment