summaryrefslogtreecommitdiff
path: root/src/www/minibar/about.html
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2011-10-12 17:03:54 +0000
committerhallgren <hallgren@chalmers.se>2011-10-12 17:03:54 +0000
commit44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad (patch)
treed51076a708997d6f1af6ac0deefd535bbc25f804 /src/www/minibar/about.html
parent0aba45560d2033c37c3d2e876e6f3ef89e1554d6 (diff)
Improvements of "gf -server" mode and related setup
"gf -server" mode now contains everything needed to run the minibar and the grammar editor (including example-based grammar writing). The Setup.hs script installs the required files where gf -server can find them. These files have been moved to a new directory: src/www. The separate server program pgf-http is now obsolete.
Diffstat (limited to 'src/www/minibar/about.html')
-rw-r--r--src/www/minibar/about.html180
1 files changed, 180 insertions, 0 deletions
diff --git a/src/www/minibar/about.html b/src/www/minibar/about.html
new file mode 100644
index 000000000..69fba5a9d
--- /dev/null
+++ b/src/www/minibar/about.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html>
+<html> <head>
+<title>About Minibar</title>
+<link rel=stylesheet type="text/css" href="minibar.css">
+<meta charset="UTF-8">
+</head>
+
+<body>
+<h1>About Minibar</h1>
+
+<a href="minibar.html">Minibar</a> is an alternative implementation of the
+<a href="http://www.grammaticalframework.org/">GF</a> web app
+<a href="http://www.grammaticalframework.org:41296/fridge/">Fridge Poetry</a>.
+It doesn't do everything the original Fridge Poetry does (e.g. drag-and-drop is missing),
+so I refer to it as a minibar rather than a full refrigerator :-)
+
+<p>
+Some implementation details:
+
+<ul class=space>
+ <li>It is implemented directly in JavaScipt. It does not use Google Web Toolkit or any big JavaScript libraries.
+ <li>It has been tested and found to work in the following browsers:
+ <ul>
+ <li>On the Mac: Firefox 3.5 &amp; 3.6, Safari 4.0, Opera 10.10 and
+ Google Chrome 4.0.249.49.
+ <li>On Linux: Firefox 3.0.18 & 3.5, Opera 10.10.
+ <li>On the Android Dev Phone: Android Mobile Safari 3.0.4 & 3.1.2
+ and Android Opera Mini 4.2.
+ </ul>
+ It does not seem work in Internet Explorer 7
+ (there are both styling and scripting issues).
+ There seems to be some rendering bugs in Chrome 5.0.342.9 β.
+ <li>The implementation consist of two JavaScript files:
+ <a href="minibar.js">minibar.js</a> and <a href="support.js">support.js</a>
+ The latter is also used in
+ <a href="http://spraakbanken.gu.se/swe/forskning/saldo/ordspel">a couple of
+ small web apps</a> based on the
+ <a href="http://spraakbanken.gu.se/sal/ws/">SALDO web services</a>.
+ <li>To access the GF web service, it uses the
+ <a href="http://en.wikipedia.org/wiki/JSON#JSONP">JSONP method</a>
+ mentioned in the GF
+ web services paper, which allows the web app to be hosted on a different server
+ from the GF web service. (To demonstrate this, I put the Minibar demo on
+ www.cs.chalmers.se, while the GF server that it calls is on
+ www.grammaticalframework.org.)
+ <li>As an experiment, it does no use the <code>grammars.xml</code> file,
+ but instead calls a little CGI script,
+ <a href="http://www.grammaticalframework.org:41296/grammars/grammars.cgi.txt">grammars.cgi</a>
+ which lists the .pgf files in the directory, in JSONP format.
+ (Note: if you want to install this on your own computer,
+ <ul>
+ <li>if you click on the link,
+ the CGI script will be downloaded as <code>grammars.cgi.txt</code>,
+ but it should be called <code>grammars.cgi</code> and stored on the server
+ in the same directory as the grammar files.
+ <li>for CGI scripts to work with lighttpd, <code>"mod_cgi"</code> needs
+ to be included in the definition of <code>server.modules</code> in the
+ <code>lighttpd.conf</code> file.)
+ </ul>
+ <li>[Added 2010-02-16] There is a button for generating random sentences.
+ <li>[Added 2010-02-23] All translations are shown, not just the first one,
+ if there are multiple parses.
+ <li>[Added 2010-02-25] Next to each translation, there is now a little tree
+ icon that you can click on to see a drawing of an abstract syntax tree or a
+ parse tree. If you click on a drawing it collapses back into a tree icon.
+ <li>[Added 2010-04-09] Preparations to support different ways to access the
+ grammar: currently we access a PGF server via JSONP, but I would also like
+ to support AJAX, and local/downloaded JavaScript grammars.
+ <li>[Added 2010-04-19] A text entry field appears when you click in
+ the sentence area (with a dashed border). This allows you to enter words by
+ typing on the keyboard. As you start typing word magnets that don't match what
+ you are typing are removed. When only one magnet remains, you can press enter
+ to complete the word.
+ <li>[Added 2010-04-19] There is a menu for choosing the output language:
+ you can pick "All" to translate to all available languages, or pick one
+ particular language.
+ <li>[Added 2010-04-19] You can pass options to the function
+ <code>start_minibar</code> to customize the user interface. The default is
+ <code>{show_abstract:true,show_trees:true}</code> to show the abstract syntax
+ of parsed sentences, and to show icons that expand to syntax/parse trees next
+ each translation.
+ These features can be turned off by setting the fields to <code>false</code>.
+ <li>[Added 2010-04-30] The grammar menu is omitted if there is only one
+ grammar in the grammar list.
+ <li>[Added 2010-04-30] Fewer hardwired constants and new
+ <code>start_minibar</code> options (server, grammars_url, grammar_list,
+ show_grouped_translations, delete_button_text) to make
+ <code>minibar.js</code> more resuable.)
+ <li>[Added 2010-05-26] The magnets are now created with
+ <code>&lt;input type=button&gt;</code> tags to make them clickable in more
+ browsers.
+ <li>[Added 2010-05-26] The text entry field is now visible from the start,
+ and it is removed when no more words can be added to the sentence. When you
+ press enter, a word is added if there is only one magnet left,
+ <em>or</em> if what you have entered exactly matches one of the remaining
+ magnet.
+ <li>[Added 2010-05-28] Added a link to make it easy to try the same sentence in
+ <a href="http://translate.google.com">Google Translate</a>.This can be
+ turned off by passing the option <code>{try_google:false}</code> to
+ <code>start_minibar</code>.
+ <li>[Added 2010-06-02] Added support for Help and Feedback buttons, controlled
+ by the options <code>feedback_url</code> and <code>help_url</code> passed to
+ <code>start_minibar</code>.
+ <li>[Added 2010-06-02] New option: <code>default_source_language</code>.
+ <li>[Added 2010-09-10] Minibar now automatically uses
+ <a href="http://en.wikipedia.org/wiki/XMLHttpRequest">XHR</a>
+ instead of JSONP when possible (i.e. when the HTML document and the
+ PGF service are on the same server).
+ <li>[Added 2010-09-10] The default input language is now the user's preferred
+ language, if possible. This is implemented by consulting the
+ <code>userLanguage</code> field in the grammar info output by pgf-server.
+ <li>[Added 2010-10-27] Keyboard input and completion should now work much
+ more smoothly:
+ <ul>
+ <li>When you press space, the current word will be completed (if incomplete)
+ and a new magnet will be created. If there is more than one possible
+ completion, no magnet is created, but the common prefix of the possible
+ completions is added to the text box.
+ <li>Instead of asking the server for possible completions every time a new
+ letter is added to the curent word, minibar only ask for completions for
+ whole words and then filters the list locally when more letters are entered,
+ speeding things up when server responses are slow.
+ </ul>
+ <li>[Added 2010-10-27] Code restructuring:
+ <ul>
+ <li>The PGF server API has been moved to its own file:
+ <a href="pgf_online.js">pgf_online.js</a>. This
+ allows it to be reused in other applicaitons without importing the entire
+ minibar. It also allows minibar to be used with different server
+ interfaces. <a href="minibar.html">minibar.html</a> has been updated to
+ show how you use the new <a href="minibar.js">minibar.js</a> and
+ <a href="pgf_online.js">pgf_online.js</a>.
+ <li>The minibar code has been rewritten to avoid storing state information
+ in the document tree and accessing it by referring to named document
+ elements. The code now also avoids using string literals containing
+ the names of top-level functions to specify event handlers for buttons
+ and menus. (The code is no longer introspective, so &alpha; conversion
+ will not change its meaning.)
+ </ul>
+ <li>[Added 2010-11-09] Some new documentation:
+ <ul>
+ <li><a href="gf-web-api-examples.html">gf-web-api-examples.html</a>:
+ examples illustrating the PGF server API provided by
+ <a href="pgf_online.js">pgf_online.js</a>.
+ <li><a href="example.html">example.html</a>: a minimal example of a web
+ page that uses <a href="pgf_online.js">pgf_online.js</a> to talk to the
+ PGF server.
+ </ul>
+ <li>[Added 2011-03-03] Added a button to display word alignment.
+ <li>[Changed 2011-03-22] Don't force focus to the typed input field
+ after every word. On touch-based devices, the on-screen keyboard kept
+ popping up after every word, which was very annoying if you were
+ entering a sentence by tapping on the magnets.
+ <li>[Changed 2011-08-03] Moved the initialization code in minibar.html to
+ <a href="minibar_online.js">minibar_online.js</a>.
+ <li>[Changed 2011-08-08] For improved modularity and reusability,
+ two smaller objects have been factored out from the Minibar object:
+ Input and Translations. These have been placed in two separate files:
+ <a href="minibar_input.js">minibar_input.js</a> and
+ <a href="minibar_translations.js">minibar_translations.js</a>.
+ Some common auxiliary functions have also been moved to a separate file:
+ <a href="minibar_support.js">minibar_support.js</a>.
+ <li>[Added 2011-08-09] Added some <a href="minibar-api.html">Minibar API</a>
+ documentation.
+ <li>[Changed 2011-08-22] Quick fix to allow literals to be entered:
+ if you press Enter, the current word will be accepted, even if there are no
+ matching completions.
+ (You can now use names of people when constructing sentences in the Letter
+ grammar, for example.)
+</ul>
+
+<hr>
+<small class=modtime>
+<!-- hhmts start --> Last modified: Mon Aug 22 19:31:37 CEST 2011 <!-- hhmts end -->
+</small>
+<address>
+<a href="http://www.cs.chalmers.se/~hallgren/">TH</a>
+<img src="http://www.altocumulus.org/~hallgren/online.cgi?icon" alt=""></address>
+</address>
+</body> </html>