Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I made a modern web UI for Wikipedia (modernwiki.app)
979 points by sjdz 11 months ago | hide | past | favorite | 409 comments



Hey HN,

I made this free browser extension that modernizes the Wikipedia design. I started making this for myself just because I wanted more of a "reader mode" like experience (narrower column, nicer fonts, dark mode etc). Then I got a bit carried away and implemented everything I could think of for a modern redesign of Wikipedia. Hope you like it!


I am one of those people who actually like Wikipedia the way it is. It's what I hoped the web to become.

But i am sure there are people who will appreciate your effort. Thank you for your work.


I agree with you except the one pain point that Wikipedia still continues to use "m.*" sub-domains for displaying mobile content. I know most people exclusively use mobile these days but I use desktop browsers for reading more than 60% of the time and its really annoying to click on a Wikipedia link on HN/Reddit and having it open the mobile site on desktop. It's OK to use m.* subdomains instead of reactive design but there should at least be redirects to the correct subdomains.

edit: formatting


What bothers me most about this is that if you go to www on a mobile device, it redirects you to m - that's great, and probably the "right" thing to do. There is probably a "View Desktop Version" link on the mobile page, somewhere. But if you go to the m subdomain on a desktop device, there's no easy way to get to the desktop version without manually changing the URL. If you can redirect from www to m, surely you can redirect from m to www when appropriate.


> But if you go to the m subdomain on a desktop device, there's no easy way to get to the desktop version without manually changing the URL.

You may find humour in the comically small "desktop" link at the very end of the page, next to the privacy policy.


I use the No More Mobile plugin to fix that: https://github.com/spixy/NoMoreMobile


For me on safari I just click “request desktop site” and it does redirect me to the non mobile domain.


I feel like there's the issue on Reddit


I feel like this is the least of the issues of Reddit(’s mobile version, social ones excluded for lack of knowledge).


I got annoyed at this enough to write this tiny userscript:

    // ==UserScript==
    // @name         Redirect from mobile wiki to desktop
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://*.m.wikipedia.org/*
    // @grant        none
    // @run-at       document-start
    // ==/UserScript==
    
    window.location.hostname=window.location.hostname.split(".")[0]+".wikipedia.org";


Hint: Use `document.location.replace()` to prevent the back button from going back to the mobile version, creating an endless loop.


Equally, I don't like it when websites try to guess what kind of browser I'm in and force me into the mobile experience when I have a window take up half the screen on a 1080p monitor, ... so I guess there's really no easy win for this :(


I think proper media queries breakpoints solve this


This is hard and often done wrong- mobile phones are usually high dpi and have gotten quite large, so it can be hard to distinguish between a large phone and half a desktop screen. Some people get quite annoyed by being bumped into a mobile experience when you resize your window from fullscreen on a laptop.


> This is hard and often done wrong- mobile phones are usually high dpi and have gotten quite large, so it can be hard to distinguish between a large phone and half a desktop screen.

A tablet could be easily confused, or a phone in landscape mode, too, but for a phone in portrait mode this seems a bit hard to imagine, because DPI is taken into account when converting the display width into CSS pixels, so even a phone cramming 1080 or 1440 or whatever amount of physical screen pixels into its display width should still come in at something like 300 to 400ish CSS pixels. Or am I misunderstanding something?


You're right, and it's certainly a solvable problem but one that often is not solved correctly is my point. You may have to also introduce a (nonstandard) viewport tag to prevent mobile browsers from laying out the page at a much higher resolution and then zooming/shrinking on you https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_m... If you don't, you may falsely conclude from manual testing that you need large breakpoints for mobile.

Also, many times mobile breakpoints don't look at the device orientation and pick numbers like 800px, to capture landscape orientation on medium sized phones or something (I'm not sure where this number comes from to be honest). This obviously breaks the two windows side by side case on laptops but is a top result for me if you google the arcane syntax for how to target mobile browsers with a media query.

I am not 100% sure what all the pitfalls are with the current interface, but they exist often enough for me to run into them semi-frequently on smaller laptops.


You're goning to need <meta name="viewport" content="width=device-width, initial-scale=1"> tag for any reactive design with mobile browsers since otherwise the site will look completely different between browsers and browser versions as they use different rules for how to render sites.

The worst part of this is that simple mostly text sites without a fixed-with layout would look perfectly on mobile if this tag was the default but somehow mobile browser vendors thought it was better to hack around sites with table layouts by giving them a larger viewport (but still inconsitently scale the font sizes so you have to zoom in and out to read different parts).


> (but still inconsitently scale the font sizes so you have to zoom in and out to read different parts)

Once you start with the hack of giving non-mobile-compatible pages a larger viewport in order to not break layouts that react allergic when being squeezed into 300-something pixels, what else do you want to do?

Not scaling font sizes at all just gives you either tiny text (if you zoom out to fit the large viewport onto the small mobile screen) or loads of scrolling around if you display the page at 100 % zoom level instead.

And scaling up all text means you end up approximatively just where you started before you started resizing the viewport. It might not be absolutely exactly the same layout breakage as when squeezing an old page directly into the 300 or so pixels available on a mobile phone in portrait mode, but it will be pretty similar.

So that only leaves trying to scale up only the main body of text (which normally isn't that sensitive with regards to scaling up the font size and therefore increasing its size requirements) and leaving alone smaller bits of text like menus, the page navigation etc., which are more likely to be size-constrained and start causing layout breakage if increased by an extraordinary amount.


You have it right.


I don’t understand those people at all. If my browser window is the width of a mobile phone’s screen, than a version of the website designed for that size is exactly what I want!


Right! If you've got a window that narrow, the only way the design will even work or layout correctly is with the "mobile" layout...

The bigger problem is people hiding functionality if you're in the mobile breakpoint. That's an issue: all functionality should be enabled, at least in some way IMO. Mobile should never be a second class citizen :)


There's also a big problem where the mobile layout will tend to make controls huge to present a reasonable size touch target. This is unnecessary on the desktop, and may even result in less information fitting on screen than before switching to the mobile layout.


