[news.misc] A Graphics Approach For Looking At UUCP Sites

daniel@unicom.UUCP (Dan Smith, watching the Unix Circus) (05/18/88)

 	I'm posting this to the net, in the hope that it will generate
some useful positive feedback. My idea is to use data posted in comp.mail.maps
(which appears on our system in /usr/uucp_maps) to show a 3d model of
connections that a user could navigate through using a mouse or keyboard on
a PC or graphics workstation (such as a Sun). I think such an application would
present this data to a user in an intuitive way.


 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

		 A Graphics Approach For Looking At UUCP Sites
				 Dan Smith

	Intro

	Many Unix sites have mapping information online. These maps
describe some basic facts about a site, and are made available through
the Usenet newsgroup comp.mail.maps. Most sites send maps that contain
information about who that site is connected to, as well as their own latitude
and longitude. A map of the Usenet Backbone is posted on a monthly
basis, and while it is informative, it is limited to showing many
sites in a 2d format, and doesn't attempt to show sites geographically.
I will explain a way of presenting this information graphically, and
how it may be possible for a user to navigate around the graphical model,
select different sites, and initiate actions that affect or relate to those
sites.

	It is possible to use the information contained in UUCP maps
 to accurately show connections between sites, and to allow the user
 to see more than just the backbone sites.

	The Doughhnut Analogy

	Imagine a doughnut. Now, imagine the cross section of one, such as:

		 /------\. . . ./------\
		/        \__ __/        \
		|          | |          |
		\        /-- --\        /
		 \______/. . . .\______/

	(pardon the ascii graphics... within 10 years we won't have this limit
anymore on the net :-)

	Now, taking the torus shape of a doughnut, and pinching in the center,
and expanding the edges, we get this cross section:

	|\_ . . . . ._/| 
	|  \_      _/  |
	|    \_  _/    |          <-- longitude -->
	|      \/      | <-- equator
	|      ()      |
	|     _/\_     |                 ^
	|   _/    \_   |                 |
	| _/        \_ |              latitude
	|/. .  .  . . \|                 |
                                         v

	note: A sphere shape makes a lot of sense as well
	as I point out later.

	As we move away from the center, changes in latitude become more
apparent.

	Looking at backbones

	I propose a 3d model, where backbone sites are boldly labeled near the
center, most obviously corresponding with their longitude. Thus, I may see some
sites on the screen, with ucbvax directly in front of me in the center. If I
move my mouse to the right, the model rotates westward (so that my view heads
east) so that I can look at, say, rutgers. If I move my mouse up, the model
rotates south (so that my view heads north) so that rutgers appears in the
center of my display. To the left and down (southwest), I might see gatech.
The basic premise is that there is a mode to the model where you navigate
around with a mouse or a keyboard, and that as you change direction in latitude
or longitude, different sites will come into view (it's possible to have a
see-through model, but it could get confusing). In this mode the user is
"zoomed towards the core", and leaf and node sites are behind the user or
across the room in 3d space.

	Expanding: What can be done with model, and Leaf sites

	Backbone sites are certainly important, but there needs to be a
mechanism to see much more. It should be possible for the user to "zoom
towards the equator", or edge, of the model. So far, our view of backbone
sites involves this part of the model:

              _  _
	|      \/      |
	|      ()      |
	|     _/\_     |

	(again, a cross section)

	Leaf sites expand the model to this:

	|    \_  _/    |
	|      \/      |
	|      ()      |
	|     _/\_     |
	|   _/    \_   |

	As the user zooms away from the core, through some keyboard or mouse
button event, they may see a local backbone site and the leaves that it feeds.
It should be possible to "select" sites (by pointing and clicking or by
typing site names in), and show, for example, possible routes
between two sites (such as ucbvax!decwrl!purdue), initiate an anonymous
ftp login with a site, find a mail path, or just obtain information about
a site (such as phone numbers, addresses, background information about
the site, etc.).

	A user may want to zero in on a backbone site, and see all of the
