Web application? Desktop application?
Following on Michael’s commentary, I disagree with the O’Reilly post that suggests that using web conventions for web applications is better, particularly for MLS software. “Web conventions” arose as a result of browser and technology limits. While violating the user’s mental model in some cases is bad — for example, making a click on a tab open a popup window — this is not one of those cases, and not a violation at all. Consider this quote from the O’Reilly article: “we must ensure that we design our applications to remain consistent with the environment in which our software runs” and a similar quote from Bill Higgins: “a Windows application should look and feel like a Windows application, a Mac application should look and feel like a Mac application, and a web application should look and feel like a web application”. What’s the environment in which the application runs? Is it really a browser, not just another application in the OS? I think the line has blurred significantly, particularly for those who aren’t technology professionals. There’s not much difference between clicking on an icon to open a desktop application versus clicking on an icon that has a web site. Many of our clients bookmark our site using a desktop icon that says “flexmls Web”. Do most users really care that there’s a distinction between a desktop app and a web app? I don’t believe so.
Over the years, flexmls Web has been judged increasingly against not a standard of the web page, but against the standard of the desktop application. I feel there is one primary distinction, among others, between the desktop and the web: important user interface controls, like toolbars, page headings, and action buttons such as “save”, never scroll off the screen in a desktop application. Why should they in a web application just to satisfy some convention that says web conventions should be used? When was the last time the toolbar in Word scrolled off the screen when the document was scrolled to page two? If there is to be scrolling on the web, it should be like a desktop application. Web applications that scroll the wrong parts of the UI are confusing. The new standard for web applications is the desktop; no longer is the model a web page.
Here’s another quote from Bill Higgins: “During periods of rapid innovation and exploration, it’s tempting and more acceptable to violate the expectations of a particular environment….” That’s how new mental models occur. That is like saying the GUI shouldn’t have been invented because it violated the traditional text-only green-screen mental model for computers. Many products exist or are trying to become the web on the desktop — AJAX, Apollo, Silverlight, Flash — and eventually, one or more will succeed. Why? Users demand more from their applications, particularly web applications, and in the long run will not settle for less than what the desktop has to offer.
Our end users utilize e-mail applications like Outlook, accounting software, photo editing software, and likely a great deal of other software. Why should their MLS system be hampered by the convention of the web page model? The real revolution is truly in making web applications behave the same (or very similar to) desktop applications without violating the mental model of a desktop application. The last part is key. If the application looks like it should be a desktop application, it should behave as if it were one. If an item in the application looks like it can be dragged, it should be able to be dragged. If a control looks like a slider, it should behave like a slider down to every last detail and behavior.
I believe our clients don’t want a system hampered by limitations of what the average consumer might expect; they want a tool, a powerful application for helping them succeed in their business. Why should they expect anything less than the most powerful solution?
Another quote from the article: “Bill reminds us of the failure of Microsoft’s Active Desktop and of Java applets”. Those failed for different reasons. Java applets were slow and required long downloads in days before broadband was available or affordable. (They are still around, however, which makes me wonder if they have truly failed.) And, I don’t think Active Desktop was intended to replace the web. Who would want to work in an application that was covered up with My Computer, My Documents, and My Network Neighborhood icons? The model of having a desktop that was active was never intended to replace an application; rather, it was just a way of making the Windows UI behave more like the web (one click instead of two to open folders, for example). The single-click desktop icon also violated the mental model of the Windows desktop itself, a key flaw in the concept.
I believe the web has moved into an era where the design goal for web applications is to recreate a desktop application in the browser without violating the mental model of desktop applications. Artificially restraining the user interface to the model of a web page leads to poor usability and confusion among end users, particularly in the world of MLS software.