WebTV Frames Things a Different Way September 30,1998
Frames-based pages can work great for WebTV users, but a few
eccentricities can sneak up on an unwary developer, rendering some pages dramatically
different than what the author intended. This article will attempt to explain both the
reasoning behind the WebTV browser's interpretation of frames as well as the specific
issues that this implementation evokes.
Optimizing web pages for a television screen makes it very
difficult for WebTV to support frames in the same way that a computer browser does. Due to
navigation and television resolution issues1, it became clear that the WebTV browser would need to
modify frames for the sake of a pleasant user experience.
WebTV supports frames by "breaking them out" into a
table. This means that all of the content within the frames will be displayed, but no
individual frame will remain static. Here is an illustration of what a user might see on a
frames-based page that she visits.
1. Frames are turned into a table.
Here is
some content in this frame.
Look at me fill it up. |
Here is some more content.
|
And this is the last little bit on content. Here are my
favorite links: |
|
1. When they first visit a page, WebTV users
and computer users will see the same thing. |
|
2. When the computer user scrolls down, this is
what he will see. Note that the content of the main (uncolored) frame has changed while
the other two frames have remained static. |
|
3. After scrolling down, the WebTV user will
see the top (green) frame disappear, as well as much of the content of the left (blue)
frame. |
Since the frames were essentially turned into table cells, the
top frame scrolls off the top when the user pages down. The content of the left-hand frame
has gone off the top as well.
2. Frame sizes are determined by content.
The WebTV browser allocates frame size according to a given
frame's content. To see an example of this, let's look at an example where the green and
blue frames are "content-heavy":
Here is
some content in this frame. |
This is a lot of content that I
am writing ... |
And this is the last little bit on content. Here are my
favorite links: |
|
1. Computer users will see the frames laid out
according to the dimensions given by the author within the "frameset" tags.
Scroll bars allow them to scroll through content-laden frames. |
Here is
some content in this frame.
Look at me fill it up. |
This is a lot of content that I am writing to
fill up this frame. WebTV will expand the frame so all the content is displayed. |
And this is the last little bit ... |
|
2. The WebTV browser will attempt to respect
"frameset" dimension, but will expand the green frame until all of its content
is displayed, regardless of what is specified in the "frameset" tags. |
...fill it up. I will
keep on putting content in this frame because I have so much to say. |
... Thanks for visiting! |
|
3. The user has now scrolled to the bottom of
the page. Note that the page will now be as long as the content in the left (blue) frame.
This means that, with a "content-heavy" sidebar, much of the main (uncolored)
frame display on WebTV will be blank. |
WebTV Classic boxes have some eccentricities.
There are several different versions of the WebTV box, the WebTV Classic
and the WebTV Plus. While the browsers that the two boxes use are very similar,
there are occasionally discrepancies in how they perform. The "Classic" box is
much more sensitive to "content-light" frames, and will truncate frames
accordingly. Example:
Almost
nothing here. |
Not much here either. |
I have nothing to say. |
|
1. The frameset above contains very little
content in each individual frame. This graphic is exactly how WebTV Plus and PC users will
see the frameset. |
Almost
nothing here. |
Not much here either. |
I have nothing to say. |
Here is
nothing look at nothing feed on nothing |
|
2. The WebTV Classic browser has truncated this
frameset once it ran out of content, regardless of what was specified in the <
frameset> code. |
Some Guidelines for WebTV and Frames
In the vast majority of cases, the WebTV browser handles frames
admirably, with a minimum of mangling. There are, however, a few guidelines that you may
want to consider as you design your frames-based site:
- As shown in example 2, avoid putting a lot of content in a horizontal frame you intend
to keep small. I made this exact mistake on my first site, and was shocked when I saw it
on a WebTV. On a computer, the frame took up only two inches of screen real estate. On a
WebTV, it scrolled down for pages.
- Beware nested framesets. Without getting into it too much, nested frames can display
strangely on the WebTV browser. Nested framesets without "enough" content can
end up being "truncated" as we saw in example 3, even if the user is on a Plus
box.
- If you are a WebTV user, you might have noticed that some pages in the WebTV Network,
such as your mail page or the WebTV newsletter, do indeed use scrolling frames. This is
accomplished by a proprietary WebTV tag that is only used on internal pages. Because of
the specific nature and limitations of this tag, however, we don't recommend its use by
external developers2.
1
There are two main reasons why the WebTV browser does not implement "scrolling"
frames. First, the poor resolution of a television does not happily lend itself to having
its real-estate divided up into even smaller frames. Second, The WebTV interface does not
use a cursor. Thus, there is no convenient way to scroll through or resize individual
frames. WebTV users navigate the Web with a selection box that highlights the links on a
page, or with scroll buttons that can page through content. Only on imagemaps, where a
cursor is absolutely necessary, will WebTV users see a "traditional" pointer. It
is then controlled with the arrow keys. Moving out of the image map will cause this
pointer to disappear. Back to where you
were.
2 The astute reader will note that I did not tell you
the name of this WebTV proprietary tag. The main reason for this is that once you
start publicizing these things, you've got to answer all the questions about them. For
this reason, it remains undocumented. That being said, its use has leaked out over time,
and the adventurous reader may be able to hunt down this tag (among many others) for late
night HTML experimentation. Just don't say I didn't warn you.
|