Announcement

Webzephyr is now running on scripts.mit.edu. Most things are working now.

Send me a note telling me what you liked, what you didn't like, what features you'd like to see, anything. If I'm online feel free to send me (jdaniel) messages that way too.

Click here to use webzephyr and select a security level.


New Users
Versions
Versions by browser
Basic sending and receiving
More in depth on parts of the form
For Athena users
SMS to zephyr relay
Frequently Asked Questions
Outages, recent events, and changes
Other stuff

New Users

People on the MIT network
You can try out the interface using the guest login, see the athena section.
Everyone else
Put your email address in the Email address box and click the "Create New Account" button. You will immediately be mailed a password. You should read at least through the "Basic sending and receiving" section before proceeding further. When you receive the password put it in the Password box and select which type of interface you prefer. Once you are inside you will have the option to change, so try a few and see what you like, and what works for your favorite browser. If you ever forget your password email me and convince me you belong to that username.

Versions

Server Push
Splits the screen in half: the top has the message entry window and the bottom has a page in "Content-Type: multipart/x-mixed-replace". This will keeps the connection open to the server and the page will be renewed with every message. I don't know if anything other than Netscape will support this. After 30 minutes with no traffic the connection should timeout closed.
Auto Update
Splits the screen into three sections: one for you to type into, one for the logs, and one (set to zero size) which will check for new messages. When it detects a new message it will reload the log section (When in Config mode it will tell you about new messages instead of autoloading them). You should be able to alter the size of the main two halves by clicking and dragging on the bar separating the two (I have found that doing this causes the autoloading to fail so you may need to push update after doing so), or run Configure to change it permanently. Auto Update requires your browser to support the "Window-target" header, so it may fail on some browsers.
Auto Update JavaScript
Same as above but uses javascript, instead of headers which seem to be supported only by Netscape.
Tell Me
Splits the screen in half: one section for typing in and for logs, the other section will tell you when there are new messages to be seen. Uses the meta tag "Refresh" which is supported by most browsers.
No Frames
In this version you will have to push update periodically to see if you have new messages because there is nothing to tell you. If you are using a browser that does not support the rest this is the version for you.
No Frames Truncate
Like no frames, but altered to be happier on small browsers with slow network like Palm Pilots.
Java
New version in early testing, based on the AWT and JDK 1.0/1.1 so it should run on most browsers.

Browser-version recommendation

