Not work safe (unless you've got headphones), but a great video none the less. Very creative.
Monthly Archive for February, 2007
I've used TurboTax Online to do my taxes for a number of years now, and quite like it. This year, I noticed one really well-designed feature: browser validation.
If you've never used the app, the client side is a very js/css/remoting heavy HTML interface. It's probably the best RIAs I've used, and it's been of that quality for several years. As you'd imagine, they have some pretty stringent browser requirements to make it all work.
After you sign in, they check your browser and list out all the officially supported options, broken down by OS, and OS version, so you can see at a glance that Windows Vista only supports IE7 and FF2, or that OSX 10.3 only supports FF 1.0.7+. The best feature of all, however, is at the bottom. There's a section that says "If you don't meet these specs, you can continue, but we won't help you if something doesn't work," and then a "Continue" button.
I happened to be using FF 1.5 on CentOS (Linux), but they are considerate enough to say "if you think it'll work, have at it", rather than blindly disallowing access if you don't have a supported combination. I've run into too many sites that just refuse to let you if you're not using an explicitly supported browser/OS, and it's stupid.
Jared has posted a partial cf.objective 2007 session listing on the conference site.
I've finally given up and added 'ajax' to my vocabulary as a synonym for "JS remoting". But I've got a bone to pick with people building ajax apps: neat UI trickery has to leave the UI in a consistent state or you're making the UI worse instead of better.
The particular example that is continually annoying is WordPress. The authors have done a good job of integrating ajax bits to speed up the UI, like when you delete a comment, it just fades out of the table instead of reloading. But what they don't do is update status information (like the number of pending comments) in other parts of the page to reflect that a comment has been deleted. So you see a link that says there is one pending comment and click it, only to be presented with a page that says there are zero pending comments. Argggghhhh. I'd so much rather wait for a page reload on the comment deletion.
Flex wins hands down in this area, because you can do data bindings for all that stuff, and the Flex compiler will build all the event listeners/observers to make sure everything is always updated and therefore consistent. Building that framework in JS isn't terribly difficult, but it does depend on having raw data structures client-side, rather than using the server to render HTML for injection.
Just applied WordPress 2.1 to the blog, with basically no issues, which is awesome. Also, as you can see, I've switched to a Mollio-based layout, rather than the WordPress-specific on that I was using before. That'll let me skin the site (along with the various other ones I multi-host) with just CSS, rather than having to mess with writing PHP.