Thats a fun one to solve!

   @media (hover: none) and (pointer: coarse) {
That allows the dev to select for devices that do not have a mouse and such rely on touch targets, to increase the sizing. I've been implementing this myself recently in our web application, while still allowing us to change the layout to fit the narrow width!

I'm sure there are some devices it doesn't fit perfectly for though. This stuff is capital-H hard.



> capital-H hard

You mean quote-unquote Hard?


I wish.

The implementations for these have some... complications, the device sets we now deal with are huge, and making sure there are no idiosyncratic bugs that creep up when using them is legitimately a fair bit of work.


> If my browser window is the width of a mobile phone’s screen

It's not, is the thing.

I have a 23 inch screen for my 1080p screen. My phone has a 6ish inch diagonal.

When I make a window 960 x 1080, that's still something like 10 inches across and 11 inches tall. It's sheet-of-paper sized. I'm perfectly comfortable reading that as it was designed for a desktop layout.


> I have a 23 inch screen for my 1080p screen. My phone has a 6ish inch diagonal.

Do you sit as close to your monitor as you hold your phone?


I would say that half of my monitor, more accurately, is about the dimensions of an iPad at comfortable viewing distance.

Phones are far taller than half of a 1080p screen.

Half a monitor is: 960 x 1080, or 1:1.125 A iPhone is: 828 x 1792, or 1:2.164

So websites tend to shove a candybar shape into a nearly square sheet of paper and waste a lot of usable proportions for things like controls or hamburger menus.


Not GP, but yeah, about the same? From your phrasing I expect it's how close we hold our phones that differs though.


Not necessarily: the real-world size matters too. Desktop-sized UI is hard to hit on a touchscreen when shrunk; meanwhile mobile-sized UI wastes space when enlarged on a desktop monitor.


Do you also want the version for touch controls?


I also get annoyed when I get bumped to the "mobile" "experience" even when I'm on a smartphone. With reactive design, "request desktop site" generally doesn't work, either.

I really, REALLY prefer desktop mode for almost everything, relying on pinch to zoom.


> With reactive design, "request desktop site" generally doesn't work, either.

It shouldn't, because with proper reactive design therre are no "mobile" and "desktop" versions but only one version that adapts to the viewport size. If you want a larger viewport that should be solved at the browser level by providing the website with a larger viewport. Seems firefox behaves this way while chrome does something weird that increases the viewport a bit but then still "intelligently" scales some text.


Well what if you don’t WANT the interface to change between viewports? We used to use Desktop-style interfaces on 1024x768 displays, or even 640x480. Now we just get a one-dimensional mobile interface when the viewport is smaller than whatever arbitrary threshold is fashionable among designers. It’s incredibly annoying to have interfaces become downgraded (ie hyper-simplified) regardless of what the user requests just because they haven’t kept up with the resolution upgrade treadmill. Pinch and zoom (in BOTH directions) is such a powerful UI tool from the user’s perspective but its usefulness has become completely neutered by insistence on “reactive” design ripping control away from the user.


The worst part is that the other points you could use: DPI, resolution, touch capability... all of this exists on certain laptops now!

But, at least as far as I approach media queries, if you've triggered the mobile breakpoint (well, default CSS as mobile-first is the way we approach it), its because the desktop design we've used literally will break on a browser window that narrow.


Even better: Don't have media queries breaking at some arbitraty widths at all, and have a design, which is responsive for all widths without breaking suddenly, orienting size of boxes depending on the content.


As soon as you have any kind of columns in your layout you need sudden breaks at some points, explicit or not.

I agree that you should prefer flow and size-to-fit but that does not mean that break points are never the right tool.


No, it won't. There is no clear distinction between mobile and tablet first of all.


Orientation and width not enough?


When I pin a browser to the left or right side of one of my monitors, these sites will often go into mobile mode despite the fact that the browser is still wide enough that desktop mode works fine, merely because the window is now taller than it is wide. And I find that incredibly annoying.


Install Firefox Redirector: https://addons.mozilla.org/en-US/firefox/addon/redirector/ Add a rule to redirect (https?://)?(\w+\.)m\.wikipedia.org(.*) to $1$2wikipedia.org$3 Then you never have to deal with mobile Wikipedia on desktop again. You can use this for other sites too, like forcing all uses of Reddit to always open in old.reddit.com.


Just as a sidenote on the Reddit point, you can force old Reddit from your settings after you log in. That setting seems to stick even if you log out/your session times out, and you can go back to new Reddit with new.reddit.com.


> It's OK to use m.* subdomains instead of reactive design but there should at least be redirects to the correct subdomains.

I agree, although in the case of Wikipedia the "mobile" design is actually the one that is responsive. I want the "mobile" design on all browsers including my desktop. I believe you can actually set your default theme if you're logged into Wikipedia, but I don't know if their cookies eventually expire or what, but I often end up clicking on Wikipedia links and getting the awful "desktop" design.

All of this is just to say that, yes, they shouldn't use separate "m." URLs, but it's just as wrong to get upset at mobile users sharing "m." URLs as it is to get upset at desktop users sharing URLs without the "m." Arguably if you expect all users to always share the most versatile URL, you should expect them to always share the "m." URL since it has a responsive design.


I might be ok with "the mobile reactive version everywhere" if it didn't also lack a bunch of features. Not being able to easily get to the talk page to contextualize what you're reading makes the mobile site very frustrating.


Note that a link to the talk page has recently been added to the top of the mobile page.


Oh nice, thanks for letting me know! I can stop forcing it to desktop mode by default heh.


If it pinned the headings/outline to the left side of the article (like the extension showcased does) it'd be that much better for a responsive design on Desktop.


I disagree that the m. url is the most versatile because of the one-sided redirect.

Also the mobile site might be more responsive in the sense that it better scales down to narrower viewports but it does not scale up to make use of larger viewports by e.g. bringing back the sidebar and other links that are hidden behind dropdowns. That's a problem with many mobile-first designs - in reallity they are mobile-only designs.


Yes, I only use Wikipedia on a desktop and I exclusively use the m. site.


Counterpoint to this:

I’m career military and the fact that Wikipedia (and Facebook) have low bandwidth m.* redirects made life immensely easier on the limited internet in far off places. We really appreciated it being available.


Just checked the first acticle linked on the home page:

https://en.wikipedia.org/wiki/Yugoslav_gunboat_Beli_Orao - 913.39 KB / 298.41 KB transferred

https://en.m.wikipedia.org/wiki/Yugoslav_gunboat_Beli_Orao - 919.43 KB / 270.18 KB transferred

Not much of a difference. Would be better to spend time optimizing the desktop site for everyone.


I dunno. Maybe it is different on a phone but on a tablet the desktop Wikipedia is better than the mobile Wikipedia.


+1 to this. My iPad is plenty big enough please show me the real Wikipedia. The redirect is incredibly frustrating.

On a phone, the mobile Wikipedia is perfect tho.


Yeah, it's so annoying. I always strip the mobile subdomain when I post links to wikipedia.



That seems to be about serving the different variants directly instead of the redirect when there really should only be one variant that makes the best use of any viewport size.


Down the bottom there is a link to the desktop version of the site.


Whoa, thanks.

However, that link is totally in the wrong place, no wonder I could not find it. I just assumed there was no such link/button and always angrily removed the 'm.' from each URL.


TIL!



Just a small nitpick: you mean _responsive_ design (_reactive_ means something else)


semi-OT but Twitter seems to have recently started putting "mobile.twitter.com" in my URL bar (on mobile), as well as adding a UUID in a "t" query param when you use their "copy link" flow, which is all annoying cruft to have to delete when sharing links.

They used to just put "?s=19" through "?s=22" or so, which enumerated clients (desktop, mobile, Android, etc), which was better than the junk most other services stuff in (like utm_source and friends...)


It is also pretty fundamentally broken on iPad, since whether it reports itself as a mobile or desktop device depends on the size of the browser window.


As one of the people who uses a mobile device only if I have no other choice (which is never), I definitely feel the pain of this.


I’m sure there is JS that will redirect you to non mobile, pretty sure I installed something like that and never had that issue.


I usually shy away from "modern redesign" but this one feels rapidly valuable both in legibility and usability.

The chasing left side TOC is really useful. The typography is slightly fancy without trying to be in your face.

The search (kbd /) is nice too.

I'd motivate the author to experiment with more stuff around accessing categories and hyperlinks in the page.


Agreed with most of this stuff, but search on / (and even ctrl-f on some websites!) is horrible because it overrides the browser's shortcuts. When I press / I expect the Firefox quick find bar to come up, complete with highlighting and markers in the scrollbar and ctrl-{shift}-g to move between results and esc to exit search. Not some half baked JS search implementation or an unrelated search like in this extension - it searches for wiki pages, not text within the current page.

Fortunately this is pretty simple to disable with Greasemonkey (also 's' on github, though the userscript doesn't seem to work on Gitlab...).


Yeah, I actually like the existing Wikipedia design, but I like what the author has done here - I see it more as a minor UI evolution, with some additional conveniences.

I like it!


I too like wikipedia current status a lot, and i like basic static content too.


This isn't so bad but consider new Reddit vs. old Reddit.

If "new" were to become the only way to access Reddit, I would probably abandon it.


They don't need to force you to migrate, the new site pushes people into mindless meme sharing only, and completely altered the contents of the site already.


I agree, and I have already left using reddit. What's the alternative to some random content consumption (like reddit)? Like hacker news but for non-technology topics.

I can suggest wiby.me 's random button to discover new sites with modern opinions.


There's various Lemmy [1] instances. Maybe one of them works for you?

[1] https://join-lemmy.org/


+1 for Lemmy. The project still has quite a lot to improve on, but it is already really great! I'd love to see the community/network grow and evolve :)

disclaimer: I run lemmy.pt and use the platform on a daily basis


On desktop you can choose to remain on the old format.

On mobile you seem to need to do old.reddit.com every time.

Never installed the app on mobile.


How does the new design push people to mindlessly meme share? Reddit has been like that for a decade or more at least IMO.


They only show a few comments on certain pages, which deemphasizes discussion. I'm not aware of any other changes to new Reddit that would do that.

Although other changes might have made things better, like changing how default subreddits work (although this applies to new and old reddit).

With the exception of a few subreddits that have made explicit rule changes (either encouraging or discouraging memes), I haven't really noticed a significant long term trend in meme-posting within subreddits.


I've had to banish a good 40+ subreddits off my feed manually using RES to just deal with the politics spam.

And even then, browsing /r/popular is just awful. Elimination games. People blatantly asking for personal information from teenagers. "Tell me your favorite X and we will judge you" Dumb NSFW 'questions'. Repost bots for content from years ago. Misinformative titles. "Unpopular opinion" threads.

It's a mountain of trash to wade through to get any decent content.


I always stay away from /r/popular. The subreddits that appear there like /r/PublicFreakout are selected for display so you can get angered, join the echo chamber in the comments and boost engagement metrics.

Watching many of those short anger-inducting videos can make even a calm person change. The sort of stuff Reddit PMs have signed off on in the name of engagement is despicable.


It is really annoying to be shown the new site so I just use mobile apps to read it now.


I love my mobile app as well (RIF), but do you know about old.reddit.com? Still works great with RES, I couldn't imagine Reddit on the desktop any other way


Yup still do that on desktop, I have it automatically redirect me, I would hate to lose it!


Sometimes links to other subs go to the new site, sometimes stays on old, I suppose depending on how the links are set up.


> so I just use mobile apps

That might have been their goal?

Although I detest having to use apps for every site. The Reddit app is also super buggy.


I use Sync for Reddit on Android and Apollo on iOS.


I saw this comment, and assumed I would agree with you, but the sample image that was presented to me on clicking the link to the post appealed to me in at least one major aspect, and that's the table of contents on the side of the content. I'm often having to scroll to the top to quickly visit a couple different sections when I'm looking for some specific knowledge, and being able to quickly navigate with less scrolling would be a welcome improvement in my eyes.


On another note given that Wikipedia's content is in the open, maybe this new UI could be hosted at another domain e.g. pickypedia.org or itchypedia.org or something else funny instead of being a Chrome plugin.

Chrome plugins add more unwelcome startup bloat to the web browser, and while they are super useful to fix the UI issues of commercial, copyrighted websites, Wikipedia can totally legally be replicated at another domain.


You'd still need the old wikipedia to edit any articles and you'd still need a browser extension to redirect regular wikipedia links to your favorite frontend.

Also just like with open source projects, just because you are allowed to fork does not mean that you should as you could end up hurting the original project by e.g. confusing users.


Wikipedia's style is almost perfect except for one thing that bugs me: the line width in desktop style is unlimited, meaning in a big window it can be hundreds of symbols long, which is pretty bad from the readability standpoint (https://baymard.com/blog/line-length-readability).


They've changed that, but so far I've only seen the change on French Wikipedia. I think they test it on us before broader release.


Yeah they have changed some other Wikis too (like Portuguese). I think this is up to each wiki's governance (afaik they are somewhat independent) to opt-in on the new design.

I'm not sure I like it. The better line width is really welcome, but I'm tad uneasy about the rest. And as far as I can recall, it doesn't have a dark theme (yet).


Indeed! Good to know.


Same here, we're fortunate it hasn't gone down the road of typical webdev anti-patterns. (at least besides the donation banners, which is understandable ;) )


Agreed, still love the untouched UI but work like this seems like it will only help reinforce the accessibility and long-term health of the project.


I will say I am glad you did this -- and practiced restraint. It is a nice modern update without overdoing it.


Yes but...

I miss the Encarta encyclopedia content/design. I wish Wikipedia could get to that level of content quality. The multimedia and interactive articles were way ahead of its time and were only partially matched by some Flash-based interactive animations.


"Modern web" isn't bad because of it's design, it's awful because of the dark patterns and 5s+ load times.

You don't need 20MB React bundles to make a good-looking website, and OP proves that perfectly


Wikipedia still doesn't show the talk page when you are on mobile.

Actually, I'm wrong. It looks like they FINALLY added it less than a week ago.

Took them long enough.


That extension doesn't change how the web is. The web is still the same whether you use client side CSS override or not.

This is exactly how CSS and HTML were intended to operate and the kind of results to be expected.

> But i am sure there are people who will appreciate your effort. Thank you for your work.

How is that called ? A complimentsult ?


Not at all a complimensult. I can appreciate the work of someone, if even I won't use it. I don't know how to put it otherwise.


You just say thanks for sharing and drop the other bit.


Well, I don't consider I've insulted someone by saying I like the way Wikipedia is.


There's no insult in saying it isn't for me because ... but good job. Positive criticism can be useful too.


Yeah this is great but I'd rather stick with the tightly wound tools at Wikimedia, they probably know what they're doing more than this anemic blasphemy


Seing as wikipedia still has a separate m. subdomain in $current_year instead of just one responsive page means any claims that they know what they are doing will need to be backed up by evidence.


Why not be positive? Instead of insults you could give positive criticism. There's nothing positive gained from being negative.


Electrons brought us a lot positivity with their negativity! Checkmate!


OP, thanks for making this, I bet it was fun to build.

That being said, I want someone to do the opposite of what this does. Less chrome, less bytes over the wire, less predictive search, less "flatness?", less timely, more timeless.


Oh dang, yeah. An extension that makes the whole web look and work like the default Mediawiki skin would be glorious. And _fast_.

I miss windows having borders. Just dug up a registry hack (obscene that such a thing was needed) to force win10 to have window borders again, because I keep ending up in situations where I honestly couldn't tell where one ends and the other begins.

They spent decades researching and building interfaces with visual cues, and we spent decades tuning our reflexes to them. Then some whim of fashion decided that hiding all those cues was "smoother", and I want to choke someone.


That, and the density. I like desktop UIs to be dense. They don't have to be sparse with ample padding like on mobile devices since you don't poke your fingers into your monitor. Yet somehow, people keep designing desktop UIs as if there's a touchscreen or something.


It's basic typographic design philosophy around whitespace - your eye needs somewhere to rest, and narrow columns of text are just easier to read. I personally like ample padding and whitespace, and don't want wall to wall content that just looks like a jumbled mess.


What is typographic around buttons, toolbars and other panes?

your eye needs somewhere to rest

There is a big difference between newspaper columns and web whitespace. The former are more or less uniform and easily seen (I’ve also read newspapers with explicit delineation of separate articles, and it was even better experience). The latter is just chaotic blobs of whitespace, which doesn’t usually even delineate or makes your eyes rest, it makes them lost instead. You can’t see structure, because it is so blobby. Whitespace should only surround the elements which are much more dense and “thicker” than it. Otherwise it will blend into them dissolving any structure.


I agree with these typography principles when they are applied to things that should be read from top to bottom and the entirety of the content actually consumed as a whole. There's just many circumstances that it is not appropriate and I would say an encyclopedia entry is not one of them. I want to be able to scan a lot of content without having to change pages to find where I want to start reading from. That and people are really abusing the modern typography principle to get me to scroll more and 'engage' rather than just convey the information in a nice way (most news sites and recipe sites are egregious) that I'm starting to get turned off by the style for the web even though it's based in good reasoning. For print it's still fine because you are also limited and also it's often a two-column layout which is still pretty efficient for scanning for key words or phrases while being easy to read. 'Above the fold' used to mean something but in current web so much content wants to apply these principles but also wants me to scroll ten miles get to the actual point of the content and it feels really disrespectful to me as the reader.


> people keep designing desktop UIs as if there's a touchscreen or something

I think that also has to do with "more white space = more scrolling = more ads".

Reddit is a perfect example of this. When they "updated" their UI to the current one, they added a ton of extra white space which forced people to scroll longer, thus spending more time on the site and viewing more ads. They also use a ton of other dark patterns.


> I think that also has to do with "more white space = more scrolling = more ads".

When applied to the web, maybe, yes. But then there are desktop apps, and entire operating systems, designed this way.

I think it has something to do with the phones after all. Everything is "mobile first" these days (to a ridiculous degree — there's a large grocery delivery service in my city that is ONLY available through a mobile app, so they lost me as a customer), so designers have much more experience with touchscreen UIs. Desktop anything feels like an afterthought oftentimes. It's just easier to take a mobile UI, blow it up to a computer screen, or put it into a window, optionally add a dual-pane layout, and call it a day.

That, and the fact how many designers regard the result of their work as a thing in itself, an art piece to be admired, instead of merely a coat of paint on a tool that just helps people get their f-ing stuff done more efficiently and then gets out of the way.


Along with a tiny body font, the effect is to more or less force you to maximize the window to make the site usable -- i.e. commandeer your desktop. Squarespace was an "innovator" in this technique.


Any more details on that registry hack? I have been using RetroBar to have clear borders on taskbar and nostalgia. It doesn't have all actual features of windows 10 taskbar though.


Why not use Reader Mode? I love it and use it as often as I can


Reader mode is nice when it works, but since it’s hueristics-based I find it often either misses important content like images and code blocks that should be included with the article, or includes text that shouldn’t be there.

Even if it selects all the right elements, syntax highlighting doesn’t work which is an issue for me since a lot of the articles I read involve code.

These are issues with every reader mode I’ve tried – iOS Safari, iOS/desktop Firefox, desktop Chrome.

I wish there were a standard CSS media type that sites could implement, like `@media reader`, to help specify which elements should be included and to support things like syntax highlighting.


I recently worked on implementing readability in my Hacker News client app and here's the resources I found most useful. Basically, if once designs their site following the correct structure, then it works correctly for both reader mode as well as accessibility. These are "standards" which sites are supposed to follow but they don't unfortunately:

A very long read but this covers everything:

> How to Section Your HTML

https://css-tricks.com/how-to-section-your-html/

These are specifically important for accessibility users.

Another short read:

> HTML5 sectioning elements, headings, and document outlines

https://www.456bereastreet.com/archive/201103/html5_sectioni...

And you can use Markup Validation Service to validate and get tips:

https://validator.w3.org/#validate_by_input+with_options

Check out the excellent answer by Christian Kohlschütter on how readability works:

https://stackoverflow.com/questions/3652657/what-algorithm-d...


I love reader mode! It's saved the internet for me


>An extension

But... that's the opposite of what was asked for. Adding an extension adds more of the bad. A patch for Firefox reader mode would be better in my opinion since the web itself won't become better.


why does a different set of CSS make it _fast_?


It probably doesn't in this case, but there are cases where css can have significant performance implications. Different selectors take different amounts of time, various things can force re-laying out the page etc. Not to mention pointless animation.


The default MediaWiki theme is available, along with a handful of others, if you create an account.


The default mediawiki theme (vector) is also the default wikipedia theme (on desktop).

If you don't have an account you can add ?useskin=skinname to end of url to trigger different skins.

E.g. https://en.wikipedia.org/w/index.php?title=Main_Page&useskin... and https://en.wikipedia.org/w/index.php?title=Main_Page&useskin...


I just used win+ arrow keys, never missed the resizing.


Whoa, I had no clue about these key-combos. So handy! Thanks!!

For anyone curious, MS has a useful summary of how this works here: https://support.microsoft.com/en-us/windows/snap-your-window...


Thanks for giving me a name for this that I can search for to turn it off. There’s nothing more annoying in my day than when I drag a window from one monitor to the other, then the windows cuts it in half and sticks it to the side of my screen.

I never knew what windows called it before, so there was no way to get rid of it in settings.


> I never knew what windows called it before, so there was no way to get rid of it in settings.

The settings pages aren't that big. You could read through it all in 5 minutes. Did you look? I mean sometimes things are annoying and you just can't be bothered to dig around to find the thing that turns it off, but at least in this case, it's easy:

Settings > System > Multitasking > Snap windows


You can't possibly be serious.

Out of curiosity, I just opened Windows 10 Settings. I see sixteen top level options. I opened the first one and it had 16 submenus, the first of which is two pages tall and has 8 additional settings links from it. Of course, Control Panel is also a place it could be hiding, and it's even bigger.

So, no. One does not simply click on every single thing in settings hoping to find the annoying thing that Windows is doing today that you don't have a name for.

Typing "Snap Window" into search narrows it down to three, which makes it possible to accomplish.

Thanks again to the GP for enabling that.


I am serious. counting pages won't change how long it takes to actually understand where things are.

you don't have to read every last word... you are just trying to get a vague feel for what is in there.

takes 5 minutes, max.


No problem, I did it by accident, and you can also drag the windows to the corners and overshoot to have them, top is full, left and right is half that side, the link you posted mentions that, I am actually surprised you never accidentally discovered either. I have that in KDE as well.


Also, double-clicking on a top or a bottom edge will v-maximize window, or resizing a window vertically and overshooting at the top or at the bottom of the screen.


Hear hear. I wish more sites were like HN - more text/information density, less CSS magic, less JS.


And HN's favorite: more RSS.


Got you, fam.

https://encyclopedia.marginalia.nu/wiki-start.html

(I built this mostly for myself, because I find it incredibly difficult to read text that has hyperlinks and images in the text)


That is very nice looking. But I want the hyperlinks because the information I want is often spread out over more than one page (often Wikipedia achieves more concision than a traditional encyclopedia by hyperlinking rather than defining the terms it uses). And I want references because otherwise the information is unreliable. And I often want images because they sometimes convey information better than any text ("an image is worth a thousand words").


Regular wikipedia is still there if those are your preferences. I don't know, I've never check a single reference in over a decade of using Wikipedia. I don't have access to those references. Maybe you do, if so that's cool.


I'm with you on links being distracting, but it seems you... nuked them entirely, which maybe goes too far haha? I guess you can always go back to source if you want that.


I just moved them to the bottom of the article.

In part this is because I feel inline links on wikipedia often lets you overestimate how well you comprehend a subject. It's as though the fact that there is a link over a word makes you think you could go check what that is, and therefore that you probably understand the word.

Actually looking up some term mid sentence is also probably not particularly helpful for understanding the text either.

I concede that this is a somewhat unusual decision, but I designed the pages for the singular purpose of reading and comprehending the article. Everything else is secondary. It's a bit of a design experiment, but I think it's worked out pretty well. I don't fall into skim-reading these articles like I must admit I often do with regular Wikipedia articles.


Oh, ha, I didn't even notice that. Ok, I like that!

I was actually looking at the footnote links, and those do indeed seem to be missing entirely -- as well as the whole references section. Arguably that's more important than links to "definition" wiki pages, so it forms the basis for the knowledge (vs mostly just definitions).


Yeah, I removed those entirely, as I very rarely use those. More often than not the links are pay walled and the references are books that may or may not even be in print. Maybe it's useful if you have a university library at hand but I don't so I simply live with the fact that some of the things I've read may be wrong.

If you want to look up sources it's better to use the live wikipedia at any rate, since it will be more up to date than this snapshot.


Ehh, I would say it's useful to see the reference even if you don't follow the link, but I'm sure it also depends on the nature of the topic. Seems easy to just preserve that section, but, hey, it's your site. Maybe there's a cost aspect you're considering? On that note, I'm curious how much it costs to basically mirror all of Wikipedia, if you wouldn't mind sharing?


I do a lot of these design experiments. I have an idea such as "what if wikipedia was designed only with reading comprehension in mind" and then I see what taking it to the most ridiculous extreme does. Sometimes it pans out, like I'm fairly happy with this wikipedia mirror, sometimes it doesn't--like I have no logos or branding anywhere on my sites, that turned out to be a bit confusing.

My mirror clocks in at 21 Gb. I'm self hosting so there's no real money cost besides the one-time investment in hardware. A really chap person could probably host this off a raspberry pi attached to something like a Corsair Voyager and serve multiple requests per second.

There's some technical trickiness in actually storing the files in a file system, since most filesystems don't deal well with having millions of files in the same folder. So I've had to build a four-tier directory structure based on the hash of the file name to be able to store the files. They're stored in a structure like 31/444/781/225/foobar.gz.

I did some experiments storing them as BLOBs in a database, but I couldn't get it to work.


Interesting. What are the bandwidth considerations for this? I had the impression that many ISPs make self-hosting impractical on normal household plans, but then I've never looked into it seriously.


Dunno, I have unlimited uploads and downloads @ 100 mbit, and I host both this Wikipedia mirror as well as a search engine and some other stuff.

The bandwidth usage is pretty inconsequential since most of my pages clock in at just a few kilobytes.


I love what you've done with the links, and will use this, I think. Thank you for your excellent work!


This is kind of incredible.

Have you considered images just take up full width?


Half of cutting the images is a space saving thing.

Wikipedia is a pretty big website, and (like the rest of my web presence) I'm hosting the mirror on a single small consumer hardware server. I'm keeping all the wikipedia pages as compressed HTML, and if you look at the sources you'll see it's very bare bones, most pages are like 50 Kb, yet the total is still 21 Gb. I don't think I have the space or bandwidth for selfhosting all of wikipedia's images.

Part of this experiment is to illustrate just how ridiculously large page loads on a lot of pages. Even text-heavy ones like Wikipedia.

If you compare the HTML payload alone of these two renditions of largely the same text, it's a 50x difference. The full Wikipedia page load exceeds 1 Mb, mine isn't even 10 Kb.

https://en.wikipedia.org/wiki/Scamander

https://encyclopedia.marginalia.nu/wiki/Scamander

That's kinda ridiculous.


Gotchya. All good then. Excellent work and insight :)

Have you attempted to convert them to plain text and serve those? Or is there no real savings there?


Would probably lose more than you'd gain doing that. The HTML right now is so clean you can read it without a browser, almost looks like it might be hand written, while still preserving things like formulas and tables (which do need a browser).


Thanks, bestie!


You complete me <3


I should say it's a bit janky in some places, but for most articles it works reasonably well.


> less timely, more timeless.

I'm not sure if this is a subtle reference,but one of the major competing skins for wikipedia is named timeless: https://en.wikipedia.org/wiki/Main_Page?useskin=timeless (its often quite popular among people using phones who find the official mobile website frustrating)


Nope, just coincidence.


If you create an account, you can change the appearance to look a lot like OP’s, but a lot lighter and without the plugin.

To be honest, while this looks pretty, it’s really just Wikiwand 2.0.


Isn't this solution exactly same number of bytes over the wire?


not totally obvious to me what you mean here? at first glance this seems to have less chrome than the standard ui, and to be more timeless in the specific sense that it has a closer resemblance to a paper encyclopedia layout versus mid-00s web styling.


https://wikiless.org/ is probably what you are looking for. There are also extensions that automatically redirect Wikipedia links


The only difference I notice between this and Wikipedia is that I can't hover over a link and get a pop-up description of the page. Is that all or is there more to it?


> https://wikiless.org - a free open source alternative Wikipedia front-end focused on privacy. No JavaScript or ads. All requests go through the backend, client never talks to Wikipedia. Prevents Wikipedia getting your IP address. Self-hostable. Anyone can setup a private or public instance.

From: https://codeberg.org/orenom/Wikiless


From the README [0] and code, I'd wager that the only thing happening is that JS has been filtered out, that the CSP rules are significantly stricter and that a dark mode has been added.

[0]: https://codeberg.org/orenom/wikiless


This. What's with the fixed floating headers? Like my screen real estate isn't scarce enough? And even if not, I don't like sites treating my desktop like a phone but blown up really big.


Normally I'd agree but in fairness to the author, they have fixed the table of contents.

I always found it weird and annoying how the table of contents in Wikipedia is a tiny thing jammed at the start. It's so darn awkward to use.


Wow, this is beautiful! Thanks for doing this. I would almost use this daily, except that there are a few things I noticed that would be good to improve (just one person's opinion — hope these are received in the intended spirit):

- If the browser window is narrower than about 1024px, there are no margins around the body text and the text width slider has no effect.

- As the browser window becomes narrower, the body shrinks but the contents sidebar doesn't shrink.

- The measure feels a bit small to me. It looks like the body text width is limited to 660px — having a limit is good, but it feels tight, especially when there are embedded figures and infoboxes. You could try making the measure a bit larger, or perhaps letting the figures extend or sit outside the main column of text when the window is wide enough.

- When you turn off the sidebar by clicking the three-bar icon, the sidebar just leaves an empty space instead of providing more space for the body text.

- As the window becomes narrow enough, the search box becomes unusable.

- The page indicators like the "featured article" star, the protection icon, and the Spoken Wikipedia button are missing.

- The home page, talk page, history page, etc. don't respect the typography settings.

- The menu option "View history" is inconsistent with the other options; next to "Talk", "Edit", "Watch", simply "History" would work better.

- When you scroll down, the page title scrolls off the main body, but remains at the top of the table of contents. Somehow this feels backwards to me, and it's not immediately obvious that you have to click the title in the table of contents if you want to see the intro section. Perhaps the page title could be sticky, and the first section could appear as "Introduction" in the contents? Something like this? https://imgur.com/a/kqaNbWo — I'm not sure where to suggest that the page title should go; you might have to try a few options to find one that looks right.

Sorry that turned out to be a long list, but overall the page does look a lot nicer and easier to read and navigate. Hope these ideas are helpful!


Also it breaks IPA rendering for some reason. For example here [0] many of the diacritic marks (especially most of the less common ones) are off to the right.

[0]https://en.wikipedia.org/wiki/International_Phonetic_Alphabe...


For folks who appreciate elements from this redesign, I'd love to humbly suggest checking out the Wikipedia iOS app from the Wikimedia Foundation.

The app supports 4 reading themes, is privacy friendly, includes: truly private reading history, trending articles, a persistent TOC on iPad, on this day in history, language and multilingual support, in the news, random articles, bookmarking and folder-ing capabilities, a way to view Wikipedia articles on an interactive map, a wikitext editor with syntax highlighting, updated article history views (with easy to read diffs), widgets, predictive search (you can even search with emojis if you please) and very soon editing notifications.

We're a small team (1.5 designers, 3 engineers, an engineering manager and a PM) and we're really passionate about making a beautiful and usable experience for readers and contributors on iOS.

I'm the lead designer/design manager and have worked on this project for five years. Commenting just as myself though (thoughts are my own and not the Foundation's), as a person who loves Wikipedia and design and is proud of the work my coworkers have done.

If you're interested you can check the app out here: https://apps.apple.com/us/app/wikipedia/id324715238


The Wikipedia iOS app is just about the most amazing free app I have installed on my iPhone. It's the one app that actually feels like a native platform experience, while retaining everything I like about the original on the web. Truly a shining beacon of light in our ad/tracking/Electron-laden world. So thank you, I, for one, really appreciate your work!


This app is one of my very faves and one of the first I install on a new phone. Just wanted to post to say thank you for putting so much thought into the design - getting lost in articles, creating reading lists to come back to later, being able to switch languages on the fly - it feels like being in the library as a kid again going through Britannica hardcovers, except with a better interface and search instead of an index. :)


