web acme – acme-like interface to web services
Rob Pike designed acme, a tiling-window-manager interface with a small editor and shell integration, to work with the plan9 filesystem. Web Acme (WA) reimplements this interface as a rich internet application, using web services (eg, YubNub, grep/feedster) to work with web site feeds.
Acme windows are a one-line status bar, and a resizeable, scrollable text frame. The status bar contains the path and name to a directory or file, and a few commands to work with the window, the contents of the window, or the named directory or file. The text frame contains a directory listing or file contents.
WA has four types of windows: tag cloud (shown on startup), tag, feed, and article.
WA reuses this interface. Instead of files, WA presents feeds, so a file-type window contains the text of a feed from a web site. The status bar of a file-type window contains the URL to the feed displayed in the window. The commands on the status bar refresh the feed, mark the currently displayed articles as read, search for text in the feed, refresh the feed, subscribe/unsubscribe the feed, and close the window.
Selecting an article in the feed brings up another window, which contains the complete article. This window's status bar contains the URL to the article, and commands to refresh the article, mark read/unread the article, tag the article, forward the article (eg, to a blog, del.icio.us account, digg counter, or email address), and close the window.
Tag and Tag Cloud Windows
Instead of directories, WA presents a list of feeds selected by a tag in the status bar. This tag window is opened by selecting from the tag cloud window, which is a tag cloud constructed by gathering all the tags added by the user (eg, to blogs, del.icio.us accounts, feeds, or email addresses).
The status bars for tag windows contain the tag, and commands to refresh the list of feeds, mark read/unread all feeds, and close the window.
The status bar for the tag cloud window contains the name of the user, and commands to refresh the tag cloud, customize the presentation of the tag cloud (eg, cloud or list, alphabetical or frequency order, minimum number of items indexed by the tag), and close the window.
In addition to working with files, acme also works with commands. Users select text and apply it to a command: the selected text becomes the parameters to the command.
Feeds may contain web-service commands instead of articles (eg, http://yubnub.org/kernel/ls). Users select text from articles, or feeds from tag windows, and then apply the text or feed to a web-service command.