I write often here about the future of software and the Web; two subjects growing ever more inextricably linked as the Internet evolves and as our expectations and habits evolve along with it. While the Web now offers a level of user interface diversity that's almost beyond comprehension, the edge cases of even our common experiences continue to widen.
RIAs could devolve into a chaotic sea of incompatible techniques, something that might already be happening.Some of us have even started noticing that our Web experiences have become spread across two well-defined extremes, and not necessarily in a bad way.
The first case in point is the rich Internet application, or RIA, formerly best exemplifed by things like Flash. But these days Flash is frequently and neatly succeeded by Ajax, which requires only what's found in the browser to operate. Ajax has become the darling of what some liken to the software fashion industry, though Ajax is clearly a robust and credible player for a variety of reasons, not the least of which is the promise of making the browser into its own computing platform.
Ajax lets Web pages become entire applications that are almost indistinguishable from native applications, and isfostering an entire revolution in the way software is deployed to users. No installs, no administration rights are required, nothing but a URL is needed to access the software. A lot of companies are either providing Ajax applications or providing tools for companies to build them for themselves.
But at the same time, the user interface for things like search are devolving and turning into something that would look familar to users of personal computers 20 years ago. In blogs and conference talks lately I've started to hear a "meme" that seems obviously true; that search is the new command-line. A quick check of virtually all the major search services (AOL Search, Yahoo!'s AllTheWeb, A9, AskJeeves, and of course, Google) turns up the same command-line design theme: a box and a search button, which can be triggered by hitting enter, and little else.
I even inadvertently discovered that Google's main page command-line interface has increasingly become non-search related and more general purpose. In the main page, try typing in a math expression or define: and a word (no space after the colon). Google will do your math work for you using Google calculator or look up the definition of the words you specify.
Clearly, this all points to an appropriate level of interface specialization for the right task. Certain user interfaces are the best for certain tasks and we've all seen applications where one was used inappropriately for the other. The interfaces for search engines, which coincidentally are probably the applications most used throughout the day by most people, have become simpler and simpler. During this time, the relentless demand for rich applications on the Web has also driven the industry to create the first widespread new interface paradigm in many years (Ajax).
I say new paradigm since Ajax doesn't have any intrinsic "official" user interface style. Certainly some companies, like Yahoo!, have started to create them however. Without efforts like this, RIAs could devolve into a chaotic sea of incompatible interaction techniques, something that might already be happening.
This leads to the question of when one should use rich Web GUIs versus GUI command-line, since it seems obvious that many applications models will need to think about this bifurcation in the near future. The middle form, complex HTML Web pages, will never go away completely, nor should they, but there is an increasingly widening spectrum between these three models (though admittedly, it's even more complex since even some of the command-line interfaces have Ajax in them.)
Thus, interfaces of browser based applications can be "bucketed" into one of three primary models:
The Web User Interface Spectrum
- The command-line browser application, which is as simple as possible and whose two essential features are the input box and a "go" button.
While this taxonomy is simplistic and doesn't take into account the fact that there are complex blendings possible of all three models, the real issue is this: As Web software becomes increasingly prevalent, recognizable models will be essential in order to appeal to the broadest bases of users.
As it turns out, the software of the future is about building participatory audiences more than it is about attracting customers, at least at first. Whether that will lower the value of business models themselves remains to be seen, but providing the right interface to your audience will be a big part of the equation, inside and outside the firewall.
Do you use Google's Search more than any other software application? I do, and probably most others too. So what happened to the GUI?