Imagine no grids...
So, you open the new Program Guide in Theater View, and you get these choices. What kind of airings do you want to look for?
Airing Now: Well, if you want something that just happens to be airing right now? You pick Airing Now. Then, it presents a fairly straightforward Theater View list of all of the currently airing shows on all of the channels that MC can "see", and maybe those that'll start airing within the next hour and a half or so (you want to turn on the right channel on for the upcoming "big game", and you'll watch the pre-game stuff or the end of the preceding game while you wait). It doesn't list shows twice, even if they are on multiple channels. Just the shows, in some kind of rational sorting scheme (hopefully user-sortable using the rollers inside the next view down).
This view is limited to what is on now, or just coming up. That keeps the list smaller and more manageable, and it is perfectly suited for task #3 listed above. That task is less important for the PVR user, but you still need to be able to do it. It is what a TV-user expects. If something is far enough away that you'd have to scroll to the right to see it in a classic grid-style view, it isn't in the list. You don't need the grid, because it is filtered! For stuff that doesn't "make the list" because it is not "on now"? That's what the rest of the Program Guide is for...
Movies: This one is easy, so I'll get it out of the way. It lists any movies MC can "see" in the current or future program guide data, as far out as it can see. You can browse just a big list of all of the upcoming movies. When you "open up" a particular movie, you can see details from the guide (descriptions, channel, when it is airing including multiple future airings on multiple channels, and other metadata), and use the rollers to record it, or delete the recording schedule or whatever. You can even have a range of different types of Movie views, using the view roller inside once you open up the main Movies view. You can browse the movies collected by Genre, or Actors, or Director, or Channel with these different sub views.
TV Series, Sports, News, and Other: I imagine now you get the idea, but TV Series are organized by the Series. You can drill down into the Series and see the individual episodes that are upcoming. Pick some or all of them to record, or schedule the show as a favorite. For sports, you can pick from a list (that changes on the fly depending on what types of future airings are "available") listing Baseball, Basketball, Football (both US-style and Soccer, you fight that localization out, I prefer soccer), Hockey, and maybe even Curling if you live somewhere weird like me. Open that tier up, and it shows you the games, which are handled just like TV Show episodes. Maybe instead you browse by team, or region. I don't know what metadata you can pull out of the listings, but I know that you can get something like this. Same goes with News programs: let you browse to find that episode of Nightline or even Good Morning America that you want to record next week because it has a cool topic by show or category (maybe, if you can do it cleanly, you have a special sub-view under News highlighting just the handful of "on-now" news programs, because often when you want news, you want what is on right now). Other would be a browsable list of everything that doesn't fit nicely into these categories, perhaps with drill-down categories of its own (Religious, Shopping, Cartoons/Kids, etc). If the user can make actually make their own "views" using this system, you on the first roller you could please everyone. Maybe I don't care about Sports very often, but really care about Kids programming, so I'd rather make Kids a higher level view and demote Sports to Other. The existing Theater View configuration system could handle this, just like it does for other views. You'd only need a handful of "special views" (like Airing Now, Search, and maybe that special news view I mentioned).
By Channel: I still think browsing by channel has a place. As I said, I like a lot of HBO original programming. If I want to browse in and see what HBO has coming up, then this would be the way. I open up By Channel and I get a list of all my channels (Thumbnail view style could be nice here, with good channel logos, but I'd still probably use Lineup view). I find CBS or HBO or AMC or whatever, open it, and I have a chronological list of all the stuff they're airing. Current airing show on top, but a simple scroll-down list of what is upcoming out as far as it can see.
Even better? For finding those channels... You could actually group (or let the user group) the channels rationally, instead of by whatever stupid system the networks buy and pay for. I can put all of the ESPN, NESN, Fox Sports Network, etc channels into a "Sports" folder. Arts and Science would hold Discovery, Bravo, National Geograpic, and Lifetime. News would hold CNN, MSNBC, BBC, and Al Jazeera. So on and so forth. You'd actually be able to find those channels and look at what they have.
Search Airings: And, of course, search. Theater View already has a search UI. Use it for the guide data here.
All of this could be built using the existing Theater View UI widgetry. You wouldn't need any fancy new Grid-View UI system. It might even be better without one. You'd be handling Future Airings using the power that already exists within MC's database driven Metadata browser. I think it would beat the socks off of a Grid-View + Search system any day.
Basically, you'd have to parse the program data and convert the "airings" into database "objects" and treat them like files, and then build the metadata about these objects using whatever information about them is available in the guide data. I know Sage can browse and highlight shows using all sorts of metadata "tags" that must exist in the Zap2It guide data, but the UI is clumsy and mostly search driven (the color coding in the grid is cool though).
I really think this could be the answer. I mean, if you can do a grid too (and if so, put it under Airing Now), great. But I think most people wouldn't need it with something like this.
Well, you inspired me
Have created a view scheme very similar to what you are suggesting by manually editing the fields in a Smartlist using ~d=g first, then creating the view scheme.
I've put pics at
http://www.pix01.com/gallery/DAB6CF89-B09D-46B1-8090-103B3C601DE7/TV_as_per_Glynor/Image 3 (6:30 with George Negus) shows the danger in parsing <Title> tag from xml to both [Series] and [Name] (where you end up with [Series]:[Name] data displayed and it's the same) but all in all it looks great according to your suggestions and shows it can be done if the correct data is in the right places.
Have picked up some bugs in Theater View (see thread at
http://yabb.jriver.com/interact/index.php?topic=65050.0 but the discussion you've opened up has led me to discovering the TV functionality WAS always there, I just had to get creative :-)
It did involve a fair bit of manual editing (though I don't know if there was an easier way) -
* Populating the [Date] field by extrapolating it from the Filename and creating a [Start Time] field and extrapolating that so I can sort by them in the TV Movies view
* Copying the [Name] field data to the [Series] field where it wasn't present (and I think this get's overwritten when the XMLTV scraper runs every night depending on how it's setup. Mine is to scan for the next 7 days worth, meaning it downloads and overwrites each day's data 6 times - goodbye to all that work). As mentioned this also illustrated the danger in simply populating both the [Name] and [Series] fields with <Title> tag.
* Creating the Theater View scheme itself, which as I say has bugs.
I'm certainly not going to go through it every night in order to keep the correct data in the correct fields so my scheme can work, however, so Yaobing, Matt, Jim, I suppose it's over to you :-)