Blakeyrat pointing out NodeBB problems


  • BINNED

    So, reading all this and knowing how fucked up the detection is... an actual suggestion that just came to my mind because I remembered a game of some kind doing that years ago with the control scheme or something:

    1. Detect what you can and assume either desktop or mobile. Put the user in that mode. Let them use the site for a bit.
    2. Pop up some kind of panel, the less intrusive the better (I'm thinking mobile Chrome's "would you like to translate this page" style of "toaster" thing) saying: "Hey, you're using mode x. Want to try mode y?" Yes No
    3. If the user says yes, switch modes, let the user poke around, then pop up "Like this mode? Do you want to keep it? Yes No, take me back to mode x"

    Strikes a decent balance between something everyone can figure out and is not annoying, IMHO. An argument can be made for popping it up only in edge cases as well. And of course, always keep the option to mess with it manually somewhere in site preferences.


  • Winner of the 2016 Presidential Election

    @Onyx
    While that is probably a good way to do something, it has been stated further up in this thread that the way nodeBB handles this is rooted pretty deeply in how Bootstrap manages sizes.
    So thats not really an "option" and more of a "rewrite the entire rendering html".
    (Unless I misunderstood some of the posts in here, which - knowing me - is entirely possible)

    Filed Under: Probably not gonna happen in the near future



  • @Kuro said:

    @Onyx
    While that is probably a good way to do something, it has been stated further up in this thread that the way nodeBB handles this is rooted pretty deeply in how Bootstrap manages sizes.

    They should have thought harder before adopting this broken shit library, then. People keep bringing this up, as if it makes the bug ok. No, it does not. It's still a bug. If the developers of NodeBB made the bug incredibly hard to fix, well, tough shit? But it's still a bug.



  • @darkmatter said:

    It is working as intended - the intent being that if you use a retardedly small viewport then you get the retardedly small view.

    If that is the intent, then it's not working as intended. The mobile version of this site is not 'a small view' of the same site, it is a completely different version of the site, with different functionality and different bugs than the desktop version. Don't let your knowledge of what's happening on the backend deceive you about the facts that you can see with your eyes. This is not a responsive design, it is a web page with a separate mobile site. If nodebb would just fucking call their spade a spade, we would at least be able to override the setting, and maybe I would be able to preview my posts at last (I never post from desktop).


  • BINNED

    @Kuro first thing that comes to mind - two sets of CSS files with different limits on @media queries and column widths. I'd have to check the plausability of this, I never tried messing with those numbers, but it should work. Bootstrap is written in less which is then compiled to CSS, meaning this is actually relatively simple.

    @Buddy said:

    The mobile version of this site is not 'a small view' of the same site, it is a completely different version of the site, with different functionality and different bugs than the desktop version.

    Right, different elements are being rendered. As an example, you can have an element like this: <div class="col-xs-12 col-md-6"> which means it will take up 100% of the width on a small (xs) screen, but only half a screen on a medium (md) screen. You can also hide some elements completely like this, but I'm currently too sleepy to remember how you do it. But it's a single template file being used, not two separate templates.


  • FoxDev

    @Buddy said:

    This is not a responsive design, it is a web page with a separate mobile site.

    Exactly the same HTML, CSS, and JS is served to both desktop and mobile; the reason they look so different is purely down to CSS media queries (which is pretty much the definition of a responsive design)

    @Onyx said in Blakeyrat pointing out NodeBB problems:

    You can also hide some elements completely like this, but I'm currently too sleepy to remember how you do it.

    hidden-xs, hidden-sm, hidden-md, and hidden-lg ;)



  • @RaceProUK But they don't just LOOK different, they FUNCTION different. Like I said above, if this was a landing page advertising a new vacuum cleaner nobody would care. But on this site there's a HUGE difference between mobile and desktop view, and I never want to see mobile on a desktop due to that.


  • FoxDev

    @blakeyrat said:

    But they don't just LOOK different, they FUNCTION different.

    That much I'm very aware of; the mobile interface is so shonky I flatly refuse to use this site on mobile



  • @RaceProUK But you're ok with it forcing me to use the mobile version even though I've never logged in to this site on any kind of mobile device. That's good hypocrisy you got going there.


  • FoxDev

    @blakeyrat I never claimed anything of the sort, and you know that



  • @RaceProUK Oh; so now you're going to pretend that you agree with my assertion that a desktop computer should never show the mobile OS, and hope I'm too stupid to realize it's a flip-flop. Awesome.



  • @blakeyrat solution: log in from your phone 🚎


  • Notification Spam Recipient

    @blakeyrat Agreeing something is wrong from a personal standpoint is not the same as explaining why something does what it does. It's also not the same as agreeing from a professional standpoint, design standpoint, usability standpoint, etc.

    Stop talking about everything like everyone's talking about the same thing from the same viewpoint from the same page under the same understanding.


  • FoxDev

    @fbmac said:

    log in from your phone

    Bonus points if it's one of those WinPhones you can put in a dock and use as a desktop :)



  • @blakeyrat she isn't agreeing it's worth the cost or effort to fix it, according to my telepathic powers.



  • @fbmac said:

    @blakeyrat she isn't agreeing it's worth the cost or effort to fix it, according to my telepathic powers.

    Right; it isn't.

    Which is why they shouldn't have chosen a framework with this bug in the first place! Then they wouldn't have to fix it now. Amazing.


  • ♿ (Parody)

    @blakeyrat Yes. The version of the YouTube plugin in npm used the2.0 version of the api. The version on GitHub uses 3. But we will also need a key.

    And since it basically works for now, it's been fairly low priority. At least, that's my thinking on it. I don't know what ben_lubar thinks, though. And probably any solution is going to require his involvement.


  • ♿ (Parody)

    @blakeyrat said:

    And to get to my profile, I click on my own name as if I wanted to send a chat/IM to myself, because this UI was designed by martians who have never seen a hu-mon computer before.

    What the hell are you talking about? Are you equally confused by the words being in English?


  • ♿ (Parody)

    @blakeyrat said:

    You don't bother trying to make your product better, you just wait until "something comes along"?

    No One said that.


  • ♿ (Parody)

    @blakeyrat I'm kind of rooting for them to leave it exactly add it is.


  • :belt_onion:

    @Buddy said:

    The mobile version of this site is not 'a small view' of the same site, it is a completely different version of the site,

    More like, the small view is shitty. Because it's the same code, it just gets set up to look pretty goddamn shitty.
    Fortunately I use a tablet for mobile so it doesn't trigger said shit.



  • @Maciejasjmj said:

    But snapping the window to the edge on an HD monitor forces you into mobile view, and that's still horrible. I mean, I'd understand if the width was like, 500 pixels, and you literally couldn't fit things without the layout falling apart... but half the goddamn HD screen?

    This really is super-shitty.



  • @RaceProUK said:

    which is pretty much the definition of

    Well its a shitty definition. Define your shit by what it produces, not by how it was developed.



  • @darkmatter potato potato


  • FoxDev

    @Buddy said:

    Define your shit by what it produces, not by how it was developed

    By that logic, we'd be calling cars 'clouds of carbon dioxide and water vapour'


  • BINNED

    @RaceProUK I prefer "go machines"


    Filed under: Can you make it go?

    EDIT: ummm... plugin? That's not a bare link... bug report time methinks.



  • Define your shit by what it producesoffers the user

    Better? I believe this is a clearer way of stating what I was trying to say, could you please offer a response based upon this revision?


  • FoxDev

    @Buddy Now cars are 'a method of getting from one place to another at speed'. Which, to be fair, is what they are. Still, that way of defining things doesn't work for everything.

    The reason it's called 'responsive design' is because the page 'responds' to the screen/window size; you can see this yourself if you play with the window size.



  • @RaceProUK said:

    you can see this yourself if you play with the window size.

    I don't care what the site looks like while it's resizing. That'stechnological wank. What I care about is being able to look at the post I am responding to while Iam responding to it.

    The obvious way to respond to screen size is to respond to the amount of space that there is on the screen. Building a different mobile and desktop site, and loading a different one in depending on what the screen size is, that's not really responding to the screen size. That's just using screen size as a proxy for device type. Which is doubly shitty, considering determining device type is already a solved problem.

    But because of your narrow technological definition of ‘responsive’ web design, you are refusing to use the tried and tested way of responding to changes in device type, and as a resultalso failing to respond appropriately to changes in window size. Dumb.


  • FoxDev

    @Buddy said:

    Building a different mobile and desktop site, and loading a different one in depending on what the screen size is

    But it's not loading a different site; it's loading the same site. It's the same HTML, the same CSS, and the same JavaScript.

    I cannot make this any clearer: it's the same site.


  • BINNED

    @Buddy said:

    The obvious way to respond to screen size is to respond to the amount of space that there is on the screen.

    That's... exactly what Bootstrap does?

    Take the window this site is in and start making it narrower. I'll wait.



  • @RaceProUK LOOK AT IT WITH YOUR MOTHER FUCKING EYES. Take the window this site is in and start making it narrower. I'll wait.


  • BINNED

    @Buddy You have no idea how this whole DOM and CSS thing works, do you?


  • FoxDev

    @Onyx It's abundantly clear he has no idea whatsoever


  • ♿ (Parody)

    @boomzilla said:

    @blakeyrat I'm kind of rooting for them to leave it exactly add it is.

    And thinking a little more about why I feel this way... We've talked about how you'll have bugs and stuff in your code as a developer and how you shouldn't take their existence personally.

    @blakeyrat goes out of his way to make them personal. And not just for the developer. Also anyone who thinks the big isn't so bad or disagree about the way to fix it or who didn't save @blakeyrat 's special self from the bug.

    It makes him into a horribly unsympathetic character of the sort you want to lose no matter how noble his cause.



  • @Onyx said:

    @Buddy You have no idea how this whole DOM and CSS thing works, do you?

    What do you mean? NodeBB serves you a different, mobile-tailored experience based on your screen size. This is a bad idea, since having a narrow window does not imply you're on a mobile and that a mobile-tailored version will be more useful to you.

    If anything, it should be asking for input devices since that'll generally be more important, but once again, there's a perfect API you can talk to in order to determine which version of your site the user wants. It's called "a user".

    @boomzilla said:

    We've talked about how you'll have bugs and stuff in your code as a developer and how you shouldn't take their existence personally.

    What is it, some kind of glass-jar upbringing for developers? Sure, you'll have bugs in your code because you're not a machine and you make mistakes, but it doesn't mean you, as a developer, didn't fuck up.


  • ♿ (Parody)

    @Maciejasjmj said:

    but it doesn't mean you, as a developer, didn't fuck up.

    Yes, why do think I mean anything different?


  • :belt_onion:

    @boomzilla the funny part is that what blakey is complaining about isn't even a bug. It's a crappy design for that resolution, sure. Maybe NodeBB should have a view for effective resolutions between 800 - 600px that has the ability to look/feel more like the desktoppy version... but they don't. That's a lack of feature, design fail, ugly.... but not a bug.

    One thing being lost here is that part of the point of the responsive design is about having the content fit the viewport for all resolutions independent of device. And it does. It just happens that blakey (and buddy, and probably most of us) hate nodeBB's 800px (or 992px and below or whatever size the cutoff is) site design. Even on smaller devices it looks and feels like shit. But that's not a bug.

    Now, having the reply input window fail to reload itself and end up with broken overflow scrolling when you unzoom or resize your window - that's a bug.


  • BINNED

    @Maciejasjmj said:

    NodeBB serves you a different, mobile-tailored experience based on your screen size.

    Yes. But what I'm saying is that it's not a different version of the site, it's just elements being rearranged in a different way. Sure, this is getting into pedantry territory, and I'm not addressing your point about asking the user, I'm addressing @Buddy who said that the site should respond to the width of the screen, which it does. There aren't two sets of files and two separate pages, there's one page responding to the screen width.

    Also, yes, it's possible to be more granular and have something like 4 layouts, if you really wanted to do that. And that's doable without changing a single library or framework.


  • FoxDev

    @darkmatter There is only one bug in this whole situation, and that is in WebKit's CSS engine; I've twice posted a link to the explanation. Yet the loudest complainer here refuses to read it, and is obsessed with browser widths for some reason I cannot understand.



  • @boomzilla said:

    Yes, why do think I mean anything different?

    So... people shouldn't take their fuckups personally? If you push shitty code, you, @boomzilla, fucked up. Not some "@boomzilla the developer" who's a totally separate entity from "@boomzilla the person".

    You fucked up, and you should feel bad about it enough to fix it and learn not to fuck up again. That's like... something you should learn in life by the age of 10, at most.

    @darkmatter said:

    That's a lack of feature, design fail, ugly.... but not a bug.

    If the specification for the software is "mobile version should be shown on mobile devices, and desktop version on desktop devices"... then yes, it is a bug.

    And if I were writing the spec for a web application, then that's pretty much exactly how I'd write it. Not "mobile version should be shown when the viewport size is smaller than X", because that's not what the user wants - the user wants mobile version on his mobile and desktop version on his desktop.



  • @RaceProUK said:

    There is only one bug in this whole situation, and that is in WebKit's CSS engine;

    BUT EVEN WHEN YOU DON'T MODIFY THE ZOOM THE SITE SWITCHES TO MOBILE VIEW WHEN YOU SNAP IT TO THE SIDE AND THAT'S SHITTY AND PROBABLY WRONG.

    How... many... times... do you people have to have it spelled out?


  • FoxDev

    @Maciejasjmj We discussed the issue with trying to discern between 'desktop' and 'mobile' yesterday, at some length too; the issue is mobile browsers pretend they're desktop browsers, so how can you tell the difference? The only thing you can do is look at the viewport size. And until mobile browsers start properly identifying themselves as mobile browsers, we're stuck with it.


  • ♿ (Parody)

    @darkmatter said:

    One thing being lost here is that part of the point of the responsive design is about having the content fit the viewport for all resolutions independent of device. And it does. It just happens that blakey (and buddy, and probably most of us) hate nodeBB's 800px (or 992px and below or whatever size the cutoff is) site design. Even on smaller devices it looks and feels like shit. But that's not a bug.

    Yeah, you make very good points that are probably about what Blakely it's trying to get across, but you don't go out of your way to be a dick about it. Thanks for that.


  • ♿ (Parody)

    @Maciejasjmj said:

    You fucked up, and you should feel bad about it enough to fix it and learn not to fuck up again.

    No. Fuck off with that "feel bad" shit. Making it personal like that distracts from the technical issue with drama and ultimately prevents things from getting better.


  • ♿ (Parody)

    @RaceProUK said:

    @darkmatter There is only one bug in this whole situation, and that is in WebKit's CSS engine

    But when you refuse to work around a third party bug? That you know about?



  • @RaceProUK said:

    The only thing you can do is look at the viewport size.

    Which is a wrong thing to do since it's completely unrelated to whether you're on a desktop or on a mobile. There are mobile devices with larger screens, and desktops allow you to set any viewport size you want.

    Just look at a fucking user agent, that's how it's been solved for years and hell, it mostly even works. And the user can even configure their browser to override that setting, both on mobile and on desktop.

    Or even better, ASK THE FUCKING USEEEEEEEEEEEER! Do all developers have social anxiety that prevents them from just asking what the user wants, and they prefer to use mental gymnastics to try and deduce what they most likely kinda would prefer?

    Is it also how they buy, say, a lunch for someone?

    "And for my friend here, hmm... let's see... she's thin, so she probably doesn't eat fat, she has tunnels in her ears so she's alternative, might be a vegetarian... but three days ago I saw a piece of spinach in her teeth... Okay, a spinach salad it is."
    "Actually, I wanted a hamburger..."
    "Nonsense! I had it all figured out! Besides, looking at you, how could I tell you wanted a hamburger? You don't look like someone who eats hamburgers at all!"
    "You could've, you know, asked what I want..."
    "That's preposterous! I would never bother someone like that!"



  • @boomzilla said:

    No. Fuck off with that "feel bad" shit.

    "It's not that you're a bad developer, it's just that your code is nothing but filth, bad design, and a heap of bugs... but you're great!"


  • BINNED

    Also, regarding "just ask the user" thing. I'd love to. I really would. The problem is we have to design shit for the lowest common denominator. I have to consider for example, the user not understanding the question, or the consequences of their choice. So they pick the desktop layout, it's completely unsuitable for their device and then they don't know how to switch it back. Or they get frustrated, forget / don't even consider that that's an option after the initial question and leave. Great, there goes a potential customer.

    It's easy to design an interface that will ask the user what they want. The problem is the amount of users that don't know what they want. I'd love it if I were just an egotistical jaded asshole when it comes to this, you can all prove me wrong and we all live happily ever after. But I face this shit. Every. Fucking. Day. Then I try to accommodate them and get bitten by browsers being assholes. Every. Fucking. Day.



  • @Maciejasjmj I 'like' the similar thing of deciding what language you see the site in based on your IP.

    "We have detected that you are visiting this site from Thailand and therefore you must read perfect Thai. Consequently, the website will now be displayed in a language you can surely comprehend, as there is no possibility that anyone could be visiting the country for any reason. Don't worry though - there is a way to change languages, but we're going to make it a tiny text link at the bottom and of course the text 'change language' is also going to be written in Thai.'

    Extra points for some website I saw that put some important links in the footer, and then had infinity scrolling which meant you managed to get a brief glimpse of the links before extra content was loaded and forced them down again.


Log in to reply