Back in 1992, tchrist wrote GUIs Considered Harmful. A few of the main quotations:

All very relevent points, many of which are still problematic. There has been some attempts to make a programmable GUI application framework (like OLE), to varying degrees of success.

However, with the growing maturity of the web, we now have the ability to run a fully programmable GUI. WWW::Mechanize is the most flexible realization of this, but it isn't the only one.

As soon as people had CGI-capable web servers, the address bar had many of the capabilities of a command line. Early on, some people even had bash execute parameters off the query string directly. Of course, this was horribly insecure, but illustrates the capabilities of this method.

Web applications address two interesting points at once:

  1. It solves tchrist's problem of the programmable GUI
  2. It becomes a mechanisim for RPC

Many people think you need something like SOAP to get RPC out of a web application, but really this was possible all along. SOAP and others merely provide a standard protocol so that libraries can be written in multiple languages and (hopefully) all get them to work together.

The WWW::Mechanize method of grabbing forms, filling them out, and submitting is perhaps more cumbersome than the Unix filter concept, but it allows the same web application to serve both GUIs and command line users with no additional work for the application developers.

Further, it was inevitable that once the web got big, command line tools would be made to use it. Both wget and lynx (with the -source option) allow you to use a web app as part of a Unix shell pipeline.

Firefox takes this even further. The "Quick Searches" bookmarks lets you use a keyword followed by a string. It'll place the string within the query. For instance, I can search Google with google Perl. It's easy to add your own. Just make a bookmark within the Quick Searches section. The string %s in the address will be replaced with whatever you type. I've added a few custom search bookmarks, such as CPAN (http://search.cpan.org/search?query=%s&mode=module).

With features like that, the address bar becomes a command line, and we didn't need Java Applets, JavaScript, or Flash to do it (in fact, those things usually get in the way of this concept).

Between better browsers and simple tools, we no longer need to fear GUIs, at least for the web.

"There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.


In reply to The Address Bar is the new Command Line by hardburn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.