Text-only NPR
thin.npr.org
thin.npr.org
Text-only doesn’t have to be _ugly_ though. Once you embrace minimalism, you realize that aesthetics are primarily a concept of white space and typography. And neither one of those interferes with text only, thank god.
While modern CSS has been inching towards becoming Turing complete (is it already now? I think so long as adding html elements via :before/:after remains disallowed we aren’t there yet?), CSS’ biggest saving grace is that it was a declarative and Turing incomplete.
Of course when the web first started, the idea was that it would serve stylable but-unstyled-by-default content _and then the user would style it as they liked_ so they could enjoy a consistent and customized experience no matter what they were browsing. I don’t know many people that still customize their Browser default style sheets (can you even do that in Edge, I wonder?).
I personally don’t because I appreciate the value in judging people (and the content they produce) by how they’ve styled it (or haven’t, which can oftentimes be preferable).
EDIT
OK, with the caveat that I'm not a designer and have been told I haven't an artistic bone in my body, here's what NPR looks like with only some extremely basic CSS applied to html, body, and a elements and no changes to the actual HTML:† https://dev.neosmart.net/npr/1.html
And here's what it looks like with no changes to the HTML but with some additional CSS styling applied to the various sections of the document: https://dev.neosmart.net/npr/2.html
The focus isn't "design" per se, but merely readability. Less harsh contrast, fonts with better hinting, limiting horizontal eye travel, keeping content from reaching the very edges of the screen on mobile, and making the size of elements (and how much DOM real estate space they take up) match their relative importance.
† A charset=utf-8 meta tag was added to the HTML since the NPR document was served without a charset but contained UTF-8 encoded elements (instead of their HTML-encoded counterparts)
Of course, depending on the reasons behind the existence of thin.npr.org in the first place, NPR could add something really simple that doesn't add more than a few bytes and make it look several orders of magnitude more palatable.
Screw the CSS, let the thin page stand as a thin page.
Because browsers that did that would be both breaking spec compliance and introducing vendor-specific rendering, two things that IE proved were very very bad.
It's just that a) they're really ugly, and b) the mobile ones are ironically not mobile optimized.
html {
font-size: 2em;
}
Then your site’s 28px default font size that worked just fine on every browser now becomes 48px on mobile and breaks everything.And all-inclusive build of CSS-only bootstrap (arguably the most fully featured CSS library there is) is <20kb compressed. That's the size of a several second animated GIF.
Firefox (perhaps under its previous name, I can't remember) initially provided a statusbar-based UI to quickly switch styles, but it was removed [3] sometime in 2004. After that, browsers, if at all, only provided a bare minimum UI to switch stylesheets, usually though the application menu. Outside of hobbyist circles, page authors stopped providing alternate stylesheets. User-applied styles lived on in various ways: through addons, through alternate user-agents, but tends to be relegated to specific audiences or passionate fans of the capability; not a mainstream phenomenon.
EDIT: To experience this blast from the past, Mozilla has a sample page [4]. If the directions seem nonsensical, it's because the default browser UI now hides the menu bar [5], demonstrating just how obscure this option has become.
[1] https://www.w3.org/TR/CSS1/#the-cascade [2] https://www.w3.org/TR/CSS2/cascade.html#cascade [3] http://forums.mozillazine.org/viewtopic.php?f=8&t=118119 [4] https://developer.mozilla.org/samples/cssref/altstyles/index... [5] https://support.mozilla.org/en-US/kb/what-happened-to-the-fi...
Of course there’s all the edge cases with image based text which does pose a problem.. but I do wish designers would prioritize themes a lot more.
Netscape Navigator? Phoenix?
html{font-family:'SFUIText-Regular',sans-serif;-webkit-text-size-adjust:100%}
I'm not knocking you, as 3.7 kB is still incredibly light, and I think the point you were going for to begin with was to change the browser default stylesheet. Just wanted to post some stats.
(Now if you want to nitpick... I imagine the css has a better gzip/brotli compression ratio than the html by nature of its repetitive keywords.)
You’re right. We’ve become - by and large - engrained to associate links with underlines, but in this context it’s not necessarily necessary (though probably a welcome hint for many).
About a year ago I got tired of news websites pumping meaningless images and garbage to my browser so I put together https://legiblenews.com/ and focused mostly on typography with a system serif font (if you look at your request console you’ll notice I make one and only one request to load the page).
Kudos to NPR for doing this. I hope more news sites follow suite. I also wouldn’t mind server-side rendered text ads, if that ever happens.
No bullet points, because they have no purpose here.
Some color to be closer to full version and uses the fonts from full site.
"Just drop in sakura.css to any webpage and go from ugly looking 1900's website to a pretty modern website in literally 0 seconds."
Bookmarklet instructions here: https://oxal.org/projects/sakura/bookmark
Personally I've copied it to my own site and set up a bookmarklet so that I'm not introducing any resources I don't control when loading it.
It's a dark version. Feel free to copy/change it.
But unfortunately, like almost all media outlets, finding an actual link that points to an actual mp3 file is very time consuming and difficult.
Here's an example ...
Let's say you want to download an episode of 1-A to listen to on an airplane. The front page of the website[1] has "listen" links and also a "subscribe to the "podcast"" link. But I don't want to "listen" and I don't want to subscribe to anything and I don't use itunes (or anything like itunes).
So you click the link to the actual episode of the show[2] but once again ... cute little "listen" link ... cute little "discuss" link ... but no way to download a file.
So now it's getting frustrating ... but as a last ditch effort, you turn off your brain and just type in "download 1-a episode" into google and come up with this link[3] which takes you to a different website (npr.org) which has a list of 1-a episodes (and our friend the "listen" button) but also has a cute little "..." button that expands into choices, one of which is "download".
In the developer tools inspector, select the audio player and search for `div#external_player`, right click > "expand all", and there should be an "<audio>" tag. The `src` attribute of that contains the mp3 that you want.
[0] https://addons.mozilla.org/en-US/firefox/addon/audio-downloa...
I think demanding the ‘raw mp3’ is a bit of a corner case here.
Here's the page for 1-A for example: https://www.stitcher.com/podcast/national-public-radio/1a-2
disclaimer: former employee
Step 2: receive complaints.
Unfortunately, I also play podcasts from my phone to my Sonos. It's bad enough that my bookmarks (last listened to location) aren't available when moving between the Podcasts app and the Sonos app, so the last thing I'm going to do is get a 3rd app into the mix where I have to manage subscriptions on 2 and listen on a 3rd.
Here is their web player - https://play.pocketcasts.com/
They have download option on all the feeds.
https://help.npr.org/customer/portal/articles/2094175-where-...
Each podcast has a '...' which has a direct download link.
Or, you can view the RSS source, find the podcast you want then chuck the URL in your browser and download it that way.
eg.
https://play.podtrac.com/npr-510317/npr.mc.tritondigital.com...
In my browser gives me a player with a download link in it.
If you follow the subscribe link and click RSS feed, you get a list of the mp3 file locations.
Compared with This American Life: 'wget http://audio.thisamericanlife.org/jomamashouse/ismymamashous...
Every section of npr.org offers an RSS feed of its stories. To subscribe to a topic or show, paste the URL of a topic page, a program home page, or a story page into your RSS reader of choice. The reader should recognize the RSS feed within the page and allow you to subscribe.
Also, all podcasts from NPR and its member stations are available for RSS subscription. First, visit the NPR Podcast Directory and select a podcast. Then click the large blue “Subscribe” button and choose “Copy RSS Link” from the dropdown. Paste that link into the podcast application or RSS reader of your choice.
The NPR Podcast Directory[2] linked there seems like it may work for what you want. It shows all podcasts, and in each one the individual episodes all have that ... link you referred to. That looks to be the base site that you are finding through google, and it apparently has every podcast, so they have taken steps to make it easy to get them, there just seems to be poor discoverability for that project.
1: https://help.npr.org/customer/en/portal/articles/2094175-whe...
... which I have bookmarked and which largely solves my usability problem with npr(.org).
However, the general problem - which is that it's always a pain to find a static link to a regular file - persists. Not every publisher has a nice page like this. In fact, some of them have no way to get an actual file without subscribing or rss-reading or "listen now"-ing.
The simple test is this: is there a link that I can right-click, and copy, and feed to curl without any doctoring or scripting ?
Most publishers fail this test.
https://play.podtrac.com/npr-510316/npr.mc.tritondigital.com...
I think you're overcomplicating things, podcasts are pretty much RSS feeds of mp3 files, nothing to do iTunes.
So not entirely obvious, but kind of a straight line.
All info, titles, summaries, urls, etc. is in 1.1M of html at http://wamu.org/shows/
Below extracts only title, audio ID, audio url, and audio length.
curl -4o npr.htm http://wamu.org/shows/
ls -lh npr.htm
1.1M
exec awk '{gsub(/\",\"/,"\n");print}' \
|exec sed '
N;s/\\//g;N;/mp3/!d;/\\/d;
/audioOffset/d;
s/.*audioTitle\":\"//;
s/audioLength\":\"//;
s/audioFileID\"://;
s/\"audioFile\":\"//;
' npr.htm
Output should be something like Salman Rushdie's American Tale
2844294,https://downloads.wamu.org/mp3/1a/17/09/a2170925-2.mp3
35:13
Alabama Senate Race: More Than Moore-Strange
2844300,https://downloads.wamu.org/mp3/1a/17/09/a1170925.mp3
47:11
Manafort In The Middle
2807643,https://downloads.wamu.org/mp3/1a/17/09/a1170921.mp3
47:11
I counted 214 audio urls total.Live stream is at http://wamu-1.streamguys.com
Will submit to Show HN if I get enough round toits ;)
...Runs to download Lynx and rediscover the past!
It comes in pretty handy sometimes. I'm absolutely not affiliated, just a happy user.
http://txt.gigawatt.io/ <-- add URL here at the end (GET parameters not yet supported)
Examples:
http://txt.gigawatt.io/jaytaylor.com
http://txt.gigawatt.io/http://www.cnn.com/2017/09/26/politic...
Source code: https://github.com/jaytaylor/txt-web
Thanks for the feedback and for trying it out!
I mean the real barriers to entry are that browsers don't display feeds nicely, you need an additional client or service.
The feeds only embed a line or two from the article, and link to the regular (i.e. non-lite) site. Nonetheless, they exist; artifacts of a patchwork of optimistic thinking about the future of the web that have largely fallen out of the collective popular consciousness.
[1] https://help.npr.org/customer/portal/articles/2094175-where-...
https://news.ycombinator.com/item?id=15210022
If there are more text-only versions of sites, it seems like it may be cool to add a meta-view service in the style of HN or reddit. Is there an extant service that would easily allow this?
I might have a reason to install lynx again.
How hard do you have to try to screw up the rendering of text only HTML?
It turns out that lynx applies styles (foreground color + optional background color + optional underline) to rendered documents (so you can tell where a link is, mainly) by calculating the hash of the (HTML element name, class) tuple of each DOM member (probably supporting just one class per element). It turns out that the insanely popular `<div class="contents"></div>` element has a hash that collides with that of `em.a` (a link in emphasized text) which styles the link to become readable in the default styling applied to `em`... but due to that collision, `<div class="contents"></div>` elements, not having the default <em> styling applied to them, become entirely unreadably (black on dark blue).
Lynx uses a very primitive hashing function (with a very small address space), and then (out of negligence or in the name of performance? Who knows!) doesn't check if the the (element, class) tuple (not its hash, but the actual tuple) matches that defined in the stylesheet...
To make matters worse, doxygen (arguably the most popular open source documentation generation software) generates the HTML versions of its output with all the content in a div assigned a class called.... yup, you guessed it, `contents`. And that's where fish and my workaround came in :)
( and its own 'textonly' version https://raw.githubusercontent.com/textonly/news/master/READM... )
Like the GitHub repo it's still very short but I'll add more sites as I find them.
All webpages were text like this at the time. I feel like it was efficient. You brought up a page and you read it. Now-a-days, for me, excessive graphics and bright colors distract from the content of the page.
Maybe add back a subset of markdown to have a few semantic marks and ease navigation. Tables should be treated as what they are, that is formatted data that specialized software for viewing (it took way too long for HTML makers to realize that showing static tables that you can't sort or filter is only good at layout control).
By far my favorite thing to do with them is customize them. I have a tiny plugin that styles the pages so that they are visually consistent, and I "fixed" the link issues in the articles so that when you click "Get the full experience", it takes you to the article's full version, instead of the home page of the regular site.
It is ugly and harsh on the eyes. There's nothing wrong with a minimal no-frills aesthetic, but that doesn't have to mean literally ripping _all_ styling out.
Hundreds of years of typography, typesetting... and what do some people claim to want? Naked html, default styling like a friggin' typewriter! Ugh!
Then you get the best of both worlds!
99.999% of people don't want to design their own custom CSS for every website they visit, though. And the people who do could set custom stylesheets on any site they like. Nothing really needs to change in that regard, the best of both worlds is already here.
Additionally, If every site worked this way, you'd only have to set the stylesheet once.
What you're suggesting might make a nice browser plugin, though. Stylish but with an integrated marketplace.
> majority of people view the complexity of modern design on the web as an extension of design in magazines...
Yes, because that's sort-of what it is!There's a reason for styling. It makes things more legible, aesthetically pleasing and more fully expresses the intent of the content creator. We have different fonts and layouts for the same reason that buildings vary in design and materials. All buildings could be made of cinderblock and in the shape of rectangles but they're not, why do you think that is?
The good thing is that Firefox still has option to override all fonts and use a single one chosen by the user. What is missing though is option to limit font weight to 400 and more.
At the moment I simply don't use websites that use thin fonts. Also websites that abuse fonts to display non-standard (non-unicode) icons fail utterly with user selected font families.
Other than that, having single font family everywhere is much more pleasant.
Feel free to download the files and build something with it.
[0]https://hackernoon.com/redesigning-techcrunch-1ecae542e6af?g...
https://github.com/nishanths/thin-npr
* Opens stories in expanded mode upon opening. No need to click
on the "Read more..." link each time.
* Clicking the "text-only" footer link from regular npr.org
attempts to go to the corresponding thin page, instead of the
thin.npr.org front page.
* Articles have smaller line-widths for easier reading.NPR's is better than any amp page according to Google pagespeed insights.
[1] https://developers.google.com/speed/pagespeed/insights/?url=...
[2] https://developers.google.com/speed/pagespeed/insights/?url=...
it was included in this list http://www.lesswaiting.com/info118.html
That might be outdated since the comment is 5 years old.
http://flatreader.herokuapp.com/
I would love to grab article text, and display with no images, but I'm fairly sure that violates redistribution laws.
Any ideas on features would be greatly appreciated. Cheers.
They're still 107 characters away from purity, though:
<script>
if (window != top)
{
top.location.href = location.href;
}
</script>Genuine question here.
https://superuser.com/questions/563851/how-isp-sees-the-http...
But, yes, since ISPs may be getting into the business of analyzing and selling our browsing habits, https limits the amount of information that they see such as what particular page is viewed on a site. Certainly, that doesn't stop other ways to track, but it's a reasonable one.
Would you want someone between you and the site modifying it's contents in transit?
https://en.wikipedia.org/wiki/Tailored_Access_Operations#QUA...
As for https, it's coming soon ;)
Random aside: why is your username green?
Just a tiny scroll-up function, but still funny.
test $# -eq 1 ||exec echo usage: $0 section \> news.htm
a="GET /services/json/sectionfronts/$1/index.jsonp HTTP/1.1";
b="User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36";
c="Host: static01.nyt.com";
d="Connection: close";
exec printf "%s\r\n%s\r\n%s\r\n%s\r\n\r\n" "$a" "$b" "$c" "$d" \
|exec openssl s_client -tls1_2 -ign_eof -connect static01.nyt.com:443 -servername static01.nyt.com -tlsextdebug -verify 9 \
|exec tr -cd '\12\40-\176' \
|exec sed -n '
/link\" :/{s/.* : \"//;s/\",//;s/.*/<a href=&>&<\/a><\/pre>/;};
/title\" :/{s/ > / Section: /; s/.* : \"/<br><pre>/; s/\",//;};
/lastBuildDate\" :/{s/.* : \"/<pre>/; s/\",//; s/\\n/<\/pre>/;};
/pre>/p;
'