You build a working HTML4 web app, and then sprinkle progressive enhancements with JS and HTML5 (even offline browsing!), and voilá! You've got a web application with an awesome desktop client!