FAQ LIST

Q: Is this a game, an art project, or functional software?

All of the above. Though it attempts to play at the edges of what constitutes each. It's a game that's not always very fun, an artwork that would never be sold or even considered "art" by many people, and a software that's as intentionally dysfunctional as it is functional.

Top

Q: What kind of data is shared?

Any data that you choose to ingest using the agent system will be referenced via URL one of two ways, either: 1) remotely from a Web site you point to; or 2) locally linked pointers to items from anywhere on your hard drive. Linked items are transferred via HTTP and displayed within the Web browser of your choice (MS Internet Explorer 5.0+ preferred). ANY machine running agents automatically becomes part of a truly peer-to-peer network, so long as your machine is connected to the Internet. Anything you have stored on your disk, or link to remotely, can be shared with any other active agent.

Top

Q: Can agents be run from behind a firewall?

Yes, the agents will run behind firewalls, but there's a lot of local variation. Sometimes you can see other agents out on the network, other times you can't. In most situations, like if you're doing DSL routing and IP sharing, your agents won't get out very well, and you'll have a fairly autonomous session. We're working on this...

Top

Q: How come data and results don't always immediately appear in the dialogs?

The MAM system is fully distributed, and the dialogs stream back results. When agents are queried to see if they're available for searching, viewing, and so on, it occasionally takes a moment to get a response back. A lot of this simply boils down to issues of net traffic. The vast majority of the time you should see results start streaming back almost immediately. Even when things slow down, it's usually a matter of 10ths of a second at most, though sometimes there can be considerably longer lag.

Top

Q: How come the Web browser sometimes doesn't update itself when I request a new page to view?

This tends to happen on UNIX-based machines. It's a known bug with the BrowserLauncher utility we're using. When you experience this, all you have to do is close the browser window. The next time you request a link, context will be established again. Hopefully a fix will implemented soon. Occasionally this problem also happens if the default port used by the MAM Web server (port 8080) is already in use by something else. To fix this, use your favorite text editor and modify the 'webserver-config.xml' file (inside the 'mam/cfg/' directory). Set the 'port-number' property to whatever you want (try 80 or 8000).

Top

Q: How come nothing happens when I try to view something that launches the Web browser?

Most likely your do not have the path pointing to the browser executable set correctly, or a default browser selected. The BrowserLauncher utility we're using requires a default browser be identified in order to work properly. To change this you need to either choose a default browser (both MSIE and Netscape give you this option), or if you're on a UNIX-based machine, manually set the $PATH variable to point to where your browser executable is. To select a default browser on startup on a Windows-based PC, do the following: for MSIE, go into 'Tools', 'Internet Options' 'Programs', and select the 'Internet Explorer should check to see whether it is the default' checkbox; for Netscape it's a little trickier. Assuming the browser was installed in the usual place, go into 'C:\Program Files\Netscape\Users\default' and open the 'prefs.js' file in your favorite text editor. Change the line where it says 'user_pref("browser.wfe.ignore_def_check", true);' to 'user_pref("browser.wfe.ignore_def_check", false);'. Save your edit, and then restart Netscape.

Top

Q: How come links that I didn't actually ingest keep appearing in my agent?

During runtime the agent pulls in contextually relevant links from your local Web browser bookmarks file, and then extends out to pull in links from other remote sources. Relevance is based on metadata matches you provide, as well as hidden keywords and phrases sent to the agent as you navigate. You can adjust how many links you want to have auto-ingested per timed interval or per session, or you can turn these functions off entirely. We figured this is a good way to dynamically build out the agent data body from materials you've already pegged as meaningful to you. The agent takes it from there. To alter this property just use your favorite text editor to modify the 'url-ingester-prefs.xml' file (inside the 'mam/cfg/' directory). Set the 'max-urls-ingested-per-interval' and the 'max-urls-ingested-per-session' variables to whatever number you want.

Top

Q: How secure is the agent system?

Not very. In fact, it's rather insecure. We're an experimental research and development group, not mission critical enterprise software developers.

Top

Q: Can the same agent be run from multiple machines?

Yes. However, we have not fully integrated the agent migration capabilities. For the moment, the application can be run from anywhere but you will start fresh from each new location. Thus every machine you run your agent from will likely have a different data profile.

Top

Q: Can agents be made to interface to another MOO?