Awesome! The mobile app is great. I’d love to see a macOS app released for the desktop with the same clean feel and speed of the mobile app.

I do have a question: Wikipedia on mobile is insanely fast. Much faster than the desktop or mobile site. What media APIs do you use to pull the content for the mobile app?


Absolutely love the Wikipedia app. My two biggest wishes for it are (on iOS):

- Move the search button from the top right (very hard to reach) to the bottom menu (or some other more reachable place)

- When using “auto dark mode”, allow me to choose the not-pitch-black dark theme


The multi language support always blows me away like being able to tab between your chosen languages when searching. Lots of simple innovations that make it clear yall put a lot of thought into it.


Just downloaded the app, it's incredibly well-designed. Great work!


I discovered the other day that the mobile version of Wikipedia _while on desktop_ is AMAZING.

Check this out: https://en.m.wikipedia.org/wiki/Chuck_Yeager

It's nicely justified for reading. Superfluous interface is almost entirely eliminated compared to desktop view. It's just such a clean, elegant view for reading a Wikipedia page.


I totally agree!

This came up in a recent HN post so I published a user script I had written to automatically switch to the mobile version. You can also switch manually between mobile and desktop with ⌘ + M or ctrl-M. If you've switched to desktop and click on a link, it stays in desktop mode (it would be jarring otherwise if it kept flipping between modes). You can also edit the page with ⌘ + E or ctrl-E (opens in desktop mode since the mobile editor is pretty limited).

