Times Reader makes reading on the web enjoyable again
I was lucky enough to stroll over to alarmingdevelopment.org today and catch a link over to the Times Reader. The Times Reader is a small client application (with a big footprint ) for (guess what) reading New York Times articles. Over the web.
That seems pretty lame doesn't it? I mean, isn't that what a browser is for? While HTML may stink to the high heavens for writing applications, isn't it pretty decent for documents? Now that I've seen the Times Reader, I see that while the browser (and I guess HTML 4.0) is good enough, the Times Readers is better.
Now there's controversy. So I'm going to write on two topics here. First, why I think it's better, and second on what this means for our little World Wide Web.
So how is it better? Columns - one of those features that you didn't know you needed until you saw it. Go try it out before I continue. Yes it's an install. Yes it requires .NET 3.0. Yes I know that's a pain in the ass. Just go do it please.
I'm waiting. Seriously, go try it.
Since this whole writing thing is a one-way medium (I have no readers to add comments!) I'll have to assume you went off and tried it.
You have just now whitnessed nicely formatted columns mixed with some very nice typography, all of which can be scaled to meet your current and ever changing preferences (sometimes I scale text to be HUGE). Did you try printing? Weren't the results, well, fantastic?
When I first started learning about typography (big Knuth TeX fan here) I learned the benefit of well chosen fonts in nice consistent layout (please, please, don't comment on this ugly standard Blogger skin). I learned the rule of controlling line lengths to make text easier to read, about rules of hyphenation, about picture placement. Others have learned these rules also. Paul Graham takes it to an extreme with his essays (cf. An Alternate Theory of Unions) but also publishes some very nice looking books. Problem is, HTML doesn't do columns. CSS (as supported by IE) doesn't either. And honestly, it doesn't do that great a job at typography either.
Times Reader, built upon WPF (yes the one I made fun of not too long ago), is able to take advantage of a smart document presenter. This little control solves the same problem that the early we browsers solved: displaying mostly text information to the user. But it does it better: it adapts the layout to your window size, it repaginates and recolumnates (ha!). That beautiful printout from before? That's the control simply adjusting itself to a new "window" size (one that just happens to fit nicely on a sheet of paper). It supports changing text size - not in that pathetic and ridiculous way that IE7 does it - nor in that pretty satisfactory way that Firefox does it - but in its own unique way where it can play with the number of columns, the column sizes, picture placement, and the number of pages.
I was first introduced to the idea of this type of dynamic layout with the paper Adaptive Grid-Based Document Layout. I have no idea what algorithm the WPF control uses, but it's pretty darned nice and achieves a lot of what that paper was proposing.
So why am I such a big fan of these columns? Because I like to read online, but hate reading online. If I'm online, then I am getting the latest info and I can perform research while reading. But the experience of reading online borders on painful for me. I have learned to hate scrolling. While reading, I have to sit poised with my hand over the mouse ready to tell the browser that I have digested everything. I can't just sit back with a beer and read Chris's latest craziness. This hate of scrolling has even lead me to consider retinal tracking to force the computer to respond to me (instead of the other way around). And then there is the whole loss of context when I do scroll. More columns = better context = less scrolling. If you disagree with me, fine. These are personal preferences, but I would ask you to go look at that Paul Graham article. Tell me it wouldn't be more enjoyable to read in a larger font with some columns. Be honest.
What does this mean for our WWW? It means that WPF just showed how basic our browsers actually are. While we bicker about conformance to arbitrary standards and wish for days when even the simplest CSS could handle proper column web pages on all browsers or (OMG) could adapt the page automatically to different viewing environments (1600x1200 windows over 20" vs. 640x480 displays at 2"), Microsoft just went out and wrote a control that did it. Score one for proprietary solutions.
But we can't all go out and write our own "Readers". Who would search them? I have no idea what Google's support for XAML documents is, but I can guess right now that it's not as good as its HTML support. So we're a bit stuck. There is a superior reading experience in a little proprietary app that uses a proprietary technology that runs on a proprietary OS.
Huh. What's more important to me? An enjoyable reading experience or my piece of mind knowing that I am using open standards. Hmm. I'm going to have to go with my reading experience on this one.
What's my conclusion? Browsers suck for reading. WPF makes reading more enjoyable.
Plan of action: I'm going to write an RSS reader using WPF, and it's going to be beautiful.
That seems pretty lame doesn't it? I mean, isn't that what a browser is for? While HTML may stink to the high heavens for writing applications, isn't it pretty decent for documents? Now that I've seen the Times Reader, I see that while the browser (and I guess HTML 4.0) is good enough, the Times Readers is better.
Now there's controversy. So I'm going to write on two topics here. First, why I think it's better, and second on what this means for our little World Wide Web.
So how is it better? Columns - one of those features that you didn't know you needed until you saw it. Go try it out before I continue. Yes it's an install. Yes it requires .NET 3.0. Yes I know that's a pain in the ass. Just go do it please.
I'm waiting. Seriously, go try it.
Since this whole writing thing is a one-way medium (I have no readers to add comments!) I'll have to assume you went off and tried it.
You have just now whitnessed nicely formatted columns mixed with some very nice typography, all of which can be scaled to meet your current and ever changing preferences (sometimes I scale text to be HUGE). Did you try printing? Weren't the results, well, fantastic?
When I first started learning about typography (big Knuth TeX fan here) I learned the benefit of well chosen fonts in nice consistent layout (please, please, don't comment on this ugly standard Blogger skin). I learned the rule of controlling line lengths to make text easier to read, about rules of hyphenation, about picture placement. Others have learned these rules also. Paul Graham takes it to an extreme with his essays (cf. An Alternate Theory of Unions) but also publishes some very nice looking books. Problem is, HTML doesn't do columns. CSS (as supported by IE) doesn't either. And honestly, it doesn't do that great a job at typography either.
Times Reader, built upon WPF (yes the one I made fun of not too long ago), is able to take advantage of a smart document presenter. This little control solves the same problem that the early we browsers solved: displaying mostly text information to the user. But it does it better: it adapts the layout to your window size, it repaginates and recolumnates (ha!). That beautiful printout from before? That's the control simply adjusting itself to a new "window" size (one that just happens to fit nicely on a sheet of paper). It supports changing text size - not in that pathetic and ridiculous way that IE7 does it - nor in that pretty satisfactory way that Firefox does it - but in its own unique way where it can play with the number of columns, the column sizes, picture placement, and the number of pages.
I was first introduced to the idea of this type of dynamic layout with the paper Adaptive Grid-Based Document Layout. I have no idea what algorithm the WPF control uses, but it's pretty darned nice and achieves a lot of what that paper was proposing.
So why am I such a big fan of these columns? Because I like to read online, but hate reading online. If I'm online, then I am getting the latest info and I can perform research while reading. But the experience of reading online borders on painful for me. I have learned to hate scrolling. While reading, I have to sit poised with my hand over the mouse ready to tell the browser that I have digested everything. I can't just sit back with a beer and read Chris's latest craziness. This hate of scrolling has even lead me to consider retinal tracking to force the computer to respond to me (instead of the other way around). And then there is the whole loss of context when I do scroll. More columns = better context = less scrolling. If you disagree with me, fine. These are personal preferences, but I would ask you to go look at that Paul Graham article. Tell me it wouldn't be more enjoyable to read in a larger font with some columns. Be honest.
What does this mean for our WWW? It means that WPF just showed how basic our browsers actually are. While we bicker about conformance to arbitrary standards and wish for days when even the simplest CSS could handle proper column web pages on all browsers or (OMG) could adapt the page automatically to different viewing environments (1600x1200 windows over 20" vs. 640x480 displays at 2"), Microsoft just went out and wrote a control that did it. Score one for proprietary solutions.
But we can't all go out and write our own "Readers". Who would search them? I have no idea what Google's support for XAML documents is, but I can guess right now that it's not as good as its HTML support. So we're a bit stuck. There is a superior reading experience in a little proprietary app that uses a proprietary technology that runs on a proprietary OS.
Huh. What's more important to me? An enjoyable reading experience or my piece of mind knowing that I am using open standards. Hmm. I'm going to have to go with my reading experience on this one.
What's my conclusion? Browsers suck for reading. WPF makes reading more enjoyable.
Plan of action: I'm going to write an RSS reader using WPF, and it's going to be beautiful.

Reader Comments
Posted at 9:07 PM by Anonymous
You really can't beat columns for displaying a lot of _readable_ text in a large rectangle...
Posted at 11:36 PM by Frank Krueger