Yes. Using your favorite text editor, modify the 'phat-prefs.xml' file (inside the 'mam/cfg/' directory) and make it point to whatever moo location ('moo-hostname') and port number ('port') you want. In order for login and authentication to happen properly on startup, you also need to choose two keywords or keyphrases to send to the agent system ('connect-key-text'). The first of these is a word or phrase that appears during an initial connect (usually something like 'Connected'). The second should be a word or phrase that appears when a connection is redirected (usually something like 'Redirecting').

Top

Q: Can I design my own custom agents?

You will be able to as soon as we open source the MAM system. One of our goals from the beginning has been to successfully create a modular and extensible architecture that will relatively easily allow people to write agent types we've never even imagined. Initially it will require JAVA programming know-how, and a bit of XML. Eventually we hope to design more user friendly interfaces for agent creation so that non-programmers can make agents too.

Top

Q: Can I change the sounds?

Absolutely. There is a couple of ways to do this that don't require programming: 1) using your favorite text editor, modify the 'vis-prefs.xml' and 'phat-prefs.xml' files (inside the 'mam/cfg/' directory) and make them point to different sounds already included with the application; or 2) drop entirely new sounds into the 'mam/snd/' directory. You should be aware that you can have no more than 32 unique sounds cumulatively referenced in those files at this point. This is a simple resource limit we're working on. You can also adjust whether the sound executes based on psychological attribute scores ('min-key-value', 'max-key-value'), the likelihood of its playing ('weight'), when it plays ('start-delay'), how long it plays ('duration'), and if it should continuously replay ('loop'). Sounds may also be randomized by including calls to additional sounds within any given 'event-sound'. To do this, the 'event-sound-instance' contained within the parent 'event-sound' must be duplicated, and the pointer to the new sound made.

Top

Q: Can I change the look and feel of the phat-client and visualizer?

Yep. Again, there's a simple way to do this that doesn't require programming. For the phat-client: 1) using your favorite text editor, modify the 'look-n-feel-prefs.xml' file (inside the 'mam/cfg/' directory) and you can change the background color of the text output area ('TextUIWindow') and input area ('TextUIWindowInput'), as well as the font face, size and color of those components. You have control over the different output fonts ('MamText', 'MooText', and 'SystemText'). You may also adjust the 'Label' and 'List' color and font properties, the 'Button' font face and size, and the backgound colors of the dialogs ('Panel'). Be aware that all color properties are stored as RGB values. Experiment a bit. You can get some amazingly ugly things happening.

For the visualizer: 1) using your favorite text editor, modify the 'vis-prefs.xml' file (inside the 'mam/cfg/' directory) and change the numbers that determine the 'spaz-factor,' and the 'spaz-divisor'. The 'arc-color-coefficient' determines the intensity of the light and dark values of the tension lines as they are expanded and contracted, and the 'show-center-node' option sets whether or not you can see the agent name in the center of the data cluster, while the 'show-tension-lines' options sets whether you can see lines connecting the data links to the center node. If the 'show-center-node' option is set to 'false', you will not be able to see the tension lines either. You can also adjust all the numbers determining the 'node-tensioner-preferences' and the 'cursor-tensioner-preferences'. Just play around to get a sense of what effects what. Additionally, you may set 'background-color', font face, size, and style, 'visited-node-text-color', 'rollover-node-text-color', 'rollover-node-fill-color', 'rollover-node-outline-color', and 'fixed-node-color'. You can also change the attribute font parameters and color, as well as the metadata font parameters and color. Finally, it is possible to assign a background image by simply pointing to whatever image file you choose to reference. You may include two background images if desired, one for an on state and the other for an off state. These states are keyed to mouse events.

Top

Q: Can I change the communication protocol parameters of my agents?

To a certain extent. Using your favorite text editor, modify the 'node-config.xml' file (inside the 'mam/cfg/' directory) and you can change the port number used for passing the messages by adjusting the 'msg-port' property, the 'route-refresh-interval', which effects how frequently new agents are notified of each others presence, and the routing-path pointers to your 'well-known-hosts', which are the agents you first look for in order to do discovery of other agents. For discovery to start happening, only one agent needs to be referenced in the routing path. You also need to make sure the port number at the end of the IP string matches the 'msg-port' parameter.

Top

Q: How will I get upgrades of the software?

When you launch your software, provided you do it from the 'run.jar' file, you will be automatically updated as new releases become available.

Top

BUG REPORTING

If you have been running the agent system and experiencing a problem, and the FAQ does not adequately address it, please fill out a bug report.

Top