Install it here: https://greasyfork.org/en/scripts/431384-switch-to-mobile-wi...


You would also like simple wikis https://simple.wikipedia.org/wiki/Chuck_Yeager Adding simple just brings information down to its bones, good for quick reference and easier understanding of harder topics https://simple.wikipedia.org/wiki/Quantum_mechanics


for me, that's way worse, I much prefer to get full width, on my 32 inch monitor, it looks nicer on the default website, and fits way more stuff without needing to scroll. If I want a similar layout for "reading" I'll just use reader mode in the browser and get a very similar layout.


To each their own I guess, but to me you just described a terrible reading experience. Filling all available space with content may sound like a good idea on paper but columns of text should really limited in their width - that's just very basic and commonly agreed upon typography best practice.


except, that applies if you are reading something top to bottom, like a book. That's not what I do on wikipedia, I scan for information.... and it is much easier to do that in wide format. What you end up actually reading is a paragraph or two. As a speed reader, I read in chunks, and in wide format it's actually not that bad, its not a wall of text. Most paragraphs end up to be 3-4 lines long and are naturally chunked by citation notes. I find it really easy. There is no one rule of typography, there is general guidance, but context matters. If in your head you've translated that to a "rule", you are doing it wrong.


I used to agree until someone made me stop and assess what it’s like to read text on a wide screen vs. a narrow one.

