HCI
Web Agent Robot
Synopsis
A World Wide Web connected personal robot which gives a web agent a mechanical body with which to interact with the user and its environment.
Rationale
A web agent in the form of a robot would allow the user to interact with resources on the world wide web without turning on and using a desktop PC. Conversely, the robot will also allow the user to interact with the real world from a virtual world.
Features
When in the proximity of the user, the robot can interact directly with the user via audio, visual and tactile interfaces and pass information between the user and web resources using a network connection. When the user is not in the proximity of the robot, the robot can give the user information about its own environment via the web and bring about change on that environment using the same audio, visual and tactile interfaces.
As well as a physical presence in the form of its robot body, the agent may have additional virtual representations such as an IRC bot or an Avatar on the 3D Web.
"Megafreeze" development broken, Abstract User Interfaces
Melt the Megafreeze, let it trickle
Tuomo Valkonen writes that The megafreeze development model is broken in GNU/Linux distributions. He argues for a very long release cycle for an extremely stable base system (in line with Kernel releases) and then separate repositories for applications which are constantly upgraded.
I've often thought that in a world where security updates can be trickled over the Internet as they become available, it's odd that new features come in big chunks with each new release of a distribution. With Ubuntu, I upgrade every 6 months to see new features, why can't the features just appear as they become available like we're used to with Software as a Service?
Sam has tried to explain the reasons for the status quo to me on numerous occasions (him knowing a lot more about building Linux distributions than I), but like Valkonen I still remain unconvinced that the Megafreeze is the best approach.
Abstract User Interfaces: "Plasticity"
While I was on Tuomo Valkonen's homepage I noticed the Ion window manager that he developed. I found the UI ideas very interesting because they're very similar to a lot of things I'm trying to achieve with Webscope.
Ion has "tiling workspaces with tabbed frames" and the screen is always filled at any one time, like the multi-level resource tabs I want to create.
Ion also has a "query module" which "implements a line editor similar to mini buffers in many text editors. It is used to implement many different queries with tab-completion support: show manual page, run program, open SSH session, view file, goto named client window or workspace, etc." which is a similar concept to the Natural Language Command Line I am trying to develop.
In a paper entitled Vis/Vapourware Interface Synthesiser Valkonen describes a system for describing user interface semantics and then automatically generating actual interfaces based on user's preferences with the use of stylesheets. This seems very much like a transform view in a Model View Controller design pattern and he's essentially talking about doing for the desktop what I want to do for the multimodal web. Starting with a semantic description of a user interface (e.g. using DIAL) and then transforming that semantic description into various different presentations using XSL stylesheets.
In his bibliography, he links to papers which use the term "Plasticity" in user interfaces, which I might explore further. User interfaces these days have to go "above the level of a single device" -- O'Reilly.
3D Web
Synopsis
Browsing the world wide web as a three dimensional virtual world.
Rationale
Virtual online worlds like Second Life are like the AOL of the 3D web, they provide a walled garden in the virtual 3D world using proprietary software. Although the Second Life Client is now Open Source, the server software remains closed and only Linden Labs are able to run Second Life servers. Like AOL eventually had to open up user's access to the rest of the Internet, these innovative but proprietary solutions will eventually give way to a ubiquitous online space which is a direct extension of the web and uses web standards. Anyone will be able to host a 3D web server.
Features
3D Web Server
- An existing HTTP server which serves 3D web pages to client requests with the relevent HTTP Accept header
- Server side scripting
- XML transformation if required
- 3D web pages or "spaces" written in X3D and ECMAScript (with hyperlinks between spaces).
- Web interface to chat server
Chat Server
- Chat server, possibly using the XMMP protocol
Avatar Server
A special type of 3D web server which holds a person's 3D avatar. This could optionally include a distribute authentication mechanism like OpenID which identifies a user securely to others in a 3D space. When a user visits a 3D space, their avatar is served to that 3D world so that they appear to other users.
3D Web Browser
(Could be part of a Multimodal Web User Agent).
- Rendering X3D
- Executing ECMAScript
- Sending HTTP Requests with the relevent Accept headers to ask for a 3D representation of a resource
Implementation
Web3D Consortium
Metaverse Roadmap
Related Blog Entries
The New Command Line
In the draft specifications for webscope and moya, I mention a "versatile text input box" and "natural language command" respectively. I briefly describe these ideas in the Multimodal Web User Agent design concept.
In light of a Lifehacker article hailing the return of the command line, I thought I would clarify these thoughts further in a new design concept page, Natural Language Command Line.
We are seeing this trend all over the place, a versatile text input element which can be used to find information or carry out actions with a much more loosely defined syntax than the traditional command line. In my implementation, a user agent accepts user input and turns it into ASCII text to be passed as a query string in an HTTP request. The receiving web server then interprets the user's command and attempts to carry out the requested action. Think of it as combining the address bar and search bar in Firefox and adding something new.
Natural Language Command Line
Synopsis
A user interface element which allows a user to input a finite string of text (through speech, touch or gesture) in natural language, to be interpreted by the computer as a command to carry out an action.
Article: Modes of Interaction with our Filtered World
I've written an article entitled Modes of Interaction with our Filtered World.
"This article discusses how we perceive the world through filters (our senses) and how modelling these filters can be useful when designing human-computer interfaces. It goes on to attempt to classify modes of interaction using the criteria of sense and dimension for application in Human-Computer Interaction."
Modes of Interaction with our Filtered World
Introduction
This article discusses how we perceive the world through filters (our senses) and how modelling these filters can be useful when designing human-computer interfaces. It goes on to attempt to classify modes of interaction using the criteria of sense and dimension for application in Human-Computer Interaction.
Our Filtered World
In Douglas Adams' book Mostly Harmless, a new version of the Hitchhiker's Guide to the Galaxy has been invented. The new guide is a black disc which opens out like a piece of oragami into a black bird. When the guide is first used by a new user it "callibrates" itself with the user by experimenting on the user to find the limits of their senses and what dimensions they perceive.