Netscape
Server Push or Auto Update (tested with version 4.x but should also work with version 3.x)
Microsoft Internet Explorer
Auto Update JavaScript
Opera
Tell Me (The "Window target:" header required for Auto Update is a netscapeism)
Lynx
No Frames (This version was designed with lynx in mind)
AOL's browser
No Frames (The other versions don't appear to work, but I have yet to figure out why)
Emacs W3
No Frames (Frames don't seem to work right in W3 maybe sometime I'll investigate further)
Others?
Let me know what you've tried and how it works.

Basic sending and receiving

Send to:
First you need to know who you want to send to. I'll use myself as an example. I'll assume you know their email address since that's probably how you've communicated with them in the past. If you want to send to "jdaniel@mit.edu", chop off the "@mit.edu" part and just put "jdaniel" in the "Send to:" box. For the rest of this example USERNAME will be used in place of the username of the person you're sending to.

It is NOT possible to send send to other webzephyr users. It is only possible to send messages to people in the Athena zephyr realm, which unless you know otherwise, you can assume to be only people with email addresses that end in "@mit.edu".

Message:
Type the message you want to send here. The message you're sending will be refereed to as the zephyr.
Send Zephyr
Push this button when you're done typing the zephyr. The screen should redraw with a message at the top to tell you whether you succeeded. If the person you're sending to received the zephyr, you should get the message "USERNAME: Zephyr sent". If they were unable to receive the zephyr you should get the message "USERNAME: Not logged in or subscribed".
Zlocate
To find out if the person entered into the "Send to:" box is logged in, push this button. If they're logged in you should get the message "USERNAME is logged into MACHINENAME.mit.edu". You can then click on the MACHINENAME link, this will finger them at the host they're logged in on which will often tell you idle times. If they're not logged in it will tell you "USERNAME: Hidden or not logged-in". Again it is only possible to zlocate Athena users.

Zlocate is not an absolute indicator of whether a person is logged in. It is possible for someone to be logged in but not be able to receive zephyrs. If this is the case they may not know about webzephyr and you may want to send them mail pointing them at this page and telling them about it. It is also possible for it to appear as if someone is not logged in and for them to still be able to receive your zephyrs. The most sure way is to try sending one.

Getting zephyrs
If you're using "Server Push" or "Auto Update" zephyrs for you should appear in the lower frame of your browser. In "Tell Me" you will have to push the "Update" button after a message appears in the other buffer telling you you have a message. With "No Frames" you will have to press "Update the Screen" periodically to see if you might have any zephyrs.

More Advanced

Configure
Using Configure you can create a list of usernames to select from, select the colors webzephyr will appear in, and select the sizes of the frames and a few other options.
Send To
You can send to more than one person at once by putting multiple names in the Send to box like "USERNAME USERNAME2". Once you have Configured a list of usernames it will appear here too. To send to someone not on your list select the blank in the selector and type the usernames into the Send to box.
Zlocate all
Once you have a list of people you can zlocate all of them at once by pressing this button.
Clear Logs
Erases all your old messages. Be warned that if you receive any new messages between the time you last reloaded and when you push this button they will be lost also.
Reset
This button will empty the fields of the form.
Body
The body now has the option of being multiple or single lines once you Configure a list of senders. When the body is a single line there is no text field for the recipient. This will cause many browsers to allow you to push enter and get the default action which is "Send Zephyr". Messages entered under the single line option will be word-wrapped to 65 columns.
Warning
After half an hour of being idle it will look to Athena users as if you've logged out.

Zephyr Side

This section is what people on Zephyr must do to receive, and reply to messages from webzephyr. (If you want to test things with a webzephyr account and are on a host on MIT or CMU's network you should be able to use the username "guest", with no password. Anything you do as guest will be deleted on logout, and you won't be allowed to change the password.) To get to the relevant commands on Athena you must "add outland", everyone else needs to follow these instructions.

Receiving zephyrs
In order to receive webzephyrs you must "zctl add webzephyr \*" (only one \*, this subscribes you to personal zephyrs on class webzephyr). [Many people have asked why I set it up this way. The answer is I was concerned about abuse and privacy issues. In order to keep this from being used to harass people on zephyr, the zephyr user must initiate it.]
Sending zephyrs
To reply to a zephyr received from here "webzephyr USERNAME" where USERNAME is the address of the webzephyr user you want to send to. If the webzephyr user is logged out, or if you try to send to a non-existent webzephyr user you will receive a zephyr saying so.
Your visibility
In order for the a webzephyr user to be able to see if you're logged in you must have your exposure set to net-visible or net-announced. You can do this by "zctl set exposure net-visible". (There is a bug in the zephyr release which makes this slightly more complicated. If you hide and then unhide you will no longer be visible, so in order to become visible again just set your exposure level again as above.)
Seeing who's using webzephyr
The "webznol", command allows you to see if webzephyr users are logged in, and subscribe to login/logout notices from them. Run "webznol -help" to find out more about it. (If you want to receive notification from everyone logging into and out of the webzephyr do "zctl add webzephyr \* @ATHENA.MIT.EDU".) Login and logout messages are formatted as similarly as possible to the login zephyrs Athena users are used to seeing. They use the same opcodes to differentiate between logins and logouts, and a $default to translate it into printable form.
Authenticated Webzephyr
MIT USERS ONLY . . .
This version allows you to use the certificate you use for websis for authentication. I've decided this authentication is good enough to allow the sending of real personal zephyrs, (people will not need to be subbed to class webzephyr) so you will get a slightly different behavior under this version. To keep netscape from prompting you for a certificate each time you access the page you should go under Security Preferences and tell it to always present the right certificate.

Frequently Asked Questions

  1. How do I find out what a friend's username is?
  2. How secure is webzephyr?
  3. How do I keep netscape from prompting me for my certificate on each reload?
  4. If I use zephyr, but am not on athena how do I send messages and see who's logged in?
  5. What other realms can recieve messages from webzephyr users?
  6. What advantage do I get out of using the certificate interface?
  1. How do I find out what a friend's username is?

    You can look them up in the
    MIT online directory.


  2. How secure is webzephyr?

    First the security of the path data travels.
    browser --SSL/none--> webzephyr --none--> zephyr server --none--> athena user
    
    Webzephyr adds (almost) no security above that of standard zephyr. If people are sniffing packets on the network then they can read the messages. Second webzephyr.mit.edu itself. This machine is used by the SIPB webmasters for testing things before putting them on www.mit.edu, other people don't have access to the machine. All logs are rotated out on a five day schedule with the exception of your logfile which you have sole control over. Your logfile and preferences are backed up nightly on a two day rotation.


  3. How do I keep netscape from prompting me for my certificate on each reload?

    Netscape 4.x: Click on the lock button, then click the "Navigator" tab and change "Ask Every Time" to "Select Automatically"


  4. If I use zephyr, but am not on athena how do I send messages and see who's logged in?

    You can copy the scripts used by athena users from the following URL and save them into a local bin directory.
    http://web.mit.edu/outland/share/bin/webznol
    http://web.mit.edu/outland/share/bin/webzephyr
  5. Once you have these, using them is the same as under athena. (webznol requires perl and the libwww-perl package which can also be obtained from CPAN if it's not installed.)

  6. What other realms can recieve messages from webzephyr users?

    Now that interrealm is up, among the non-mit realms webzephyr users should also be able to send to are DEMENTIA.ORG, CS.CMU.EDU, ANDREW.CMU.EDU, FSCK.COM, and CLUB.CC.


  7. What advantage do I get out of using the certificate interface?

    The only real advantage of using the certificate is that zlocate happens authenticlly. This means that you can see people who are realm-visible in addition to people who are net-visible. I can't and won't get kerberos tickets so there is still no way to recieve your "normal" zephyrs.

Outages, recent events, and changes

11/22/05: Reverting some unnecessary changes and adding minor fixes

10/24/05: Fix new account email

10/11/05: Attempt to fix occasional bug where incorrect page is returned

03/21/03: Add SZS and remove relay

07/19/02: Patch to give up zlocating people when one times out. This should keep realm outages from being as big as big a problem.

01/31/02: When relaying send opcode too so pings don't end up on our side as empty messages

01/25/02: Patch to compute and save checksums on sending of messages. Then cancel ones which duplicate the previous one. Hopefully the checksum isn't going to have duplicate values at incorrect times.

01/12/02: I discovered the javascript version wasn't reloading because IE was not reloading a page it thought was the same as the one as before. The new url depends on the filesize.

05/16/01: When rewriting the prefs file on login, write to another name and rename, trying to prevent race conition where prefs fail to load in zion sometimes.

05/11/01: Change sub message for non-athena reciepients, list other realms that work, fix bad #name links on this page, and fix to not blank body field unless someone actually gets the message.

05/03/01: Add java support for switching between multiline and single.

04/26/01: New code for java alpha release, slight changes to HTML formating and debugging code.

04/06/01: Allow CMU to use guest account, update to docs, fixes to guest account

03/20/01: New format "No Frames Truncate" designed for Palm Pilot.

03/15/01: Remove full help text from startup page. Use perl SSI for version info when this page is called as help.html

03/07/01: Added coloring code and configurations. Also force a delay between server push reloads.

02/28/01: Fixed bug from attempt to buffer, mostly made server push not display on first load. Also fixed conflict in form fields from when I switched from counted to time stamp.

02/27/01: Added ability to configure line wraps for log file. Also don't buffer output.

02/24/01: Fix kludged for netscape 6 bug. If connection is still open when the new frameset page loads it re-requests "old" pages for the frames inside. Also replace counter with timestamp.

02/14/01: Fix bug (upgrade induced) of not properly recognizing failed sends, or any sends to fully qualified principals. Added sounds in other formats. Added timestamp of output log to output.

02/06/01: Server upgrade to a Sparc 20 (brief outage).

01/30/01: Add relay ability, and a couple small fixes.

12/29/00: Make nicer interface for testing beep sound.

12/24/00: Add option to beep (see configure). Timestamp is now added to incoming messages after 5 minutes idle instead of 30.

12/11/00: Add a no cookies button, and make links for URLs in messages.

12/02/00: Work on stability issues of zion and getting state of users on startup. Add webusers to friends/login features.

11/05/00: Small fixes to server push.

10/19/00: Changes to make more useful error messages for people trying to send to other kerberos realms. Also make more clear the use of the toselect entry blank.


Other Stuff

I have a mailing list to which I plan to send announcements or discuss major changes, send me mail if you want to be on it, or if you're an athena user you can "blanche webzephyr -a $USER"

Please send me any sorts of comments or suggestions you might have.

What browsers have been tested (and work): The results of my tests have mostly been made into comments in the sections about the options above, but there are still many browsers I have yet to try version 2.x with. If you have any notes on what you've tried and how well it works or fails please let me know.