It’s not even close anymore: reading is just so much easier when it’s a narrow column.

Wiki pages are like 95% text to read.


What they need to do is put the TOC on the collapsible sidebar.


I was skeptical but I just tried that and, yeah, it's actually pretty good on desktop.


if I had to read anything longer than few minutes I immediately go to the mobile view. Much easier on the eyes.


Wikipedia itself is also working on a new UI:

https://www.mediawiki.org/wiki/Reading/Web/Desktop_Improveme...

The English Wikipedia isn't one of the "early adopter wikis" but if you visit, say, the French-language Wikipedia you can see the changes (e.g., different width to improve readability).


Every time I get to a French article somehow, I'm reminded that I should be dreading the day this gets merged into master. It's like this half-baked cards feature: whenever you search on the page and hit a link, that card will stay open indefinitely. You can't hit escape to close it, you can't hit tab to move off the link because then you'll just get another card for the next link, you have to go for the mouse. It was supposed to be an onhover feature for when you're using the mouse in the first place, instead it obscures text all the time. Luckily, cards are something you can turn off; with the narrow new style I doubt we'll have such luck. Language switching also became a mouse-requiring operation in the new design (or much more involved), other than that and the squished text I don't actually see any attempt at making it look modern.


Wow, that is shockingly bad. Different objects just floating in space without lines between them to visually differentiate them.



