Jul 18 2008

Video: Developing Ajax Web Applications with Castle Monorail

Published by gojko under presentations, tutorials

Here’s the video from the talk that Dave and I did last month at Skills Matter on developing Ajax Web applications with Castle Monorail. You can download slides and find links from the talk here.

No responses yet

Jun 13 2008

Slides, links and source from the Ajax Monorail talk

Published by gojko under presentations

I really enjoyed talking about Developing Ajax web applications with Castle Monorail yesterday at Skills Matter. It was great to see so many familiar faces — thanks for coming again and I hope that you enjoyed it as well. Here are the downloads and links that Dave and I promised to put online: Continue Reading »

2 responses so far

Feb 18 2008

The wrong way to do a shopping cart

Published by gojko under articles

The print-on-demand service that I’ve chosen for my book has a fairly nice web user interface with lots of Ajax code. Generally, that web application is one of the best aspects of doing business with them. That’s why I was surprised to find a rather amateurish flaw in their shopping cart. Here is the screenshot:

Notice the “do not click Place Order more than once” message. Someone has obviously identified that customers have been clicking more times than needed, but offering a warning message is not the way to solve the issue. In fact, such a message is a huge warning signal that something is wrong.

I’m pointing out this case in particular because it is one of the most frequent problems I’ve seen in Ajax sites, and one so easy to avoid. The proper solution is incredibly simple: always disable the form as the first step of asynchronous processing. It is very easy to block the “Place Order” button before an Ajax call goes out to the server, and doing so would technically prevent anyone using a proper browser to place the same order twice. For high volume sites, like this one, I always recommend implementing some sort of double-order analytics on the server just in case, because exceptions do happen, but just a simple JavaScript command to disable that button would save everyone a lot of trouble.

18 responses so far

Feb 14 2008

How to test AJAX sites with FitNesse and Selenium RC

Published by gojko under fitnesse

It’s been almost a year since I wrote Automating web tests with FitNesse and Selenium, offering an idea how FitNesse can be used to implement a nice customer-friendly mini-language for user interface testing. Since then, that article has been one of the most popular, if not the single most popular, article on this web site. I have helped several clients improve and integrate their UI testing based on the ideas in that article, expanding and improving the mini-language, especially for AJAX testing. Here is what I’ve learned about that in the last year. Continue Reading »

18 responses so far

Mar 22 2007

Breaking the Web

Published by gojko under articles

Leaving behind the traditional ‘request-wait-reload page‘ processing, Web 2.0 broke many boundaries and brought online applications and sites much closer to an interactive desktop, but best practices from the desktop model have still to penetrate into the mind of common Web 2.0 developer. The paradigm shift from server-side to client-side workflow created a void in best practices for Web development. Like any new cool and funky technology, Web 2.0 has many nice new features, but comes with a set of new problems, at least new in the area of client-side browser development. Plainly ignoring these issues may cause big problems from support to serious security exploits - but there is no need to re-invent the wheel. Most of those problems were solved on the desktop a long time ago.

Here are some common mistakes with Ajax web sites, and how to avoid them. Continue Reading »

3 responses so far