Disclosure: Last week I announced that I’m working for Adobe. While I haven’t officially started, consider me an Adobe employee for all intents and purposes. I have the disclosure statement at the bottom of the page, but I’ll probably run this for a while just to make sure there isn’t any confusion.
Bill Higgins has a very, very thought provoking post about the "uncanny valley" and the sudden increase in trying to make web applications look like desktop applications. In the "uncanny valley" he is referring to the theory that the more human like our robots become, the more we're impressed until they reach the point where they are human enough to be creepy, but still not human enough to put us at ease. In his post, he contrasts Ajax applications and web applications.
The post is quite good. It was linked to by Tim O'Reilly and it has a lot of merit. When our web applications work, we're happy. When they try to imitate desktop applications and they fall short, users aren't impressed. This, in my opinion, is why Ajax is problematic as a technology. With some exceptions, it gets us to the Uncanny Valley and no further. That results in some very good user experiences, but ones that leave an awkward taste in users mouths.
Part of that may be the environment. What will happen as Ajax applications like Zimbra move to Apollo? Will "being on the desktop" be enough for users to cross the valley and think of these as real desktop applications? But as developers and designers try to create more sophisticated applications in the web browser, is Ajax the right way to go? With the burgeoning crop of Rich Internet Application technologies, we have a way to cross the uncanny valley and really bring a desktop like experience to the web. Flash and Silverlight enable that kind of rich, desktop experience today. Users are responding to them and the developers and designers building on them seem very impressed at the kinds of things you can do. We're starting to see real apps, not just semi-real looking applications.
As I mentioned, Bill's post also brings up the question about what users expect and how we give that to them. This is one of the places that I think Apollo shines. It enables you to create a genuine desktop experience, without browser chrome or preconceived browser notions. It does all this with web technologies which has enabled a lot of creativity and innovation. If you take your Ajax or Flash application that hasn't quite crossed the uncanny valley and deploy it with Apollo, does that make a difference? I think it does. The user mentally makes the switch from expecting a largely HTML based browser application to something more. Apollo enables web developers to create that kind of experience. It isn't always about offline or technological capabilities. Sometimes it's about changing expectations by taking your application out of the browser.