FlightAware starts using :disco: :horse: Sadness ensues



  • @twelvebaud Ah, you want the whole Youtube Subscribe, but don't send me notifications workflow



  • @twelvebaud ah, understood. That's a bit more difficult to fix as topics are opt-in while categories are opt-out.

    We can toss blame around but the reason this is so is because you weren't able to unwatch categories at all, at first.



  • @julianlam Yep, and not being able to ignore categories was one of the reasons I took a little vacation when this site switched over. I recognize that adding an explicit "not watching" state to the other three will probably take too much effort to justify itself, but I can live with what we've got now; it's just a "nice to have".



  • @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    as we're always on the lookout for ways to make the NodeBB experience frictionless.

    You dismissed mine.

    If a first-time user opens NodeBB and his browser window isn't maximized, he sees the (awful) mobile experience on desktop. He goes to edit a post, has no idea there's supposed to be a preview showing, thinks all your widgets are way too big, etc.

    That's exactly what gave me such a terrible first impression of NodeBB. I understand you've done zero to fix it.



  • @pie_flavor said in FlightAware starts using :disco: 🐎 Sadness ensues:

    I've also, despite the constant flame against it by WTDWTF, never actually encountered a Discourse bug.

    That is impossible.

    I think you're just highly accepting of bugs, like a shockingly high number of people in software development.



  • @boomzilla said in FlightAware starts using :disco: 🐎 Sadness ensues:

    The problem is that both the reply and quote buttons are not visible because I've scrolled up to select text from a long post. But the submit button is in approximately the right spot and it's blue and I end up clicking it accidentally, instead of scrolling back down to get to the correct buttons after I've selected some text.

    That's ok, I'm sure their comprehensive usability testing will catch that any... second... now...



  • @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Thanks for the feedback guys.

    Genuine compliment: Having browser zoom on doesn't seem to 100% destroy the site the way it did when we first adopted it. I'm not sure if that was a conscious QA effort on your part (hah!) or what, but it's far better now.

    Now if only the "everything else" worked...



  • @pjh said in FlightAware starts using :disco: 🐎 Sadness ensues:

    • I think @dhromed was around then as well.

    He left long before Atwood started fucking things up. I don't think he stayed with Discourse more than 2 weeks, IIRC.


  • Considered Harmful

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @pie_flavor said in FlightAware starts using :disco: 🐎 Sadness ensues:

    I've also, despite the constant flame against it by WTDWTF, never actually encountered a Discourse bug.

    That is impossible.

    I think you're just highly accepting of bugs, like a shockingly high number of people in software development.

    No, I've just never seen any. Notice I did in fact point out a couple of NodeBB bugs. But I have yet to find literally anything I don't like about Discourse.



  • @pie_flavor That is impossible.


  • Considered Harmful

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @pie_flavor That is impossible.

    Maybe I'm just missing it. Why don't you tell me your favorites?



  • @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @pie_flavor That is impossible.

    If you never use Discourse, you can't see any bugs in it πŸ›’



  • @pie_flavor I'd have to log in to a Discourse again to answer that, and that's not going to happen.

    For about 2 solid months, I found a new bug every time I went to make a post. I'm not exaggerating. NodeBB ain't much better, BTW.


  • Considered Harmful

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @pie_flavor I'd have to log in to a Discourse again to answer that, and that's not going to happen.

    For about 2 solid months, I found a new bug every time I went to make a post. I'm not exaggerating. NodeBB ain't much better, BTW.

    I assume you then complained to :doing_it_wrong:, and he then gave the trademark phrase. Perhaps he still actually fixed them all, and it's actually usable by now. All I know is that Discourse has yet to present me with anything remotely annoying.



  • @pie_flavor said in FlightAware starts using :disco: 🐎 Sadness ensues:

    All I know is that Discourse has yet to present me with anything remotely annoying.

    You're not annoyed by a round circle clipping into your avatar image?


  • Considered Harmful

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @pie_flavor said in FlightAware starts using :disco: 🐎 Sadness ensues:

    All I know is that Discourse has yet to present me with anything remotely annoying.

    You're not annoyed by a round circle clipping into your avatar image?

    It doesn't right now; the proportions were accidentally perfect. And I do prefer round avatars personally but as I understand it it's trivial to change that with a simple CSS tweak.



  • @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    If a first-time user opens NodeBB and his browser window isn't maximized, he sees the (awful) mobile experience on desktop. He goes to edit a post, has no idea there's supposed to be a preview showing, thinks all your widgets are way too big, etc.

    That complaint is legitimate as well. I've just dragged my window to the left to have it take up 50% of the screen and NodeBB is now in mobile mode.

    I'll agree with you that it is not intentional, as I believe the breakpoints we use in mobile view are xs and sm, which (very) roughly correspond to mobile device and tablet, but it may very well end up working better if we had mobile mode kick in at xs only.

    Not quite sure what that might expose, but it's worth looking into.



  • @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    I'll agree with you that it is not intentional, as I believe the breakpoints we use in mobile view are xs and sm, which (very) roughly correspond to mobile device and tablet, but it may very well end up working better if we had mobile mode kick in at xs only.

    This whole concept is stupider than fuck.

    You can't judge a device's capabilities on the size of a window. You might as well base that decision on whether the number of chickens in ZIP code 98220 is even or odd.

    It's not just that "there's a bug", it's more like "your design is retarded and couldn't ever possibly work, how did you come up with this bullshit?"



  • Not quite, as was explained in at least one thread prior... browser detection via user-agent is a remarkably bad idea, so much so that breakpoints are the only viable solution.


  • β™Ώ (Parody)


  • Impossible Mission - B

    @izzion said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @boomzilla
    Another "is this our customization or is this a core" problem...

    My work PC is constantly logged out when I get in at the start of the week, whereas my home PC (which I access from regularly including weekends) doesn't suffer from that. So it seem that the "keep me logged in" cookie has a fairly short expiration, which bugs me to no end.

    Yeah, I see that too. It gets old fast.


  • Impossible Mission - B

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    If a first-time user opens NodeBB and his browser window isn't maximized, he sees the (awful) mobile experience on desktop. He goes to edit a post, has no idea there's supposed to be a preview showing, thinks all your widgets are way too big, etc.

    That's exactly what gave me such a terrible first impression of NodeBB. I understand you've done zero to fix it.

    It gets worse than that. It's not about being maximized. I suspect (without having looked at the code) that it's based on resolution. I have two monitors side-by-side. One is a tiny laptop monitor on 1336x768 resolution, and the other is a nice desktop secondary screen at 2560x1440.

    If I have NodeBB open in the small one, even if it's maximized, I get the mobile window. If I have it open in the large one, I get the real reply window. But if I have it in one view and drag it to the other, it switches over and the post in progress is deleted!

    Grr. The mobile view should not show up unless NodeBB detects an actual mobile device.


  • β™Ώ (Parody)

    @masonwheeler said in FlightAware starts using :disco: 🐎 Sadness ensues:

    I suspect (without having looked at the code) that it's based on resolution.

    It's a game of 3px.

    You are apparently the last person on TDWTF to figure this out. Have fun:

    https://what.thedailywtf.com/topic/19205/blakeyrat-pointing-out-nodebb-problems



  • @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Not quite, as was explained in at least one thread prior... browser detection via user-agent is a remarkably bad idea,

    What you're doing now is a remarkably bad idea. It's good to see your defense of "this solution is shitty" is "there's another solution that's also shitty". Hey! Just a thought: why not use a solution that isn't shitty?

    Do whatever the fuck Fark.com's doing, I've never had a problem with it.

    @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    so much so that breakpoints are the only viable solution.

    Ok, breakpoints are used in debugging, and being all open source-y, I know y'all ain't using no debuggers. Those are tools for actual software engineers. Not sure what you're using the word "breakpoint" to mean.


  • FoxDev

    @masonwheeler said in FlightAware starts using :disco: 🐎 Sadness ensues:

    The mobile view should not show up unless NodeBB detects an actual mobile device.

    Good luck with that.

    The CSS media query spec does define a handheld query type, but no mobile browser supports it*. The only way you can tell really is user agent sniffing, and that went out of fashion in the 90s. It may be possible to cobble something together using screen and -webkit-min-device-pixel-ratio, but it'll only work in Chrome. I've not been able to find anything that will help across all browsers.

    Which basically leaves user-agent sniffing to serve different CSS to desktop and mobile. Sucks, but that's the best that's available.

    *As it turns out, handheld actually dates from the days when mobile Internet was all about the WAP, which had almost entirely fallen out of use before the smartphone revolution (not that WAP had much use anyway).



  • @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    breakpoints are used in debugging, and being all open source-y, I know y'all ain't using no debuggers

    Of course, debuggers only exist in Visual Studio :rolleyes:



  • @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    I'll agree with you that it is not intentional, as I believe the breakpoints we use in mobile view are xs and sm, which (very) roughly correspond to mobile device and tablet, but it may very well end up working better if we had mobile mode kick in at xs only.

    This whole concept is stupider than fuck.

    You can't judge a device's capabilities on the size of a window. You might as well base that decision on whether the number of chickens in ZIP code 98220 is even or odd.

    It's not just that "there's a bug", it's more like "your design is retarded and couldn't ever possibly work, how did you come up with this bullshit?"

    It's a pretty standard thing in web development anymore. And generally, the goal isn't to say what the user can or cannot do, but what can or cannot fit on their screen. When people first started using it, it worked well enough.

    But it's not the right solution.

    The right solution would be for the @media handheld query to become more commonly used. It's one of the defined media types, and would be perfect for identifying mobile devices. After that you can worry about determining screen sizes to differentiate between phones and tablets, if you want to. The only question is: is it properly supported in mobile browsers?



  • @masonwheeler said in FlightAware starts using :disco: 🐎 Sadness ensues:

    If I have NodeBB open in the small one, even if it's maximized, I get the mobile window. If I have it open in the large one, I get the real reply window. But if I have it in one view and drag it to the other, it switches over and the post in progress is deleted!

    I just discovered that when playing with the ShiftWin> combo. Do not move windows like that if you have mixed DPI windows. It resizes windows very messily - I wondered where the post I'd started had gone...


  • FoxDev

    @abarker said in FlightAware starts using :disco: 🐎 Sadness ensues:

    The right solution would be for the @media handheld query to become more commonly used. It's one of the defined media types, and would be perfect for identifying mobile devices. After that you can worry about determining screen sizes to differentiate between phones and tablets, if you want to. The only question is: is it properly supported in mobile browsers?

    No, not even close.

    I know: I've checked. And checked. And double-checked. Fuck, if I check anymore, I'll turn into a checkmark!



  • @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Not sure what you're using the word "breakpoint" to mean.

    Twitter Bootstrap offers web developers an easy-to-abuse twelve column grid. It also provides ways for them to rearrange the grid into four (soon five) general layouts, based on screen width. I don't know what utter dearth of brain cells caused this, but for some reason they named those specific screen widths "responsive breakpoints". Blame this jerk, I guess.



  • @abarker I'm sorry the problem is hard, but NodeBB made its "our UI is in HTML!" bed and now it has to fucking lie in it. The problem being hard to solve is no excuse for shitting all over the users of your product.



  • @raceprouk said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @abarker said in FlightAware starts using :disco: 🐎 Sadness ensues:

    The right solution would be for the @media handheld query to become more commonly used. It's one of the defined media types, and would be perfect for identifying mobile devices. After that you can worry about determining screen sizes to differentiate between phones and tablets, if you want to. The only question is: is it properly supported in mobile browsers?

    No, not even close.

    I know: I've checked. And checked. And double-checked. Fuck, if I check anymore, I'll turn into a checkmark!

    Yeah, and it's probably (at least in part) because it isn't getting used. It's an endless feedback loop.

    It doesn't help that Mozilla just put something out claiming that handheld is deprecated, based on the Media Queries 4 recommendation that was released just 5 days ago.


  • FoxDev

    @abarker said in FlightAware starts using :disco: 🐎 Sadness ensues:

    It doesn't help that Mozilla just put something out claiming that handheld is deprecated, based on the Media Queries 4 recommendation that was released just 5 days ago.

    It is deprecated, or at least it's well on its way to be. I was looking into this earlier, and I found quite a bit of evidence that handheld was defined (and intended) for devices that worked with WAP.

    The intended replacement (not just for handheld, but most other media types too) is 'media features'. Whether they're suitable or not… Well, we'll just have to wait and see.



  • @abarker Looks like the standards are moving away from letting you use the media type queries in favor of using the media "feature" queries.

    With that in mind, maybe the best practice would be to design a mobile first UI. You could differentiate between phones and tablets based on screen size, if you feel you must. The real goal would be to detect when to implement a desktop instance using based on any-pointer: fine, which would be a strong indication that a mouse-like device is attached. For further accuracy, you could also add any-hover: hover. Yeah, you might still get some weird cases for users who are using a convertible device, as they switch between laptop and tablet modes, but it would at least be a starting point.



  • @raceprouk You would reply while I'm researching it myself. :P



  • @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Not quite, as was explained in at least one thread prior... browser detection via user-agent is a remarkably bad idea, so much so that breakpoints are the only viable solution.

    I don't recall where the site is (I'm pretty sure I saw it linked from here, though), but I recall reading about a recommendation to not trigger a change right at the breakpoint, but somewhere in between each pair, because then you more easily cover most of the use-cases, including windows that use only part of the available screen width. Basically, how would you normally group these (vertical) lines? Would you group them differently if you knew that all the horizontal lines represented the max-width ranges for similar classes of device?

    0_1504053520664_window-breakpoints-blank.png
    These are the maximum screen widths for various devices, multiplied by 0.4 to fit in a smaller area.

    Labeled version

    0_1504054013201_window-breakpoints.png
    They're kinda hard to see (sorry), but the pink lines are Microsoft's recommended screen-width breakpoints, and the blue lines are Bootstrap's.



  • Believe me @blakeyrat, while it certainly seems like we're spinning our wheels on fixing this, I don't want to replace a shitty solution with a still-shitty-but-a-different-kind-of-shitty-and-now-we-have-bugs-from-the-switch solution.

    As always if there is a foolproof solution to determine whether or not one should serve a mobile layout, and it's futureproof as well, then we'll implement it πŸ”œ

    Believe me, using breakpointsscreen width in pixels (jeez, I didn't know it was because @mdo used "breakpoints"... I guess a word can't have multiple definitions, eh?) isn't ideal and I know it. I went to a site once (don't know what site it was) that showed a bounding box of the viewports of everybody who ever visited the site. As I recall, it looked a bit like chaos... resolutions were all over the screen.

    Anyone know what site that was?



  • @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Believe me @blakeyrat, while it certainly seems like we're spinning our wheels on fixing this, I don't want to replace a shitty solution with a still-shitty-but-a-different-kind-of-shitty-and-now-we-have-bugs-from-the-switch solution.

    I want to know why you thought the current ass behavior was acceptable in the first place.

    @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    As always if there is a foolproof solution to determine whether or not one should serve a mobile layout, and it's futureproof as well, then we'll implement it

    Until Jesus himself blesses us with a perfect solution that lasts a million years without changes, BETTER LEAVE IT BROKEN AND SHITTY! Good philosophy. God Himself hasn't cured all cancers ever, so we might as well just lay down and all die right here.

    @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Believe me, using breakpointsscreen width in pixels (jeez, I didn't know it was because @mdo used "breakpoints"... I guess a word can't have multiple definitions, eh?) isn't ideal and I know it.

    You're saying "not ideal" as if it's a minor thing and not something that makes your first-run experience utter shit for a large percentage of your users. How do you just gloss over that? How many sales do you think you've lost because you're treating some guy's badass i7 like a fucking HTC running Android 2.2?

    This shit makes me angry. Partly because you give all software developers everywhere a bad name, but mostly because you don't seem to even care about the quality of this garbage you're shoveling around.


  • Notification Spam Recipient

    @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    As always if there is a foolproof solution to determine whether or not one should serve a mobile layout, and it's futureproof as well, then we'll implement it

    IIRC he suggested a easy-to-access toggle that would force either mobile or desktop view. Simple and effective, but requires some amount of advertisement or sane default.


  • Considered Harmful

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    I want to know why you thought the current ass behavior was acceptable in the first place.

    Yes, let's just have an utterly broken site because a temporary fix would leave a small amount of brokenness, and perfectionism at the cost of sanity is the name of the game.


  • Trolleybus Mechanic

    @tsaukpaetra said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    As always if there is a foolproof solution to determine whether or not one should serve a mobile layout, and it's futureproof as well, then we'll implement it

    IIRC he suggested a easy-to-access toggle that would force either mobile or desktop view. Simple and effective, but requires some amount of advertisement or sane default.

    That would work perfectly. If not logged in, put a dismissable "Switch to Desktop View" notice in the upper corner. Save preference in cookie. We already have the "Unresponsive" plugin that'll do this.


  • Trolleybus Mechanic

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    BETTER LEAVE IT BROKEN AND SHITTY!

    Tobe Faire, "broken and shitty" is better than "brokener and shittier".

    There's literally no good way at present to "decide" what someone's screen settings should be. Which is why the "let the user decide them own damn selves" is the best way to go, 100%, all the time.



  • @lorne-kates Well like I said, if you pick the shittiest UI framework in the universe, which is HTML5, you have to expect your application to have a shitty UI.


  • Trolleybus Mechanic

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @lorne-kates Well like I said, if you pick the shittiest UI framework in the universe, which is HTML5, you have to expect your application to have a shitty UI.

    ACTUAL LEE, the framework they picked was Twitter Bootstrap, which is not only a shitty framework, but is effectively a "you are now locked in" framework because you designed everything around their spaghetti CSS.


  • BINNED

    @julianlam said in FlightAware starts using :disco: 🐎 Sadness ensues:

    I'll agree with you that it is not intentional, as I believe the breakpoints we use in mobile view are xs and sm, which (very) roughly correspond to mobile device and tablet, but it may very well end up working better if we had mobile mode kick in at xs only.

    I don't know how much CSS hackery of your own exists in NodeBB (which will dictate how much fixing would be required), but Bootstrap 4 is now out and that allows at least one more size class. It's also now based on flexbox which behaves better when you do weird things to it, might be time to give that a go and maybe tweak the thresholds in the SASS file as well before deployment?


  • β™Ώ (Parody)

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    @abarker I'm sorry the problem is hard, but NodeBB made its "our UI is in HTML!" bed and now it has to fucking lie in it. The problem being hard to solve is no excuse for shitting all over the users of your product.

    We took matters into our own hands.

    0_1462557471152_upload-53f74212-9264-439f-90ba-42d4b7c0aa61

    https://what.thedailywtf.com/post/884931


  • β™Ώ (Parody)

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Until Jesus himself blesses us with a perfect solution that lasts a million years without changes, BETTER LEAVE IT BROKEN AND SHITTY! Good philosophy. God Himself hasn't cured all cancers ever, so we might as well just lay down and all die right here.

    You whiny retard. Whining about people not having solutions to hard problems doesn't make the problem any better or easier.

    @blakeyrat said in FlightAware starts using :disco: 🐎 Sadness ensues:

    This shit makes me angry. Partly because you give all software developers everywhere a bad name, but mostly because you don't seem to even care about the quality of this garbage you're shoveling around.

    Your shit makes me angry. You make me want to deliberately write bad software just to piss you off.


  • kills Dumbledore

    While we're providing feedback to @julianlam,

    On mobile, all sorts of stuff tends to stop working. Posts don't stream in until you manually refresh, reply/upvote/downvote buttons don't react, and sometimes I'll hit post and see the button grey out but the post not get posted.

    My WAG is that it's websockets crapping out when changing between wifi and cellular signal, or maybe even different towers when on data. It also seems to happen more often if I come out of the browser, do some other stuff then go back to the page. How would websockets react to the browser being OOMed and reloaded?

    Also, and this might be a Chrome Android bug, going back to the homepage sometimes seems to load a cached version of the page. For something as dynamic as /unread, this is pretty bad. I'll click on a topic and be taken to 100 posts back because that was the first unread when that version of the page was originally loaded.


  • FoxDev

    @jaloopa said in FlightAware starts using :disco: 🐎 Sadness ensues:

    Also, and this might be a Chrome Android bug, going back to the homepage sometimes seems to load a cached version of the page.

    I see that happen on Mobile Edge too. Still, I think it's a browser thing rather than a πŸ‡³πŸ‡΄πŸ‡©πŸ‡ͺπŸ‡§πŸ‡§ thing.



  • @jaloopa To provide some context:

    1. Posts not streaming in could be
      • You are a guest, in which case you do not get real-time enhancements in NodeBB, OR
      • You are logged in but have been idle for five minutes, in which case real-time enhancements are disabled until you are no longer idle (I believe via browser/tab focus)
      • Both of these were implemented because NodeBB tended to collapse under load in high-traffic websites (think announcement from CEO of a company, etc.) with lots of anons (for the former), or in general lowered the throughput of NodeBB because lots of people left NodeBB open on their browser.
    2. Button grey-out on post is a pain in my ass, I hate that. Sometimes I have to wait 5+ seconds on mobile. However if it's between having a post or having it lost (TCP vs UDP is a nice analogy) I'd rather have confirmation it was posted before discarding the composer. However, I also like instant gratification, so let me think on this today and get back to you.
    3. Cached homepage, E_NOREPRO but that doesn't mean it doesn't exist. Are you sure clicking the topic is not just sending you to the earliest unread post? That's the behaviour when you click on a link.
    4. Browser OOM would cause a complete page reload so websockets would initiate a brand new cxn.

Log in to reply