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.
Here is some content in this frame.
Look at me fill it up.
Here is some more content
my favorite links:
The Onion
WWW Grudge Match
IBM Patent Server
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.
fill it up. my favorite links:
The Onion
WWW Grudge Match
IBM Patent Server
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.