Every person who gets phone calls of the "how do I find my files" type
knows how frustrating it is when you have to imagine what the user is
seeing and can't quickly whisk through the file system to check things
out. What would take a buddy five seconds can be virtually impossible to
describe accurately over the phone.
BFM solves this problem by
giving the buddy an over-the-shoulder view of BFM and the user's file
Buddy web uses the HTTP protocol which means that
a buddy can connect (if invited) from anywhere without any special
Buddy web is always initiated by the user. (There is
no way for a snooper to 'break-in'.) From the utilities menu option pick
Invite web buddy. After a few moments a message
should appear which gives the details the buddy needs to enter into
their web browser. It will look something like http://184.108.40.206/1234 When the
buddy types this in they should see an opening screen as shown below and
the user will get a confirmation message. Now you can talk on the phone
with the buddy having an 'over the shoulder' view of the user's screen.
There are reasons why this may not work. See the technical details
if this doesn't work smoothly.
The rest of this documentation describes Buddy Web from a buddy's perspective.
What a buddy needs
- To know something about BFM's layout functions and capabilities
- To have a web browser and a live voice connection with the user
Because of the possible firewall issue described in the
section below, it
is worth the buddy having a quick hands-on test of the user's machine in
order to sort out any unblocking/redirecting of port 80 traffic. Inviting buddy
will do all the necessary tests for
server visibility so this can be tested on-site. It is also possible to
experiment locally by using the URL http://localhost/nnnn
(replace the security
code nnnn as given)
Basic web interface
The object of the buddy web is to help the user do whatever it is
they're trying to do for themselves. The only direct interaction with
the file system is the ability to create directories remotely. The web
shows a mimic diagram of the 'meat' of what the user is looking at and
also a file/directory browser plus some basic system information. The
display you see is meant to be informative rather than an exact
rendering of the user's screen. You will see details of things that they
Feedback on what is useful, what isn't and what would be nice
things to have is very welcome.
The top of the screen is a standard layout
- Note the timestamp at top right. You have to manually refresh the page when it suits you.
- Active areas in the interface are shown in sky-blue. In this case four master mode buttons.
The titles should be self-explanatory.
- Exception messages may appear here also.
Some data about the BFM program itself. Clickable links to Store and Shelves. The current screen being viewed by the user.
The run counter is the number of times BFM has been started.
This gives you an idea how much the user is really using BFM.
Most of these are clickable.
This tells you the state of the various drives. This can be very useful when the user plugs a USB stick in but doesn't know what drive letter it is, or has forgotten to check that the extension cable was removed to attach something else.
This is a direct view of the user's file system. This is often accessed
through clickable links in System information.
- The clickable parent directory is shown first in italics.
- Sub-directories are shown next. These are also clickable links.
- Then files are listed in multiple columns to optimise use of space.
Remember that the user is completely oblivious to what you see and do here.
Over the shoulder - Main screen
Compare the following two screenshots: First the buddy's view then the user's view taken at the same time.
- The buddy can see all the sub-menu options. This makes it easier for the buddy to accurately guide the user to a particular function.
- The buttons are illustrative only.
- The display of the Store and Shelves directory trees is subtly different as the buddy always sees the complete tree while the user only sees the top-level or deliberately opened directories. In the screenshots Holidays is an example of this where the user has a tidy display while the buddy can see what lies below it. This makes it easy for the buddy to help the user navigate through the tree.
- Don't forget to check the trap that can lurk in a "I can't find my files" situation where the persistent filter is set.
- The buddy's file listing is restricted to filenames but otherwise has the same layout as the user's display.
Over the shoulder - Browser
- As with the main screen the buttons shown are illustrative only.
- The buddy's file listing is restricted to filenames, or paths and filenames if
sub-directories are being included, but otherwise has the same layout as the user's display.
- When the user's file listing requires scrolling the whole list will be shown in one go to the buddy.
This makes it easy for the buddy to see everything at a glance but remember that the user may not be able to see all of a large list without scrolling.
Over the shoulder - Move/copy
The number of choices available when moving and copying together with bad past experiences
can make this quite stressful for a user.
The presentation of the Move/copy dialog alters depending on the type of destination.
In the comparable (extract) screens below, note:
- As with the main screen the buttons shown are illustrative only.
- The buddy can see the hidden sub-directories and directories beyond the scroll in the tree display.
- The full list of drives is explicit although the user only sees one at a time.
- Where the user's list is forced to scroll the buddy's listing is complete.
So in this screenshot the last three paths are omitted from the user's list.
Technical details and troubleshooting
This section may need looking at if there are problems getting connected.
Invite web buddy does two things in order:
At this point BFM is listening on port 80 waiting for the buddy's browser to send a http:// GET request. The user will have a message box telling them the IP address and a four digit security code the buddy needs to put into their browser's address bar. The IP address to connect on (may vary) and a four security digit code to finish off the URL (will vary randomly each time the user starts BFM). The user reads these out to the buddy and both user and buddy should see when a connection is established.
- A tiny web server is started within BFM listening on port 80. This might fail with an error message which probably means there is another web server operating already. For the sort of person using BFM with a buddy this would be a bit worrying.
- Sends a http GET request to http://vulpeculox.net/BFM/ipaddress.php. This returns the user's current 'world-wide' IP address and checks that the server is visible to the outside world. A common problem is that the user's firewall and or router may block anything incoming on port 80. This is a fairly harmless state of affairs for most users but will stop buddy web from working. On the other hand, opening port 80 should be safe enough.
Shields Up The response to the GET request gives the users current world-visible IP address and confirmation of being able to see BFM's Buddy Web server.
is a port-scanning website will tell you what ports are accessible in general.
Buddy web will work fine over a low bandwidth dial-up connection.