leafs in a region (bounded by a pair of longitudes and latitudes, or
by a circular radius of a given number of miles or kilometers). Using
data that appears in weekly usage reports, lines could be drawn between sites
that are, for instance, thicker in proportion to traffic. It should be possible
to limit the view to just a backbone site and all of the leaves it serves.

	The Node Sites

	(the complete cross section, once again)

	|\_ . . . . ._/| 
	|  \_      _/  |
	|    \_  _/    |          <-- longitude -->
	|      \/      | <-- equator
	|      ()      |
	|     _/\_     |                 ^
	|   _/    \_   |                 |
	| _/        \_ |              latitude
	|/. .  .  . . \|                 |
                                         v

	Last but not least, there are the many small companies and
organizations that make up the nodes of Usenet. These sites typically receive
a news feed, but don't have the resources to pass that feed on. A user
navigating through the 3d representation of the UUCP map should be able to
"zoom towards the edge" past the leaf sites, and be able to see some of the
many thousands of little sites that make up the Usenet. In reality, Usenet
is not as straightforward as backbone->leaf->node. There are many
cases of two or more leaves. With the advent of UUNET, there are now
some backbone->node sites. I feel that the user should be able to control how
much detail they are seeing by zooming towards/away from the core, and also
be able to limit a view based on longitude/latitude, etc. Limiting a view
would have the effect of spacing out the sites on the display more, so that
all of the labels of the sites could be readable. In other words, moving a
mouse may show a change in longitude of a minute, rather than a degree, when
the user put the program in some sort of detail mode. The user should also be
able to change the aspect ratio of longitude/latitude to suit their
preference/terminal etc.

	Other Thoughts

	The idea of a torus-like shape is the one that first occurred to me,
but I also see the sense of using a sphere - moving away from the center
to reach areas with less traffic.

	Whatever the shape, any point more than 90 degrees away
longitudinally from the center of the screen needs to be hidden (most
of the time), or rendered in a different color from points "closest"
to the user - seeing some site in India close to Chicago (I don't have
a globe handy, please don't get picky :-) could get confusing.

	Another possible means of control may be accomplished by having 
icons of north/south/east/west on the edges of the display; the user
could click on these to rotate the display.

	Once a site is selected, there is the possibility for any number
of actions to take place. A uucp or ftp connection could be established,
the user may just want information, an electronic version of that sites'
annual report may be available...it's limited only by the imagination.

	Geography isn't everything, when different baud rates and
telephone rates come into play, the most direct route can mean
"least number of hops", or "fastest tranfer rate, but more hops",
or "frequent polling time", or a combination of all of these and more.
The program would be that much better if it took these things into
account. (based on feedback from Dan Heller)

	Color displays can represent city, county, area code, state, and
country borders, without obscuring the information relating to sites. The
model could be a front end to a hypertext system.

	Summary

	As powerful graphical displays become more commonplace, and UUCP
Mapping Project data becomes more widely distributed, there is a need
to show this data in a form that is intuitive. I feel that everyone is
familiar with maps and globes, and that people would feel comfortable
with manipulating a 3d display showing points that represented sites.

	Disclaimer

	I came up with this idea entirely on my own, meaning, I have not
read anything that describes such an approach for showing UUCP map data.
This article is my own effort, and does not purport to represent my employer,
Island Graphics, in any way. I would like to see such an application on
Suns, PC's, Macs, and so on. I'd like to contribute to any serious effort
to develop this. Thanks in advance for any thoughts/suggestions.


dan smith, island graphics, marin co, ca, good natured infonaut, hoopy frood
4000 civic center dr., san rafael 94903 | dis: they're solely my opinions...
uucp: {ucbvax!ucbcad,sun}!island!daniel | ph: +1 (415) 491 1000 (W), 332 FAST, 
uucp: {pacbell,pixar}!unicom!daniel     | 332 EASY (H)| unix/films/rock/feasts