It's a lot of what m.wikipedia.com looks like, actually. Just hitting m. on any given Wiki article on a Desktop makes it so much easier to read in my experience. YMMV. :)


That is really bad, what were they thinking?


Please never ever use system-ui in your CSS.

A classic article about why: https://infinnie.github.io/blog/2017/systemui.html

In this particular case, it totally ruined the fonts of Wikipedia for East-Asian (CJK) Windows users.

Just in case the article itself isn't convincing enough, below is a list of some websites that have tried "system-ui" and then reverted it semi-immediately:

Facebook/bootstrap, GitHub, Twitter, Stack Overflow...


Isnt the right answer for Microsoft or users to fix their system font? Why would east Asian users have a crappy system font selected in their OS?


This feels like a failing on Microsoft’s part, at least for current versions of Windows. The bar for a viable system font has been raised and it’s their responsibility as an OS vendor to ensure the bar is met across localizations.

As for old versions of Windows… well, one should probably look at their target market/user base. If your demographic is firmly Roman western use of system-ui is probably fine — as far as I’m aware, the bulk of remaining users of XP/7 are in East Asia, chiefly China.


You can call it a failing on MS's part up until you have real users that are impacted because then it really doesn't matter who's fault it is when users can't use your site.

So MS should fix this and until then you shouldn't use system-ui.


