I've been using that for a while also. I'm mildly surprised someone found it worth their time to make an extension, it works so well for medium and other sites.
You don't need it in Mobile Safari. Tap the paragraph icon to the left of the address bar and it'll go into Reader View, which eliminates all that rubbish.
Unfortunately Medium has some specific problems, besides fixed elements, that make it user-unfriendly, for example the lazy loading "feature". OP's extension can fix that.
Not a name, but many people do this to help them focus and read. Having a smallish block of selected text enables easier visual tracking (so less likely to skip/repeat lines). It is more common in the ADHD and dyslexia communities, in my experience.
Can you send a screenshot? I am the creator of a tool [1] that uses color to aid visual focus, so I’m very curious to see what the approach you’re describing looks like.
Would love to connect to hear more about your experience and perspective. If you have a minute, please drop a line: contact at companydomain. Thanks for the pointer!
I do the same, and I think it originated back when I had a mouse with no scroll wheel. Dragging a text selection up and down to the top and bottom edges of the viewport let you scroll up and down by arbitrary distances. I'd call this "selection scrolling?"
The thing I do nowadays rarely involves scrolling, though, so it's probably just "digital fidgeting."
Transitioned from dev to management. Amount of micro-distractions is so high that it's a convenient micro-bookmarking tool. It's also an aid against scroll jank from loading pages / delayed banners / what not. In some cases I also just click page to ensure focus is in there, because of some pages having niché scrolling methods that require click-to-focus before pressing any scrolling hotkeys (up/down, space, page up/down, etc) will work.
Oh man. I stopped reading Medium blogs because they have that inane selection-popup bullshit. I'm not going back but you do have my love for implementing that :)
Thank you for making this, in particular thank you for the "disable lazy loading" option, which I have always found annoying when I'm on a slow connection (which is very often since I'm in Australia).
I hate scroll-based lazy loading of images. It’s bad enough when latency is merely high, as is commonly the case for such things for us in Australia, but it’s actively hostile to unreliable internet connections. When I know I’m not going to have an internet connection, I used to be able to just load pages, and know that they’d be there when I got to them. But with lazily loaded images? Nope.
(Non-scroll-based deferred loading of images is not necessarily bad, though I don’t see much purpose in it.)
Have you tried lazy loading as it is implemented specifically in Medium, while on a slow connection? (Just head out to Medium, find a post that has several pictures, and then you can simulate being a slow connection using developer tools). Basically the previews are completely useless (just an unintelligible, extremely blurry splash of colour without shape or form) and they are not progressive (not many intermediate steps between the initial splash of colour and the final picture, so you have to wait a long time anyway to even figure out if you are interested into that particular picture or not), in addition it seems to be computationally expensive (whild guess: perhaps because of the overdone gaussian blur effect), which you notice when you try to scroll and the scroll motion becomes choppy (even though I'm on a gaming PC with decent specs). I much prefer the "blocky" look that many other lazy loading solutions have, rather than the blurry look in Medium, because with the blocky look you are more likely to guess what's depicted in the photo.
Using non-progressive images with a blur is standard practice though, with little alternative.
Because you often want to use png or webp for the final image, instead of jpg (and these formats are non-progressive), and loading of progressive content can’t be controlled by scrolling.
As for that blur, medium definitely overdoes it with that, doing it on the canvas and all.
This is what my site looks like before lazy loading: https://i.imgur.com/O9YjU7o.png and I’m usually testing it on 3G and 2G to test performance – every image is available with srcset in countless versions so your browser can additionally choose which version it wants to show.
I would rather see nothing, or a solid block of colour, than a very blurred image; I have heard this opinion espoused by others as well when the topic comes up. A blurred image, especially with a sharp edge, is surprisingly disconcerting, and having the content change while you’re looking at it too.
I wish people would just leave it to the browser to handle, and I wish that browsers would start improving their approach to this sort of thing so that developers don’t feel the need to mess around with it, because they always get it wrong.
Let me be absolutely clear on this: I hate all scroll-based lazy loading of images.
Thanks for the insights (I have never implemented lazy loading myself so it's interesting to read about it).
> As for that blur, medium definitely overdoes it with that, doing it on the canvas and all.
Yeah I find it really hostile from a UX point of view.
P.S. I just looked at your imgur and the ones that are more intelligible to me are the smaller pictures in the bottom raw, while I wouldn't be able to say what's in the first two larger pictures (interestingly, it seems that with blurry pictures the larger the picture, the harder it is to guess the contents).
You can try yourself on quasseldroid.info if it loads better for you than medium — usually it should.
That said, none of it is easy to optimize.
The ideal goal is to only load images if they're actually needed, only in the size that is needed, to always show at least a placeholder, and to ensure the loading never causes the page to reflow.
That's why all this complicated loading is used, to give the illusion of a faster site.
Hope someone from Medium is reading this thread -- there's a problem with your product if people who want to go to your site to take time and read consider your site unreadable.
I appreciate the creators efforts here, but honestly medium just needs to get their shit together. I use Reddit enhancement suite because it adds features. This just makes a basic blogging platform useable for reading. Personally I've just opted to not use medium any more.
Medium is dead. This is not a problem since yesterday... Medium has fallen in the same trap it wanted to solve at the beginning. I advice everybody to stop using Medium for their practices...
I got a lot of sarcastic arrogant messages back from the developers about the fixed bars over the years. I did some research but I have to check again. Some of them on their Linkedin profile use to work for media advertising corporations and as I dug I through I saw associations to Mindspark kind of things and as a technician I use to manually remove the dodgy browser toolbars that are associated with these aggressive advertising firms. Sort of see a pattern there.
I questioned them that I don't want these things stuck my screen constantly. All I want is to be able to close it without using Adblock, I showed them a good example, archive.org and they turn nasty, dodge the issue, insulted me further, like talking to me a like a dog and called Adblock harassment in itself and started moaning about it becoming evil and killing their revenue.
They ignored me when I showed them a thread I started on Adblock forums asking for help in blocking the Ebay basketbar and I clearly stated I don't use it to block adverts.
It appears that some of the developers who work for websites and implement there bars are overzealous and the type would say "I am overqualified for the job" and can do what I want and think of what the user/ guests want.
On Safari and Firefox we have a built-in way to remove distractions like these, such as Reader mode. A cynical viewpoint on why Chrome doesn’t offer this is that doing this would prevent you from seeing Google’s ads.
“At Google, we love the internet and creators who dedicate their life to crafting webpages that are beautiful to look at and delightful to read. In order to honor the hard work of these creatives, we have decided to not implement the “reader mode” many other browsers have. You can rest assured that Google will always do everything it can to support the visions of all who make the internet as we love it possible.”
(Could also insert a sentence or two about how Google has AMP instead, leaving “creators” in control unlike “reader modes”)
I know these aren't your words but man what a crock.
The user and their browser can change about every aspect of the presentation by design including showing nothing at all to sight impaired users and just reading out loud. It's so blatantly obviously about ads that I don't know why they bother to mislead. Just admit you the user will always be second priority and that if you have to choose between making money and making the best anything they will always by financial position be obligated to choose option a.
Reader mode exists on Chrome for Android, so this is most likely a feature that mainline Chrome hasn't gotten around to rather than some nefarious plan :)
Safari 5 introduced Reader. It damn near predates Chrome itself.
I think Google would have gotten around to it by now if they were going to, considering the other giant epics they’ve launched in the browser since then.
Chrome on Android seems to have a reader mode. They don't call it that, it's called "simplified page" or something like that, but it's basically the same thing as FF and safari's reader mode.
And they even prompt to use it, which isn't something I've seen Firefox do.
As much as I love reader mode, with this and the various other work arounds in this thread are we actually enabling them to make bad UI's? Avoiding sites like this might be a much better solution in the long term.
Medium is on my mental block list, when I do accidentally click a link to that site my immediate response is to click the back button... That is how bad the ux medium has gone out of their way to create
The pictured hackernoon banners are especially visually intrusive. Hackernoon also inserts text and image ads (inline) to some of the posts that contributors make. The contributor is not notified of these edits, and chrome extensions like this won’t catch them (and they are also neon green).
It might be good for their branding if my primary takeaway were positive, not annoyed.
I always find it weird if a link shows up on twitter or HN and then a few days later it appears again, now suddenly under this generic "hackernoon" branding. Medium is bad enough at hiding author identity, mixing the good with the crap, but hackernoon adds another layer and I just don't get it.
The value-proposition for the author by submitting to an Medium publisher like HackerNoon is increased exposure, although I wonder if it's worth the cost of having the personal brand obfuscated. (page views for a personal blog are a vanity metric, after all)
Incidentally, whenever I see a HackerNoon or FreeCodeCamp domain on Hacker News, it serves as an anti-signal of quality, which is an interesting side effect.
It's the cycle of people who want to "do things better".
Step 1: Find a type of website experience that sucks for users. Example: Blogging, image sharing.
Step 2: It's so simple! Just do the same, improve on the UX, don't plaster ads, have a clean site and give it a cool name. Example: Medium, Imgur.
Step 3: As people flock to your site because it's cleaner than the alternatives, have the lightbulb moment: "Oh wow, I could monetize all these users!". So you plaster the site with ads, marketing gimmicks and what not and you don't suffer for it. It's not that it works. It's just that you have a userbase that trusts you and is already used to you. They don't know anyone else.
What are your users gonna do, build their own site that doesn't suck?
I do agree with this, but I believe we can make it at least not-as-bad.
I recently started a new blog & evaluated a load of options, Medium was one. I quickly decided it had become a cesspool of attention engineering and social widgets, and ultimately settled on self-hosting, with no banner adds or social rubbish.
Can the average public do this? I’d argue it’s not trivial nor inexpensive currently, but maybe that’s worth fixing? Encourage people to move off centralized platforms for sharing content, and maintain control.
Since we're talking about blogging platforms I might as well plug Ghost: https://ghost.org/
I recently moved my company's blog to it. This is an open source, self-hostable markdown blog engine with an excellent featureset and some great default themes, and a paid hosted plan.
Exactly. Personally I'm following the same steps with a blogging platform I'm building [0], but avoiding that third step in it and my future products, and it's working out so far.
A lot of it comes down to financial incentives, and I think VC-backed products are going to go head-first into step 3 without thinking, and then we all suffer. If there were more small, grow-slow products (probably bootstrapped) that based success on delivering a nice product that never goes to shit (instead of constantly conquering the world), we might have less of this cycle.
The problem I see here is the more users you have, the more it costs to keep the hardware running, so at some point you have to monetize in some way or another.
I'm pretty sure Medium at one point was a decent low level solution to the problem they set out to solve - it just doesn't scale to the multi million/billion dollar solution the founders wanted.
Extensions that do this terrify me. Imagine a popular Chrome extension, say, Fireshot, with 2 million active installs, selling out. The next update of the app gets shipped with a screen scraper that looks at coinbase.com. Some time after you've last visited your dashboard, it opens a connection on some entirely unrelated site and posts to the 'send' page to send all of your BTC to a third party address.
Or if you have 2FA enabled for sends, just intercept the send POST with an address of your choice, but display the user's originally input address on the confirmation screen. To make it even more confusing, keep a list of transactions:intended accounts so any time the user looks on _any_ bitcoin site it shows the transaction was going to the right account.
It was a StackOverflow question he posted while creating Silk Road, in which he used his real name (before switching to the "frosty" alias in under a minute).
And his SSH key had both the username and hostname set to that alias ("frosty@frosty"), which is how they connected him to Silk Road.
You can set a flag on Chrome (chrome://flags/#extension-active-script-permission) to block the extension by default and only activate it when you click the pageAction/browserAction or if you whitelist it (for that website only or for all websites).
Also, two extensions come in handy: "Chrome extension source viewer" [1] and "Extensions Update Notifier" [2] (self-descriptive titles). The second one can automatically disable extensions when they're updated.
They're honestly a little annoying if you have more than a handful of extensions since they lack some essential features (e.g. viewing a code diff from the previous version), but at least they're open source! :)
We should try and be more sinister. Imagine a company purchases or influences a plugin so much that when a news article is read about E Corp dumping toxic waste into drinking water the content is changed to play down the numbers and sentiment.
Without reading the source, I reckon this is because not all Medium blogs are under medium.com subdomains, so you can't request access only to *.medium.com in the extension manifest.
This is the reason. The code does look for a specific appname that is present on all medium blogs before running the code. If this were a closed source extension I would worry about it, but since it's open source you can verify it's not doing anything malicious. That said, I think I will copy the source and turn it into a user script so I don't have to install another extension.
Open/close source is not going to help you here: nothing stops a malicious author from publishing one version open source while publishing the malicious one.
The only way to find out is to run the extension in Chrome and inspect it with the debugger.
However, Chrome will automatically update the extension.
Things that could go wrong:
* The author could wake up in a bad mood one day and decide to push a malicious update.
* The author's computer could be compromised, and someone could steal the signing keys and publish a malicious version of the extension.
* The author could get bored of the extension and transfer ownership to someone who offers to maintain it for them, but who turns out to be malicious.
* The author could be in need of some cash and could decide to accept one of the many offers they no doubt get from shady parties to buy their extension.
I'm sure the author of this extension would never do any of these things... but I'm not sure enough to risk it. :/
One of the things I can’t understand as a Chrome user and developer is how limited your options for explicit extension permissions are. Either people will not install extensions (basically my case), or the Chrome team will teach people to ignore warnings and extensive permissions not unlike what we used to do with SSL/Mixed Content warnings. (Which I guess is what they already do on Android, but still.)
Firefox also had to learn about the vulnerability of Firefox extensions the hard way, but training users to scrutinize permissions would be a great opportunity.
One (perhaps sinister) explanation would be that Google really doesn't want people to install plugins, because they are often used to remove ads. Of course, Google wants Chrome to be an independent project, but this could explain why the issue doesn't get priority.
Can't any extension do this? They all insert javascript onto pages and they can interact with your browser directly. That's like saying "this extension can do exactly what every other extension can do".
An extension can only read/modify pages that it has explicitly requested to be able to read/modify in its manifest. In this case, the extension has requested to read/modidy "https://*/*" (which is necessary since Medium is often used to power other domains).
It is sadly true that most extensions which do anything useful end up needing to request permission to all web sites. And that's why I mostly refuse to use extensions...
View->Page Style->No Style usually works for me. Obviously pages become a lot more bland and...style-less, but the text and images I'm usually after will still be there.
I've gotten so used to right clicking and removing the offensive parts of websites in ublock origin that I always find it shocking just how bad the web is on a new machine. So many banners, so many subscription lists, so many useless social bars.
It's also kind of silly that I have four different extensions just to shield myself from how bad the web has gotten. I feel like I'm going under red alert every time I want to check my email.
Does it? Does anyone just go to medium.com and see what's going on rather than being linked to some specific article? Is there anything about the medium reading experience that means someone would rather go to them specifically rather than where the content they want happens to be? Are they trying to lure writers that way? I don't get it.
I mean, I'm sure they know their business and everything. Again: I don't get it.
Well, that's the incentive for Medium to do it. Only they would know whether it works or not. It sticking around suggests it does. However, success hides all problems.
Every time I visit medium, it shows a popup reminding me how much times I visited it before. Do they want to make me feel guilty for visiting too often?
I really love medium's editor, but I wanted a dark theme (more comfortable for the eyes), and to remove all the clutter so I could focus on no-distractions writing.
I have found a Chrome extension over a month ago called "Sticky Header Hider aka Fixed Header Fixer" by Emojistuff which works very well. Yesterday I found the other one "Make Medium Readable again" by A Bunch Tell when I changed my search term from "Sticky Headers etc" to dickbars and found I am not the only one being tormented by those things. I also see another extension for Apple called Unobstruct.
I like the option "Disable lazy image loading". I have noticed that. I thought it was for constantly loading of adverts.
Pleased to see something done about this annoying practice.
They think I am so stupid that I can't locate the navigation bar so they have to ram in my face/fixed line of site constantly.
So nice to have the freedom back without any work in hiding things with Adblock or clicking that bookmark for most sites.
I like this plugin. Thanks. I do not like the recent “pivot” if oh will of medium allowing branding etc. It’s not executed perfectly; though I do not have a better solution in mind.
Does this mainly fix things that are annoying to non-members?
I've considered making an extension to retool the "clap" nonsense myself, but for readability Medium is second only to mobile-friendly view on Android most of the time.
Not sure if my comment here is relevant, but the past 5 - 8 days or something Medium (logged in) changed for me significantly. I can now only see the main header stories and some top lists to the right:
The mobile just says "You've made it through your stories for now". Has anyone else experienced this the past days ? Have they expanded their subscription model to include even articles that are not "paywalled" ?
I refuse to let a simple phrase like that become verboten just because a certain configuration of it was used by someone that our circles of friends dislike. Personally, I think it’s a funny reappropriation.
But either way, this isn’t particularly germane to the conversation, and you could even argue that it wasn’t done intentionally considering that Medium used to be readable.
Anyway, Medium is annoyingly hard to read now, and I’m glad someone’s done something to fix it.
>just because a certain configuration of it was used by someone that our circles of friends dislike.
I'm going to stand on the side of this issue and argue it's more than that the configuration of "Make X Y Again" was used by people circles of my friends dislike, it was a rallying call, a point of campaigning, to cause a deliberate division of people at the expense of individuals whose mere presence makes America less than great according to some-on deeply superficial grounds.
But yes, not really relevant to the discussion.
I will ask this though: In what ways is Medium difficult to read? Personally speaking it's one of the easiest sites to read, just curious what that experience is like for other people, clearly it's pronounced enough for someone to make a browser extension. Just wondering.
Edit:
I do hate the amount of clicking that has to go on just to read "Network" responses, however.
I like this title as it’s short and sweet. Actually, most threads in HN have negative messages such as this on.
Every single thread. Some new kid makes a small little app and it gets crushed with someone pointing out - usually obvious - short comings or how unnecessary it is. Let’s all be supportive for once.
Not saying OP is not supportive; OP is just communicating their frustration. Just using OP as a conduit to explain the pattern I usually see.
Well, yes, and the people who use "Make America Great Again" generally believe that their proposals are actually a solution to an actual problem of America being no longer great.
It seems to me that if you want to convey that you disagree with those people or their assumptions, using their snowclone to describe a tool that actually solves a problem that arose recently is counterproductive. If I wanted to convey disagreement, I might release a tool called, say, "Make HN Readable Again" that added a bunch of slow JavaScript and popups. (And if I wanted to convey neither agreement or disagreement, I'd pick a different name.)
Maybe remove the controvesial from your sentence? Its a nearly universally heard campaign slogan and has been riffed on all sides of the political spectrum. Including many democratic institutions trying to ride the popularity of the phrase.
Why would would someone want to censor themselves just because people they don't like want a monopoly on language? Is acting in a milquetoast manner attempting the broadest appeal more important than having common sense and integrity?
> Why would would someone want to censor themselves just because people they don't like want a monopoly on language?
All effective communication is "censoring yourself". When I say that I'm a software engineer, I'm refusing to say that I'm a kazoo player, because I intend to convey the idea that people get when they hear "I'm a software engineer" and not the idea that people get when they hear "I'm a kazoo player." No matter how much I dislike (or like) kazoo players, I'm not going to attempt to reclaim the term from them.
And the English language is descriptive, not prescriptive. When a phrase has a well-established meaning - whether that meaning was first by commoners 400 years ago, or commoners today, or (for some languages) a bunch of academics in an ivory tower today - people are going to think I mean that meaning when I use the phrase. If I want my communication to be effective, it's on me to pick words that I expect people will understand, not on my audience to figure out what I really meant.
When I communicate, I intend to communicate the most accurate thing I can to, yes, the broadest audience I can.
I'm not saying self-censorship is bad, I'm saying that if you do it because someone else misappropriated some language, then you're on a clear path to only saying what other people permit. And this is especially wrong when those 'other people' are actively trying to undermine your ability to communicate.
To avoid the risk of this entirely predictable meta-discussion regarding a headline format, that has little to do with the readability of Medium, but was probably chosen to try and increase clickthrough rates?
Love what this does, could you make it removing fixed positioning instead? Basically this kills all of our branding. we try to maintain a quality threshold for our community, and as such hope that yall notice our colors and at least consider that it might be worth it to read.
Personally, Id love something that minimized the nav to the bottom while moving but thats just me.
This is amazing work! Thanks for helping the community!
> could you make it removing fixed positioning instead?
This is actually what it does. Hackernoon is a resourceful site but I hate reading it. I usually open Chrome Developer Tool and kill the header + bottom engagement bar manually. If I'm too lazy, I just close the tab. I'm so glad I found this extension.
Yeah, we don't have control of our layout like that :( I derped really hard and didn't notice it was just making it fixed from the photos (I was mobile when commenting)
Could you consider removing fixed positioning instead? Much like hiding functionality behind a mouse hover, it's a terrible "feature" that always ruins the experience for someone, given the explosion of user agents and form factors over the last 10 years.
This is it: