Readability
lab.arc90.com
lab.arc90.com
It's worth pointing out that, like it or not, we're not really entitled to escape banner advertising.
"Oh, really?" I type into my heavily modded Firefox browser because some computer graphics give me brain seizures. (Too bad I cannot log into HN from my Lynx browser.)
Last time I checked, the industry term for a browser is "user agent," and page rendering is under the control of the user agent. I can use whatever user agent I want, and so can you. I can fiddle with my user agent as I see fit, and so can you. That's what your browser's Options dialog is for.
Sorry I'm getting really testy here, but I get tired of pointing out to the world that it's the user who is in control, not marketers, not page designers, not Yahoo! CSS Reset...
But that's not what tptacek is referring to. He's referring to the "I want something for nothing" sense of entitlement. You have no moral right (entitlement) to read their content without viewing the ads the put up. That's why ad-blocking has never sat right with me: it's implicitly accepting that the model of ad supported, free content can not work on the internet.
Sites like Wikepedia are donation based, and run as non-profits.
(For the record, I actually worry if my coffee purchase really does offset my resource usage when I stay for 3-4 hours in my local coffee shop on weekends.)
Theoretically speaking. See:
http://www.slate.com/id/2132576/?dupe=with_honor +
"I opened a charming neighborhood coffee shop. Then it destroyed my life."
+ No clue what that query parameter is doing there, but I got to it with Google.
You have the right to browse the internet in any manner that you see fit. But you are in no way morally entitled to any particular content just because it exists. I see ad-supported sites as gentlemen's agreements: we give you content if you view our ads.
Secretary: right away. [takes out scissors and cuts out only the relevant parts]
Boss: great!
s/Boss/user/, s/Secretary/Software/
Once a byte stream of information comes under the control of another user, what they do in their own time and privacy is entirely up to them. It may even be illegal, but it is outside of your control.
We can do this whole "immoral vs moral" and "gentleman's agreement thing." But depending on how gentlemanly you want to be, you can make the tacit agreements infinitely complicated, inefficient, and uneconomical. Example: reading on a small-screen device. Another example: ads on train.
If I watch a TV show with commercials, do I have a moral right to go to the bathroom during the commercial breaks, even if I won't be able to hear the commercials from inside the bathroom?
My personal stance, evolved over the years, basically allows me to do anything short of blocking ads. The cost, I have decided, for accessing ad-supported content is the open-mindedness that while I will subconsciously ignore almost every ad on the web, that I am mentally open to the possibility of being intrigued by an ad enough to click on it.
It seldom happens, but not having blocked the ads, the fact that it happens ever gives me a clean conscience.
If you make the content of your site freely available with the knowledge that users can access your site in a way that circumvents your business model you've signed up for a business model that isn't dependable.
This is no different than a street musician wanting money from people that stop to listen to the music they play. Maybe the listener, having heard the music, determines it's not of any monetary value. Are they obligated to pay anyway? No, and the street musician knows this. They understand that only a certain percentage of people that stop to listen will actually pay anything. It's true, too, that maybe someone will listen to the music and be unable to pay. Should they block their ears as they walk past because they cannot give what the musician would like to receive for his service? In the case of a screen reader, maybe the user doesn't even know the ads exist.
If the street musician decides his business model isn't supporting him as much as he'd like, maybe he'll stop playing music. And will the public that decided to not pay him anything really care that he doesn't play it anymore? No. They decided it wasn't valuable enough to pay for.
If you feel your content is worth something or you need money to continue providing it, you should charge people for it outright, or make an explicit request for donations. If people find value in your content and are able to, they will pay for it.
It should not be expected that when you put content freely available somewhere, whether it be publishing a blog or playing music in the street that everyone who reads or hears it finds it of equal value or is willing and able to pay for it. You, as that site owner or musician do yourself a disservice if you expect otherwise.
I'm sure back in the Dark Ages, DARPA and the universities did not invent the interwebs with advertising and in mind. Trying to come up with a "business model" for "generating revenue" while "delivering content" has been bolted on to a system this wasn't designed for. (Aside: and the internet wasn't invented with security in mind, which is why we perpetually bolt together solutions to thwart spammers and botnets.)
How about when I walk away from my TV when commercials come on? That's what I usually do, when I'm actually watching TV, which is relatively rare.
I also never bother reading ads in the newspaper. Sometimes, I fold the newspaper such that I don't have to look at the ad, and can focus on the content.
Are you seriously arguing that just because a service chooses to show ads, I'm not entitled to actively ignore those ads?
There is a business model that would afford the sites that are valuable to users to continue being operational: charging people. If ads can be circumvented, as we know they can, and your site relies on ads, maybe you should charge people outright for your content. If you can't make money by charging people, who cares if your site goes down but you?
The value of a site cannot be determined by the operator of it. Only the users determine the value.
So it's an arms race! If I take self-defense classes and install security systems, I invite muggers and robbers to develop more clever ways to monetize me! Yes, I'm speaking hyperbole here. But not really. I do find myself using the word "assault" in my mind when seizure-inducing computer graphics come at me.
Likewise, by turning our heads away from our TVs during the ads, we "invite" the advertisers and stations to develop more intrusive ways of grabbing our attention. I think it was the early '90s when I started noticing ads being played at a louder volume. And in the past couple years, one of the stations here in NYC has taken to showing a bright flash between each ad, between each news preview. For the first couple minutes I happened to be facing away from the flashes, I seriously wondered whether a thunder storm was brewing. But no, it was my TV yelling, "Look at me! Look at me! Eyeballs! Eyeballs!"
I don't think "arms race" is a fallacy. Instead of advertising, think security for a moment. We all know browser venders are in a perpetual race against phishers and botnets and so on. So when Firefox came along, it billed itself as being "safer" than MSIE. Now think of pop-up ads. The browser vendors do indulge us in an anti-intrusive advertising race when the browsers block pop-up windows by default. My personal techniques against intrusion just happen to be a few steps ahead of Aunt Sally Sue's.
It's pretty neat to go on a big thread and hit the bookmarklet. e.g. http://news.ycombinator.com/item?id=501696
When you have a service that guesses what the input is supposed to be, there should be a way to gracefully fail and allow the user to manually specify it, and if that doesn't work it should be easy to disable the service.
There are a few styles for Hacker News as well: http://userstyles.org/styles/search/hacker%20news
Come from HN => must be a PG fan => Just display "PAUL GRAHAM" => Go back to HN and vote
Reloading the page 'disable' the service, even if it is far from ideal.
I really like it though. I was looking for something similar for years.
What I would really enjoy is:
1. Select the text on the page
2. Click on the bookmarklet link
3. Start to read
I wasn't able to do this quickly with PrintWhatYouLike. But maybe I am missing something.
If all you want is to select text, and then remove everything else, check out Nuke Anything Enhanced: https://addons.mozilla.org/en-US/firefox/addon/951
https://addons.mozilla.org/en-US/firefox/addon/700
It will search a page for a "Printer-Friendly" link and display a glowing green printer icon in the bottom of your Firefox if it finds one. I find that on some pages, this can be a way to quickly navigate to a "Reader-Friendly" page that does support pagination. Of course, sometimes Print Hint doesn't detect a printer link, though I've never had a false positive.
javascript:(function(){
readStyle='style-newspaper';
readSize='size-medium';
readMargin='margin-medium';
_readability_script=document.createElement('SCRIPT');
_readability_script.type='text/javascript';
_readability_script.src='http://lab.arc90.com/experiments/readability/js/readability-0.1.js?x='+(Math.random());
document.getElementsByTagName('head')[0].appendChild(_readability_script);
_readability_css=document.createElement('LINK');
_readability_css.rel='stylesheet';
_readability_css.href='http://lab.arc90.com/experiments/readability/css/readability.css';
_readability_css.type='text/css';
document.getElementsByTagName('head')[0].appendChild(_readability_css);
_readability_print_css=document.createElement('LINK');
_readability_print_css.rel='stylesheet';
_readability_print_css.href='http://lab.arc90.com/experiments/readability/css/readability-print.css';
_readability_print_css.media='print';
_readability_print_css.type='text/css';
document.getElementsByTagName('head')[0].appendChild(_readability_print_css);
})();Edit: doh, source here: http://lab.arc90.com/experiments/readability/js/readability-...
1) It pulls out content in <p> tags (presumably those are the ones with data you want).
2) It rewrites double line breaks as paragraph breaks (in case the site isn't as semantic as it should be).
3) In order to pick the "main content" container, it looks for the container elm with the most <p>s inside.
4) It filters the "main content" to remove stuff that looks like trash. Filters include having too much non-<p> content, having too few commas, and too few words.
5) It rips out all of the HTML on the page and puts its own in, which also pulls together the user's selected style info. This is the sketchy step. I think an overlay might've been more appropriate here, but the comments imply the author had some difficulty there.