Why does a clumsy font mean you can't use the site? And why is the solution not to upgrade your 15-year-old dangerously-insecure EOL OS?


Those releases have been EOL for 10+ and 5+ years respectively. There are a number of free options.

I don't see any reason to make any effort to support those folks, especially when the font is merely ugly in a cosmetic sense, and not unreadable.


This problem isn't limited to Windows 7/2008 or XP. It affects Win10 too.

>especially when the font is merely ugly in a cosmetic sense, and not unreadable

Eh, you won't go very far with this attitude in any design team.

Also, anyone who tried to manually craft font-family fallback path are already making effort. You can literally choose to not assign any font. Actually, it probably works better: most of browsers have sensible default (which often times is system font) already.


Win 10 is a different story, what an embarrassment.


My counter-argument would be that even if a platform is EOL, if it represents a serious chunk of your audience then you should probably do what you can to accommodate them. Especially if, as here, you might be able to fix it with a very simple change.


Interesting, thanks for that. I was under the impression that using "system-ui" was the way to go! I do plan to add font choice as a setting in a future version, so that will solve this.


Just to note, you can achieve having "system font" for all the major OSs without using "system-ui" keyword.

Actually, "system-ui" doesn't even do anything in Firefox on Windows right now (and it behaves exactly like -apple-system on MacOS), so you shouldn't rely on it anyway.


This is great info, thank you. I'm going to set up some VMs so I can test East-Asian locales in future to make sure I've not fucked anything up.


Thanks for sharing! I love system-ui and this is my first time hearing of this -- will definitely reconsider.


I recently discovered that if you're logged into Wikipedia, you can customize the UI completely.

You can, of course, choose different themes.

But you can also upload custom CSS and Javascript!

Link to image of preferences page - https://ibb.co/Kbfh1QQ


Yeah I’m not actually sure why more people don’t know this.


Some Wikipedia pages use CSS classes to allow people to self-censor what they see - for example, this is the remedy provided to people who do not want to see images of Muhammad.

https://en.wikipedia.org/wiki/Talk:Muhammad/FAQ#Q4


Because most people don't have a Wikipedia account, nor would they benefit from having one these days.


Thank you for pointing this out! I had no idea!


Is there a way for this to be implemented as a Mediawiki skin [1] instead of as a browser extension? Is installation of skins by users one of the challenges?

[1]: https://www.mediawiki.org/wiki/Manual:How_to_make_a_MediaWik...


I don't think you can install random skins on the official Wikipedia site. I run a mediawiki install for a local tech group, and it would be fantastic to replace monobook with this layout.

sjdz, the work you have done putting this layout together is awesome!


Looks good, but I think the adjective "modern" to be overly aggressive towards other design trends. From what I saw, the design trend here is for a flat and rounded interface with dynamic searches.


Thanks, glad you like it :) With the name, I was just thinking more in terms of "modernized"... as in, something more modern than the current Wikipedia design... but I get your point! I'll have a think about it.


The name should reflect Wikipedia, not all wikis.


Maybe slim or slick :)


Yeah, when I saw modern, I was worried that it meant I could continuously scroll through a dynamically loaded page of the entire contents of wikipedia


I keep thinking of modern as the 1930s-style minimalism. Following that, isn't/wasn't "modern" the default Wordpress theme?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: